用Octave计算参数线性规划问题
广告
{{v.name}}
参数线性规划是研究目标函数系数或约束右端项随某一参数 \(\lambda\) 连续变化时,最优解和最优值变化规律的问题。核心是找到参数 \(\lambda\) 的临界值,划分参数区间,使得每个区间内最优基保持不变。
参数线性规划的分类
根据参数位置,分为两类:
1. 目标函数参数规划:参数 \(\lambda\) 仅出现在目标函数系数中,形如 \(c_j(\lambda) = c_j^0 + \lambda c_j^1\)。
2. 右端项参数规划:参数 \(\lambda\) 仅出现在约束右端项中,形如 \(b_i(\lambda) = b_i^0 + \lambda b_i^1\)。
核心求解思路
无论哪种类型,求解步骤的核心都是 “固定基 → 求参数临界值 → 划分区间 → 分析每个区间的最优解”,具体步骤如下:
1. 取 \(\lambda=0\),求解初始线性规划,得到初始最优基 \(B\) 和对应的单纯形表。
2. 将参数 \(\lambda\) 代入单纯形表,表示出检验数 \(\sigma_j(\lambda)\) 和右端项 \(b_i(\lambda)\)。
3. 确定临界值:
- 对目标函数参数规划:令检验数 \(\sigma_j(\lambda) \le 0\)(最大化问题),解不等式得到 \(\lambda\) 的范围,使得最优基不变。
- 对右端项参数规划:令右端项 \(b_i(\lambda) \ge 0\),解不等式得到 \(\lambda\) 的范围,使得最优基不变。
4. 区间扩展:当参数超出当前区间时,最优基发生变化,重新计算新基下的单纯形表,重复步骤2-3,直到覆盖所有可能的 \(\lambda\) 范围。
5. 总结结果:整理各区间内的最优解和最优值,形成参数线性规划的完整解。