<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Change Dir

    先知cd——熱愛生活是一切藝術(shù)的開始

    統(tǒng)計(jì)

    留言簿(18)

    積分與排名

    “牛”們的博客

    各個(gè)公司技術(shù)

    我的鏈接

    淘寶技術(shù)

    閱讀排行榜

    評(píng)論排行榜

    深入理解動(dòng)態(tài)規(guī)劃的一系列問題(9)

          今天介紹的動(dòng)態(tài)規(guī)劃問題是個(gè)有意思的問題,名字叫做Covering,問題描述如下:有k朵不同尺寸的花,現(xiàn)在天氣變涼,為了防止花被霜凍,現(xiàn)在需要生產(chǎn)不超過n種尺寸的遮罩來保護(hù)這些花,條件是n≤k,并且允許大尺寸的遮罩保護(hù)小尺寸的花朵,對(duì)應(yīng)生產(chǎn)k種不同尺寸的遮罩,有不同的生產(chǎn)成本,目標(biāo)就是給出最低成本及方案。舉個(gè)具體例子來說明這個(gè)問題,假設(shè)k=10,即有10朵大小不一的花,將這些花按尺寸從小到大排序并編號(hào),為0~k-1,生產(chǎn)對(duì)應(yīng)尺寸遮罩的成本為c={1,4,5,7,8,12,13,18,19,21},n=3,即現(xiàn)有條件只允許生產(chǎn)3種尺寸的遮罩,那么最優(yōu)方案是什么,最低成本是多少?

          因?yàn)橄拗屏薾=3,也就是需要我們?cè)赾這個(gè)成本序列里添加兩個(gè)分界把這個(gè)序列分為3個(gè)子序列,然后每部分按照最大的那個(gè)尺寸去加和,然后最后加和3個(gè)子序列和來確定成本。如果我們把分界定為3和6(第3個(gè)和第6個(gè),指定下標(biāo)),那么需要生產(chǎn)的其實(shí)是c[3]=7和c[6]=13以及c[9]=21的遮罩,而總和C=7*size(0~3)+13*size(4~6)+21*size(7~9)=7*4+13*3+21*3=130。而要想求得最優(yōu)方案和最低成本,我們明顯需要?jiǎng)澐殖鏊锌赡艿慕M合而求最小值,這典型的DP求解。

          DP求解的第一步就是定義狀態(tài),這個(gè)在之前也說過無數(shù)次了,狀態(tài)定義是狀態(tài)轉(zhuǎn)移方程的基礎(chǔ)。那么這個(gè)問題因?yàn)樯婕暗秸谡趾突ǘ鋬煞N對(duì)象,所以我們自然的想到用(j,l)來定義狀態(tài),其中j是有多少種遮罩需要確定,l是尚未被確定遮罩的花朵中的最大尺寸的花朵(位置下標(biāo))。通過這個(gè)定義,可以知道目標(biāo)函數(shù)是求f(n,k-1),而基礎(chǔ)條件是f(1,l)=(l+1)*c[l],當(dāng)j=1時(shí)。DPFE為f(j,l)=min {(l-k)*c[l]+f(j-1,l-k)}當(dāng)j>1時(shí),且k∈(j-2,…,l-1)。

          綜上,最優(yōu)分隔應(yīng)該是4,6和9,顯然9是必須在這個(gè)分隔組里的。那么最低成本C=8*size(0~4)+13*size(5~6)+21*size(7~9)=8*5+13*2+21*3=129。

    source code:

       1: /*
       2:  * Copyright (C) 2013 changedi
       3:  *
       4:  * Licensed under the Apache License, Version 2.0 (the "License");
       5:  * you may not use this file except in compliance with the License.
       6:  * You may obtain a copy of the License at
       7:  *
       8:  * http://www.apache.org/licenses/LICENSE-2.0
       9:  *
      10:  * Unless required by applicable law or agreed to in writing, software
      11:  * distributed under the License is distributed on an "AS IS" BASIS,
      12:  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      13:  * See the License for the specific language governing permissions and
      14:  * limitations under the License.
      15:  */
      16: package com.jybat.dp;
      17:  
      18: //optimal COVering problem
      19: public class COV {
      20:     // cost of cover sizes 0,1,..,9 in dollar
      21:     private static int[] cost = { 1, 4, 5, 7, 8, 12, 13, 18, 19, 21 };
      22:  
      23:     public static double f(int numberOfCoverSizes, int largestSize) {
      24:         //numberOfCoverSizes denotes the stage number in this problem        
      25:         if (numberOfCoverSizes == 1)
      26:             return (largestSize + 1) * cost[largestSize];
      27:         double min = Double.MAX_VALUE;
      28:         for (int nextCoverSize = numberOfCoverSizes - 2; nextCoverSize <= largestSize - 1; nextCoverSize++) {
      29:             double t = (largestSize - nextCoverSize) * cost[largestSize]
      30:                     + f(numberOfCoverSizes - 1, nextCoverSize);
      31:             if (t < min)
      32:                 min = t;
      33:         }
      34:         return min;
      35:     }
      36:  
      37:     /**
      38:      * @param args
      39:      */
      40:     public static void main(String[] args) {
      41:         System.out.println(f(3, 9));
      42:     }
      43:  
      44: }

    posted on 2014-05-06 15:55 changedi 閱讀(1754) 評(píng)論(0)  編輯  收藏 所屬分類: 算法

    主站蜘蛛池模板: 亚洲综合精品一二三区在线| 亚洲精品自产拍在线观看动漫| 亚洲老熟女五十路老熟女bbw| 最近在线2018视频免费观看| 亚洲人成在线电影| 免费福利在线视频| 亚洲国产精品一区二区成人片国内 | 一级毛片完整版免费播放一区| 国产午夜无码视频免费网站| 亚洲AV综合永久无码精品天堂| 日韩在线免费播放| 黄页网址在线免费观看| 久久精品夜色噜噜亚洲A∨| 国产精品永久免费视频| 亚洲国产精品无码中文字| 少妇太爽了在线观看免费视频 | 亚洲成a人片在线不卡| 日韩免费观看视频| 黄色大片免费网站| 久久亚洲国产午夜精品理论片| APP在线免费观看视频| 亚洲人成电影在线观看青青| 香蕉视频在线观看免费国产婷婷 | 麻豆成人久久精品二区三区免费| 久久丫精品国产亚洲av| 嫩草影院免费观看| 黄网站色视频免费看无下截| 亚洲精品V欧洲精品V日韩精品| 18禁黄网站禁片免费观看不卡| 国产精品亚洲专区在线观看| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚洲图片激情小说| 国产一级一片免费播放i| 成人毛片100免费观看| 亚洲黑人嫩小videos| 在线观看91精品国产不卡免费| a级日本高清免费看| 亚洲最大成人网色香蕉| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲an日韩专区在线| 亚洲免费视频一区二区三区|