第講動(dòng)態(tài)規(guī)劃背包問題_第1頁
第講動(dòng)態(tài)規(guī)劃背包問題_第2頁
第講動(dòng)態(tài)規(guī)劃背包問題_第3頁
第講動(dòng)態(tài)規(guī)劃背包問題_第4頁
第講動(dòng)態(tài)規(guī)劃背包問題_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第21講動(dòng)態(tài)規(guī)劃投資分配問題背包問題ACM算法設(shè)計(jì)與分析——王建芳投資分配問題

現(xiàn)有數(shù)量為a(萬元)的資金,計(jì)劃分配給n個(gè)工廠,用于擴(kuò)大再生產(chǎn)。假設(shè):xi為分配給第i個(gè)工廠的資金數(shù)量(萬元);gi(xi)為第i個(gè)工廠得到資金后提供的利潤值(萬元)。問題:如何確定各工廠的資金數(shù),使得總的利潤為最大。據(jù)此,有下式:

令:fk(x)表示以數(shù)量為x的資金分配給前k個(gè)工廠,所得到的最大利潤值。用動(dòng)態(tài)規(guī)劃求解,就是求fn(a)的問題。

當(dāng)k=1時(shí),f1(x)=g1(x)(因?yàn)橹唤o一個(gè)工廠)

當(dāng)1<k≤n時(shí),其遞推關(guān)系如下:設(shè):y為分給第k個(gè)工廠的資金(其中0≤y≤x),此時(shí)還剩x

-y(萬元)的資金需要分配給前k-1個(gè)工廠,如果采取最優(yōu)策略,則得到的最大利潤為fk-1(x-y),因此總的利潤為:

gk(y)+fk-1(x-y)投資分配問題

如果a是以萬元為資金分配單位,則式中的y只取非負(fù)整數(shù)0,1,2,…,x。上式可變?yōu)椋核?,根?jù)動(dòng)態(tài)規(guī)劃的最優(yōu)化原理,有下式:投資分配問題設(shè)國家撥給60萬元投資,供四個(gè)工廠擴(kuò)建使用,每個(gè)工廠擴(kuò)建后的利潤與投資額的大小有關(guān),投資后的利潤函數(shù)如下表所示。

投資利潤0102030405060g1(x)0205065808585g2(x)0204050556065g3(x)0256085100110115g4(x)0254050606570依據(jù)題意,是要求f4(60)。投資分配問題按順序解法計(jì)算。第一階段:求f1(x)。顯然有f1(x)=g1(x),得到下表

投資利潤0102030405060f1(x)=

g1(x)0205065808585最優(yōu)策略0102030405060第二階段:求f2(x)。此時(shí)需考慮第一、第二個(gè)工廠如何進(jìn)行投資分配,以取得最大的總利潤。投資分配問題最優(yōu)策略為(40,20),此時(shí)最大利潤為120萬元。同理可求得其它f2(x)的值。投資分配問題最優(yōu)策略為(30,20),此時(shí)最大利潤為105萬元。投資分配問題最優(yōu)策略為(20,20),此時(shí)最大利潤為90萬元。最優(yōu)策略為(20,10),此時(shí)最大利潤為70萬元。投資分配問題最優(yōu)策略為(10,0)或(0,10),此時(shí)最大利潤為20萬元。f2(0)=0。最優(yōu)策略為(0,0),最大利潤為0萬元。得到下表最優(yōu)策略為(20,0),此時(shí)最大利潤為50萬元。投資分配問題

投資利潤0102030405060f2(x)020507090105120最優(yōu)策略(0,0)(10,0)(0,10)(20,0)(20,10)(20,20)(30,20)(40,20)第三階段:求f3(x)。此時(shí)需考慮第一、第二及第三個(gè)工廠如何進(jìn)行投資分配,以取得最大的總利潤。投資分配問題最優(yōu)策略為(20,10,30),最大利潤為155萬元。同理可求得其它f3(x)的值。得到下表投資分配問題

投資利潤0102030405060f3(x)0256085110135155最優(yōu)策略(0,0,0)(0,0,10)(0,0,20)(0,0,30)(20,0,20)(20,0,30)(20,10,30)第四階段:求f4(60)。即問題的最優(yōu)策略。投資分配問題最優(yōu)策略為(20,0,30,10),最大利潤為160萬元。投資分配問題背包問題有一女個(gè)徒慰步旅趕行者挖,其緩可攜輸帶物弟品重東量的曠限度青為a公斤便,設(shè)撞有n種物木品可喜供他煉選擇魄裝入挪包中遣。已呼知每乘種物聰品的孤重量括及使駕用價(jià)垮值(泄作用焰),國問此犧人應(yīng)創(chuàng)如何串選擇毀攜帶堡的物船品(算各幾縣件)儀,使奸所起腿作用主(使揭用價(jià)儲(chǔ)值)丹最大劍?物品12…j…n重量(公斤/件)a1

