運籌優化(九)--整數規劃模型

Eason.wxd發表於2019-01-17

一類規劃問題中如果要求部分或全部決策變數是正整數,則稱之為整數規劃(Integer Programming,簡稱IP)。例如,所要求解的是機器裝置的臺數、完成工作的人數或裝貨的汽車數等。整數規劃中要求全部變數都限制為(非負)整數的,稱為純整數規劃(Pure Integer Programming)或全整數規劃(All Integer Programming);要求一部分變數限制為(非負)整數,則稱為混合整數規劃(Mixed Integer Programming);決策變數全部取0或1的規劃稱為0-1整數規劃(Binary Integer Programming);如果模型是線性的,稱為整數線性規劃(Integer Linear Programming,簡稱ILP)。

我們線上性規劃的基礎上增加非此即彼的邊際約束或者目標函式的問題,定義為塊狀/批量線性規劃。

為了侷限討論範圍,這裡只討論整數線性規劃。

整數線性規劃與一般線性規劃比較,具有下述特點:

1.可行解域為離散點集

整數規劃的可行解域僅是凸集中的整數點集,相鄰整數點之間的區域不是可行解域。

例1:有一整數規劃問題的數學模型為:

Max  Z=x1+5x2

解:如果不考慮整數約束,得到一個線性規劃問題(稱為公式1的鬆弛問題),對於這個問題,用圖解法很容易得到最優解(見1中B點):x1=2, x2=9/5, 且有:Z=11。

再考慮整數條件。如將x2 湊成整數x2=2 ,則點(2,2)落在可行域外,不是可行解;若將x2湊成整數1,但點(2,1)不是最優解。因為當x1=2,x2=1,得到Z=7,而當x1=0,x2=2得到Z=10,顯然點(0,2)比點(2,1)更好。因此不能企圖簡單的將鬆弛問題的最優解取整(例如四捨五入)就能得到整數規劃的最優解。

從圖1可知,整數規劃問題的可行解集是相應的線性規劃問題的可行域內的整數格子點,它是一個有限集。

2.不能用舍入取整法

用圖解法或單純形法求解的線性規劃問題中,有些最優解可能是分數或小數,為了滿足整數解的要求,初看起來,似乎只要把已得到的帶有分數或小數的最優解“舍入化整”就可以了,但這樣通常是不行的。因為化整後的解很可能不是可行解;或雖是可行解,但也不一定是最優解。

3.目標函式值的優劣

整數最優解目標函式值劣於同問題(即捨去決策變數取整數這一約束後的鬆弛問題)非整數最優解目標函式值,即當目標要求為極大時,整數解目標函式值下降;當目標要求為極小時,目標函式值增大。

設整數規劃的可行解域為D1,同問題非整數規劃的可行解域為D2,雖然有D1∈D2,可以很容易證明:對於建立在可行解域D1,D2上的同一目標函式的規劃問題,若D1∈D2,則建立在D2上的目標值優於建立在D1上的目標值。

這個特點從圖1中也不難看出,在用圖解法求解整數最優解時,等值線應從非整數最優解切點向可行域內移動,因此Z值改變,劣化。移動等值線後最先碰到的整數解為最優解,這個最優整數解可能是線性規劃問題的極點(圖1),更多情況下它既不是極點,甚至也不在凸集的邊緣上。因此,不能簡單地用單純形法求極點的基變換來找到它。

具體的整數規劃應用模型有:

揹包模型:只有一個主約束的純整數線性規劃問題

資產預算模型:將揹包模型的主約束定義為預算約束,並且不同時間段都有這個預算約束,也叫多維揹包模型

分配模型:兩類不同事物之間的最優配對。

二次分配:指在知道其他決策之後,一個決策的影響才被確定,導致模型變為二次分配問題

廣義分配模型:多對多,每一個事物i必須分給一些事物j,每個事物j可以與多個事物i配對。

匹配模型:同類事物,最佳配對。

路徑模型:旅行商問題,將所有點組成單個序列,或者組成幾條線路。

設施選址和網路設計模型:從一個計劃好的位置列表中選擇某些作為建設設施的地點,使得滿足特定客戶的總成本最小。

排程及排序模型:給定一組處理裝置時對作業集在這些處理裝置上的處理進行排序。

相關文章