精华内容
下载资源
问答
  • 使用公共数据集,结果表明:(i)基于场景的鲁棒优化方法优于基于确定性,随机和鲁棒优化的基准; (ii)数据驱动的优化优于忽略协变量信息的基准; (iii)我们的剖切面算法通过在较短的计算时间内返回更好的解决...
  • 将区块链引入虚拟电厂(VPP)的调度运行机制中,针对新能源参与的电力系统模型,提出适用于VPP的实用拜占庭容错算法共识机制以实现区块链下半中心化的两阶段鲁棒优化调度模型,保留了VPP控制中心的导向作用。...
  • %鲁棒线性优化 %利用yalmip求解鲁棒线性优化 % 1.简单线性规划示例 % % 让我们开始一个只有一个标量决策变量x和一个不确定的标量w的小问题。我们用一个不确定约束建立一个问题和一个简单的不确定模型。 % % sdpvar...
  • 鲁棒优化研究综述

    2016-10-17 22:11:24
    鲁棒优化研究综述
  • 教授的论文“通过基于经验分歧的分布稳健优化恢复最佳统计保证”。 代码是用MATLAB编写的。 主要函数是 multifunction.m,它处理不同的情况: KaFlag 用于在 DOF 为 1、k-1 和 q_n 的卡方中进行选择。 离散用于在...
  • 基于数据驱动鲁棒优化的高比例清洁能源高速充电站规划,采用数据驱动鲁棒优化算法量化可再生能源、充电负荷的不确定性问题,从而百分百可再生比例下实现最优充电站配置
  • 为了解决设计中存在的公差与实际制造中的误差经常引起运动机构的实际性能发生波动甚至发生变异的问题,通过构建设计目标机构的目标函数鲁棒性和约束函数鲁棒性,将鲁棒优化设计方法应用到运动机构的设计中。...
  • 在离散需求情景概率不确定的条件下, 建立基于最大最小方法的多周期库存鲁棒优化模型. 考虑需求分布分别隶属于区间和椭球不确定集两种情形, 运用对偶理论将多周期库存鲁棒优化模型转化为易于求解的凸规划问题. 数值...
  • 书写代码,并在matlab中使用cplex求解鲁棒优化模型,考虑了各种模型的约束条件
  • 针对现有的时域鲁棒优化算法无法解决带约束的优化问题,基于群智能优化方法,提出一种求解带约束优化问题的时域鲁棒优化算法.首先,用约束条件构造罚函数,将带约束优化问题处理成为无约束优化问题;然后,采用一个分段...
  • 应用鲁棒优化的方法处理风电出力和电力市场电价的不确定性,同时考虑碳排放约束对虚拟电厂竞标的影响,建立虚拟电厂鲁棒优化竞标模型。算例分析结果验证了所提模型的经济性和鲁棒性,显示了鲁棒优化法处理含有不确定...
  • 通过引入鲁棒优化理论,将此模 型拓展为包含不确定因素的鲁棒优化模型,以船舶规模为设计变量,以舱位分配为控制变量建立分析模型。以钟摆型 航线为例进行仿真实验,对模型的有效性进行了验证。结果表明,该模型既考虑了...
  • 在随机优化模型的基础上,提出了利用后悔模型形成的鲁棒优化模型。 然后,分析了鲁棒优化模型,随机优化模型和确定性优化模型之间的关系,并提出了两种算法:枚举法和遗传算法。 这两种算法的代码由Visual Studio ...
  • GA算法优化BP神经网络的初始权值和阈值,提高神经网络的鲁棒
  • 针对可再生能源出力的随机波动性,基于鲁棒优化思想构建了供电能力评估模型;针对运行安全被破坏的情况,提出了以配电网运行风险最小为目标、以交直流换流器等为调控对象的优化控制策略,充分挖掘系统的供电潜力。算...
  • 基于鲁棒优化的主动配电网分布式电源优化配置方法
  • 在充分理解鲁棒优化项目调度原理的基础上,在一定的假设条件下结合均值-鲁棒模型,建立了多资源约束下多项目调度的鲁棒优化模型,采用遗传算法求解鲁棒优化模型并给出了求解步骤。结合一个建设项目的仿真实例,应用...
  • 综合考虑SNOP的功能特性与运行边界,建立了面向配电网弹性提升的SNOP配置三层防御-攻击-防御优化模型,并提出了求解该模型的两阶段鲁棒优化方法——列约束生成(CCG)算法。以IEEE 33节点为例,对所述模型和求解算法...
  • 优化|鲁棒优化基础

    2021-12-28 14:02:55
    本文讲解了鲁棒优化的基础内容,内容主要分为3个部分:1.不确定性最优化。2.不确定集。3.对等式转换理论。在末尾附上了一个简单的算例及代码便于读者理解。该文也是【运筹OR帷幄】鲁棒优化电子书系列的文章内容之一...

    作者:苏向阳

    本文讲解了鲁棒优化的基础内容,内容主要分为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]。灵敏度分析方法虽然相对其他不确定优化方法而言比较简单,但灵敏度分析方法仅是一个评价分析工具,大大限制了该方法的使用领域。 

    鲁棒优化(Robust Optimization)

    鲁棒优化也是一类事前分析方法,之所以单独列出来,是因为鲁棒优化是针对传统优化方法的不足,由鲁棒控制理论发展而来的一套方法。在模型(2)中,如果U是一个有界闭集,上述模型则变成处理不确定集合内所有不确定参数的优化问题,即鲁棒优化。相对于传统不确定优化方法,鲁棒优化有如下优点:

    1) 鲁棒优化在建模过程中充分考虑了不确定性,并以集合的形式对变量进行描述。相对于随机规划和模糊规划,鲁棒优化不需要不确定参数的分布模型和不确定参数的模糊隶属函数。

    2) 鲁棒优化的约束条件是严格成立的,即只要不确定参数ξ属于不确定集合U,所求出的解都能满足约束条件。即优化模型具有较强的鲁棒性,最优解对参数变化的敏感性低。

    鲁棒优化虽然有着随机规划和模糊规划没有的优势,但是鲁棒优化模型本身是一个半无限优化问题,很难直接进行求解,鲁棒优化的计算结果受限于不确定集U的不同。我们会在第2节和第3节分别对鲁棒优化中的不确定集U和鲁棒优化对等式及转换理论进行阐述。

    1.4 鲁棒优化理论的发展

    1973年,Soyster首次用鲁棒优化的思想来解决线性规划中的不确定性[8]。虽然该方法是基于最坏情况的基础上进行考虑,结果过于保守,但是Soyster为不确定优化的发展提供了一个全新的思路,开辟了鲁棒优化发展的道路。Mulvey等人在1995年首次提出鲁棒优化的概念[9]。他们给出了基于情景集鲁棒优化的一般模型框架,提出了鲁棒解(Solution robust)和模型鲁棒(Model robust)的概念,通过将目标函数拆分为聚合函数与罚函数来消除不确定参数对结果的影响。在此之后,不断有学者投入到鲁棒优化的研究中,在这方面的奠基之作由以色列学者Ben-Tal和Nemirovski[10,11]和美国伯克利大学的Ghaoui[12]在20世纪90年代提出。Ben-Tal证明了如果不确定集合U是一个椭球不确定集(后面具体介绍),那么对于一些最重要的一般凸优化问题(线性规划、二次约束规划、半定规划等),其鲁棒对等式要么是精确的,要么可近似成一个可求解的问题:可以采用诸如内点法的算法在多项式时间内求解。除此之外,Ben-Tal给出了一般不确定半定规划问题的计算可处理的近似鲁棒对等式。在此之后,Ben-Tal等人又提出了可调鲁棒优化概念等概念,并被广泛运用到各行各业中。

    21世纪初,Bertsimas和Sim[13]在Soyster、Ben-Tal和Nemirovski的研究基础上提出了全新的鲁棒优化框架。Bertsimas和Sim的鲁棒优化涵盖了离散优化,最主要的特点是所建立的鲁棒对等式不增加问题求解的复杂度。另一方面,Bertsimas和Sim的鲁棒优化允许出现约束违背(Constraint Violation)的情况,在这种情况下得到的鲁棒解大概率具有可行性。Bertsimas和Sim的理论由于其易处理性及实用性,受到了学界的广泛认可。

    1.5 鲁棒优化问题研究路线

    鲁棒优化近年来受到广泛关注,不断地被各个领域的学者应用到各行各业中,鲁棒优化问题的研究路线大致如下:

    图片

    图3.1:鲁棒优化问题研究路线

    前面我们已经提到,当模型(2)中的不确定集合为闭集合时,模型(2)可以视为一个鲁棒优化模型。此时,目标函数和约束条件中均含有不确定参数,为了更通俗地描述,我们对模型(2)进行转换: 

    图片

    转换后可以明显看出(应注意转换是否等价),无论原鲁棒优化模型的目标函数是线性还是非线性,是否含不确定参数,都可以由模型(5)表示。但是模型(5)通常很难直接求解。为了方便求解我们需要通过数学优化理论将模型(5)转换为一个多项式时间内可求解的凸优化问题,即鲁棒对等问题(Robust Counterpart)。

    目前,对相关不确定性问题用鲁棒优化方法进行研究主要体现在不确定集合的选取及鲁棒对等转换理论上:

    1.不确定集合的选取。如何选取合适的不确定集合对不确定参数进行准确的描述,直接影响了模型的优化结果,而且不同的不确定集合所对应的鲁棒对等问题也不同。

    2.鲁棒对等转换理论。如何把已经构建好的鲁棒优化模型转化成一个可以在多项式时间内求解的模型,直接影响了优化时间和优化结果。

    2. 不确定集(Uncertainty set)

    鲁棒优化中,不同的不确定集对结果影响十分明显,当不确定集越精细时,模型复杂度越高,求解越困难。当不确定集越宽泛时,所求出的最优解越保守,越不符合实际。为了权衡二者的关系,如何选择一个适合的不确定集来求解鲁棒优化一直是相关学者的研究热点。常见的不确定集主要有如下几类:

    1) 盒式不确定集(Box Uncertainty Set)

    图片

    盒式不确定集是最简单的不确定集,也被称作区间集。由于鲁棒优化是考虑最差情况下的优化求解方法,针对于一些模型可能会出现所有不确定参数都在区间集上下界进行优化的情况,然而实际中该情况发生的概率可能极低或不会发生,因此,很容易出现过度保守的情况。

    2) 椭球不确定集(Ellipsoidal Uncertainty Set)[5,14]:椭球集/椭球交集

    图片

    在Ben-tal的经典著作《Robust Optimization》称集合(7)为椭球不确定集,集合(8)为椭球交集不确定集。在Boyd的经典著作《Convex Optimization》中称(8)为椭球集,(7)为退化的椭球。为了方便描述,本文以Ben-tal的描述为准。上述公式中,ξ为不确定参数向量,U为不确定参数的期望或预测值向量,R为协方差矩阵,Ω为不确定度,用以刻画不确定参数扰动范围。相对于椭球集,椭球交集能更准确地对不确定参数进行描述,但是求解二次规划(quadratic programming)、锥二次优化(Second order cone programming)、半定规划(Semidefinite programming)问题时,如果不确定集是椭球交集,模型将难以直接求解。Ben-tal已经证明了这些优化问题中使用椭球交集时是NP-hard问题[Citation]。如果采用椭球集,在线性规划、二次优化问题和锥二次优化时可以转化为可处理问题,但是在半定规划中,仍需满足诸多限制才能求解。椭球不确定集虽然可以很好地表示很多类型集合,方便数据输入,在一定程度上可以体现不确定参数之间的关联性。但是椭球不确定集会增加问题求解的复杂度,因此未能得到广泛运用。

    3) 多面体不确定集(Polyhedral Uncertainty Set)

    图片

    多面体集合[15]可以看作是椭球集合的一种特殊表现形式[11]。尽管多面体不确定集难以刻画不确定参数间的相关性,但其具有线性结构、易于控制不确定度,在实际工程问题中广受青睐。

    4) 基数/预算不确定集(Budget uncertainty Set)

    图片

    图片

    5) 数据驱动不确定集(Data-driven Uncertainty Set):无论是采用盒式还是椭球式不确定集合,都会出现所得到的解过于保守的情况。为了解决解的过度保守,一些学者根据历史数据进行不确定集的构造,也被称为数据驱动不确定集。

    数据驱动不确定集的构建,是使用统计假设检验的置信区间来精确描述不确定参数的分布。在04年Bertsimas、Sim和09年Ben-Tal等人的研究中,假定不确定参数为,其分布不能精确获得。最初始的研究是基于数据结构特性做出的先验假设。这些方法假设是没有依赖的,但是不会认为的边界分布是确定的。在13年Bertsimas对数据驱动不确定集的构造进行了进一步的改进。Bertsimas假设数据S有独立分布,这些S可以为不确定参数的分布添加更多的细节。并且通过这些细节信息,设计一个概率保证的集合,相对于传统的集合,新的集合更小,所求出的结果也不是那么的精确。关于数据驱动的先验假设和假设检验可以参照Bertsimas的研究[19]。

    除去以上常见的不确定集,一些学者为了适应不同的情况以及更精确地对不确定参数进行描述,还衍生出了很多种组合不确定集,具体如:盒式+椭球式不确定集、盒式+多面体不确定集、盒式+椭球式+多面体不确定集等等。

    3. 对等式转换理论(Robust counterpart)

    前文我们已经提到,鲁棒优化是一个半无限优化问题,通常情况下很难直接求解。为了对鲁棒优化问题进行求解,我们需要对原模型做出一定程度的转化,转化后模型需要在多项式时间内可以求解。在这方面做出重要突破的学者有Soyster、Ben-tal、Bertsimas和Sim等。Soyster提出用线性优化模型求解问题,并使用凸集内所有数据,但该方法存在过于保守的弊端。Ben-tal和Nemirovski、Bertsimas和Sim在Soyster的基础上进行了改进,使得鲁棒优化适用性更广。接下来我们分别对这些理论进行描述。

    3.1 Soyster的鲁棒对等模型

    图片

    图片

    图片

    图片

    3.2 Ben-tal和Nemirovski鲁棒对等模型

    图片

    因为随机变量对称分布,所以Ben-tal和Nemirovski采用随机变量的期望和方差来进行替换相关约束问题。(14)中Ω大于0,需要事先给定。我们可以明显看出,模型(12)的可行解是模型(14)可行解的子集。因此,Ben-tal和Nemirovski的方法保守度更低一定,同时可以通过对Ω的调整来改变问题的保守度。但是模型(14)不再是线性规划,模型求解困难度上升,这也是Ben-tal和Nemirovski鲁棒优化的不足之处。

    Ben-tal和Nemirovski的方法虽然能降低模型的保守程度,但是并不能求解离散优化问题,针对这一痛点,Bertsimas和Sim提出了一种全新的鲁棒架构[13]

    3.3 Bertsimas和Sim鲁棒对等模型

    图片

    图片

    图片

    图片

    模型转化的理论依据是对偶理论,具体的证明过程在作者稿件中有详细描述,有兴趣的读者可以自行翻阅,这里不再赘述。

    在此基础上,Bertsimas和Sim提出了鲁棒离散优化的模型[20]。

    模型(11)的鲁棒对等模型如下所示:

    图片

    图片

    图片

    图片

     4. 算例

    为了方便大家理解,附上了一个小例子进行说明。我们以(13)中的仿真算例进行说明:

    图片

    图片

    图片

    该问题在Python3.6环境下调用gurobi的求解代码如下

    (https://github.com/Feeling-well/robust-optimization):

    """
    learn from xprog and bertsimas's paper(price of robustness)
    http://xprog.weebly.com/
    the initial model cann't be solved by gurobi or cplex
    the problem has an equivalent linear formulation as follows:
        max  z
        s.t. z<=sum(p[i]x[i])-(sum(Q[i])+Γ[i]m[i])
            Q[i]+m[i]>=σ[i]x[i]
            Q[i]>=0
            m[i]>=0
            sum(x[i])=1
            x[i]>=0
    Γis the protection level of the actual portfolio return in the following sense
    """
    from gurobipy import *
    
    try:
        m = Model("RO")
    #establishment of constant
        σ = []
        p = []
        Γ= []
        for n in range(1,151):
            σ.append(0.05/450*(2*n*150*151)**0.5)
            p.append(1.15+n*0.05/150)
            Γ.append(5)
    #Add variables
        x = m.addVars(150,lb=0,name='x')
        z = m.addVar(name='z')
        Q = m.addVars(150,name='Q')
        mm = m.addVars(150,name='m')
    
        px = sum(p[i]*x[i] for i in range(150))
        QC =sum(Q[i] for i in range(150))
    
    # Add Constrs
        m.addConstrs((z<=px-mm[i]*Γ[i]-QC for i in range(150)),name='first')
        m.addConstrs((mm[i]+Q[i]>=σ[i]*x[i] for i in range(150)),name='second')
        m.addConstr(sum(x[i] for i in range(150))==1,name='third')
    #set obj
        m.setObjective(z,GRB.MAXIMIZE)
    
    #print model
        m.write ("RO.lp")
    #solve model
        m.optimize()
    #print variables
        # for v in m.getVars ():
        #     print ('%s %g' % (v.varName, v.x))
    
    except GurobiError as e:
        print('Error code ' + str(e.errno) + ": " + str(e))
    
    except AttributeError:
        print('Encountered an attribute error')

    参考文献:

    [1].Charnes,A., & Cooper, W. W., Chance-constrained programming. Managementscience, 1959. 6(1), p. 73-79.

    [2].Bellman,R. E., & Zadeh, L. A., Decision-making in a fuzzy environment. Managementscience, 1970. 17(4), p. B-141.

    [3].ElGhaoui, L., Oustry, F., & Lebret, H., Robust solutions to uncertainsemidefinite programs. SIAM Journal on Optimization, 1998. 9(1),p. 33-52.

    [4].Birge,J. R., & Louveaux, F., Introduction to stochastic programming.Springer Science & Business Media. 2011.

    [5].Ben-Tal,A., El Ghaoui, L., & Nemirovski, A., Robust optimization (Vol.28). Princeton University Press. 2009. 

    [6].刘宝碇, & 赵瑞清. (1998). 随机规划与模糊规划. 清华大学出版社.

    [7]. Liu, B., Dependent-chance programming: A class of stochastic optimization. Computers & Mathematics with Applications, 1997. 34(12): p. 89-104.

    [8]. Soyster, A.L., Technical Note - Convex Programming with Set-Inclusive Constraints and Applications to Inexact Linear Programming. Operations Research, 1973. 21(5): p. 1154-1157.

    [9]. Mulvey,J.M., Vanderbei, R.J. and Zenios, S.A.

    [10]. Ben-Tal, A. and A. Nemirovski, Robust Convex Optimization. Mathematics of Operations Research, 1998. 23(4): p. 769-805.

    [11]. Ben-Tal, A. and A. Nemirovski, Robust solutions of uncertain linear programs. Operations Research Letters, 1999: p. 1-13.

    [12].ElGhaoui L, Lebret H. Robust solutions to least-squares problems with uncertaindata. SIAM Journal on matrix analysis and applications, 1997.18(4): p.1035-64.

    [13]. Bertsimas, D. and M. Sim, The Price of Robustness. Operations Research, 2004. 52(1): p. 35-53.

    [14].BoydS, Vandenberghe L. Convex optimization. Cambridge university press. 2004.

    [15].BertsimasD, Thiele A. Robust and data-driven optimization: modern decision making underuncertainty. InModels, methods, and applications for innovative decisionmaking, 2006. p. 95-122. INFORMS.

    [16]. Minoux, M., On robust maximum flow with polyhedral uncertainty sets. Optimization Letters, 2009. 3(3): p. 367-376.

    [17].JiangR, Zhang M, Li G, Guan Y. Two-stage robust power grid optimization problem. OptimizationOnline. 2010.

    [18]. Baringo, L. and A. Baringo, A Stochastic Adaptive Robust Optimization Approach for the Generation and Transmission Expansion Planning. IEEE Transactions on Power Systems, 2017. PP(99): p. 1-1.

    [19]. Bertsimas, D., V. Gupta and N. Kallus, Data-driven robust optimization. Mathematical Programming, 2018. 167(2): p. 235-292.

    [20]. Bertsimas, D. and M. Sim, Robust discrete optimization and network flows. Mathematical Programming, 2003. 98(1-3): p. 49-71.

    [21] 陈宝林, 最优化理论与算法, 清华大学出版社, 2005.


     

    展开全文
  • yalmip求解鲁棒优化

    2021-04-22 19:20:52
    使用yalmip求解鲁棒优化前言鲁棒优化简介yalmip实操求解优化问题示例代码结果总结前言记录一下早期夭折的研究想法,想使用鲁棒优化(robust optimization,RO)解决整数变量的资源分配问题。目标函数和约束条件都很...

    使用yalmip求解鲁棒优化

    前言

    鲁棒优化简介

    yalmip

    实操求解

    优化问题

    示例代码

    结果

    总结

    前言

    记录一下早期夭折的研究想法,想使用鲁棒优化(robust optimization,RO)解决整数变量的资源分配问题。目标函数和约束条件都很简单, 但是含有随机变量。由于随机变量的分布未知,在此考虑使用鲁棒优化RO进行资源分配,具有更好地鲁棒性,即对变化具有更好包容性。如果能够得到随机变量的均值和方差,使用鲁棒优化资源分配十分完美。

    但是对于随机变量,自己又没有实际的数据,无法得到其均值和方差,也无从进行数据拟合,进行概率分布检验(卡方检验等)。最终的想法也就夭折了。或许夭折的想法也有意义,在此记录,以便对看到的人有启发。

    鲁棒优化简介

    鲁棒优化是含有不确定参数的优化问题 [1],同随机优化不同。随机优化的不确定参数是具有确定性概率分布的随机变量。而鲁棒优化的不确定性,是指在优化问题中相关不确定参数位于确定的集合范围内,没有确定的概率分布,这里的参数可以是目标函数的系数,也可以是约束条件的系数。鲁棒优化追求即便是在最坏情况下(worst case),其得出的解仍然满足约束条件,不可违背。

    鲁棒优化对于数学功底好的同学来说,写论文很顺畅。因为鲁棒优化一般都可以转换为确定性的对等式(Robust counterpart),再使用确定的求解方法求解。

    yalmip

    yalmip类似python的第三方库,在MATLAB环境下运行,支持多种优化求解器,使得求解优化问题十分简单方便。使用yalmip求解鲁棒优化参考[2],yalmip的使用可以参考[3]。

    实操求解

    优化问题

    156e2a6d30b5372118e3523a73b55956.png

    示例优化问题如上图所示,12个整数优化变量,3个不确定参数。在该示例中,假设不确定集合为box类型(即箱型,每个不确定参数都有确定上下界)。以上示例可以很简单的转化为确定性的线性规划问题。

    示例代码

    %% 2019-7-1 by WDL

    % 使用鲁棒优化建模分析

    % 定义整数变量 包含优化变量和随机变量

    clc;clear all

    %step1 变量定义

    x = intvar(12, 1);%优化变量 intvar定义整型优化变量12行1列

    w = intvar(3, 1);%随机变量

    %step2 参数设置

    Ta=150; Tb=150; Tc=150;

    Na=400;Nb=400;Nc=400;

    dt=1;%时间间隔

    %添加约束条件

    F = [x(1)+x(2)+x(3)+x(4)<=Na,...

    x(5)+x(6)+x(7)+x(8)<=Nb,...

    x(9)+x(10)+x(11)+x(12)<=Nc,... %约束条件(1)-(3)

    x(1)>=w(1)*dt+Ta>=0,...

    x(5)>=w(2)*dt+Tb>=0,...

    x(9)>=w(3)*dt+Tc>=0,...%约束条件(4)-(6)

    x>=50]; %非负约束

    %设置不确定集合,此示例为box类型

    % W = [0<=w(1)<=40,0<=w(2)<=40,0<=w(3)<=40,uncertain(w)];

    W = [-20<=w<=20,uncertain(w)]; %uncertain(w)指明不确定性

    options = sdpsettings('solver','cplex'); %设置求解器为cplex

    objective = sum(x); %目标函数 最小化优化变量累加和

    sol=optimize(F + W,objective,options) %优化求解

    Xc=value(x) %解

    Oc=value(objective)%目标值

    %% 不考虑鲁棒优化

    x=intvar(12,1);

    F1 = [x(1)+x(2)+x(3)+x(4)<=Na,...

    x(5)+x(6)+x(7)+x(8)<=Nb,...

    x(9)+x(10)+x(11)+x(12)<=Nc,... %约束条件(1)-(3)

    x(1)>=w(1)*dt+Ta>=0,...

    x(5)>=w(2)*dt+Tb>=0,...

    x(9)>=w(3)*dt+Tc>=0,...%约束条件(4)-(6)

    x>=50]; %非负约束

    objective1 = sum(x);

    options = sdpsettings('solver','cplex'); %设置求解器为cplex

    sol1=optimize(F1,objective1,options)

    Xc1=value(x)

    Oc1=value(objective1)

    figure %作图

    X=[Xc,Xc1]

    bar3(X)

    结果

    (1)鲁棒优化

    Oc=960

    Xc=[170 50 50 50 170 50 50 50 170 50 50 50]’

    (1)确定性优化

    Oc1=600

    Xc1=[50 50 50 50 50 50 50 50 50 50 50 50]’

    2d17bfc7e1a01de533a72bb36321f414.png

    总结

    使用yalmip时,最好安装相应的求解器,例如cplex或者gurobi。

    参考文献

    [1] Gorissen, Bram L., et al. “A Practical Guide to Robust Optimization.” Omega-International Journal of Management Science, vol. 53, 2015, pp. 124–137.

    [2]Robust optimization. https://yalmip.github.io/tutorial/robustoptimization/

    [3]yalmip + lpsolve + matlab 求解混合整数线性规划问题(MIP/MILP). https://www.cnblogs.com/kane1990/p/3428129.html

    展开全文
  • 本文介绍了针对地球-火星转移轨道优化问题的可靠版本,并提出了最小-最大的方法来解决此问题和其他类似情况。 强大的地球-火星转移轨道模型是通过假定设计空间中的不精确性而从其经典配置构建而来的。 在一般最小-...
  • ③两阶段鲁棒优化CCG列于约束生成和Benders代码,可扩展改编,复现自原外文论文 ④【赠送】虚拟储能单元电动汽车建模/基于Matlab-Yalmip-cplex 带虚拟储能单元(电动汽车)多目标优化调度 ⑤【赠送】发电机组经济...
  • 火星探测转移轨道的鲁棒优化算法
  • 引用博弈论相关内容以及鲁棒优化内容,将其应用于电力系统不确定性问题分析中,值得一读的佳作!
  • 基于鲁棒优化的微能源网综合需求响应协同调度策略.pdf
  • 论文研究-碳政策下分布式鲁棒优化模型的生产与减排策略.pdf, 构建了碳排放限额和碳限额与交易政策下的两类分布式鲁棒优化模型,当市场需求分布的期望和方差已知且制造商...
  • 对于含有不确定参数的采用CVaR风险度量的投资组合模型,基于鲁棒优化理论的最新进展,结合统计或时间序列,构造形式较为简单的椭球不确定集作为对参数不确定性的近似,把原问题转化为易于求解的确定型最优化问题,解决了...
  • 鲁棒优化(二)

    千次阅读 2021-09-12 09:47:51
    鲁棒优化(一)中,我们知道鲁棒优化的求解困难点在于不确定集合的确立,由于不同的不确定集对结果影响十分明显,如果不确定集越精细,模型复杂度就将会越高,求解也就会变的愈加的困难。而当不确定集越宽泛时,所...

    一、参数的不确定集

    在鲁棒优化(一)中,我们知道鲁棒优化的求解困难点在于不确定集合的确立,由于不同的不确定集对结果影响十分明显,如果不确定集越精细,模型复杂度就将会越高,求解也就会变的愈加的困难。而当不确定集越宽泛时,所求出的最优解越保守,越是不符合实际的。

    因此,基于上述分分析,为了权衡精细和宽泛的关系也为了平衡求解难度和求解精度,如何选择一个适合的不确定集来求解鲁棒优化就显然更为重要了。常见的不确定集主要有如下几类:

    1.1  盒式不确定集(Box Uncertainty Set)

     盒式不确定集是最简单的不确定集类型,也被称之为区间集,试想一下所有参数都有一个上下界,那么不就类似于一个盒子嘛。由于鲁棒优化是考虑最差情况下的优化求解方法,针对于一些模型可能会出现所有不确定参数都在区间集上下界进行优化的情况,然而实际中该情况发生的概率可能极低或不会发生,因此,很容易使得求解结果过度保守,缺乏进一步的精度。

    1.2  椭球不确定集(Ellipsoidal Uncertainty Set)

    在Ben-tal的经典著作《Robust Optimization》称上面的第一个集合为椭球不确定集,第二个集合称为椭球交集不确定集。在Boyd的经典著作《Convex Optimization》中称第一个集合为退化的椭球集,第二个集合为椭球集。为了方便描述,本文以Ben-tal的描述为准。上述公式中,ξ为不确定参数向量,U为不确定参数的期望或预测值向量,R为协方差矩阵,Ω为不确定度,用以刻画不确定参数扰动范围。

    相对于椭球集,椭球交集能更准确地对不确定参数进行描述,但是求解二次规划(quadratic programming)、锥二次优化(Second order cone programming)、半定规划(Semidefinite programming)问题时,如果不确定集是椭球交集,模型将难以直接求解。

    Ben-tal已经证明了这些优化问题中使用椭球交集时是NP-hard问题。如果采用椭球集,在线性规划、二次优化问题和锥二次优化时可以转化为可处理问题,但是在半定规划中,仍需满足诸多限制才能求解。椭球不确定集虽然可以很好地表示很多类型集合,方便数据输入,在一定程度上可以体现不确定参数之间的关联性。但是椭球不确定集会增加问题求解的复杂度,因此未能得到广泛运用。

    1.3 基数/预算不确定集(Budget uncertainty Set)

    图片

    图片

    参考文献: Bertsimas, D. and M. Sim, The Price of Robustness. Operations Research, 2004. 52(1): p. 35-53.

    BertsimasD, Thiele A. Robust and data-driven optimization: modern decision making underuncertainty. InModels, methods, and applications for innovative decisionmaking, 2006. p. 95-122. INFORMS.

    Minoux, M., On robust maximum flow with polyhedral uncertainty sets. Optimization Letters, 2009. 3(3): p. 367-376.

    JiangR, Zhang M, Li G, Guan Y. Two-stage robust power grid optimization problem. OptimizationOnline. 2010.

    1.4 多面体不确定集(Polyhedral Uncertainty Set)

    图片

    多面体集合可以看作是椭球集合的一种特殊表现形式。尽管多面体不确定集难以刻画不确定参数间的相关性,但其具有线性结构、易于控制不确定度,在实际工程问题中广受青睐。

    1.5 数据驱动的不确定集(Data-driven Uncertainty Set)

    无论是采用盒式还是椭球式不确定集合,都会出现所得到的解过于保守的情况。为了解决解的过度保守,一些学者根据历史数据进行不确定集的构造,也被称为数据驱动不确定集。

    数据驱动不确定集的构建,是使用统计假设检验的置信区间来精确描述不确定参数的分布。在04年Bertsimas、Sim和09年Ben-Tal等人的研究中,假定不确定参数为\xi,其分布不能精确的获得。最初始的研究是基于数据结构特性做出的先验假设。这些方法假设是没有依赖的,但是不会认为参数值边界分布是确定的。在13年Bertsimas对数据驱动不确定集的构造进行了进一步的改进。Bertsimas假设数据S有独立分布,这些S可以为不确定参数的分布添加更多的细节。并且通过这些细节信息,设计一个概率保证的集合,相对于传统的集合,新的集合更小,所求出的结果也不是那么的精确。

    1.6 其他组合的不确定集合

    除去以上常见的不确定集,一些学者为了适应不同的情况以及更精确地对不确定参数进行描述,还衍生出了很多种组合不确定集,具体如:盒式+椭球式不确定集、盒式+多面体不确定集、盒式+椭球式+多面体不确定集等等。

    二、对等式转换理论(Robust counterpart)

    在鲁棒优化(一)中,讲到了对鲁棒优化模型进行转化,也就是鲁棒对等问题,那么就需要涉及到不同的转换理论。

    2.1 Soyster的鲁棒对等模型(矩阵A的参数不确定)

    注意:联想到运筹学中的灵敏度分析,可以发现soyster的模型是A矩阵不确定情形下的模型,其中上式中的aij具体指的是确定情形下的参数值,那么其在一定的波动范围内波动,那么就形成了随随机波动,造成了模型的不确定性。 

     

    上述的模型很好理解,原先是\sum aijXj\leq bi,这是运筹学中典型的硬约束,那么由于A矩阵参数存在着不确定性,那么鲁棒模型是最坏情形下都能取得的最优解,那么在原来的 \sum aijXj\leq bi基础上加上随机波动项,势必还是要求满足这一个硬约束的。

    但是这里的yj的加入是何意思呢?其实就相当于将不确定模型转化为了确定性的xj变量和不确定的yj变量组成的鲁棒模型,显然是需要满足y=|x|的,也就是说yj仍然是xj的,只不过是将其换了一个符合而已,这样做的目的就是将原来模型转化为确定性参数组成的子模型和不确定性参数组成的子模型(这里子模型的说法不是很严谨,只是为了检验说明就可以了,不必较真)。

    假设存在最优解^{}x^{*},那么这一个最优解x^{*}势必满足如下式子:

    这就是鲁棒优化模型的精髓嘛----最优解是满足所有参数情形下的最坏情形的最优解。通过上面的式子可以发现,最优解与其他非最优解相比,一定是保证在满足最差情形下的最优解,而进一步可以发现\sum_{j}^{}\widehat{aij}xj^{*}和bj之间显然是存在着较大的差距的,也就是说资源没有充分的利用,那么这就使得问题的求解偏向于保守,不利于资源的合理利用,挡在求解极大值问题时,目标函数过小,在求解极小值问题时,目标函数较大,不利于实际资源的利用。

    2.2 Ben-tal和Nemirovski鲁棒对等模型

     对于Soyster提出的矩阵A不确定性模型,Ben-tal和Nemirovski构建了下面的模型。 

     显然知识在第一个约束中增加了一个小东西,这主要是考虑到随机变量对称分布,所以Ben-tal和Nemirovski采用随机变量的期望和方差来进行替换相关约束问题。其中上式中的Ω大于0,需要事先给定。我们可以明显看出,上面的Soyster求解得到的模型的可行解是Ben-tal模型可行解的子集。因为显然右边的资源变少了,那么在资源少的情况下得到可行解势必就少了,而soyster得到的模型解是存在很大保守资源没有利用的,因而上面的Soyster求解得到的模型的可行解是Ben-tal模型可行解的子集。因此,Ben-tal和Nemirovski的方法保守度更低一定,同时可以通过对Ω的调整来改变问题的保守度。但是Ben-tal和Nemirovski模型不再是线性规划的模型,这就增加了模型求解难度,这也是Ben-tal和Nemirovski鲁棒优化的不足之处。

    2.3 Bertsimas和Sim鲁棒对等模型

    Ben-tal和Nemirovski的方法虽然相比Soyster可以降低模型的保守程度,但是并不能求解离散优化问题,针对这一痛点,Bertsimas和Sim提出了一种全新的鲁棒架构。

    (1)连续的鲁棒求解模型

     通过上式可以发现,学者们关注的焦点仍然是保守型问题,仍然是在原来的第一个约束上面增加一个资源未完全利用的式子,只是更为复杂化了而已。

     那么问题就相当于在原来的soyster模型和Ben-tal模型上进行了扩展,显然,当\Gamma _{i }为零时,意味着所有的A矩阵向量系数均变成为了确定数值,那么就成为了确定性规划问题;当\Gamma _{i }为最大数值|J_{i}|时,问题就变成为了Soyster的模型。当 \Gamma _{i }为最小值0 和最大数值|J_{i}|之间取值时,模型的保守度就相应的变动了。

     但是上面的非线性模型显然 是无法进行直接求解的,那么就将其转换为如下的模型:

     

    模型转化的理论依据是对偶理论,进一步的,在此基础上,Bertsimas和Sim提出了鲁棒离散优化的模型。

    (2)离散的鲁棒优化模型

     

    总结:可以发现上述的模型,几乎都是针对运筹学模型中的系数矩阵A的不确定而设计的求解方法,那么不禁要问对于资源系数B矩阵,和价值系数C矩阵的不确定性模型是如何处理的,这里简单的展望一下,个人感觉资源系数B矩阵的不确定可能很少见到,而C矩阵的不确定模型,之前作者阅读过一篇文章,主要是目标函数的不确定性,那么其主要的求解方法就可能涉及到机器学习方法和深度学习算法了,留待后期的学习。

    展开全文
  • ruolubang_鲁棒约束_鲁棒_鲁棒优化_鲁棒优化模型_鲁棒优化cplex.zip
  • K-means聚类中心的鲁棒优化算法.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,023
精华内容 16,409
关键字:

鲁棒优化

友情链接: sertest.zip