作者:苏向阳
本文讲解了鲁棒优化的基础内容,内容主要分为3个部分:1.不确定性最优化。2.不确定集。3.对等式转换理论。在末尾附上了一个简单的算例及代码便于读者理解。该文也是【运筹OR帷幄】鲁棒优化电子书系列的文章内容之一。
1. 不确定性最优化(Optimization under uncertainty)
1.1 不确定优化方法
实际生活中很多问题都具有不确定性(Uncertainty),随着最优化理论的不断发展和计算机能力的提高,不确定性优化受到了学界前所未有的重视。早在20世纪50年代,Bellman、Zadeh和Charnes等人便已开始对不确定性优化进行子研究[1,2]。在描述不确定优化问题前,我们先来看一下传统的确定性优化问题:
其中, x是决策向量,f(x)为目标函数,h(x)为约束条件函数。在模型(1)中,无论是约束条件还是目标函数,其对应的参数都是确定的。然而,在实际问题中,我们很难事先确定模型中某些参数。对于一些特定的优化问题,某个参数的细微扰动就可能导致原本所求得的最优解(Optimal solution)变得毫无意义[3]。因此,如何对不确定性条件下的问题进行优化求解就变得十分重要。
随着社会的不断发展,我们所接触到的问题的复杂度不断提高,模型的不确定性也在不断扩大。比如:飞机航班的线路规划、电网的最优调度、物流路径的最优规划等等。在实际生活中,模型参数的不确定性主要来自以下几个方面:
1)数据在统计和采集过程丢失而导致数据偏差过大;
2)天气等不可抗力因素的干扰;
3)认知不全导致现有模型与实际生活中存在偏差;
4)对于一些难以求解的非凸非线性模型,进行简化描述。
我们首先给出不确定性优化数学模型的一般表达:
在模型(2)中,ξ为不确定参数,U表示不确定参数的集合(Uncertainty set)。为求解模型(2),以Bellman等人的工作为开端,相关学者提出了一系列的优化求解方法:随机规划[4]、鲁棒优化[5]、灵敏度分析[5]、模糊规划[6]等等。不确定性优化的理论和方法不断地被开发出来。据分析阶段的不同,不确定优化的理论分为事前分析、和事后分析两大类方法。我们接下来主要对这两大类的不确定理论展开叙述。
1.2 事前分析方法
模糊规划(Fuzzy Programming)
当U是一个模糊逻辑集合时,模型(2)就成为了处理软约束(指约束条件中,等式或不等式两边含有模糊集合,因而不能像精确数学里一样判定等式成立或者不成立。)的规划问题,即模糊规划。这类规划是为了应对实际生活中无法提供准确决策的情况下而产生的一类规划求解理论。对于模糊规划问题的详细求解步骤,可以参照文献[6]。在模糊规划中,需要依据决策者的个人经验来获取不确定参数的模糊隶属函数。因此,模糊规划往往存在较大的主观性,在实际运用过程中因为需要经过反复多次调整而存在诸多限制。
随机规划(Stochastic Optimization)
当U是一个随机不确定集合时,上述模型则变成处理随机性数据的规划求解问题,即随机规划。随机规划根据不同的决策规则,可以分为三类:
1) 期望模型(Expectation model)。首先确定不确定参数的分布模型,然后通过选取离散或连续的概率分布函数对不确定参数进行描述,最终通过求取函数的期望将不确定问题转化为确定性问题并求解。如果目标函数和约束中存在随机参数,只需求取相应函数的期望值,将模型转化为确定性模型进而求解。
2) 机会约束规划模型(Chance constraint)。通俗来讲,机会约束规划是指允许决策不满足约束条件,但是决策满足约束条件的概率不低于事先设定的置信水平的规划求解模型时,目标达到最优的理论。给定置信水平,其一般化的模型描述如下:
3) 相关机会约束规划模型[7]。相关机会约束规划是当决策者面临多个事件时,希望最大化满足这些事件的概率而产生的一种规划方法。无论是期望模型还是机会约束规划模型,最终都是确定性优化求解并得出准确值。相关机会规划虽然求解结果是确定的,但并不代表一定实现,规划的目的是极大化该事件的实现概率。
随机规划的内容会在我们另一个专栏内有详细介绍,请大家多多关注。
1.3 事后分析方法
灵敏度分析(Sensitivity Analysis)是最典型的事后分析方法。灵敏度分析根据需求的不同被划分为局部灵敏度分析(Local sensitivity analysis)和全局灵敏度分析(Global sensitivity analysis)。这里以模型(4)为例对灵敏度分析展开一个简短的描述:
灵敏度分析应对的是不确定优化问题,因此有时会遇到需要添加新约束的情况。这种情况下,如果最优解满足新添加的约束,则原模型的最优解仍是新模型的最优解,需要重新计算模型。但灵敏度分析更多的研究内容是数据变化对最优解产生的影响。即:A、c和b变化导致模型最优值Z发生的改变。其研究内容是,当参数在什么范围内进行波动时,模型的最优解x∗不会发生改变,具体的原理涉及到了基变量、非基变量、对偶单纯形等相关知识,这里不再详细描述,有兴趣的读者可以参考[21]。灵敏度分析方