%%
% linprog(c,A,b,Aeq,beq,lb,ub)实现线性规划
% 条件限制如下:
% 1.minimize(z) 目标函数是最小化,若要求是maximizes,则添加负号即可 -c
%
% 2. { A11*X1 + A12*X2 + ....+ A1n*Xn <= b1 }
% 资源约束. { A21*X1 + A22*X2 + ....+ A2n*Xn <= b2 }
% subject to { .... ..... }
% { Am1*X1 + Am2*X2 + ....+ Amn*Xn <= bm }
%
% 3.对决策变量的实际意义约束:
% lb1 <= X1 <= ub1
% lb2 <= X2 <= ub2
% ... ...
% lbn <= X2 <= ubn
%%
% Test :该测试以所有约束都是等式约束为例,若含有不等式约束则将A b重新初始化即可
% A为不等式约束中的技术系数矩阵
A = [
1 2 3 4;
2 1 1 2;
];
% b为不等式约束中的资源限制条件
b = [7 3];
% C 为minimize 函数中的 价格系数
c = [5 -2 3 -6];
% Aeq 和 beq是等式约束中的 技术系数 和 资源限制
Aeq = [
1 2 3 4;
2 1 1 2;
];
beq = [7 3];
% lb 和 ub 是决策变量的实际范围, 其中 inf代表无穷相应的-inf代表负无穷大
lb = [0 0 0 0];
ub = [inf inf inf inf];
% X 得到最优解组,z为目标函数的最大值(或最大值的相反数,再取反即可)
[X,z] = linprog(-c,[],[],Aeq,beq,lb,ub)
% /********************************************************************/
% _
% _writer (优快云 :M宝可梦)
% _
% /*********************************************************************/
运行结果如下:
TEST WAS SUCCESSFUL