亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

01分數規劃問題相關算法與題目講解(二分法與Dinkelbach算法)

2019-11-11 05:18:33
字體:
來源:轉載
供稿:網友

01分數規劃算法 信息學競賽 OI ACM 二分 Dinkelbach 最優比率生成樹 最優比率環


01分數規劃

張天翔

blog.csdn.net/hzoi_ztxztx97@QQ.com


前置技能

二分思想最短路算法一些數學腦細胞?

問題模型1

基本01分數規劃問題

給定n個二元組(valuei,costi),valuei是選擇此二元組獲得的價值(非負),costi是選擇此二元組付出的代價(非負),設xi(xi∈{0,1})代表第i個二元組的選與不選,最大(小)化下式 maximize(or minimize)   r=∑valuei?xi∑costi?xi

解決方法

二分法

r最大值為r?, r?=∑valuei?xi∑costi?xi

∑valuei?xi?r??∑costi?xi=0

設一個函數,自變量為r值, f(r)=∑valuei?xi?r??∑costi?xi

觀察這個函數,假如{xi}固定,則這個函數就是坐標系中一條直線(y=B?A?x),每一組{xi}對應著一條直線,這些直線斜率非正(因為?A=?∑costi?xi≤0),縱截距非負(因為B=∑valuei?xi≥0 ),如圖1。 圖1 對于每一條直線,當f(r)=0時,橫截距就是這一組的r,那么r?就是每條直線橫截距的最大值(每組{xi}對應r的最大值)如圖2。 圖2 在圖中上任取一條垂直x軸的豎線, 如果存在直線與這條豎線的交點縱坐標為正,那么最優值一定在當前豎線的右側; 如果所有直線與這條豎線交點縱坐標為負,那么最優值一定在當前豎線的左側; 如果所有直線與這條豎線交點縱坐標非正且存在直線與這條豎線交點縱坐標為0,那么當前豎線橫坐標即為最優值r?這里寫圖片描述 按照這個思想,可以二分答案r,那么二分時如何進行判斷呢?

選擇一個r時需要判斷所有f(r)的最大值是否為0,如果max{f(r)}>0r<r?;如果max{f(r)}<0r>r?。 怎樣求max{f(r)}? f(r)=∑valuei?xi?r?∑costi?xi=∑(valuei?r?costi)?xi

二分一個r時,每個二元組的valuei?r?costi 都可以求出,設其為weighti,現在的目標就是找到一組{xi}使得∑wighti?xi最大(即求max{f(r)})。怎么找到這一組{xi},或者直接求得max{f(r)}呢?具體問題具體分析,經常借助最短路算法判斷是否存在負環。下面會有幾道例題。

01分數規劃還會與其他問題結合,如網絡流等。

Dinkelbach算法

這個算法我是在寫這篇文章時才知道的。

思考上述二分算法的思路,設二分過程中某一個二分值為r,二分時的判斷條件是max{f(r)}的正負性,而這個r除了讓L右移或者R左移就沒有用了。現在思考某一過程中rmax{f(r)}能否再被利用。 二分時,假如max{f(r)}>0這說明最優解在當前r的右側,于是讓L=r,但是,如果將L移動到max{f(r)}對應直線的橫截距呢?顯然,算法會變得更快。這個思想就是Dinkelbach算法的內涵。 Dinkelbach實質上是一種迭代算法,基于這樣的思想:不去二分答案,而是先隨便給定一個答案,然后根據更優的解(max{f(r)}對應直線的橫截距)不斷移動答案,逼近最優解。理論上它比二分快些。 在這個算法中,一般將r初始化為0。

兩種算法的比較

Dinkelbach算法的弊端就是需要保存解。這兩個算法解決統一問題實際上都有可能快些。 我覺著我一般還是用二分。。。。

例題

只先寫了文章,還差相關題目的分析,代碼等。得等個一兩天再。2017-02-06留。

Poj2976Dropping tests


問題模型2

最優比率生成樹

