MATLAB求解线性规划问题

线性规划

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

示例一:利润最大化问题

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

示例二:运输问题

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

MATLAB求解

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

你可能感兴趣的:(其他)