# 线性规划的定义
- 一个优化问题,如果其所有表达式(条件,目标,约束)都是线性的,那么它就是线性规划。
# 例题
- 游戏每天提供 100 点体力,可通过通关 A、B、C 三张地图获取经验升级。
- 通关奖励与消耗:
- A 地图:20 点经验 / 次,消耗 4 点体力 / 次
- B 地图:30 点经验 / 次,消耗 8 点体力 / 次
- C 地图:45 点经验 / 次,消耗 15 点体力 / 次
- 约束条件:A、B、C 三张地图每天通关总次数最多 20 次。
# 解答:
# 我的思路
- 刷 A 图的体力转换经验是 1:5,B 图 1:3.75,C 图 1:3
- 所以 A 图最值得刷
- 但是如果全刷 A 图会浪费 20 体力
- 只能去掉几张 A,用 B 来补
- 少 1A 多 1B 的差价是 4 体力,正好可以整除 20
- 最终确定 15 次 A 图,5 次 B 图
# 几何意义
# 可行域
- 由于我们的约束条件都是线性的,我们可以在一个平面直角坐标系中画出所有的条件,最终围成的区域内一定有我们的解。
- 可行域一定是一个凸多边形
- 有关几何意义的内容,大致理解就可以,不要丝扣,我们还是应该致力于解决问题。
# 决策变量
- 问题中要确定的未知量
# 目标函数
- 即最终想求解最值的函数
# 约束条件
- 一般约束条件:各种实际条件限制,时间,资金等
- 隐藏约束条件:函数、自变量的定义域限制、
# 解题思路
- 数学建模的过程,就是把题目翻译成数学语言的过程
- 一组公式,加上对这组公式的含义的解释,就是一个数学模型
- 模型求解可以用单纯形法
- 建议用 python 或 matlab 求解
- 如果出现多个目标函数,即多目标规划问题,应保留其中一个目标函数,将剩余的函数转换为约束条件,变成单目标规划问题求解
# 和多元函数求极值的关系
拉格朗日数乘法(只能用于等式)
# 套公式(代码)
- 让 kimi 写了个求解线性规划的代码,以后只需要把数据整理好写到三个表中就可以了,整理数据的活也可以给 AI。
- 有一个小技巧,改表格的时候,把 csv 改成 txt,直接粘贴 AI 给的表格的文本文档形式,然后保存之后再改回 csv,非常的方便。