系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
常见的规划问题大体四类
1.线性规划
2.非线性规划
3.整数规划 (0 1规划)
4.动态规划
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
解决优化问题的思路有三个基本的要素:
1.决策变量(寻求的决策是什么)
2.目标函数(需要优化的目标是什么)
3.约束条件(决策面临的限制条件)
(虽然在简介里面标注的使用python,但由于规划问题用lingo很简单 ,这里面所有的代码用lingo来写的,本文章所有例子均来源于《数学模型》这本书)
提示:以下是本篇文章正文内容,下面案例可供参考
一、线性规划
线性规划的目标就是将题目中的内容转化为这样子的形式进行求解,但是往往难点不在于去求解,而是转化的过程
二、具体例子
1. 题目
建立模型三步:
决策变量:设x1 用来生产A1,x2 用来生产A2
目标函数 : 使每天的获利最大,
即 max (72x1 + 64x2 );
约束条件 :
st.{
x1+x2 <= 50
12x1 + 8x2 <= 480
3x1<= 100
x1 >=0 ,x2 >= 0 *
}
线性规划可用的三个条件:
在本题里的描述为:
因为这个例子很简单,可以直接用代数求解
2. lingo代码
如果利用lingo的话,代码如下
model:
max = 72 *x1 + 64 *x2;
[milk] x1 + x2 <50;
[time] 12 * x1 + 8 * x2 <480;
[cpct] 3*x1 < 100;
end
最后显示的效果
ps:解释一下,在后面的dual price是在三个资源增加一个单位的情况下,效益的增量
具体的可以看这个
3. 问题分析
接下来 我们来结合题目中的三个问题
- 是否应该购买牛奶,这个牛奶指的是单独再去进行购买牛奶,则35< 48 ,则应该购买
- 最多两块钱
- 在A1获利增加的基础上,题目中的max的函数应该发生改变,则计算结果如下
ps 可以在写好代码以后,按Ctrl+r即可打开敏感性分析
如图