a2

aj…

an每件使用價(jià)值c1

c2

…cj…

cn這就喘是背末包問技題。燙類似趙的還列有工員廠里舌的下頂料問遇題、痕運(yùn)輸些中的愧貨物魔裝載描問題秒、人話造衛(wèi)箱星內(nèi)族的物反品裝零載問慚題等吳。從每六種物御品的仆角度云考慮禿,與伙它相圣關(guān)的搭策略印已并魚非取唐或不頭取皂兩種踏,而欄是有想取0件、蝴取1件、稼取2件……等很族多種尚。如鵲果仍艦然按慮照解01背包幣時(shí)的萬思路終,令f[錫i]耍[v畝]表示術(shù)前i種物部品恰減放入磁一個(gè)志容量榴為v的背應(yīng)包的陡最大辣權(quán)余值。奮仍然嗓可以滑按照猛每種篩物品孕不同釣的策相略寫口出狀序態(tài)轉(zhuǎn)戀移方辭程,掙像這款樣:f[塞i]庭[v名]=隔ma壓x{督f[螺i-塑1]鏡[v宅-k逮*c失[i婆]]研+k挽*w盆[i派]|潑0<禍=k枝*c互[i習(xí)]<陪=v佩}背包踐問題設(shè)xj為第j種物蟲品的必裝件菠數(shù)(譽(yù)非負(fù)皂整數(shù)價(jià))則斷問題臨的數(shù)薪學(xué)模貍型如鏡下:用動(dòng)態(tài)粥規(guī)劃萌方法證求解,令fk(y)貧=總重葉量不怒超過y公斤令,包益中只遷裝有望前k種物倆品時(shí)除的最差大使做用價(jià)磨值。其中y≥0,k=1,韻2,任…懼,n。所以冒問題剪就是很求fn(a)其遞另推關(guān)上系式侄為:當(dāng)k=1時(shí),五有:背包勾問題求下跌面背饑包問熊題的校最優(yōu)樹解物品(xi)

x1

x2

x3重量(ai)325使用價(jià)值8512解:a=5,問杏題是被求f3(5浪)背包糖問題物品(xi)

x1

x2

x3重量(ai)325使用價(jià)值8512背包勸問題物品(xi)

x1

x2

x3重量(ai)325使用價(jià)值8512背包餃問題物品(xi)

x1

x2

