兩階段法分析與實現[運用分享]_第1頁
兩階段法分析與實現[運用分享]_第2頁
兩階段法分析與實現[運用分享]_第3頁
兩階段法分析與實現[運用分享]_第4頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、教資 c 類 最最最最 優優優優 化化化化 方方方方 法法法法 課課課課 程程程程 設設設設 計計計計 題 目: 兩階段法分析與實現 院 系: 數學與計算科學學院 專 業: 統計學 姓名學號: 張雨坤 1200720216 指導教師: 李豐兵 日 期: 2015 年 01 月 22 日 教資 c 類 摘摘 要要 常用的解線性規劃問題的方法有圖解法,單純形法,對偶單純形法,解乘 數法,橢球法等。而本論文即主要闡述的是從屬于單純形法的兩階段法。兩階 段法第一階段是先求解一個目標函數中只包含人工變量的線性規劃問題,當第 一階段求解結果表明問題有可行解時,第二階段是從第一階段的最終單純形表 出發,去掉

2、人工變量,并按問題原來的目標函數,繼續尋找問題的最優解,即 是一種為使人工變量被替換出成為非基變量的方法。與大 M 法同時被廣為使用, 但相較于大 M 法,兩階段法能夠求的更準確地結果。 關鍵詞關鍵詞:線性規劃;單純形法;兩階段法;大 M 法 教資 c 類 Abstract We usually solve the linear programming problems with graphic method, simplex method and dual simplex method, the multiplier method, ellipsoid method and so on.Th

3、is paper mainly expounds the two stage method which belongs to simplex method. The first stage of two stage method is used to solve a objective function which only contains artificial variables linear programming problem. When the first phase of solving results show that the problem has a feasible s

4、olution, the second stage is from the first stage of the final simplex tableau, remove artificial variables, and according to the problems of the original objective function, continue to look for the optimal solution of the problem. It is a kind of way to make artificial variables substituted the no

5、n variable method. The big M method is also widely used at the same time, but compared with the big M method ,two-phase method can more accurate results. Key words:;Linear programming;Simplex method;Two stage method; The big M method; 教資 c 類 目目 錄錄 1、引言引言.1 2、兩階段法描述兩階段法描述.1 2.1 基本可行解.1 2.2 兩階段法概述.1 2

6、.3 兩階段法第一階段.2 2.4 兩階段法第二階段.3 3、兩階段法求解引例兩階段法求解引例.4 3.1 兩階段法計算步驟.4 3.2 例 1.5 3.3 例 2.8 3.4 引例分析.9 4、算法比較算法比較.9 4.1 大 M 法.9 4.2 算法比較.10 4.3 特殊情況.11 5、總結總結.12 5.1 總結概括.12 5.2 個人感言.12 6、參考文獻、參考文獻:.13 教資 c 類 1 1、引言引言 在各種優化算法中,兩階段法(Two stage method)是非常重要的一種。即如果線 性規劃模型中的約束條件系數矩陣不存在單位向量組,階梯式應先加入人工變量,人 工構成一個單

7、位向量組,其只起過渡作用,不應影響決策變量的取值,兩階段法即可 控制人工變量取值。 尋找線性規劃問題初始基可行解的一種方法.把增加人工變量的線性規劃問題分為 兩個階段去求解.第一階段是構造一個輔助的人工目標函數,即或 0,0 a a Axxb xx 。若原問題有可行解,則在本階段的最終單純形表中,必有和max() i Zy 0Z ,并使人工變量均為非基變量.此時,劃去人工變量所在的列與人工目0(1,2,) i yim 標函數所在的行,就得到原問題的初始可行基對應的單純形表,進入第二階段. 2 2、兩階段法描述兩階段法描述 2.1 基本可行解基本可行解 當線性規劃問題的玉樹條件全部為“”時,可按

8、下述方法比較方便的尋找可行 解: 設給定線性規劃問題為 1 1 max (1,) . . 0(1, ) n jj j n ijji j j zc x a xb im st xjn 在第 個約束條件上加上松弛變量,化為標準形式 i (1,) si xim 教資 c 類 11 1 max0 (1,) . . 0(1, ) nm jjsi ji n ijjsii j j zc xx a xxb im st xjn 11121 21222 12 1 00 0 10 0 01 n n mmmn aaa aaa aaa 由于這個系數矩陣中含一個單位矩陣,只要以這個單位矩陣作為基, 1 (,) ssm PP

