MATLAB优化工具箱--线性规划问题
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/11/07 21:34:42
MATLAB优化工具箱--线性规划问题
目标函数:z=x1+x2+X3+X4+X5+X6+X7;
约束条件:x1+4x2+3x5+x6+2x7=50
x1+3x3+x5+2x6=30
x1+2x4+x7=25
xi属于正整数,i=1,2..7;
想请问一下,用MATLAB工具箱中的linprog,怎么来表示xi属于正整数,i=1,2..7;这个约束条件?
目标函数:z=x1+x2+X3+X4+X5+X6+X7;
约束条件:x1+4x2+3x5+x6+2x7=50
x1+3x3+x5+2x6=30
x1+2x4+x7=25
xi属于正整数,i=1,2..7;
想请问一下,用MATLAB工具箱中的linprog,怎么来表示xi属于正整数,i=1,2..7;这个约束条件?
这个是整数规划.
你得用别的函数.
比如:ipslv_mex,这个好像得去网上载.
f=ones(7,1);
A=[1,4,0,0,3,1,2;1,0,3,0,1,2,0;1,0,0,2,0,0,1];
b=[50;30;25];
intlist=zeros(7,1); %代表7个变量都是整数
xmin=ones(7,1); %代表7个变量的最小值均为1
xmax=inf*ones(7,1); %代表7个变量最大值均为无穷大
ctype=ones(3,1); %代表三个方程都是Ax=b,大于等于的话为1,小于等于的话为-1
[x,how]=ipslv_mex(f,A,b,intlist,xmax,xmin,ctype)
结果为:
x =
16
1
1
4
9
1
1
你得用别的函数.
比如:ipslv_mex,这个好像得去网上载.
f=ones(7,1);
A=[1,4,0,0,3,1,2;1,0,3,0,1,2,0;1,0,0,2,0,0,1];
b=[50;30;25];
intlist=zeros(7,1); %代表7个变量都是整数
xmin=ones(7,1); %代表7个变量的最小值均为1
xmax=inf*ones(7,1); %代表7个变量最大值均为无穷大
ctype=ones(3,1); %代表三个方程都是Ax=b,大于等于的话为1,小于等于的话为-1
[x,how]=ipslv_mex(f,A,b,intlist,xmax,xmin,ctype)
结果为:
x =
16
1
1
4
9
1
1