\[ minz = \sum_{j=1}^n c_jx_j\\ s.t.\quad \sum_{j=1}^n a_{ij}x_j \leq b_i\\ s.t.\quad \sum_{j=1}^n a_{ij}x_j = b_i \]
目标函数是最小值,不是最小值要化为最小值
约束条件有两类,一类是小于等于,另一类是等于
\[ [x,fval]=lingrog(c,A,b,Aeq,Beq,LB,UB) \]
x 为最优解, fval 为最优的目标函数值
c 为目标函数系数,列向量
A为小于等于的系数矩阵,b为小于等于值列向量
Aeq,Beq为等于约束,含义同上
LB为 \(x_i\) 的下界,UB为上界,列向量
注意后面的参数可以省略,中间如果有条件用不到,需要用【】占位
\[ max\,z=2x_1+3x_2-5x_3\\ s.t.\begin{cases} x_1+x_2+x_3=7\\ 2x_1-5x_2+x_3 \geq 10\\ x_1,x_2,x_3 \geq 0 \end{cases} \]
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);
本文章使用limfx的vsocde插件快速发布