Matlab求解线性规划

matlab线性规划模型标准形式

(1)标准形式如下图所示。
 (2)若标准形式求解为最大值,需要转换为求解最小值。即Max=F(x) 转换为: Min=-F(x)。
   证明:设F(x)<=z。即Z为所求解。则-F(x)>=-z。使用Matlab求解Min=-F(x)解为-z,-z*(-1)即得到Max=F(x)的解z。
(3)矩阵情况介绍:
  c:单行矩阵,c(i)为表达式F(x)中x(i)的系数,不同系数间以“,”分隔。(有多少个x就要写多少个c,即若c(i)=0也要写,c(i)的数量表示了变量x的数量)。
  A:不等式约束中的系数矩阵。每一行表示一个不等式约束。即不同不等式约束的系数以“;”分隔,相同不等式的系数以“,”分隔。
  b:不等式约束中的结果矩阵。不同值之间使用“;”分隔。即不同不等式约束间用“;”分隔。每一行表示对应A中不等式的“结果”。
  Aeq和beq与A和b同理。
  LB与UB为单列矩阵,有多少个x就有多少行。如有3个x,则为(3,1)矩阵。
 (4)经验总结:
  【1】matlab函数参数列表仅表示参数的顺序,而不表示参数个数,或者说参数个数可随意。如图Linprog可以使用的传参列表有:(c,A,b),(c,A,b,Aeq,Beq),(c,A,b,Aeq,Beq,LB),(c,A,b,Aeq,Beq,LB,UB),(c,A,b,Aeq,Beq,LB,UB,X0)…
  【2】如若是求最大值,应该把原模型转换为求最小值,转换既可以改变模型改变C 也可以直接传入-C,但最后都要记得将结果乘以-1。如若A不等式为>=,则既可以改变为<=的情况 也可以直接传入-A,注意:当且仅当所有A都为>=时才可以传入-A,并且传入-b或者修改后的b。
  【3】如若F(x)中包含常数项 q1,q2,q3…,则等价于添加x ( p),x(p+1),x(p+2) 在F(x)中,并且x( p)对应q1、x(p+1)对应q2… 且在约束表达式中有x( p)=1、x(p+1)=1… 如下图所示。
  【4】返回值x表示最优解变量情况,fval表示所求最小值(如果是求最大值还需要转换即乘以-1)。一般x(i)<=q等条件应该使用约束表达式来定义,而不好使用上下界来定义。常用上下界是定义下界为零的矩阵。未精通尽量少使用UB,XO。x代表所有的自变量,如若题目中有其他变量如m,把m添加到x变量末尾变成x变量即可,本质都是变量没有区别。
在这里插入图片描述在这里插入图片描述

  • 2
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望—星空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值