帶權無向圖G, 對于圖中每條邊ei, 都有valueicosti,現在求一棵生成樹T,最大(小)化∑valuei∑costi,ei∈T

解決方法

套用01分數規劃模型,如果ei∈Txi=1否則xi=0

二分法

二分答案r,邊賦值weighti=valuei?r?costi,因為是生成樹,邊的數量確定,那么max{f(r)}需要選取前|G|?1大的weighti,也就是求最大生成樹,按最大生成樹權值的正負性就可以二分了。

Dinkelbach算法

當前答案r,邊賦值weighti=valuei?r?costi,同樣求最大生成樹,找到max{f(r)}對應的邊集{xi},也就是最大生成樹的邊集。對這個邊集找橫截距當做下一次答案。橫截距是啥呢? f(r)=B?A?rrr=0=B/A=∑valuei?xi∑costi?xi

例題

poj2728Desert King(最優比率生成樹)


問題模型3

最優比率環

給定有點權和邊權的圖,求一個環,使得環的點權和與邊權和的比值最大。

解決方法

套用01分數規劃模型,點權為valuei,邊權為costi,一個環為C 問題要求最大化∑valuei∑costi,(i∈C) 邊數和點數是相同的,但上述式子表述不是很正確,意會即可。 若答案為r?,那么任意一個環 ∑valuei∑costi∑valueir??∑costi?∑valuei≤r?≤r??∑costi≥0

二分法

設當前答案r, r<r?,至少存在一個環,r?∑costi?∑valuei<0,即存在負權回路(將邊權設為r?costi?valuei,不是提前算出,而是在更新路徑的時候從哪個點訪問到這條邊的就將這條邊設為相應點權與邊權的對應值); r≥r?,則不存在負環。

求負環可以用Bellman-Ford,但是比較慢,一般用spfa算法求負環 具體判斷方法為,一個點不能入隊n次,否則有負環;一條最短路徑長度不能到n,否則有負環。兩個判斷方法可以同時使用。

Dinkelbach算法

如果用這個算法需要記錄下來一個負環,實現還是能實現的,但是沒有二分+spfa好寫。

例題

poj 3621(最優比率環)

問題模型4

最大密度子圖

這個問題會寫在網絡流總結中。


參考資料

