线性规划
线性规划
[x,y]=linprog(f,a,b,Aeq,Beq,lb,ub)
f: 目标函数求最小值
a,b: a'x<=b
Aeq'x=Beq;
lb: x的下界
ub: x的上届
f=[170.8582 -17.7254 41.2582 2.2182 131.8182 500000];
a=[1 -0.17037 -0.5324 0 1 0;0 0.17037 0.5324 0 0 0;1 0.32 1 0 0 0;0 1 0 0 0 0;0 0 1 1 0 0;0 0 0 -1 -1 0];
b=[0;88815;166805;521265.625;683400;-660000];
lb=zeros(6,1);
Aeq=[0,0,0,0,0,1];
Beq=1;
[x,y]=linprog(-f,a,b,Aeq,Beq,lb)
报错
- The number of columns in A must be the same as the number of elements of f.
- 原因:矩阵中的某一个元素的小数点打成逗号导致目标函数f中的元素多了一个,导致矩阵形状不配合
心得
将要求解的问题分成以下几个部分:目标函数,即,y=f(x)
不等式约束 A'x<=b
等式约束 Aeq'x=beq
自变量的范围,上界和下界
如果目标函数含有常数,即非齐次,则增加一列,并通过一个等式约束将其设定为常值

浙公网安备 33010602011771号