單純形法解線性規劃初探(停更,高三畢業填坑)

原文地址:戳這裏

因爲博主不會LaTex所以公式和數學表達就都用圖片啦

我們來介紹一種解決線性規劃的一般的方法,叫做單純形法。現在我們在一個簡單的例子上模擬一下這個算法:

爲了能夠執行我們的算法,我們選擇了一種非常"數學"的做法:將其轉化爲一個我們已經知道該如何解決的問題。因爲這個問題的格式是嚴格線性的,所以我們先嚐試着將這個問題變成一個線性方程組的格式,呃……或者一系列的這種格式。用這種方式解決線性規劃的的具體做法將在下文進行闡述。

爲了能夠將這種線性規劃問題轉化爲線性方程組解答,我們需要將這些不等式轉化爲等式。通過引入鬆弛變量的方式,這個問題就得以解決了,我們爲每一個不等式引入一個鬆弛變量之後,這個線性組合變成了這個樣子:

並且,引入一個Z表示目標函數

將這個線性組合移項,使所有變量在一邊,常數在另一邊

新引入的變量x4,x5,x6就是鬆弛變量,其存在的意義是將原問題轉化爲一個鬆弛形式

這種情況下,這個線性組合就可以用矩陣來表示了

其中各矩陣的具體值如下

由此可以得出這個式子的增廣矩陣(譯者注:類比高斯消元的增廣矩陣)

這就是本例的初始單純形表

現在我們回到這個例子上來

現在這個系統定義了x4,x5,x6,z作爲原本的x1,x2,x3的線性組合,我們如此形式的線性表達稱爲線性規劃的字典化表達,並將當前這個稱爲初始字典(譯者菌:感覺好怪啊……有沒有更好的說法請在評論區說),這個初始字典中,後來引入的鬆弛變量x4,x5,x6和目標函數z全部由初始變量x1,x2,x3表達,這種形式下,在等式左邊的變量稱爲基本變量,等式右邊的稱爲非基本變量,集合S爲所有基本變量的集合,這個線性組合的一個基本解就是將所有的非基本變量置爲0,在這種情況下,我們可以得出:

記錄下這個解

這個基本解同時也是可行的,因爲所有變量的值都是非負的,我們稱其爲這個線性組合的一個可行表,並且這個線性規劃有解。

一般的,這個線性組合的一個表的形式應該是由x1,x2,x3...x6中的三個變量來表達剩餘的三個變量和目標函數z,並且和初始解有着相同的可行域,如同z一樣屬於"被定義者"的變量(上圖等式左邊的那幾個)被稱爲基本變量,而剩餘的三個變量被稱爲非基本變量,每一個如此的表都對應這線性組合的一個解,這個解具體的值就是將所有非基本變量置爲0時的值。當這樣的一個解中所有的值,即向量每一維的座標值都是非負的數時這個解所對應的點(類比平面直角座標系中的定義)才處在該線性組合的可行域中,因此這個解被稱爲基本可行解(BFS)。

單純形法的大體思路就是將一個可行錶轉化爲另一個可行表(即從一個基本可行解轉移到另一個)同時增大目標函數z的值,那麼,在當前的情況下,我們要如何才能找到一個新的可行解,並使其對應的z值更大,也就是使z的值相對當前增大?

每一個可行表與且僅與一個可行的點相關聯,將表中的非基本變量置爲0即可得到這個點(解),這也就是我們如何獲取上圖中的解的方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章