9、 就可以立即解除基變量值,因為有,由此(1,) sii xb im0(1,) i bim 就是一個基可行解。 1 (0,0,)T m Xbb 當線性規劃中約束條件為“”、“ ”時,化為標準形式后,一般約束條件的 系數矩陣中不包括有單位矩陣。這是為能方便地找出一個初始的基可行解,可添加人 工變量來人為地構造一個單位矩陣作為基,稱作人工基。先在不等式左端減去一個大 于等于零的剩余變量(也稱為松弛變量)化為等式,然后再添加一個人工變量。 2.2 解線性規劃概述解線性規劃概述 兩階段法第一階段是先求解一個目標函數中只包含人工變量的線性規劃問題,即 令目標函數中其他變量的系數取 0,人工便靈的系數取某個

10、正的常數,(一般取 1), 在保持原問題約束條件不變的情況下求這歌目標函數極小化的解。顯然在第一階段中, 當人工變量取值為 0 的時候,目標函數值也為 0。這時候的最優解就是原線性規劃問題 的一個可行解,。如果第一階段求解結果最優解的目標函數值不為 0,也即最優解的基 變量中含有人工基變量,表明原線性規劃問題無可行解。 當第一階段求解結果表明問題有可行解時,第二階段是從第一階段的最終單純性 表出發,去掉人工變量,并按問題原來的目標函數,繼續尋找問題的最優解。 2.3 兩階段法第一階段兩階段法第一階段 兩階段法第一階段是先求解一個目標函數中只包含人工變量的線性規劃問題,即令目標函 教資 c 類

11、數中其他變量的系數取 0,人工便靈的系數取某個正的常數,(一般取 1),在保持原問題約束 條件不變的情況下求這歌目標函數極小化的解。顯然在第一階段中,當人工變量取值為 0 的時 候,目標函數值也為 0。這時候的最優解就是原線性規劃問題的一個可行解。如果第一階段求 解結果最優解的目標函數值不為 0,也即最優解的基變量中含有人工基變量,表明原線性規劃 問題無可行解。 兩階段法第一階段是求解第一個 LP。首先我們可以知道,原 LP 的表達式為 1 min . . 0 n jj j zc x Axb st x 其可行域為 : 0 xx D xDD a 而我們需要一個輔助的 LP,其表達式為 1 min

12、 . . 0,0 m i i wa Axab st xa 其可行域為 :min0 0 x DDw 我們計算以上輔助 LP 有三種可能結果: 1)、最優值,且人工變量皆為非基變量。從第一階段的最優解中去掉人工變0w 量后即為原 LP 的一個基本可行解。作為原 LP 的一個初始基本可行解,再求原問題, 從而進入第二階段。 2)、最優值,且存在人工變量皆為基變量,取值為。把某個非基變量與該0w0 人工變量進行調換。 3)、最優值,說明至少有一個人工變量不為。原 LP 無可行解,不需要再0w0 教資 c 類 做第二階段計算。 兩階段法第一階段目的就是判斷原 LP 有無可行解,若有,則可得原 LP 的一

13、個初 始基本可行解,再對原 LP 進行第二階段的計算。 2.4 兩階段法第二階段兩階段法第二階段 以第一階段求得最優解作為初始基本可行解,再用第一階段求得最優解時的約束 條件和原問題的目標函數進行迭代,直到求出最優解。 3 3、兩階段法求解引例、兩階段法求解引例 3.1、兩階段法計算步驟、兩階段法計算步驟 兩階段法具體計算步驟: 第一步:求出線性規劃的初始基可行解,列出初始單純形表。 第二步:進行最優性檢驗。 第三步;從一個基可行解轉換到另一個目標函數值更大的基可行解,列出新的單純 形表。 第四步:重復第二、三步一直到計算終止。 第五步:去除人工變量。根據求得初始基本可行解,求得最優解。 其中

14、第三步具體方法如下: 1)、確定換入基變量。只要檢驗數,對應的變量就可作為換入基的變量,0 j j x 當有一個以上檢驗數大于零時,一般從中找出最大的一個 k max0 kjj 其對應變量作為換入基的變量(簡稱換入變量)。 k x 2)、確定換出基的變量,確定 min0 il ik iklk bb a aa 教資 c 類 確定為換出基的變量(簡稱出基變量)。元素決定了從一個基本可行解到另一個 l x lk a 可行解的轉移去向,取名主元素。 3)、用換入變量替換基變量中的換出變量,得到一個新的基 k x 。對應這個基可以找出一個新的基本可行解。并 1111 ( ,) lklmmm n PPP

15、PppP 可劃出一個新的單純形表。進行如下計算: a、將主元素所在的 行數字除以主元素,即有l lk a lj l llj lklk a b ba aa b、為使列變換成單位向量,將單純形表的第 行數字乘上,加到單 k Pl() lj lk a a 純形表第 行數字上,計入其相應行。即有i () () l iiik lk lj ljljik lk b bbail b a aaail a c、計算單純形表中各檢驗數,如下 1 11 1 1 () 11 () lm llliikkiik ii l lk m k iikkk i lklklk czcc acc a a c c acz aaa 1 11