【1】KirisameMarisa - NYIST 914Yougth的最大化【二分搜索/Dinkelbach算法】 【2】PerSeAwe - [Algorithm]01分數規劃


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产电影| 欧美激情一级精品国产| 久久精品国产v日韩v亚洲| 久久国产精品久久国产精品| 亚洲免费高清视频| 亚洲一区二区精品| 日本精品视频在线播放| 精品国产网站地址| 国产精品久久久一区| 日韩视频中文字幕| 欧美性猛交xxxx免费看| 国产日产欧美a一级在线| www.久久撸.com| 97视频在线播放| 国产一区二区三区免费视频| 91老司机在线| 欧美极品少妇xxxxⅹ喷水| 亚洲第一网中文字幕| 91午夜在线播放| 国产成人精品av在线| 国产成人啪精品视频免费网| 亚洲wwwav| 97在线看免费观看视频在线观看| 亚洲视频日韩精品| 国产精品丝袜久久久久久不卡| 亚洲国产精品久久久久久| 亚洲乱亚洲乱妇无码| 国产有码一区二区| 亚洲精品美女久久久| 在线日韩第一页| 国产精品自拍偷拍| 亚洲美女性视频| 亚洲人成在线播放| 国产精品视频导航| 久久久久久成人精品| 午夜精品一区二区三区av| 日韩av不卡在线| 成人做爽爽免费视频| 亚洲精品免费网站| 日韩福利视频在线观看| 国产mv免费观看入口亚洲| 超在线视频97| 久久乐国产精品| 亚洲肉体裸体xxxx137| 九九精品视频在线观看| 亚洲男人av在线| 国产成人在线视频| 欧美一区亚洲一区| 久久亚洲欧美日韩精品专区| 欧美一二三视频| 日韩在线视频观看正片免费网站| 国产精品视频不卡| 国产这里只有精品| 国产欧美日韩91| 成人黄色av网| 亚洲中国色老太| 日韩成人激情在线| 91精品久久久久久久久青青| 国产精品毛片a∨一区二区三区|国| 欧美丝袜一区二区三区| 亚洲在线www| 日韩电影第一页| 久久免费成人精品视频| 亚洲国产成人精品久久久国产成人一区| 欧美色播在线播放| 欧美视频第一页| 国产精品91久久久久久| 久久久久国产精品免费网站| 欧美大片免费看| 一区二区三区四区精品| 欧美成人精品一区二区三区| 美女久久久久久久久久久| 91精品国产色综合久久不卡98口| 日韩精品中文字幕在线| 久久免费视频这里只有精品| 色婷婷综合成人| 国产精品91一区| 国产欧美一区二区三区四区| 久久综合久久美利坚合众国| 一区二区亚洲欧洲国产日韩| 欧美肥老太性生活视频| 亚洲免费视频观看| 欧美午夜片欧美片在线观看| 亚洲国产精品国自产拍av秋霞| 久久全球大尺度高清视频| 亚洲国产成人精品久久久国产成人一区| 欧美日韩亚洲一区二区三区| 成人性教育视频在线观看| 91久久久久久久久久久久久| 亚洲成人激情小说| 一区二区三区高清国产| 欧美极品美女电影一区| 欧美中文在线观看国产| 91色在线观看| 尤物九九久久国产精品的特点| 久久99视频免费| 91亚洲精品在线观看| 亚洲国产精品字幕| 欧美午夜激情小视频| 亚洲香蕉伊综合在人在线视看| 国产精品日韩一区| 久久久日本电影| 久久成人免费视频| 国产精品羞羞答答| 91影院在线免费观看视频| 97在线视频免费看| 国产精品久久久久久久久久三级| 欧美一区二区三区图| 国产精品嫩草影院一区二区| 国产精品日日摸夜夜添夜夜av| 日韩美女免费视频| 日韩欧美高清在线视频| 欧美日韩中文字幕在线视频| 一区二区三区视频在线| 日韩一区视频在线| 精品亚洲男同gayvideo网站| 亚洲精品一区二区久| 国产乱肥老妇国产一区二| 中文字幕在线看视频国产欧美| 4k岛国日韩精品**专区| 国产精品久久久91| 精品久久久久久亚洲国产300| 亚洲欧美日韩天堂一区二区| 国产精品黄页免费高清在线观看| 国产一区二区动漫| 97精品国产97久久久久久免费| 91亚洲精品在线| 国产婷婷成人久久av免费高清| 91在线免费看网站| 国产精品自产拍在线观看| 久久夜色精品国产亚洲aⅴ| 97在线视频精品| 日韩欧美黄色动漫| 国产福利成人在线| 国产精品极品美女粉嫩高清在线| 久久九九国产精品怡红院| 精品国产一区久久久| 欧美大片网站在线观看| 国产精品久久久久久搜索| 国产美女久久精品| 国产成人aa精品一区在线播放| 欧美日韩国产色视频| 亚洲va国产va天堂va久久| 日韩av大片免费看| 色偷偷88888欧美精品久久久| 黑人巨大精品欧美一区免费视频| 欧美成人在线影院| 国产日韩av在线| 日韩性xxxx爱| 亚洲成人av在线| 琪琪亚洲精品午夜在线| 国产精品久久婷婷六月丁香| 亚洲欧美日韩爽爽影院| 欧美华人在线视频| 国产精品久久久久久久久粉嫩av| 国产精品亚洲视频在线观看| 久久国产精品视频| 亚洲新声在线观看| 538国产精品一区二区免费视频| 亚洲成**性毛茸茸| 91九色国产社区在线观看| 欧美午夜丰满在线18影院| 91精品久久久久久综合乱菊| 国产精品视频中文字幕91|