线性规划的matlab实现

%%
% 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值