x3重量(ai)325使用價(jià)值8512背包六問題背包冰問題所以輝,最捆優(yōu)解糕為X=(1勸.氣1汪.逝0),最優(yōu)榮值為Z=縮慧13??偨Y(jié)腰:解動(dòng)已態(tài)規(guī)向劃的詢一般悼方法:從終砌點(diǎn)逐滋段向貪始點(diǎn)脂方向秤尋找最小(大)的方套法。背包辦問題一個(gè)姿旅行類者有汽一個(gè)尖最多揭能用m公斤境的背辛包,生現(xiàn)在坐有n種物縮慧品,部每件亡的重康量分怠別是W1,W2,..狠.,犧Wn齊,每件妙的價(jià)工值分博別為C1綠,C證2,敏..筋.,齡Cn犬.若的撲每種膊物品斷的件買數(shù)足陸夠多.求旅買行者號(hào)能獲漁得的透最大興總價(jià)遞值。本問珠題的她數(shù)學(xué)砍模型千如下捷:設(shè)f(毯x)表示膚重量精不超舒過x公斤植的最收大價(jià)街值,則f(掘x)=m艙ax稻{f蠻(x成-i而)+溉c[圖i]換}當(dāng)x>壺=w樸[i圾]滔1<什=i熊<=痕n可使輝用遞榜歸法患解決你問題差程序湖如下:1p堵ro壟gr暈am急k致na享ps點(diǎn)ac閥k0若4;繳2c苦on排st壞m補(bǔ)ax革m=奶20倡0;你ma領(lǐng)xn舍=3頸0;短3t炮yp已e斷ar爹=a系rr免ay喪[0團(tuán)..逢ma珍xn羅]律of先i惹nt鍛eg召er按;奧4雅va犁r掃m,競n,鋼j,徹i,害t:瞞in昏te遷ge歷r;扎5c墾,w瘋:a作r;輸6箏7校fu插nc潮ti扛on階f米(x燈:i虜nt解eg拍er晚):塵in剝te污ge盆r;篩8v群ar逗i兇,t培,m簡:i炸nt界eg顏er拍;錫9燈be幼gi鈴n舅10遍if曠x忘=0稿t刺he賣n蝦f:輔=0轎e洪ls漂e牢11烈be熊gi飄n等12做t潛:=音-1扶;13梅f砍or率i嚷:=菊1杠to傲n飄d逗o務(wù)14立be辨gi育n普15侄i蘿f配x>辰=w映[i窗]閥th伙en牽m詠:=釋f(炮x-工i)獎(jiǎng)+c弱[i謊];倚1務(wù)6波if昏m唇>t木t督he過n斗t:朵=m肥;睬17責(zé)en鎮(zhèn)d;白1虎8偽f:泊=t疾;指19貍e蟻nd禾;指20吧en洗d;籍2彼1多22自be勞gi改n這23焰re嘩ad土ln振(m久,n盯);輪2奧4f威or闖i阿:=枯1燒t隙o劍n肚do眨2制5顧re跪ad勞ln地(w畢[i丸],摩c[邁i]引);不2秒6w霉ri遙te察ln四(f烈(m咱))思;仗27葵en丟d.當(dāng)m不大泉時(shí),可以香通過,但當(dāng)m較大著時(shí),容易攤超時(shí)放,改對(duì)進(jìn)的話遞歸日法改進(jìn)姓的的杠遞歸簽法的卵思想灣還是值以空飯間換研時(shí)間,這只富要將禽遞歸聯(lián)函數(shù)震計(jì)算昌過程裙中的歪各個(gè)蘇子函繁數(shù)的克值保薪存起耳來,開辟期一個(gè)草一維授數(shù)組帥即可其實(shí)禮這種植以空抵間換稠時(shí)間觀的存刃儲(chǔ)式梳搜索惰就是燒動(dòng)態(tài)苦規(guī)劃從的思戲想1p名ro鎮(zhèn)gr斃am謊k趨na哲ps駐ac穗k0殲4;役2c戲on向st嫩m執(zhí)ax格m=洋20妖00門;m字ax刺n=毫30瓦;躺3配ty悔pe餡a參r=稻ar渠ra占y[惡0.犬.m應(yīng)ax供n]鹽o買f躁in究te塘ge帶r;跨4v蝦ar踐m路,n鐮,j儉,i壇,t浙:i哄nt宜eg柏er斗;召5降c,冊(cè)w:師ar壤;巾6冊(cè)p:牛ar同ra盼y[呆0.仰.m堆a(bǔ)x多m]愁o埋f陡in受te恰ge義r;乒7f率un耐ct禿io求n嘆f(致x:任in帝te散ge鉤r)其:i倘nt逆eg摔er摸;飯8線va形r燥i,導(dǎo)t,奧m:阻in法te束ge座r;盡9b焦eg秩in病1市0們if路p挑[x塑]<側(cè)>-稿1富th障en靜f波:=精p[獎(jiǎng)x]稈//標(biāo)記咐是否估計(jì)算喂過避謙免重散復(fù)計(jì)事算(質(zhì)很重閣要)11el攀se貫12或b例eg危in妄114壁be鑰gi種n崗15期t:久=-古1;茅1輸6沙f消or村i愉:=拆1尸to建n奴d知o壁317固b疾eg自in塊1姥8潮if華x濃>=缺w[婦i]才t銀he扮n挺m:繁=f淺(i尿-w剛[i錯(cuò)])圖+c供[i紛];甘1都9鞭if慰m稀>t雹t這he壩n滲t:頭=m碑;貨20撫e擋nd替;到21晉p[喂x]瞇:=疑t;單2淡2裕e淚nd交;象23淺f洲:=墓p[周x]敘;努24稀e倉nd起;配25材en檔d;休2宏6估27夜be繭gi滿n屢28竄re李ad祝ln疼(m蕉,n載);葉2害9城f疊or頂i貓:=格1輩t央o殘n淋do味3鳴0黨r給ea絞dl仰n(督w[冰i]絲式,c嚷[i羞])學(xué);陷31巾fi訴ll熊ch驕ar槍(p便,s勤iz數(shù)eo纏f(傍p)限,-拳1)侄;邁//搜索告中用蒼于存體儲(chǔ)各撐階段擺的最膽優(yōu)質(zhì)32wr荷it罰el蹦n(拔f(膨m)敲);綿3換3e旱nd吐.0-臣1背包案問題給定n種物寇品和已一背槽包。孤物品i的重淘量是wi,其如價(jià)值提為vi,背闊包的春容量杯為C。問飾應(yīng)如第何選挖擇裝悉入背眨包的陽物品訴,使驅(qū)得裝源入背步包中禾物品職的總賀價(jià)值司最大?0-議1背包僵問題0-爆1背包奪問題樓是一投個(gè)特示殊的績整數(shù)豪規(guī)劃提問題艘。有N件物顧品和宅一個(gè)濾容量坐為V的背捷包。糊第i件物欠品的欣費(fèi)用嶼是c[紐奉i],價(jià)私值是w[吸i]。求規(guī)解將快哪些躺物品糾裝入嘉背包蕉可使翠價(jià)值梁總和晨最大旗。這是估最基纏礎(chǔ)的湖背包暴問題匆,特點(diǎn)獻(xiàn)是:本每種碎物品壁僅有橫一件扯,可迫以選粘擇放源或不爭放。用子炭問題過定義障狀態(tài)蠻:即f[膏i]朝[v]表示前i件物靠品恰嘉放入(不一產(chǎn)定真距的是犁每個(gè)移都放瞞進(jìn)去嶼,而剛是指理最有刃策略榮)一個(gè)刺容量弓為v的背靈包可耐以獲辛得的解最大橫價(jià)值適。則允其狀狀態(tài)轉(zhuǎn)卷移方恰程便宣是:f[僑i]帽[v]=余ma未x{秧f[啦i-懶1]范[v其],譽(yù)f[距i-趟1]盤[v檔-c折[i沖]]味+w向[i絨]}這個(gè)年方程同非常雪重要伐,基頌本上日所有瞧跟背伸包相老關(guān)的叛問題為的方盆程都它是由簽它衍電生出蕩來的箏。所盒以有慣必要羨將它析詳細(xì)售解釋斜一下彎:“將池前i件物夢品放滿入容銳量為v的背標(biāo)包中蛾”這層個(gè)子邊問題較若德只考知慮第i件物戀品的筑策略雜(放接或不絕放)憲,那仙么就劃可以灶轉(zhuǎn)化壺為一底個(gè)只赤牽扯聾前i-燃1件物周品的蒙問題聲。如果餐不放覽第i件物碎品,穿那么賤問題精就轉(zhuǎn)摸化為覽“前i-藥1件物吩品放捉入容崇量為v的背濤包中局”,歸價(jià)值院為f[泰i-雜1]很[v黃];如果廊放第i件物困品,披那么濃問題頌就轉(zhuǎn)搶化為兔“前i-遠(yuǎn)1件物狗品放繁入剩真下的寨容量漸為v-衡c[筒i]的背溝包中鉛”,錯(cuò)此時(shí)愈能獲坦得的辰最大勞價(jià)值銹就是f[帳i-乖1]鎖[v踐-c誘[i藏]]再加申上通訓(xùn)過放遲入第i件物演品獲內(nèi)得的盯價(jià)值w[斃i]。這個(gè)蔬問題悼非常工類似壁于01背包桂問題巨,所較不同援的是別每種護(hù)物品呢有無然限件裝。也姿就是文從每史種物擋品的只角度嚷考慮哭,與閱它相序關(guān)的滿策略索已并如非取稈或不恭取籃兩種舒,而槐是有披取0件、同取1件、剩取2件……等很單多種躁。如乘果仍甲然按述照解01背包桂時(shí)的基思路倆,令f[饞i]翼[v景]表示者前i種物練品恰圈放入泉一個(gè)蛇容量惰為v的背曉包的哄最大稈權(quán)資值。枕仍然偽可以耽按照巧每種諒物品截不同先的策聲略寫鳥出狀綁態(tài)轉(zhuǎn)刮移方蔑程,護(hù)像這象樣:f[故i]博[v耳]=麗ma暖x{霉f[痕i-夕1]朝[v贈(zèng)-k贊*c鏡[i獎(jiǎng)]]厚+k競*w提[i掘]|默0<或=k風(fēng)*c姿[i波]<體=v悉}設(shè)所閘給0-錢1背包日問題績的子篇問題的最除優(yōu)值同為m(惕i,j),即m(叛i,j)是背愛包容醬量為j,可明選擇先物品寸為i,i+容1,…,n時(shí)0-遣1背包離問題膏的最則優(yōu)值麗。由0-妖1背包舉問題聯(lián)的最組優(yōu)子婚結(jié)構(gòu)構(gòu)性質(zhì)況,可瞇以建宗立計(jì)半算m(湊i,j)的遞臂歸式巧如下催。算法施復(fù)雜扶度分副析:從m(耕i,j)的遞匆歸式筆容易吵看出溝,算嫂法需扁要O(臥nc飾)計(jì)算棍時(shí)間洞。當(dāng)青背包虧容量c很大省時(shí),酒算法盟需要預(yù)的計(jì)悼算時(shí)女間較墓多。樓例如家,當(dāng)c>橡2n時(shí),武算法默需要議Ω(n2n)計(jì)算么時(shí)間堅(jiān)。0-駁1背包中問題01背包哈問題駛描述丹:一廉個(gè)旅霞行者椅有一鉆個(gè)最菠多能多用M公斤懂的背給包,剛現(xiàn)在萬有N件物季品,它們派的重判量分牙別是W1,W2,..旋.,駛Wn淡,它們驚的價(jià)賽值分繳別為P1挑,P可2,眉..團(tuán).,毫Pn島.若每躍種物挽品只有催一件求旅轟行者咸能獲懶得最眉大總刪價(jià)值共。方式勉一:滋遍歷M*慎N的數(shù)焦組,炮對(duì)應(yīng)桂下圖掘包的棋總?cè)荼沉縈=20剩,物品別種類毫數(shù)N=5代碼嚷如下特:co掏ns器t仇in楊t煙nR削es返=5億;/未/5種物弱品in財(cái)t聯(lián)nR欲es扁We遣ig朽ht撈[n岸Re膏s+銷1]江={欣0,種5,罪3,房誠4,炒7,爆8}草;/頂/每種娘物品鋼對(duì)應(yīng)騙重量in覺t散nR響es密Va惠lu般e[利nR楊es尺+1隔]=揚(yáng){0械,1仰4,似6,烏9,喇18趟,2禍0}食;/傲/每種棗物品霧對(duì)應(yīng)斃價(jià)值co且ns律t碌in輝t態(tài)nT翼ot每le應(yīng)W=鄙20艱;/禍/背包慰容量淚為20in氏t提nV訊al丙ue嫂Ta歷bl新e[滔nR恨es鹽+1芝][盾nT初ot離le嚴(yán)W+默1]沃={鑒0}額;/恨/動(dòng)態(tài)怕價(jià)值儀表,呢每一衰項(xiàng)對(duì)摸應(yīng)包喊當(dāng)前償所能慘裝入辜的最舉優(yōu)值in襖t死Ki棋tB刻ag君(){fo腔r(密in棍t潑i=法1;涌i<醫(yī)=n炕Re皮s;烤i+坊+)fo滾r(貴in傲t旬j=橋1;怖j<光=n踢To傍tl容eW斃;j樂++浩)/企/包容只量逐坦?jié)u遞公增{if堅(jiān)(j陶>=瀉nR忍es短We慕ig勻ht慈[i儲(chǔ)])檔/趕/當(dāng)包怖容量植大于上等于威當(dāng)前劫物品狗重時(shí){/坡/如果禽裝入淚當(dāng)前份物品唯所能堤達(dá)最清大價(jià)病值>不裝瘦當(dāng)前罰物品延,包嘆選裝補(bǔ)前面攝物品輕所能慎獲得愉的最普大價(jià)換值//裝入橋當(dāng)前除物品街所能稼達(dá)最浪大價(jià)政值=當(dāng)前箱物品略價(jià)值+當(dāng)前姓包容珠量j扣除媽當(dāng)前檢物品魚重量僅后,摸剩余懶的容辱量所奴能裝恐入的鋤最大撿價(jià)值敘。//對(duì)照摟上表凳,當(dāng)?shù)瘫闅v表到i=拔2,陜j=體8時(shí),nV縱al始ue扯Ta誘bl積e[刊i-煤1]棍[j勻-n瓣Re件sW紐奉ei布gh輸t[際i]妹]=帽nV兔al欣ue危Ta介bl基e[泡1]磚[5探]=獄14,滿懼足條墓件就蘭裝入?yún)参锲访?。if菜(n見Re壓sV利al他ue澡[i址]+技nV移al男ue色Ta桿bl股e[飯i-份1]餅[j鐘-n群Re女sW穴ei映gh俯t[膜i]烤]>冬nV先al賞ue積Ta仰bl索e[禾i-渣1]喚[j漏])nV各al犁ue錘Ta懶bl憶e[浙i]互[j侵]=要nR扇es給Va便lu喪e[蔬i]凈+n都Va拋lu內(nèi)eT郊ab午le昆[i慮-1原][配j-盤nR歇es攤We順ig若ht蛾[i僑]]瘦;/戶/當(dāng)前位物品溪裝入某包.el哈se南//當(dāng)前錫物品妥不裝塘入包伴,當(dāng)茅前包訂容量繡下的弄最大提價(jià)值鈔仍然善是原仙來的卵價(jià)值nV電al蛋ue稼Ta季bl句e[驗(yàn)i]挎[j找]=技nV揚(yáng)al正ue運(yùn)Ta艱bl簽e[累i-手1]裁[j賴];}el雀se彼//包容霞量不差足以襖裝入夏當(dāng)前剝物品康時(shí),紫沿用監(jiān)原來泄的包野容量牲最大北價(jià)值nV恭al稈ue尿Ta捷bl商e[爭i]伏[j巨]=巷nV兄al燙ue罷Ta蝴bl郵e[切i-騎1]嗚[j讓];}co賴ut掘<<母"最大暑值為攏:"<算<n叢Va堂lu晃eT晚ab層le采[n黑Re扭s]詢[n醋To蜻tl盲eW幕];re哀tu努rn身n輪Va密lu顛eT簽ab妻le既[n郊Re棟s]杏[n產(chǎn)To諷tl媽eW菌];};方式肌二:用采用貪遞歸點(diǎn)方式管,遍兔歷二毒叉樹景,并鬧通過歉映射褲表來犯剪枝損。代碼別如下另:in烤tRe連cu泛rs府io富nB揭ag傭(i悠ntnR飼,i結(jié)ntnW)/蹈/傳入語資源忘數(shù),壓包容趨量{if殺(n銹R==墳0|另|n垂W=深=0金){re菊tu券rn蔥0大;}if撓(n煌Va巨lu送eT望ab割le浪[n詢R]肺[n互W]!賀=0紙){//當(dāng)前泉節(jié)點(diǎn)初是已湖訪問舅過的烏節(jié)點(diǎn)脖,直與接返者回存融儲(chǔ)的形最優(yōu)帽值re表tu貸rnnV桿al涂ue芝Ta脊bl虹e[秩nR凡][番nW];強(qiáng)}if腸(n衛(wèi)W>=nR請(qǐng)es匆We餃ig蟲ht浙[n杰R])友//包容綢量大曾于等妨于當(dāng)庭前物和品重{/捎/獲得慘物品伏放入賤和不桂放入季兩種友情況遞中的斗價(jià)值金最大焦者nV盤al狠ue趨Ta施bl宅e[嫩nR俊][年nW]=踐ma旅x(偵nR慚es釣Va鴿lu建e[念nR甘]+釋Re亂cu斯rs熄io漲nB雞ag皂(n湊R-順1,亮nW坑-n息Re張sW厭ei乖gh績t[歷nR惡])徹,/對(duì)/物品化入包銷后的嗓價(jià)值Re猴cu勾rs次io輝nB包ag變(n猶R-鞠1,適nW凈))罷;/姐/物品桃不入牲包的仗最大世價(jià)值}el向se他//包容辟量不獎(jiǎng)足以忠放入帳當(dāng)前技物品nV傘al巖ue序Ta毫bl嘗e[特nR弓][屬nW]=蒙Re侮cu畫rs獵io染nB閘ag愈(n哪R-爪1,螺nW豬);re鵝tu讓rnnV場al幟ue底Ta艦bl醉e[朵nR駐][竟nW];}對(duì)比動(dòng)兩種杰方式仿可知塘,第轟二種需方式添遍歷倍的數(shù)少據(jù)量增為黃杯色標(biāo)趴注結(jié)廈點(diǎn),駱要小朵于第累一種犬方式僅的數(shù)婚據(jù)訪撓問量岡。0-殊1背餡包問公題基婦本題口型:ht供tp惠:/節(jié)/a從cm蠢.h盜du禾.e勞du摟.c從n/極sh缸o(hù)w撥pr水ob蹤蝶le穴m.懼ph肆p?悠pi攏d=撒26琴02二維嗽背包晶問題上面狡討論快的背授包問雪題只荷有一擊種限賠制,每即旅凈行者菠所能艘承受軋的背攪包的攪重量貸(亦鉗即重磁量不材能超幕過ak頭g).但是裳實(shí)際蔬上背句包除捉受重證量的衡限制僚外,瓣還有結(jié)體積蝦的限耐制,誦這就襪是不舒但要穗求旅激行者剃的背成包的半重量M不能瘡超過a(kg),關(guān)還要恐求旅撥行者封背包蜂的體匠積V不能瓦超過b(m3),我們叉把這達(dá)樣的梁問題卻稱為返“二負(fù)維背槍包問咳題”健。所謂類“二應(yīng)維”浩是指吊在用帽動(dòng)態(tài)娃規(guī)劃授處理調(diào)時(shí),居它的部狀態(tài)留變量西有兩停個(gè)因具素:一個(gè)捷是重遭量,庫一個(gè)肆是體前積。二維地費(fèi)用灘的背廢包問朽題二維漲背包興問題骨的條趙件可屬概括曉為下糟表物品編號(hào)

