一、基本性质
1.标准形式
(1)
其中是
矩阵,
是
维行向量,
是
维列向量。为计算需要,一般假设
,即
的每个分量都是非负数。
所有的求解都是基于线性规划标准形式来求解,如果不是标准形式,需要通过下面几种方法转化为标准形式:
① 变量非负:
,其中
,
,用非负变量
和
替换无非负限制的变量
。
eg:在实际发电机可上调和下调,此时的调节量就是一个可正可负的变量,用
表示该发电机的上调节量,
为下调节量。求解出来
和
,相减可得该发电机的实际调节量
。
② 变量有上下界:
当,令
,则取
。
③ 引入松弛变量,将不等式约束变为等式约束。
2.基本概念
矩阵的秩为
,假设
,其中
是
阶可逆矩阵;即通过列调换后,可以得到前
列线性无关的矩阵
。
记:
其中的分量(基变量)与
中的列对应,
的分量(非基变量)与
的列对应。
则有:
即为线性代数中的自由未知量,他们取不同的值,可以得到不同的解。特别的当这些自由未知量全部为0时,得到解:
(2)
若,则称式(2)为式(1)的基本可行解,称
为可行基矩阵。
的各分量称为基变量,
的各分量称为非基变量。
细分的:若,称基本可行解是非退化的基本可行解;若至少存在一个分量是0,则该基本可行解是退化的基本可行解。(非退化的情况,单纯形有限次迭代必达最优解;退化的可能会出现循环现象,有限次迭代求不出最优解)
二、单纯形法
1.基本思想
现在有一组基本可行解:
其对应的目标函数值为:
从这一组基本可行解出发,求一个改进的基本可行解。通过不断循环改进基本可行解,力图达到最优基本可行解。
2.基本可行解的转换
记:
(3)
设任意一个可行解为:
该点的目标函数值为:
(4)
其中是非基变量下标集,
单纯形乘子。
-
确定进基变量:
按照式(5)选择进基变量使得式(4)中目标函数值下降最多:
(5)
然后寻找出基变量,原来的基变量在进基后可表示为:
即:
-
确定出基变量
由于的各分量大于等于0,随着进基变量
的增大,目标函数不断减小,基变量的各个值减小,第一个减小为0的基变量
变为出基变量,同时确定进基变量
取值的大小,为式(6)
(6)
原基变量。
-
转换后的基本可行解
新的基本可行解为:
(7)
目标函数值为:
(8)
-
结束条件
重复上述过程,直至式(4)中的所有非基变量的均为非正数,则迭代结束。对应的基本可行解即为最优解。
-
判别数/检验数
,
3.流程图
4.举例
解:
① 化为标准型,引入松弛变量
②迭代
第一次迭代: 基变量
计算当前解和目标函数值:
计算单纯形乘子:
计算各非基变量的判别数:
`
判别数的最大值为4,选择为进基变量。
在中:
,则出基变量为原基变量中的第3个,即
,其对应的判别数最小。进基变量
取值为1。
第二次迭代: 基变量
计算当前解和目标函数值:
计算单纯形乘子:
计算各非基变量的判别数:
`
判别数的最大值为5,选择为进基变量
,则出基变量为原基变量中的第2个,即
,其对应的判别数最小。进基变量
取值为
。
第三次迭代: 基变量
计算单纯形乘子:
计算各非基变量的判别数:
所有判别数小于0,则当前解为最优解。
目标函数最优值
三、两阶段法
1.第一阶段
用单纯形法消去人工变量,即把人工变量都换成非基变量,求出原来问题的一个基本可行解。
第一阶段求解的问题:
向量是人为引入的,它的每个分量称为人工变量。
求解该问题后,得到的基本可行解为,必存在下面三种情形之一:
①,原线性规划问题无可行解。
②且
的分量都是非基变量,
是线性规划原问题的一个基本可行解。
③且
的某些分量是基变量。这时,可用主元消去法,把原来变量中 的某些非基变量引进基,替换出基变量中的人工变量后,在开始第二阶段。
2.第二阶段
从得到的基本可行解出发,修改单纯形表,去掉矩阵A中人工变量对应的列,按原问题修正判别数。用单纯形法求线性规划原问题的最优解。
3.举例
用两阶段法求解下列问题:
解:
(1)引入松弛变量
(2) 引入人工变量
(3)第一阶段:修改目标问题后求解
第一次迭代 基变量
计算单纯形乘子
计算各非基变量的判别数
判别数的最大值为2,选择为进基变量。
,原基变量中的第二个,
出基。进基变量
的值取1。
第二次迭代 基变量
计算单纯形乘子
计算各非基变量的判别数
判别数的最大值为2,选择为进基变量。
,原基变量中的第一个,
出基。进基变量
的值取
。
第三次迭代 基变量
计算单纯形乘子
计算各非基变量的判别数
判别数的最大值为,现行基本解为当前最优解,从而得到初始基本可行解:
四、大M法
1.基本思想
在约束中增加人工变量,同时修改目标函数,加上罚项
,其中
是很大的正数,这样在极小化目标函数的过程中,由于大
的存在,将迫使人工变量离基。