16、11 11 () ()() lmmm lj jjjiijiijiikkiik ii lii l lk mm ljlj jiijkiikjjkk ii lklk a czcc ac ac acc a a aa cc acc aczcz aa 由上可看出,檢驗數計算同樣因基變量后,其檢驗數應為零,故將單純形表 k x() kk cz 中第 行數字乘上加到該表的檢驗數上,得新的變量的檢驗數。l () () kk lk cz a 接下來在引例中用以上步驟實際求解 教資 c 類 3.2、例一:、例一: 用兩階段法求以下問題最優解 13 123 123 23 max3 4 21 . . 39 0(1,2,

17、3) j zxx xxx xxx st xx xj 首先第一階段是將此問題化為標準形式,在約束條件中加入松弛變量 后得 4567 ,x x x x 67 1234 12356 237 min 4 21 . 39 0(1,7) j wxx xxxx xxxxx st xxx xj 先用單純形法解一階段問題,迭代如下: 1 jjBjjBjj zcc B Pcc yc 1 jjBjjBjj zcc B Pcc yc 其中,時目標函數中基變量的系數構成的維行向量,是上表中的第列,是上 B c j yjb 表中的右端列。 求解過程如下單純形表 3-1 表 3-1 單純形表 j c 00000-1-1 B

18、 c 基 b1 x 2 x 3 x 4 x 5 x 6 x 7 x 0 4 x41211000 -1 6 x1-21-10-110 -1 7 x90310001 教資 c 類 jj cz -2400-100 0 4 x3 30211-10 0 2 x1-21-10-110 -1 7 x660403-31 jj cz 60403-40 0 4 x00001 1 2 1 2 1 2 0 2 x301 1 3 000 1 3 0 1 x110 2 3 0 1 2 1 2 1 6 jj cz 00000-1-1 所有判別級數,因此達到最優解,在第一階段問題最優解中,人工變量0 jj cz 、都是非基變

19、量。因此我們可得到初始基可行解 6 x 7 x 12345 ,1,3,0,0,0 x x x x x 第二階段是將表 3-1 中的人工變量去除,目標函數改為: 67 ,x x 12345 max3000zxxxxx 再從表 3-1 最后一個表出發,繼續迭代,求解過程的單純形表如下表 3-2 表 3-2 單純形表 j c -30100 B c基 b1 x 2 x 3 x 4 x 5 x 04 x0 0001 1 2 02 x3 01 1 3 00 教資 c 類 -31 x1 10 2 3 0 1 2 jj cz 0030 3 2 04 x 00001 1 2 02 x 5 2 1 2 100 1

20、 4 13 x 3 2 3 2 010 3 4 jj cz 9 2 000 3 4 得到其最優解,所以目標函數最優值 123 5 3 ,0, 2 2 x x x max 3 2 f 3.3、例二:、例二: 用兩階段法求解以下問題 12 12 12 12 12 min23 11 4 24 336 . . 10 ,0 zxx xx xx st xx x x 首先第一階段是將此問題化為標準形式,在約束條件中加入松弛變量后 3456 ,x x x x 得 12 123 1245 126 123456 min23 11 4 24 336 . . 10 ,0 zxx xxx xxxx st xxx x x

21、 x x x x 先用單純形法解一階段問題,迭代如下 1 jjBjjBjj zcc B Pcc yc 1 jjBjjBjj zcc B Pcc yc 教資 c 類 其中,時目標函數中基變量的系數構成的維行向量,是上表中的第列,是上 B c j yjb 表中的右端列。 求解過程如下單純形表 3-3 表 3-3 單純形表 j c 000011 B c基 b1 x 2 x 3 x 4 x 5 x 6 x 03 x 4 1 2 1 4 1000 15 x 36130-110 16 x 101 1 0001 jj cz 240-100 03 x 3 2 1 4 0100 1 4 15 x 6-200-1

22、1-3 02 x 10110001 jj cz -20010-4 所有判別級數,但此時,說明至少有一個人工變量不為 0,原問題0 jj cz6w 無可行解,不需要進入第二階段計算。 3.4、引例分析、引例分析 根據引例一和引例二的求解過程計算可知,第一階段使用單純形法可以得到一般 的最優解,而使用兩階段法能在第二階段找到更精確更優化的最優解。 4 4、算法比較、算法比較 4.14.1 大大 M M 算法算法 教資 c 類 單純形法從一個初始可行基開始,要求標準型對應的單純形表滿足兩個條件,其 一是中心部位具有階單位子塊,其二是右列元素非負。對于線性規劃問題 m (4.1.1) 1 1 min