12……j……n-1n單位重量(kg)

a1

a2

……aj

……an-1an

單位體積(m3)

b1

b2

……bj

……bn-1

bn

單位價(jià)值

c1

c2

……cj

……cn-1

cn

二維熱費(fèi)用躍的背蔥包問振題二維歐背包山問題繁可以跳歸納找為如足下形南式的整數(shù)查線性獲規(guī)劃艷問題龜:ma影x{挖c1x1+…星+cixi+…枕+cnxn}a1x1+…睛+aixi+…翠+anxn≤ab1x1+…峽+bixi+…汁+bnxn≤bxi為非夜負(fù)整洲數(shù),i=頑1,…,n正如陶一維序背包醫(yī)問題芒那樣贏,二視維背記包問鏡題也肢可以挪用動(dòng)眾態(tài)規(guī)恭劃求軌解。二維次費(fèi)用請(qǐng)的背聾包問股題二維錦費(fèi)用溪的背研包問踐題問題二維睬費(fèi)用播的背眾包問奔題是拜指:被對(duì)于及每件晚物品逝,具違有兩聾種不披同的魔費(fèi)用份;選室擇這忍件物摟品必溜須同乖時(shí)付跑出這黎兩種歲代價(jià)陡;對(duì)維于每吹種代慰價(jià)都步有一宮個(gè)可演付出照的最溜大值古(背誤包容辱量)胳。問技怎樣嘉選擇校物品市可以捎得到程最大割的價(jià)列值。傭設(shè)這狀兩種捕代價(jià)勸分別誼為代豎價(jià)1和代耐價(jià)2,第i件物乏品所挽需的板兩種割代價(jià)腹分別估為a[目i]和b[案i]。兩喜種代目價(jià)可親付出賢的最參大值耐(兩若種背棟包容翼量)博分別認(rèn)為V和U。物厘品的憂價(jià)值分為w[符i]。算法敞思想費(fèi)用尊加了侮一維衫,只聞需狀鉗態(tài)也水加一菜維即條可。吉設(shè)f[栽i]誼[v防][菠u]表示痕前i件物察品付拳出兩幼種代驕價(jià)分嫂別為v和u時(shí)可套獲得圾的最震大價(jià)平值。今狀態(tài)鋤轉(zhuǎn)移耗方程甩就是判:f[消i]揮[v榆][憐u]=處ma挨x{口f[撫i-定1]刑[v鐘][允u]宰,f礙[i銷-1分][挖v-女a(chǎn)[硬i]洪][秩u-廟b[造i]虎]+爹w[墻i]兼}。碼頭棉有一獅艘載備重量宇為30希t,最縮慧大容洞為12扭×1崖0m3的船絮,由猛于運(yùn)凈輸需衡要,這艘究船可奶用于肺裝載珍四種巾貨物銹到珠劍江口晚,它挖們的葛單位寺體積,重量蟻及價(jià)你值量頌見下漠表:體積(10m3)重量(t)價(jià)值量A252B642C363D474現(xiàn)求行如何貫裝載另這四姓種貨哥物使綠價(jià)值公量最運(yùn)大。背包變問題揪小結(jié)哨(1揀)一、暖01蝴背包最簡雷單的炭背包溪,每始件物千品選食或者迫不選陜。fo亡r(甩in治t日i灑=魂1;琴i缺<綢=瞎n;胃+唐+i滑){fo計(jì)r(突in犧t脅j熔=捎V;烈j割>兩=嶺c[愿i]線;安--免j)扭{dp腰[j烘]乎=撫ma立x(夢dp泊[j鞠],鑒dp斯[j復(fù)-c道[i乞]]兵+a禽[i匠])微;}}二、篇完全請(qǐng)背包每件功物品窗可以哪選無銷限次fo魄r(范in雁t期i餅=猶1;圖i牽<劫=品n;坡+小+i秘){fo妹r(祖in摘t疤j武=紋c[四i]爐;抱j粒<=秋V胡;浮++符j)障{dp傅[j勉]錘=酬ma朗x(沃dp支[j鴨],毅dp級(jí)[j秩-c鋤[i評(píng)]]指+哥a周[i鞭];}}注意傳:初訊始化孕方面紗的細(xì)項(xiàng)節(jié),聞如果照要求務(wù)恰好糞裝滿董背包柔,那訂么在瞎初始心化時(shí)橋除了壁dp頸[0勾]為畏0其籃它d兆p[軟1.催.V每]均義設(shè)為太-∞齊(求踩的是危最大乳解,跨如果埋求的決是最刃小解暗,則捏為∞敵)糖如俗果并夸沒有積要求累必須屬把背鐮包裝浪滿,網(wǎng)而是回只希覽望價(jià)墨格盡哭量大槳,初祝始化辜時(shí)應(yīng)退該將瞎f[鎖0.坑.V攤]全補(bǔ)部設(shè)治為0奇。三、它多重黑背包每件綢物品犬可以倆選有告限次險(xiǎn)設(shè)每傳件物摟品的承個(gè)數(shù)副為co擇un疏t[零i]走;O(意V*財(cái)Σl淚og泛c藥ou陡nt若[i噸])寫法譽(yù)(二炎進(jìn)制解優(yōu)化間)fo睡r(詞in舉t遵i頭=訴1;剝i姓<貧=楚n;振+椒+i芝){in司t當(dāng)k;fo貼r(肺k斤=愛1;偶k冷*2蘆<欠c擦ou更nt晝[i糟]未+相1;豆k該*退=府2)廣{fo堪r(候in裝t然j隊(duì)=牙V;陶j錦>份=君k*耗c[掛i]衡;辮-葉-j眨){dp銳[j撈]狹=固ma吩x(胃dp律[j毅],攪dp業(yè)[j迷-k吩*c潑[i劇]]長+設(shè)k蘋*a德[i幼])狡;}}k鍛=尼co蛾un飯t[論i]虜+澇1竿-止k慌;fo該r(桂in鞠t笨j肢=仇V;蔑j賄>雙=嚴(yán)k*敞c[扎i]臥;亡--順j)堤{dp偵[j先]卡=蠢m(xù)a愈x(浴dp妹[j夠],森dp罷[j當(dāng)-k攔*c幸[i榨]]抓+渣k疲*a菠[i鎮(zhèn)])嬌;}}O(做VN杏)的寫竟法/*此種找方法錘求最漂大值少不確袍定可難否,略但判掙斷是披否能喪將1-調(diào)V內(nèi)的霉背包麗裝滿電可以球*/in淹t枕us均ed苦[M勺AX籍N]餃;fo誕r(密in別t出i爬=雀1;渾i冰<恒=炊N;泊+選+i獸){me逝ms蛋et毀(u達(dá)se培d,甘0,孟si腫ze拌of碰(u洽se犯d)國);fo菊r(招in潑t周j帶=纏c[旗i]喂;脂j嚼<=疏V擠;朋++需j)宵{if檢(u任se脾d[場j-真c[索i]相]琴<圍co走un希t[竄i]悔&眉&蹤蝶dp廢[j掘]刃<唱dp唉[j活-c澇[i降]]歉+番a含[i甩])驚{dp瀉[j忠]哭=藥dp寶[j迎-c鍋[i窮]]致+言a斧[i疾];us節(jié)ed字[j賊]戰(zhàn)=深us拍ed糕[j煌-c釣[i牙]]搞+色1河;}}}起/店/有待談驗(yàn)證骨,估認(rèn)計(jì)不紀(jì)對(duì),蔽有興書趣的??梢苑膨?yàn)證字下現(xiàn)在dp燃[i姻]用來憂表示趟容量纏為i的背頭包能鑰否被花所給奴物品浪恰好伯裝滿派上無面的01背包禮和完埋全背期包以技及上誼面一黎種O(膊V*飛Σl掀og裁c階ou塘nt抖[i詢])的寫棗法也恢可以丑做這稠樣的掌改變me嬌ms雅et寫(d參p,盯fa妻ls抵e,代si西ze新of士(d照p)茶);dp酒[0兩]永=傲tr惱ue哄;fo丙r(沈in僚t室i慎=卡1;護(hù)i村<眾=簽N;留+約+i聰){me趟ms妄et凍(u槳se郊d,發(fā)0,循si餓ze鵲of閥(u業(yè)se陣d)米);fo安r(活in梨t活j懶=伙c[弟i]抄;艇j礦<=饑V雙;患++遭j)仗{盼//注意僅這里紅是順委序的碎(和士完全緒背包敬相同脈),提其實(shí)煌多重仗背包壺也可訴以理鹿解成研被限夸制了鍋的完娘全背原包if焦(!差dp皇[j園]北&&鴿d開p[費(fèi)j-遣c[班i]迎]童&&浮u排se沙d[和j-敢c[傾i]簽]想<男co騾un禍t[上i]危){傘/睡/注意群這里肆的!d汪p[萬j]不能罰少dp塊[j列]嚷=攝tr肥ue局;us配ed蜂[j溜]扯=符us你ed芳[j鬼-c砍[i桌]]績+種1甚;}}}四、驢混合局背包以上科三種赴背包桶的混毒合,鍋有的槳物品貨只能申取一攪次,發(fā)有的俱物品逮能取錄無限避次,系有的漏物品盆能取莊有限俘次算法寒偽代若碼:fo說r剖i=山1.際.nif第i件物換品是01背包fo慶r役j=買V.長..費(fèi)c[繁i]dp縫[j瞞]=給ma醫(yī)x(尤);致/烏/同上稼面01背包顫代碼el貸se煩i閘f第i件物峽品是呼完全寬背包fo噸r散j=暴c[逝i]悅..膽.Vdp破[j縱]=軟ma該x(煉);嘗//同上干面完燒全背怖包el鉗se偉i壓f第i件物瞞品是緊多重民背包Mu見lt爪ip泊le濤Pa添ck哨(c穗[i伙],干a[便i]晶,c辣ou茶nt辯[i筐])涉/怠/同上館多重低背包五、璃二維匠費(fèi)用移

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論