Integer-programming
本文最后更新于:2023年6月19日 晚上
整数规划
线性规划 LP 问题
各变量可以是小数来逼近最值
1 |
|
整数规划 IP 松弛问题
1 |
|
动态规划–最短路径
1 |
|
- 所有函数均以@开头
- citles 表示从 1~9 组成的集合,属性 L(i)表示最优行驶路线长
- 集合循环语句#GT#表示逻辑关系大于
- L(i) = @min(roads(i,j):D(i,j)+L(j)))即为动态规划基本方程
选课模型–0-1 规划
1 |
|
由此得出选课方案,一共选 5 门,为 x 矩阵中为 1 的变量。
这里发现了 Lingo 的一个非常棒的检查代码的功能!就是模型编译!它可以直接把代码翻译成数学公式,如图
简直神器!!这样就可以看看翻译成的式子是不是自己想要的从而检查代码哪里写错了!点赞 👍
连续规划 –石油购买
这里遇到一种新情况,即分段规划,比如:当购买量不超过 500 吨时,单价 10000 元;当购买量超过 500 吨但不超过 1000 吨,超过的部分 8000 元,当超过 1000 吨但不超过 1500 吨,超过的部分 6000 元。
这里有多种方法可以实现。
第一种–巧用 if 语句
1 |
|
第二种–引入 0-1 变量,转换成线性约束
这里约定,为第一阶段购买原油吨,为第二阶段,为第三阶段,表示是否购买.
核心代码:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!