|
1.简介
intlinprog是matlab中用于求解混合整数线性规划(Mixed-integer linear programming)的一个函数,用法基本和linprog差不多
Matlab中,该模型的标注写法如下
2.基本语法
2.1 x=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)
与linprog相比,多了参数intcon,代表了整数决策变量所在的位置
例如:
x1和x3是整数变量则有,intcon=[1,3]
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
复制代码
所得结果为:
x1=0,x2=5 z=40
示例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
复制代码
所得结果为:
x1=1
x2=0
x3=1
x4=1
z=14 |
|