当前位置:文档之家› 基于Oracle罚方法的混合约束差分进化算法

基于Oracle罚方法的混合约束差分进化算法

第3O卷第4期 计算机仿真 2013年4月 

文章编号:1006—9348(2013)04—0373—04 

基于Oracle罚方法的混合约束差分进化算法 

董明刚,程小辉,牛秦洲,叶汉民 

(桂林理工大学信息科学与工程学院,广西桂林541004) 

摘要:为有效求解复杂约束优化问题,提出了一种基于Oracle的混合约束差分进化算法OBHSaDE。在OBHSaDE算法中,首 先对Oracle罚方法进行了改进,并符合约束优化问题的求解要求。利用改进后的Oracle罚方法来快速找到问题的可行域, 借助无约束优化算法SaDE能对可行域进行有效搜索,利用序列二次规划的超线性的收敛速度来减少评估次数和提高解的 

质量。仿真结果表明,改进算法不仅减少了评估次数、提高了解的质量,且具有很好的鲁棒性,还具有较少的用户参数,提高 了算法的实用性。OBHSaDE是求解约束优化问题的一种具有竞争力的新方法。 关键词:约束优化;混合算法;罚函数;差分进化;序列二次规划 中图分类号:TP202.7 文献标识码:A 

Oracle Penalty Method——Based Hybrid Constrained 

Diferential Evolution Algorithm 

DONG Ming—gang,CHENG Xiao—hui,NIU Qin—zhou,YE Han—min 

(College of Information Science and Engineering,Guilin University of Technology,GuiLin Gangxi 541004,China) 

ABSTRACT:To solve complex constrained optimization problems effectively,an Oracle penalty method—based hy— 

brid constrained differential evolution algorithm,OBHSaDE,was proposed.In OBHSaDE,the original Oracle penal・ 

ty function method was improved to satisfy the standards of constrained optimization problems.The improved Oracle 

method can find feasible areas quickly.The adaptive differential evolution algorithm SaDE can explore feasible areas 

effectively.And with the help of sequential quadratic programming,the improved solutions can be found with fewer 

number of function evaluations.Simulation experiments and compared results show that the proposed approach not on— 

ly can improve the quality of the solution and reduce the number of function evaluations,but also is robust.In addi- 

tion,due to this method has fewer user parameters,the practicality of it is enhanced.The proposed approach is a 

new competitive approach for constrained optimization problems. 

KEYWORDS:Constrained optimization;Hybrid algorithm;Penalty function;Differential evolution;Sequential quad- 

ratic programming 

1 引言 

Storn和Price为求解切比雪夫多项式拟合问题时发明 

了差分进化算法(Diferential evolution,DE)…。与其它进化 

计算方法相比,DE执行简单,在收敛速度和搜索性能方面都 

具有一定的优势。近年DE在IEEE进化计算大会举办的各 

种竞赛中屡创佳绩,成为进化计算领域研究的热点之一_2 J。 

考虑到DE在无约束优化中优异表现,已有研究者将约 

束处理技术引入DE用于求解约束优化问题 .4』,取得了较 

基金项目:国家自然科学基金项目(61203109);广西教育厅科研项目 (201204LX155) 收稿日期:2012—09—25修回日期:2012—10—15 好的效果。但就目前的研究而言,主要存在如下不足:①对 

于复杂约束,找到可行解需要很大的计算代价;②在进化的 

后期,很难快速找到一个更好的解,容易陷入局部极值;③算 

法的性能极大的依赖于参数的选择,如何选择最佳的参数仍 

是一个难题;④要提高约束DE算法的性能,需将DE算法和 

约束处理技术结合起来考虑,但现有算法往往仅关心其中某 

一方面。 

近几年,在DE的研究方面,Qin等人提出的自适应DE 

(Self—adaptive DE,SaDE)在无约束连续优化领域表现出优 

异的寻优性能 j。约束处理技术方面也取得了一些新的进 

展。最近,Schluter和Gerdts提出了一个新的面向混合整数 优化的高效自适应约束处理方法:Oracle罚函数方法 j。并 

---——373・--

—— 将该方法与蚁群优化方法结合用于求解混合整数非线性优 

化问题 ’ ,结果证明Oracle罚方法具有鲁棒、容易实现和控 

制的优点,在帮助蚁群优化算法发现约束问题的全局最优解 

方面具有较高的潜力。序列二次规划(Sequential Quadratic 

Programming,SQP)已成为求解非线性约束优化问题的一类 

重要方法之一_9 J。它不仅能同时处理等式和不等式约束,并 

且具有超线性的收敛速度,受到广泛关注。其主要不足在于 

需要利用函数的梯度信息,并且其性能主要依赖于初始的解 

的选择。 本文正是基于这些考虑而提出的,拟将上述几个方法有 

