1.簡介
intlinprog是matlab中用於求解混合整數線性規划(Mixed-integer linear programming)的一個函數,用法基本和linprog差不多
Matlab中,該模型的標注寫法如下
f,x,b,beq,lb,ub,intcon是向量;A和Aeq是矩陣
2.基本語法
2.1 x=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)
與linprog相比,多了參數intcon,代表了整數決策變量所在的位置
例如
3.實例
示例1,求解整數規划
求解代碼:
f=[-5 -8];
A=[1 1;5 9];
b=[6 45];
lb=zeros(2,1);
intcon=[1 2];
[x,fval]=intlinprog(f,intcon,A,b,[],[],lb,[]);
x,fval=-fval
所得結果為:
示例2,求解0-1規划
求解代碼:
f=[-6 -2 -3 -5];
A=[-3 5 -1 -6;2 1 1 -1;1 2 4 5];
b=[-4 3 10]';
intcon=[1 2 3 4];
lb=zeros(4,1);
ub=ones(4,1);
[x,fval]=intlinprog(f,intcon,A,b,[],[],lb,ub);
x,fval=-fval
所得結果: