数模笔记-线性规划

模型概述

在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以获取最大经济效益的问题。此类问题构成了运筹学的一个重要分支——数学规划,而线性规划(Linear Programming, LP)则是数学规划的一个重要分支。

线性规划问题研究的是在线性不等式或等式的限制条件下,使得某一线性目标取得最大或最小的问题

自1947年G. B. Dantzig提出求解线性规划的单纯形方法以来,线性规划在理论上趋于成熟,在实际生产中应用广泛。尤其是在计算机能处理成千上万个约束条件决策变量的线性规划问题后,线性规划的适用领域更加广泛了,已经成为了现代管理中经常采用的基本方法之一。


模型实例与定义

该例题摘抄自司守奎:

某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000元与3000元。生产甲机床需用A、B机器加工,加工时间分别为2h和1h;生产乙机床需用A、B、C三种机器加工,加工时间各为1h。若每天可用于加工的机器时数分别为A机器10h、B机器8h和C机器7h,问该厂应生产甲、乙机床各几台,才能使利润最大?

模型解如下:

在这里插入图片描述

由于上面的目标函数及约束条件均为线性函数,故称为线性规划问题

在解决实际问题时,把问题归结为一个线性规划数学模型是很重要的一步,往往也是很困难的一步,模型建立得是否恰当,直接影响到求解。而选择适当的决策变量,是建立有效模型的关键之一


模型性质

一般来讲,目标函数和约束函数均是线性的称为线性规划问题,需要满足以下三种基本性质:

  1. 比例性:每个决策变量无论是在目标函数还是在约束函数中,其贡献与决策变量的值成比例
  2. 可加性:所有变量在目标函数和约束函数中的总贡献等于每个变量各自贡献的直接和
  3. 确定性:线性规划模型中所有目标函数和约束函数的系数都是确定的

回想到信号与系统中系统的线性性其实就是这三者,老师反复强调在考研复试中问到线性性是什么的时候,就回答线性性=齐次性+可加性。


线性规划问题的解

一般的线性规划问题可以有多种形式。为了方便求解和讨论,一般的线性规划问题总是先化为标准形式。然后再分析求解。

一般的线性规划问题的(数学)标准型为:

在这里插入图片描述

在这里插入图片描述
可行解:满足约束条件的解x称为线性规划问题的可行解,而使目标函数式达到最大值的可行解称为最优解

可行域:所有可行解构成的集合称为问题的可行域,记为R

死去的高中记忆突然攻击我


Matlab标准形式和软件求解

Matlab中规定线性规划的标准形式为:

在这里插入图片描述
Matlab中求解线性规划的命令为:

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

式中:x返回决策向量的取值,fval返回目标函数的最优解;f为价值向量,A和b对应线性不等式约束,Aeq和beq对应线性等式约束,lb和ub分别对应决策向量的下界向量和上界向量。

我们动手解一道司守奎上简单的例题:

求解下列线性规划问题:

在这里插入图片描述

解:编写Matlab程序如下:

fval = [2; 3; 1];
A = [1, 4, 2; 3, 2, 0];
b = [8; 6];
[x, y] = linprog(c, -a, -b, [], [], zeros(3,1)) %没有等式约束,需要空矩阵占位

非标准形式转换为标准形式

自认为这是线性规划最难的部分,最常见的情况就是拿到题看不出来这是线性规划,好好看好好学!

多数情况下,我们会遇到不是标准形式的问题,因此需要我们把非标准形式的线性规划问题转换为标准形式的线性规划问题,我列出几种常见情况:

在这里插入图片描述
还有很多看起来不是线性规划的问题,也可以通过变换转化为线性规划的问题来解决。

在这里插入图片描述
这是一个最常见的转化方式,可以直接当作定理来记住,根据这个转化方式我们来看道例题:

在这里插入图片描述
计算的Matlab程序如下:

clc, clear
c = 1:4; c = [c, c]'; %构造价值向量
a = [1, -1, -1, 1; 1, -1, 1, -3; 1, -1, -2, 3];
A = [a, -a]; %构造变换后的系数矩阵
b = [-2, -1, -1/2]';
[y, z] = linprog(c, A, b, [], [], zeros(8,1)) %没有等式约束对应矩阵为空矩阵
x = y(1:4) - y(5:end) %变换为原问题的解,x = u - v

咱再看最后一道题:

在这里插入图片描述


参考文献

以上笔记内容基于学习:

[1] 数学建模算法与应用/司守奎, 孙兆亮主编. —2版. —北京:国防工业出版社,2015.4
[2] https://zhuanlan.zhihu.com/p/585966053

仅供参考学习

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值