机融合,实现优势互补,达到对约束优化问题高效求解的目 

的。首先对Oracle罚方法进行了改进,并将其引入到无约束 

优化算法SaDE中形成一种基于Oracle的自适应约束差分进 

化算法OBSaDE(Oracle penalty method—Based SaDE)。为加 

快OBSaDE算法在进化后期的收敛速度,将SQP方法用于对 

OBSaDE的搜索结果进行进一步的搜索,形成混合差分进化 

算法(Oracle penalty method—Based Hybrid SaDE,OBH— 

SaDE)。利用典型测试函数验证了本文提出的方法的可行 

性和有效性。 

2相关技术介绍 

2.1面向无约束优化的SaDE算法 

最近,Qin等人提出了一种面向无约束优化问题的高效 

的自适应差分进化算法SaDE_5]。SaDE具体该算法将“DE/ 

rand/l/bin”、“DE/rand—to—best/2/bin”、“DE/rand/2/bin’’ 

和“DE/current—to—rand/1”四种尝试向量产生策略用于构 

造向量产生策略池。对于当前种群中的每一个目标向量按 

照从前期学习周期内获得的改进解的成功率学习得到的概 

率从四种向量策略中进行选择。选中的策略随后用于产生 

相应的尝试向量。在前期学习周期内获得改进向量成功率 

越高的策略,被选择的概率越大。除向量产生策略以外,DE 

的两个关键控制参数:缩放因子F和交叉概率c 也采用了 

类似的自适应调整方法。有关SaDE的更多信息参见文献 

[5]。 

2.2面向混合整数优化的Oracle罚方法 

Oracle罚函数方法属于一类自适应罚函数方法 j,这种 

方法的主要思想是将目标函数转换成一个附加的等式约束 

go(;)=_厂( )一n=0,参数Q称为Oracle。在新的描述中,目 

标函数是多余的,可以声明成一个恒等于0的函数 ) O。 

新的约束优化问题可表示成如下的形式: 

mi ) 0 

Subject to: 

go( )=,( )一Q=0 (I) 

.gj( )=0, =1,2,…,m 

gi( )≥0, =m +1,…,m 其中me和m分别为等式约束和不等式约束的个数。在这 

...——374 ..—— 种新的描述下,罚函数中的目标函数和罚函数的剩余函数可 

以自适应的调整。罚函数p( )可以定义成如下形式: 如果,(;)>n或res(k)>0, 

p(k)= ・I_厂(未)一n I+(1一 )・res(x) (2) 

否则 

P( )=一I,( )一n I (3) 其中_厂( )是目标函数,Q是Oracle参数, 是自适应系数, res( ̄)是剩余函数,具体定义参见文献[4]。 

2.3序列二次规划方法SQP 

SQP方法最早由Wilson于1963年在其博士论文中首次 提出隅],特别适用于非线性约束规划问题.其基本思路是用 

一系列的线性规划或二次规划来逐次逼近原非线性规划问 

题。对于具有约束的非线性优化问题,SQP算法构成如下形 

式的二次规划子问题: 

min 1 d d+ ) d 

Vg ( ) d+gl( )=0,i=1,…,m (4) 

g ( ) d+gf( )≤0,i=m +1,…,m 

其中,m 为等式约束的数目, 为第k次迭代的近似解,矩 

阵 是拉格朗日Hess矩阵的拟牛顿近似矩阵,常用的更新 

公式为: 

+ 一 T T +l= + 一 (5) q 5kNk¥k 通过求解二次规划问题(4),可以得到一个矢量d ,该 

矢量形成 的迭代公式: 

+l: + d (6) SQP算法通过不断迭代式(5)从而逼近优化问题的最优 

解。式(6)中的 为步长参数。 

3提出的算法 

3.1 Oracle罚方法的改进 

根据进化计算国际会议上关于COPs的通标准 J,解 

认为是可行的,如果I^J( )I一 ≤0, =l,2,…m ,并且 

( )≤O, =m +1,…,m,这里h(x)为等式约束,s为等式约 

束的违反容忍值,推荐采用0.0001。Oracle罚函数采用了不 

同于通常COPs的模型描述方式和约束违反容忍标准。在 

Oracle罚函数中,对所有约束,包括等式与不等式,都允许约 

束违反容忍。然而在进化计算会议标准中约束违反容忍仅 

应用于等式约束。此外,在Oracle罚函数方法中要求所有约 

束毋( )≥0而在通常的COPs描述中要求g ( )≤O。因此, 

当用其来对COPs进行约束处理,Oracle罚函数方法必须要 

进行修改。 这里,定义了新的约束函数g (i),表示方法如下: 

):f -I ¨. 一 (7) 

L 一岛 J J m 十l,…'m 定理1:如果 是约束优化问题的一个可行解,那么g , 

( )1>0√=1,2,…m.

相关主题