1. 程式人生 > >線性規劃的單純形法

線性規劃的單純形法

單純形法

1.將問題化為標準形式

2 求出初始基可行解,列出單純形表

3 進行最優化檢驗,若當前表中所有檢驗數γj<=0(目標max時),則表中的基可行解就是問題的最優解,停算,否則繼續

4 從一個基可行解轉換到另一個目標函式值更大的基可行解,列出新的單純形表

(1)確定換入基的變數。選擇γj>0對應的變數xj作為換入基的變數,若有一個以上檢驗數大於0時,一般選擇最大的一個檢驗數,即γk=max{γj|γj>0}其對應的xk作為換入基的變數

 (2)確定換出基的變數,根據下式計算並選擇θi,選最小的θi對應的基變數作為換出變數

        θi=min{bi/ak|aik>0}

   (3) 用換入變數xk替換基變數中的換出變數xi,得到一個新的基,對應新的基可以找出一個新的基可行解,並相應得到一張新的單純形表

對偶單純形法:

適用情況:存在b(初始基解,即約束右端項)<0的情況。

1.先確定出基變數,找到bi=min{bj|bj<0},替換xi出基

2.確定進基變數,根據檢驗數γj/a[i][j](a[i][j]<0),找到最小的yk/a[i][k],讓xk進基,當所有的yj/a[i][j

3.如果所有的基b都>=0,則滿足最優解,退出

在最優解已經求出時,發生更新:

1)當出現右端項bi發生變化時

b*=(bi+△b)*(B-1)

當b*>0時,最優基不變,b*即最優解

當b*<0是,將b*帶入單純形表,用對偶單純形法求解

2)當非基變數係數Pj發生變化時,將B(-1)*Pj,重修計算j列對應的檢驗數γj,如果γj<0,則沒有破壞最優解

如果γj>0,則破壞最優解,xj進基,進行計算

3)當增加約束時,將最優解x*代入新約束,如果滿足約束,則最優解沒有破壞。

如果破壞最優解,則代入單純形表,用對偶單純形法算。