基于仿真的优化方法综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于仿真的优化方法综述
作者:李东汪定伟
1 引言
人们对复杂事物和复杂系统建立数学模型并进行求解的能力是有限的,目标函数和约束条件往往不能以明确的函数关系表达,或因函数带有随机参、变量,导致基于数学模型的优化方法在应用于实际生产时,有其局限性甚至不适用。基于仿真的优化(Simulation Based Optimization,SBO)方法正是在这样的背景下发展起来的。
随着优化问题越来越复杂,对优化对象的评价只能通过仿真获得的统计指标来实现。这时,SBO是复杂优化问题的惟一选择。近年来,SBO已成为国际上最热的研究方向。
虽然SBO已经在很多领域得到了应用,但是当前对于SBO的理论研究并不完善,算法仍在不断探索和改进中,新的研究成果不断出现。
2 SBO的研究概况及分类
综观最优化的发展过程,大约经过了以下几个阶段:
①1940~1970年数学规划阶段一目标和约束是解析函数。②1970-2000年智能优化阶段一目标和约束放宽为含有判断逻辑的计算机程序。③2000年一未来基于仿真的优化(SBO)阶段一用大量仿真的统计数据来进行性能评价。
有些学者对SBO做了一些综述工作。Andradottir从连续事件和离散事件两个方面,对SBO 技术作了总结;Azadivar从单目标优化和多目标优化的角度对SBO方法作了论述;在国内,杨湘龙等认为SBO是非枚举地从可能值中找到最佳输入变量值,使得输出结果为最优或满意解的过程。王凌等按照优化方法的不同,对SBO及其改进和应用作了综述。
随着对SBO方法研究的深入,SBO在复杂工程系统的设计优化、供应链和物流系统、制造系统及社会经济系统等领域得到了应用。总结当前的研究和应用情况,可以看出,基于仿真的优化是仿真方法和优化方法的结合,是借助仿真手段实现系统的优化的一种优化方法。这里既强调了仿真与优化是互相融合的,又强调了优化是目的,仿真是手段的思想。
本文基于这一思想,在计算方法上按照仿真在SBO中所起作用的不同,将SBO分为仿真用于策略验证;将仿真的输出作为优化算法中的适应值一即仿真起到适应值函数的作用;用仿真方法获取优化算法中用解析方法无法得到的参数或函数这3类。以往的综述工作,在分类时往往注重对优化方法的阐述,而忽视了仿真在优化中的作用,而本文的分类方式,更能体现SBO方法是仿真与优化相结合的这一特点,更加面向具体应用。
3 SBO方法
1)仿真用于策略验证在SBO中,将仿真用于策略验证是应用最简单的一种,主要适用于数学模型难以表达、解空间为一组候选的策略集,且解空间不大的问题。
此类优化的做法是将候选策略集中的策略逐一输入仿真模型,驱动仿真运行,然后比较每一组输出结果,根据输出结果来确定最优的策略,如图1所示。
图1 仿真用于策略验证流程图
Jacobs等将此类方法应用于荷兰航空公司航班计划的制定中,确定当有航班因故延误时,使用何种调整策略。其目标是追求利润的最大。候选策略集为:S={交换两个航班的次序,使用备用飞机,缩短维护时间,取消该航班}。候选策略集中只有4种策略,逐一输入到仿真模型中,即可比较出在不同运营时期,选用哪种策略最好。在这个应用中,候选策略是4个可直接操作的方案。
还有的应用中,策略集是由一组启发式方法构成的,仿真用于验证哪种启发式方法好。Takahama等使用基于仿真的优化方法来确定如何为自动化仓储系统分配存储空间,目标是作业数量最少、运输距离最短、库存费用最低。将仓储过程分为两个阶段来仿真,第1阶段是仓库收到货物阶段,其策略集由3种启发式方法构成:Sl={随机选择位置存放货物,将属于相同顾客的货物集中堆放,按离库时间先后存放货物}。第2阶段是提取货物,为了提取压在下面的货物,需要将上面的货物移开,针对将上面的货物移动到哪个位置,其策略集由4种启发式方法构成:S2={移到最近的位置,移到最近且离库时间更迟的货物上,综合前两个策略但前者优先于后者,综合前两个策略但后者优先于前者}。这里的策略不是可直接操作的方案,而是指导作业如何进行的规则,依据不同的规则,会得到不同的仿真结果。经仿真验证,S1中的第2个策略和S2中的第2个策略组合起来是最好的。
将仿真应用于策略验证的方法有其局限性,它只能从候选策略集中选出最好的方案,不能主动地寻找最优解。它实际上是通过枚举的方法来对比每个策略的效果,当策略数量较多或是不能显式地表达出策略时,这类方法不适用。相对来讲,其他两类方法的应用范围更广。
2)仿真输出适应值在SBO方法中,将仿真的输出作为算法的适应值是当前一个研究热点。这一类方法在解决适应值函数无法表达的优化问题时有明显的优越性。它是将仿真模块嵌入到优化算法中,将仿真模块的输出作为算法的适应值,用于指导优化算法搜索新的解。优化算法产生的新解又作为下一次仿真的输入,直到仿真模型的输出满足终止条件,如图2所示。
图2 仿真输出作为优化算法适应值流程图
仿真模块可与任意优化算法相结合,当前研究中,将仿真嵌入到GA,SA和PSO的应用较多见。
①基于仿真的GA GA具有并行搜索、不需要目标函数连续可导等优点,在求解非线性或离散问题时表现出了优越性。
动态性、随机性是供应链优化的一个难点,在数学模型中,供应链中的不确定性(如需求波动,运输不稳定性)经常被忽略。SBO被认为是解决这一问题的有效方法。Ding等和Truong 等都将仿真模块嵌入到GA中,用于解决供应链的优化问题。
GA的染色体编码,如图3所示。
图3 染色体编码示意图
第1组6位编码表示工厂和分销中心的选址,若选择该地建立相应设施则编为1,否则为0;第2组两位编码为库存策略,分别表示基本存储,(R,Q),(s,S)等策略;第3组4位编码表示库存的控制参数;第4组3位编码分别表示各工厂加工产品的比例。在这个应用案例中,仿真模块的输出即为GA的适应值,GA输出的解又是仿真模块的输入。通过这