标准形式
minz=j=1∑ncjxjs.t.j=1∑naijxj≤bis.t.j=1∑naijxj=bi
- 目标函数是最小值,不是最小值要化为最小值
- 约束条件有两类,一类是小于等于,另一类是等于
linprog函数
[x,fval]=lingrog(c,A,b,Aeq,Beq,LB,UB)
- x 为最优解, fval 为最优的目标函数值
- c 为目标函数系数,列向量
- A为小于等于的系数矩阵,b为小于等于值列向量
- Aeq,Beq为等于约束,含义同上
- LB为
xi的下界,UB为上界,列向量
- 注意后面的参数可以省略,中间如果有条件用不到,需要用【】占位
实例
maxz=2x1+3x2−5x3s.t.⎩⎪⎨⎪⎧x1+x2+x3=72x1−5x2+x3≥10x1,x2,x3≥0
c = [-2;-3;5];
A = [-2 5 -1];
b = -10;
Aeq = [1 1 1];
beq = 7;
LB = [0;0;0];
[x,fval] = linprog(c,A,b,Aeq,beq,LB);
disp(x);
disp(-fval);