GLPK/背景理論
有時,為此華夏公益教科書中其他地方的材料提供背景理論可能會有用。此頁面提供了一個位置。但此頁面不應用於盲目複製官方 GLPK 手冊中的基礎材料,也不應用於撰寫關於線性規劃的一般條目。
尋求方向的讀者可以參考以下維基百科頁面
另請注意,混合整數規劃 (MIP) 和混合整數線性規劃 (MILP) 在這裡被視為同義詞。並且術語純線性規劃用於排除混合整數問題。
在非線性規劃 (NLP) 的一般情況下,卡羅什-庫恩-塔克 最優性條件 (KKT) 為解是區域性最優的提供了必要的充要條件(以及必須滿足的某些正則性條件)。線性規劃 (LP) 是 NLP 的一個特例,其中可行域和目標函式都是凸的。在這種情況下,KKT 條件本身對於解是全域性最優的既是必要條件又是充分條件。[1] KKT 條件可以應用於任何 LP 問題的基本解和內點解,但不能應用於混合整數線性規劃 (MIP) 的解。也就是說,前兩個 KKT 條件可以應用於混合整數規劃以確認解是可行的。
此華夏公益教科書還描述了GLPK 報告 KKT 的具體細節,並提供了一個典型示例.
以標準形式取一個原始 LP 問題:[2]
| 最小化 | |
| 受制於 |
其中是原始變數的向量。對偶 LP 問題變為
| 最大化 | |
| 受制於 |
其中 是對偶變數的向量,[3] 是等式約束 的拉格朗日(或單純形)乘數(影子價格)向量,而 是不等式約束 的拉格朗日乘數(折算成本)向量。
卡魯什-庫恩-塔克(KKT)最優性條件利用了原始和對偶公式中的所有約束,幷包含一個互補鬆弛條件。五個 KKT 最優性條件是
| KTT.PE | |
| KTT.PB | |
| KTT.DE | |
| KTT.DB | |
| KTT.CS |
TheKKT.CS條件可以改寫為 或 ,意味著向量 和 必須是正交的。
KKT 條件在 GLPK 中的實現稍微複雜一些,因為 GLPK 支援具有較低 和上限 邊界的變數,這也意味著沒有邊界。一般來說
| 最小化或最大化 | |
| 受制於 |
其中(如前所述)是結構和輔助變數的向量,而是一個單位矩陣。儘管如此,GLPK中使用的條件等同於上面顯示的條件,並且具有相同的含義。
最後,請注意,KKT條件KKT.PE和KTT.PB可以針對MIP解決方案計算,而GLPK將根據請求執行此操作。在這種情況下,這兩個條件被描述為“整數可行性條件”,而不是“卡羅什-庫恩-塔克最優性條件”。
另請參見
[edit | edit source]Tommi Sottinen 的關於運籌學 [4] 的課程筆記提供了 KKT 條件的 LP 證明,並將這些結果與 GLPK 術語進行交叉引用。
筆記
[edit | edit source]- ↑ 一些讀者可能不熟悉 GLPK 使用的 KKT 公式。線性規劃教材通常以強對偶和互補鬆弛的形式給出最優性條件。這些一起構成了微分最佳化的 KKT 條件的特例。
- ↑ LP 術語中的等式型別不幸地並不一致。這種表示式也被稱為規範形式,而標準形式則指代其他內容。
- ↑ | 符號表示向量級聯。
- ↑ Sottinen, Tommi (2009). 使用 GNU 線性規劃套件的運籌學. ORMS1020 課程筆記。芬蘭瓦薩大學數學與統計系. http://lipas.uwasa.fi/~tsottine/lecture_notes/or.pdf.