MATLAB求解线性规划问题

线性规划

无论我们做什么事,都希望用最小的代价换取最大的利益,而线性规划就是解决这类问题的一个重要方法,下面我们通过几个具体的示例来介绍一下如何使用线性规划

示例一:利润最大化问题

某工厂生产三种产品,下面的表是这三种产品的利润和原料消耗,据此制定一个总利润最大的生产计划
在这里插入图片描述
我们假设这三种产品的产量分别为x1,x2,x3,则其总利润的表达式为:
在这里插入图片描述
产品的产量不能小于0,而且产量还受限于原料,于是就有了以下约束条件:
在这里插入图片描述
我们的目标就是在满足这些约束条件的情况下使z最大。

示例二:运输问题

有两个仓库A1,A2,四个零售店B1,B2,B3,B4。现在要把仓库中的货物运送到各个零售店去,已知从Ai到Bj运价为Cij,i=1,2;j=1,2,3,4,且货物的总量和零售店的需求量相同,问如何组织运输才能使总运输费最少。
我们假设Xij为Ai到Bj运输的货物量,那么总运费就可以表示为:
在这里插入图片描述
由于存在供需平衡,所以就有了以下约束条件:
在这里插入图片描述
我们的目标就是在满足这些约束条件的情况下使z最小。
从示例中我们可以的到线性规划的一般形式,如下:
在这里插入图片描述

MATLAB求解

MATLAB中有一个专门求解线性规划问题的函数:linprog(),其使用方法如下:
[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub,x0,options)
用于求解以下模型
在这里插入图片描述
其中fval表示最优解处的目标函数值,lb和ub分别表示决策变量的下界和上界,若不存在可以用空矩阵代替,x0表示迭代初始点,options是控制参数,用于指定模型求解算法、计算精度和最大迭代次数等
例子1:
在这里插入图片描述
求解:
在这里插入图片描述

  • 47
    点赞
  • 211
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值