一、线性规划(Linear programming,LP)
1.1简介
目标函数为线性函数,约束条件为线性等式或不等式时称此数学模型为线性规划模型。
从实际问题中建立数学模型一般有以下三个步骤:
1)根据影响因素找到决策变量;
2)由决策变量和所在达到目的之间的函数关系确定目标函数;
3)由决策变量所受的限制条件确定决策变量所要满足的约束条件。
1.2 求解方法:
1.2.1单纯形法(Simplex method)
单纯形法最早由 George Dantzig于1947年提出,单纯形就是很多超平面围成的区域。
基本思想:每次从单纯形上的一个顶点走到一个更好的顶点直到找到最小(大)值。
基本思路是:先找到一个初始的基可行解,判定其是否为最优解,如为否,则转换到相邻的基可行解,并使目标函数值不断优化,一直找到最优解为止。
步骤:
1)确定初始基可行解。
2)最优性检验,判断现行的基可行解是否最优。最优性检验:是指该点比周围所有的临近点要更优
3)转换基可行解,基变换。(进基变量的确定—最大减小原则,选择小于0的最小值对应变量,选择的对应变量由零增至正值时,可使目标函数值最大限度的减小.;出基变量确定-最小比值原则)
4)重复23步骤
使用单纯型法时,如果约束条件含有不等式时需新增变量(松弛变量、人工变量)转化为标准型。转化标准型可参考,【线性规划(一)】线性规划简介 - 知乎,标准型如下:
单纯形求解例题可看:
知识点:
线性规划中的约束条件描述的是一个凸集
圆形上的圆周上每点都是顶点,所以说凸集上顶点可以是有限的,也可以是无限多的
凸集的区域范围可以有界或者是无界的
基本可行解中'基'字指此时可行解基变量不全为0,而非基变量皆为0
凸集中元素x是基本可行解的充分必要条件为x是凸集的顶点
线性规划问题最值有可能是多个
单纯形法上从代数角度是寻找约束条件的每一个基本可行解,从几何意义上来说是遍历凸集的每一个顶点
单纯形法过程就是不断找出基本可行解的过程,基本可行解有一个显著的特征:基变量不为0,非基变量都为0。利用这个特性我们能够很快的找出每一个基本可行解
详细的求解方法可参考,含python代码
解的判别,唯一解,无穷多解,无界解,可参考:【运筹学】线性规划 单纯形法原理 ( 构造初始可行基 | 基变换 | 最优性检验 | 解的判别 | 检验数 | ( 唯一 / 无穷多 ) 最优解判别定理 | 无界解判别定理 )_韩曙亮的博客-CSDN博客<