matlab快速实现线性规划求解

一、线性规划的Matlab标准形式

m i n x c T x min_{x}c^Tx minxcTx

s . t . { A x < = b A e q ∗ x = b e q l b ≤ x ≤ u b s.t.\left\{\begin{aligned} Ax<=b \\ Aeq*x = beq \\ lb \leq x \leq ub \end{aligned} \right. s.t.Ax<=bAeqx=beqlbxub
其中 c , x , b , b e q , l b , u b c,x,b,beq,lb,ub c,x,b,beq,lb,ub为列向量, c c c称为价值向量, b b b称为资源向量, A . A e q A.Aeq A.Aeq为矩阵。

二、Matlab求解

matlab种求解线性规划的代码为:
变量解释: x返回决策向量的取值,fval返回的是目标函数的最优值,c为价值向量,A,b对应的是线性不等式约束,Aeq,beq对应线性等式约束,lb,ub分别对应的是决策向量的下界和上界向量。

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

上面三行代码对应不同的情况:
1、 只有线性不等式约束
2、 线性不等式约束和线性等式约束
3、 线性不等式约束和线性等式约束以及决策向量上下界

三、Matlab求解例子

在这里插入图片描述
matlab程序如下:

c=[-2;-3;5];
a=[-2,5,-1;1,3,1];b=[-10;12];
aeq=[1,1,1];
beq=7;
[x,y]=linprog(c,a,b,aeq,beq,zeros(3,1));
x,y=-y

参考链接
(仅作学习笔记)

  • 8
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值