matlab中linprog函数解线性规划方程

线性规划问题,建立线性规划问题模型的基本步骤:

一、明确目标

二、确定问题的决策变量

三、构建目标函数

四、确定约束条件

建立好线性规划方程之后,紧接着而来的就是如何解方程,我们使用 matlab中的 linprog函数来求解:

x=linprog(c,A,b,Aeq,beq,lb,ub)

 

而在matlab中使用matlab 标准的格式

 

方程为:

 

\large min z=-5x$_{1}$-4x$_{4}$-6x$_{3}

 

\large s.t.=\left\{\begin{matrix} x_1-x_2+x_3\leq20 \\ 3x_1+2x_2+4x_3\leq42\\ 3x_1+2x_2\leq30\\ 0\leq x_1,0 \leq x_2,0 \leq x_3\end{matrix}\right.

 

求解的话: matlab的代码:

c = [-5 -4 -6];
A=[1 -1 1;3 2 4;3 2 0];
b=[20;42;30];
lb=zeros(3,1);
[x,fval]=linprog(c,A,b,[],[],lb);
disp(x);
disp(fval);

结果如下:

如果求最大值则:

 

 

求该方程的代码:

Aeq=[1 1 1];
Beq=7;
A=[-2 5 -1;1 3 1];  // 两边都取符号,把大于等于号改成小于等于号
b=[-10;12];
lb=zeros(3,1);
x=linprog(-c,A,b,Aeq,Beq,lb); //改成-c 改符号
value=c*x;  %矩阵乘法
disp(x);
disp(value); 

结果如下:

学会了 linprog函数 之后求线性规划问题就轻而易举了。

目标函数的最大值和最小值方法都已经讲述了,你学会了吗?

  • 15
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值