其實就是在普通線性規劃上加了整數這一概念,要求所給的最優解為整數;
在實際生活中應用居多,對於最優解為較小的整數時的規劃問題多有針對;
對於部分整數規劃問題,是可以用求解標準線性規劃的思想進行求解,比如單純形法;
但是懟整數規劃的形式有所要求;
其中值得注意的兩點:
1.a的內部所有元素都為整數;
2.a的任何m*m方陣的行列式,值都為+1,-1,也就說明都可以當作基向量;
所以,對於這一類整數規劃問題,可以得到重要的結論:
【定理】對於ax=b,其中a為么模矩陣,b為整數向量,則所有基本可行解都為整數解(具體證明可以通過矩陣的x=b-1b來進行相關的證明);
但是,對於給出的整數規劃問題,往往不會使得a為么模矩陣,只是乙個整數矩陣,如果採用單純形法,也就是會按照之前所說的得到乙個最優非整數基本解,而非整數最優基本解;
對於這類整數規劃問題,可以尋找det(b)=1的基,這樣可以得到基本可行解為整數向量;
但是注意,如果找到的基不滿足det(b)=1,所得到的基本解是整數向量,但是不可行,也就是x>=0不會滿足;
因此:對於使用單純形法解這一類整數規劃問題(a,b都為整數),直接每次挑選det(b)=1的基向量,直接計算,最終必定可以得到最優基本解;
對於上述的么模矩陣推論,是在標準型下,也就是ax=b下得到的;
但是對於非標準形式下,需要完全么模矩陣的概念;
就是在么模矩陣上多加了一條:對於a的任何非零子式(而非m*m),都為+1或者-1;
對於非標準形式下的整數規劃問題:
值得注意的是,對於先前討論的標準形式,如果ax=b形式,如果a不是么模矩陣,只需要保證基向量的行列式值滿足條件,仍然可以獲得整數最優基本解;
所以對於[a i],如果不是么模矩陣,也就是a不是完全么模矩陣,也可以有方法得到整數規劃的最優解,也就是符合預期的最優整數基本解;
關於整數規劃,並不可能和上述所說的那樣,有c引數向量全為整數;
對於變數不全為整數的整數規劃問題,稱之為混合整數規劃問題;
此時,如果採用基於么模矩陣的單純形法就不再可行;
《最優化導論》介紹了gomory割平面法;
該方法旨在不斷地新增約束,來篩選整數解;
從空間上來說,增加約束方程,無非是進一步的限制了點集的範圍,使得關心的點區域逐步縮小,這種新增約束本質也就是新增了「平面」,個人覺得這也是割平面的意義;
對於基本的原理和推導如下所示
例如,對於按照該思想的其中一步,有:
從上述可以看,通過及變數增加了新的引數方程;
最優化演算法 整數規劃
整數規劃是線性規劃的特殊形式,其決策變數只能取整數,一般形式為 割平面法有許多種型別,但它們的基本思想是相同的,這裡以最經典的gomory割平面法為例。它首先求解非整數約束的線性規劃,再選擇乙個不是整數的基變數,定義新的約束新增的原來的約束中,新的約束縮小了可行域,但是保留了原問題的全部整數可行解。...
最優化演算法 線性規劃
線性規劃的數學模型有三個要素 與自變數有關的若干個線性約束條件 自變數的取值限制 關於自變數的線性目標函式值。它的一般形式為 它的基本思路是將可行域中某個基本可行解轉換到乙個新的可行解,同時使得目標函式的值有所改善。用單純形法求解線性規劃時,應先把一般形式轉化為標準形式再求解,即通過引進人工變數,將...
整數規劃運輸問題的優化
問題 4個產地生產物品,6個接收物品,4個產地生產量為 1000,800,1500,600。6個接收500,600,450,850,1200,300。產地向運輸地的運輸成本 這裡只考慮 產出 接收 未考慮 產出 接收和產出 接收 利用matlab優化函式 linprog clc clear f 4 ...