1 什么是灵敏度分析
对于一个确定的线性规划模型,也就是说,该线性规划模型中的参数都确定时,我们能够求解其最优解。但是当我们利用一个确定的模型想要去刻画或者解决现实中的某个问题时,我们会发现这个确定的数学模型往往表现很差,因为现实中的问题是很复杂的,每一个参数通常不是确定值,大多数情况下是一个区间、集合或者分布之类的。因此,对于这样一个参数高度不确定的问题,我们用一个确定的参数去刻画或者解决,说服力和可信度是非常低的。
因此,我们思考能否探讨,当模型的参数发生变化时最优值的如何变化,这样是不是就能提高我们对现实问题的可解释性呢。这个过程就叫做灵敏度分析,也叫做敏感性分析。对偶模型可以理解为定量的灵敏度分析。
2 定性的灵敏度分析
2.1 约束变化
放松优化模型中的约束条件时,可行解集更广,因此最优值可能更优或者不变。
收紧优化模型中的约束条件时,可行解集更窄,因此最优值可能更差或者不变。
增加或删除约束(有效约束):在一个优化模型中增加一个约束条件使得可行解集变紧,而删去一个约束条件会使得可行解集变松。
2.2 右端系数变化
约束类型 | RHS增加 | RHS减小 |
≤ 约束 | 放松,可行解集更广,最优值更优或不变 | 收紧,可行解集更窄,最优值更差或不变 |
≥ 约束 | 收紧,可行解集更窄,最优值更差或不变 | 放松,可行解集更广,最优值更优或不变 |
笔者总结了不同目标函数值、不同约束时,右端系数(RHS,Right-Hand Side)变化对最优值的影响,但仅表示存在这样的情况,并没有梳理各个图对应的条件,也可以说是定性的描述这样一个趋势,趋势肯定是没有问题的,针对不同的问题有不同的表现形式。
我们怎样从直观的角度更好地记住这个趋势呢?我们这样思考,无论是对于求解最大值还是最小值的问题,都有如下结论:
当我们不断收紧一个约束时,这个约束对于最优值的影响肯定越来越大,因此斜率越来越大,直到这个约束可能使得可行解集为空集,那么这个问题就无可行解了。
当我们不断放松一个约束时,这个约束对最优值的影响肯定越来越小,因此斜率越来越小,直到这个约束对可行解集已经没有影响了,那么这个最优值就保持不变了。
我们考虑这样一个线性规划问题,希望能帮助大家更好理解。
目标函数求最大值,针对≤等式,x0=y0=K,就是说当RHS<K时,这个问题就没有可行解了;当RHS>K时,最优值就会不断增大,而且斜率保持不变。
2.3 左端系数变化
约束类型 | LHS增加 | LHS减小 |
≤ 约束 | 收紧,解空间更窄,最优值更差或不变 | 放松,解空间更广,最优值更优或不变 |
≥ 约束 | 放松,解空间更广,最优值更优或不变 | 收紧,解空间更窄,最优值更差或不变 |
2.4 目标函数系数变化
系数增加 | 系数减小 | |
求最大值 | 最优值更优或不变 | 最优值更差或不变 |
求最小值 | 最优值更差或不变 | 最优值更优或不变 |
那么目标函数系数变化对最优值影响的趋势该怎么来思考呢?对于一个线性优化问题,如果改变目标函数系数能够优化最优值:
对于求最大值的优化问题来说,目标函数中某个系数越大,则该系数对最优值的影响也就越大,因此最优值的变化也会越来越快。
对于求最小值的优化问题来说,目标函数中某个系数越小,则该系数对最优值的影响也就越大,因此最优值的变化也会越来越快。
2.5 增加或减少变量
先说结论:在线性优化模型中,添加变量会使最优解不变或者更优,删除变量会使最优解不变或更差。
怎么理解呢?在现实生产问题中,增加变量相当于增加了某种生产活动,这样就使得我们的资源配置能够更加灵活,如果这种生产活动能带来很高的收益,那么我就在这种活动投入更多,最优值相对更优,如果这种生产活动没有收益,那么我就不在这个这个生产活动中投入,那么最优值相当于没有变化。反之,删除变量相当于减少某种生产活动,资源配置的手段更少,最优值可能不变也可能更差。
我们从线性方程组和向量空间的角度去理解,这里可能需要大家一些线性代数的知识。
我们还能从几何(超平面与半空间)的角度去理解,等式约束就是超平面,不等式约束就是半空间(约束中每个系数不全为0),每个约束都会张成 X 对应维度的超平面或者半空间,这些超平面和半空间围在一起组成了一个可行解集(凸集),可以类比二维空间中的可行解集。
当我们增加变量时,就是把 X 的维度升高,也就是说,对应张成的解空间的维度就会升高,因此可行解集更广,最优值不变或者更优。当我们删除变量时,就是把 X 的维度降低,最优值不变或者更差。
这个思维与利用机器学习进行分类时增加特征和删除特征的操作有异曲同工之妙,添加特征,将每个样本放到更高维的空间,或许通过某个超平面更好地将样本分开。
图片来源:【『算法可视化』两分钟看懂支持向量机SVM】https://www.bilibili.com/video/BV1QW4y1e7vC?vd_source=ef2d9e0af2aead41504ebcf8e248f4a8
线性规划、对偶问题都能够通过线性代数的方式在几何空间或者是我们推断的高维空间中表达,当我们能够从这个角度理解的时候,对线性规划、对偶问题会更加深刻。