线性规划
线性规划问题
我们要优化一个目标函数 也就是求它的最大值或者最小值。同时还有很多约束条件 以及非负的限制条件
解集的定义
满足线性约束条件的是一个解- 如果
还满足非负限制条件,那么是一个可行解 - 是最优解
- 是所有最优解的集合
转化问题
每个线性规划问题可以转化成最大值的线性规划问题:
最大化目标函数 约束条件: 解释:
- 如果是大于等于,可以两边同时乘一个
- 如果是求最小值,可以求
的最大值 - 如果是相等,可以拆成一个大于等于一个小于等于
线性规划问题的范式
对于每一个小于等于的约束条件,我们可以给他加上一个变量,使得它变成一个相等的约束条件。
这里的
所以我们就得到了范式 Normalform
最大化目标函数: 约束条件 我们也可以表示成我矩阵的写法
最大化目标函数 约束条件
kanonische Form
- 在标准式的前提下,所有约束条件右边都是正数
- 每行都有一个Basisvariable(当前行的系数是1,在所有其他行的系数是0)
解决线性规划Simplex算法
比如这个线性规划 首先转换为范式,添加偏移变量 然后设 发现它已经是kanonischer Form
首先找到一个解Basislösung
Res | ||||||
---|---|---|---|---|---|---|
然后在第1行找到一个负数最小的
然后计算对于的 找到结果最小的且是正数与之交换,这里是
Res | ||||||
---|---|---|---|---|---|---|
然后通过行操作转换成 kanonischer Form
Res | ||||||
---|---|---|---|---|---|---|
然后重复操作,这里交换
Res | ||||||
---|---|---|---|---|---|---|
到这里就结束了
最优解是
大M法找初始解
如线性规划问题 首先变成标准式子
此时第2行的式子没有Basisvariable,然后我们再所有没有Basisvariable的行添加一个变量,
转换成下面的问题, 这里假设 此时有
Res | ||||||
---|---|---|---|---|---|---|
但此时还不是kanonische Form, 还需要转换
Res | ||||||
---|---|---|---|---|---|---|
这样就是kanonische Form了,然后正常计算
交换
Res | ||||||
---|---|---|---|---|---|---|
交换
Res | ||||||
---|---|---|---|---|---|---|
于是就能解出来了
对偶性
逻辑
NOT
OR
AND
推出
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.