23、,1,2., . . 0,1,2., n jj j n ijji j j zc x a xb im st xjn 若,且對應的廚師單純形表條件二滿足條件一不滿足,那么應引入人工變量( )r Am ,構造新的線性規劃問題 12 , nnn m xxx (4.1.2) 11 1 1 min ,1,2., . . 0,1,2., ,1, nn m jjj jj n n ijjni j j zc xMx a xxb im st xjn nnm 其中,且為無限大的數,令,則相性規劃問0M 12 ,1,1,1 TT nnn m yxxxE 題可表示為 (4.1.3) min . . ,0 TT zC xM

24、E y Axyb st x y 設是(4.1.3)的最優解,若,則是(4.1.2)的最優解,若,則(,)Txy 0y x 0y (4. 1.2)無可行解。反之,若是(4.1.2)的最優解,則是(4.1.3)的最優解。x(,0)Tx 故其求解方法步驟為 1)、經初等行變換通常使,使右列元素非負。( 1) i r 2)、在中心部位人工的添加一個階單位子塊,即引入人工變量,得到新m 12 , m y yy 的約束方程組。 教資 c 類 3)、講目標函數修改為,其中為足夠大的正常數,從而得到新 1 m j j zzMy 0M 的 LP 模型。 4)、用單純形法求解新的 LP 模型,試圖將變成自由變量,

25、最終有兩種 12 , m y yy 結果如下 a、設球的新的 LP 模型最優解為,若,則(,)Txy 12 (,)0 m yyyy 是原 LP 問題的最優解。若,則原 LP 問題 12 (,) n xxxx 12 (,)0 m yyyy 無最優解。 b、新 LP 無界(無最優解),則原 LP 問題也無最優解。 4.24.2 算法比較算法比較 如果線性規劃模型中約束條件系數矩陣中不存在單位向量組,解題時應先加入人 工變量,人工地構成一個單位向量組。而兩階段法和大 M 法都是可以控制人工變量取 值的方法,并且兩種方法都是在單純形法的基礎上進一步求解最優解的方法,兩種方 法的用法相似,各有優缺點。通

26、過設置新的變量得到初始基本變量,并通過在目標函 數中設置新變量的價格系數為 M 使得在優化過程中,新變量的值優化為 0 在計算機求 解過程中,由于計算機只能對 M 設置有限大的數值,所以在計算過程中可能會產生誤 差,為了解決這個問題,產生了兩階段法。所以大 M 法雖然簡單直觀,在單純形表上 的計算步驟與普通單純形法相同,但是大 M 到底取值多大不能確定,M 取值過大也將 增加數值計算困難。 用大 M 法處理人工變量,用手工計算求解時不會碰到麻煩。但用電子計算機求解 時,對 M 就只能在計算機內輸入一個機器最大字長的數字。如果線性規劃問題中的參 數值與這個代表 M 的數相對比較接近,或遠遠小于這

27、個數字,由于計算機計算時取值 上的誤差,可能使計算結果發生錯誤。而兩階段法通過對添加人工變量后的線性規劃 問題分兩個階段來計算,從而可以克服這個困難。 4.34.3 特殊情況特殊情況 1)、無可行解:線性規劃最優解中出現人工變量大于零的情況,則此線性規劃 教資 c 類 無可行解。 2)、無界解:在求目標函數最大值等問題中,在某次迭代的單純形表中,如果 存在這一個不滿足符號條件的檢驗數,并且該列的系數向量的每個元素都小于或等于 令,則此線性規劃無界。 3)、無窮多最優解:對于某個最優的基本可行解,如果存在某個非基變量的檢驗 數為零,則此線性規劃問題有無窮多最優解。 4)、退化:在單純形法計算過程

28、中,基變量有事存在兩個以上相同的最小比值, 這樣在下一次迭代中就有一個或幾個基變量等于零,稱之為退化。而退化就容易產生 循環迭代,為避免如此,應遵守以下兩條原則: a、在所有不滿足符號條件的檢驗數對應的非基變量中,選一個下標最小的 作為調入變量。 b、若存在兩個以上的最小比值,選一個下表最小的作為調出變量。 5 5、總結、總結 5.15.1 總結概括總結概括 求解最優問題是一個艱難而具有挑戰性的過程,最優化方法是近幾十年形成的一 門運用數學方法研究各種系統的優化途徑及方案,為決策者提供科學決策的依據的學 科,它涵蓋了無約束最優化問題、凸集與凸函數、等式約束最優化問題和不等式約束 最優化問題等知識點。通過本課程教學,使學生掌握最優

溫馨提示

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

評論

0/150

提交評論