一、线性规划及标准形式
1. 核心定义
线性规划(Linear Programming, LP)是一类特殊的凸优化问题,其核心特征包括:目标函数为仿射函数(即线性函数加常数项),约束函数同样为仿射函数,且可行集是由线性等式和不等式约束共同界定的多面体。
2. 主要形式
- 一般形式:
线性规划是凸优化问题。
显然目标函数中的并不会影响最优点,因此可以简化为一下两种形式:
标准形式:仅有的不等式都是分量的非负约束 。
不等式形式:约束条件仅为线性不等式约束 。
3. 形式转换方法
(1)一般形式转标准形式
给定一般形式的线性规划问题,转换步骤如下:
引入松弛变量 :
处理无符号约束的变量 ,令 ,其中 且 ;
转换后,目标函数变为 ,约束条件变为 、、 和 。
(2)典型问题转换示例
- 饮食问题:目标是最小化总成本 ,约束条件为满足营养素需求 且食物数量 ,该问题可直接对应不等式形式的线性规划,仅需根据实际约束调整符号即可。
- 分段线性最小化问题:原始问题为 ,引入辅助变量 后,可转化为目标函数 ,约束条件为 ()的线性规划。
- 带非负项求和的问题:原始问题为 ,引入辅助变量 ,约束条件设为 (),目标函数则变为 ,从而转化为线性规划。
- 多面体包含性判断问题:需验证 是否包含于 ,可构建线性规划:目标函数 ,约束条件为 、(其中 是 维全 1 向量)且 。若求得的最优值 ,则 不包含于 ;若 ,则 。
二、线性规划问题的解
1. 解的四种结局
线性规划问题求解后,可能出现四种结果:一是存在唯一最优解;二是存在无穷多最优解;三是无界解,即目标函数可无限减小;四是无解,即不存在可行解,可行集为空集。
2. 求解方法
(1)图解法
图解法适用于二维变量的线性规划问题,具体步骤如下:
- 根据所有约束条件,在二维坐标系中绘制出可行域,可行域通常为多面体形状;
- 绘制目标函数的等高线,等高线的斜率由目标函数的系数决定;
- 沿着目标函数值减小(或增大,根据优化方向)的方向移动等高线,找到与可行域相切或相交的极值点,该极值点即为最优解。
示例:已知约束条件为 和 ,针对不同目标函数的求解结果如下:
- 当目标函数为 时,最优解为 ,最优值为 ;
- 当目标函数为 时,最优值为 ;
- 当目标函数为 时,最优解集为 ;
- 当目标函数为 时,最优解为 。
(2)解析解(特殊情况)
对于方阵线性规划问题,即约束条件中的矩阵 为非奇异方阵,问题形式为 ,约束 ,求解步骤如下:
- 进行变量变换,令 ,则原问题可转化为 ,约束条件为 ;
- 最优值的计算分为两种情况:若 ,则最优值 ;否则,该线性规划问题的最优解无下界,即 。
(3)鲁棒线性规划(区间系数)
考虑区间系数的鲁棒线性规划问题:目标函数 ,约束条件为 (对所有 成立),其中 ( 和 为给定矩阵)。该问题可等价转换为:目标函数 ,约束条件为 和 (其中 ,且最优解满足 )。
三、广义线性规划问题
1. 线性分式规划
(1)定义
在多面体上极小化仿射函数之比的问题称为线性分式规划:
这个目标函数是拟凸的(并且是拟线性的),因此线性分式规划是一个拟凸优化问题。
(2)等价转换
如果可行集
非空,线性分式规划可以转换为等价的线性规划
其优化变量为。
等价性说明:
如果是可行解,那么
也是可行解,并且有.
2. 布尔线性规划的松弛
(1)原始问题
布尔线性规划的目标函数为 ,约束条件为 和 (),即变量的每个分量只能取 0 或 1。
(2)松弛问题
对布尔线性规划进行松弛,得到的松弛问题目标函数仍为 ,约束条件调整为 和 ()。需要注意的是,松弛问题的最优解也是原布尔线性规划的最优解。
3. 关键定理
凸包上的线性最小化等价性定理:对于集合 和向量 ,有 ,其中 表示集合 的凸包。同时,等式左侧(即在凸包上的下确界)可达的充分必要条件是等式右侧(即在原集合 上的下确界)可达。
该定理的证明核心在于:凸包 中的任意一点 都可表示为集合 中若干点的凸组合,即 (其中 , 且 )。由于 ,可得 。对不等式左边在 上取下确界,可得 。又因为 ,所以 ,综合两方面可证得等式成立。此外,通过分析最优解的存在性,可得出等式两侧下确界可达性的等价关系。