约束优化模型:
$ \left\{ {\begin{array}{*{20}{c}} {\mathop {\min }\limits_{x \in X,y \in Y} F\left( {x,y} \right),}\\ {{\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{.}}\;\;\;\;\;G\left( {x,y} \right) \le 0,} \end{array}} \right. $ | (1) |
其中,x∈X∈Rn, y∈Y∈Rm是决策变量,X与Y为变量的上下界约束. F:Rn×Rm→R1和G:Rn×Rm→R1分别为目标函数和约束函数.求解此优化模型,常用基于梯度的传统优化算法,虽然收敛速度较快,但对于目标函数的可微和凸性要求较高,易陷入局部最优,因而大多不太适合全局性优化问题求解.而智能算法对优化函数的连续、可微等性质要求较低,具有对函数性态的依赖性较小、不需要使用梯度以及适用范围广、鲁棒性好等优点,故具有广阔的应用前景.
美国Cleveland州立大学Dan Simon教授于2008年提出了一种新型的基于种群的全局智能进化算法[1-2]——生物地理学优化算法(biogeography-based optimization,BBO),用于求解无约束优化问题.该算法作为一种模拟生物进化过程的随机化搜索算法[3]与其他智能算法(如ACO、PSO、DE、GA等)相比具有良好的收敛性和稳定性,且算法结构简单、易于实现,近年来因其独特的搜索机制和较好的性能在传感器选择、电力系统优化和动态网络的社区监测等领域得到了广泛应用[4-5].
BBO算法由ps个栖息地组成,每个栖息地由n维适宜度指数向量SIV(suitable index vector)组成[6],用向量xi=(xi1, xi2,…,xin),i=1, 2,…,ps表示优化问题在n维搜索空间的一个潜在可行解.
约束优化问题的应用非常广泛,其解法形式多样,但目前尚无对所有问题都普遍有效的算法,而且求得的解多是局部最优解.主流的求解方法主要包括内点法、外点法、可行方向法及梯度投影法等,而智能算法能在对目标函数性质要求较少的情况下,从不同角度用不同策略对算法进行改进,取得了较好的全局最优解.但是,对于约束优化问题,仅用智能算法对变量进行搜索,计算量大且难以验证进化得到的点是否满足最优性约束.受多种改进算法的启发[7-9],将传统算法与智能算法[10-11]相结合,设计了一种新型的自适应求解优化问题的机制.
1 基于Zoutendijk可行方向法的变异算子设计Zoutendijk可行方向法已发展成为求解约束优化问题的一类重要方法[12],其基本思想是:在给定一个可行点x(k)之后,用求解线性规划问题的方法来确定改进的可行方向dk,然后沿方向dk求解有约束的线搜索问题,得到极小点λk,令x(k+1)=x(k)+λkdk,如果x(k+1)仍不是最优解,则重复上述步骤.
利用Zoutendijk可行方向法设计变异算子,并将其移植到BBO中,从而建立一种新型混合算法,对优化问题进行求解.
1.1 变异算子设计算法1 基于Zoutendijk可行方向法的变异算子.
Step1 更新每个栖息地i容纳si种生物种群的概率p(si),计算每个栖息地的突变率m(si) (参考算法2).对于k个精英栖息地,令m(si)=0,然后突变每一个非精英栖息地,用m(si)判断栖息地i的某个特征分量是否发生了突变.
Step2 假设(xi(k)T, yi(k)T)是来自当前种群pop(k)的变异后代,使用m(si)对其进行向有利方向突变操作, 得到新的个体(pi(k)T, qi(k)T).定义(pi(k)T, qi(k)T)T=(xi(k)T, yi(k)T)T+λkd(xi(k)T, yi(k)T)T, 其中,d(xi(k)T, yi(k)T)T为在点(xi(k)T, yi(k)T)T处的可行下降方向,λk为搜索步长.
Step3 对于最小适宜度函数模型
$ \left\{ \begin{array}{l} \min {\rm{Cost}}\left( {x_i^{\left( k \right)},y_i^{\left( k \right)}} \right),\\ {\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{.}}\left\{ \begin{array}{l} \mathit{\boldsymbol{A}}\left( {x_i^{\left( k \right)},y_i^{\left( k \right)}} \right) \ge b,\\ \mathit{\boldsymbol{E}}\left( {x_i^{\left( k \right)},y_i^{\left( k \right)}} \right) = e, \end{array} \right. \end{array} \right. $ | (2) |
假定
Step4 如果A1(xi(k), yi(k))=b1,A2(xi(k), yi(k))>b2,利用惩罚函数法求解以下约束优化问题:
$ \left\{ \begin{array}{l} \min {\nabla ^{\rm{T}}}\left( {{\rm{Cost}}{{\left( {x_i^{{{\left( k \right)}^{\rm{T}}}},y_i^{{{\left( k \right)}^{\rm{T}}}}} \right)}^{\rm{T}}}} \right)d{\left( {x_i^{{{\left( k \right)}^{\rm{T}}}},y_i^{{{\left( k \right)}^{\rm{T}}}}} \right)^{\rm{T}}},\\ {\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{.}}\left\{ \begin{array}{l} {\mathit{\boldsymbol{A}}_1}d{\left( {x_i^{{{\left( k \right)}^{\rm{T}}}},y_i^{{{\left( k \right)}^{\rm{T}}}}} \right)^{\rm{T}}} \ge 0,\\ \mathit{\boldsymbol{E}}d = 0, \end{array} \right. \end{array} \right. $ | (3) |
其中, E∈Rn是单位矩阵.分以下2种情况求最优解d(xi(k)T, yi(k)T)T:
(1) 如果∇Τ(Cost (xi(k)Τ, yi(k)Τ)Τ)×d (xi(k)Τ, yi(k)Τ)Τ<0,则d(xi(k)T, yi(k)T)T是(xi(k)T, yi(k)T)T点处的可行下降方向.为简化计算,可以先取某一定值λ(0)>0,逐次验证Cost(pi(k)Τ, qi(k)Τ)<Cost(xi(k)Τ, yi(k)Τ)是否成立.若小于0,则取(pi(k)Τ, qi(k)Τ)为变异后的新个体,否则取
(2) 如果∇Τ(Cost(xi(k)Τ, yi(k)Τ)T)×d(xi(k)Τ, yi(k)Τ)T<0,则(xi(k)Τ, yi(k)Τ)是式(2)的K-T点.
Step5 如果A(xi(k)Τ, yi(k)Τ)>b,则变异的个体(xi(k), yi(k))在可行域的内部.因此,没必要去求解式(3),可直接定义d(xi(k)Τ, yi(k)Τ) =-∇Τ(Cost (xi(k)Τ, yi(k)Τ)Τ).
当个体(xi(k), yi(k))在可行域内部时,将沿着负梯度方向-∇T(Cost(xi(k)Τ, yi(k)Τ)Τ)进化,当个体在某些约束的边界上时,借助Zoutendijk可行方向法思想,将该个体的梯度∇Τ(Cost(xi(k)Τ, yi(k)Τ)Τ)映射到所有积极约束的系数矩阵A1所决定的空间中,通过求解线性规划问题来构造改进的可行方向,沿此方向,个体既可以进化,也可处于可行域内.这样设计的目的是利用可行下降方向使变异个体始终处于可行域内,并使个体有所改进,从而保证操作有效和简洁.
下面通过具体算例来描述当前个体是如何进化为下一个个体的.
$ \left\{ \begin{array}{l} \min F\left( {{x_1},{x_2}} \right) = 2x_1^2 + 2x_2^2 - 2{x_1}{x_2} - 4{x_1} - 6{x_2},\\ {\rm{s}}{\rm{.t}}{\rm{.}}\left\{ \begin{array}{l} {x_1} + {x_2} \le 2,\\ {x_1} + 5{x_2} \le 5,\\ - {x_1} \le 0, - {x_2} \le 0, \end{array} \right. \end{array} \right. $ |
此处将求取积极约束的系数矩阵,判断个体是否在可行域内部转化为确定指标集,即I(x(k))={i|gi(x(k))=0}是否为空集,若I(x(k))≠∅,则变异的个体在某些约束的边界上,此时可以通过求解构造的线性规划问题的最优解得到改进的可行方向,即d(k),若I(x(k))=∅,则个体在可行域的内部,令d(k)=-∇f(x(k)).
取初始点x(1)=(0, 0)T,目标函数的梯度为
算法2 基于新型变异算子的混合BBO算法.
Step1 初始化.设定栖息地数量ps,优化问题的维数n,最大种群数量Smax,最大突变率mmax和最大迭代次数.随机生成初始种群xi=(xi1, xi2, …,xin),i=1, 2, …, ps.令k=0.
Step2 对(xi, yi)=(xi1, xi2, …,xin, yi1, yi2, …, yin),
n=nx+ny.计算适宜度函数并按升序排列,
Step3 映射Cost(xi, yi)到种群数量Si,计算迁入率λ(si)、迁出率μ(si)和栖息地i容纳si种生物种群的概率p(si),i=1, 2, …, ps.
Step4 迁移操作:
对i=1, 2, …, ps,利用Pmod选取栖息地对i执行迁入操作.
对j=1, 2, …, n,若rand(ps, n) < λi,选取栖息地i的特征分量(x, y)ij执行迁入操作.
若rand(ps, n) < λi,则利用其他栖息地的迁出率进行轮盘选择,选出栖息地k,令(x, y)ij=(x, y)k, j.
Step5 变异操作:
对i=ps/2 to ps,计算
$ m\left( {{s_i}} \right) = {m_{\max }}\left( {\frac{{1 - P\left( {{s_i}} \right)}}{{{P_{\max }}}}} \right), $ |
运行算法1得到新的变异个体(pi(k), qi(k)).
Step6 是否满足停止条件,如不满足,令k=k+1,转回Step2,否则输出迭代过程中的最优解.
2 算法的理论分析算法1的理论验证:
与式(2)等价的最小化适宜度函数模型:
$ \left\{ \begin{array}{l} \min {\rm{Cost}}\left( {x,y} \right),\\ {\rm{s}}{\rm{.t}}\left\{ \begin{array}{l} \mathit{\boldsymbol{A}}\left( {x,y} \right) \ge b,\\ \mathit{\boldsymbol{E}}\left( {x,y} \right) = e, \end{array} \right. \end{array} \right. $ | (4) |
假设x∈S (S代表可行域),d是x点处的可行下降方向,即∃δ>0,使得∀λ∈(0, δ)满足x+λd∈S.因此
首先,假定
然后, 求解以下与式(3)等价的一般最小化问题:
$ \left\{ \begin{array}{l} \mathop {\min }\limits_{x \in X} {\nabla ^{\rm{T}}}\left( {{\rm{Cost}}\left( {x,y} \right)} \right)d,\\ {\rm{s}}{\rm{.t}}\left\{ \begin{array}{l} {\mathit{\boldsymbol{A}}_1}\mathit{\boldsymbol{d}} \ge 0,\\ \mathit{\boldsymbol{Ed}} = 0. \end{array} \right. \end{array} \right. $ | (5) |
1) 如果∇Τ(Cost(x, y))d<0,则d(x, y)是点(x, y)处的可行下降方向.
2) 如果∇Τ(Cost(x, y))d=0,则(x, y)是式(4)的K-T点.
下面给出1)和2)的证明.
证明 假设(x, y)是式(4)的K-T点,则存在(w p q)Τ>0满足
$ \left( {\begin{array}{*{20}{c}} { - \mathit{\boldsymbol{A}}_1^{\rm{T}}}&{ - {\mathit{\boldsymbol{E}}^{\rm{T}}}}&{{\mathit{\boldsymbol{E}}^{\rm{T}}}} \end{array}} \right)\left( {\begin{array}{*{20}{c}} w\\ p\\ q \end{array}} \right) = - \nabla \left( {{\rm{Cost}}\left( {x,y} \right)} \right). $ |
这时引入非齐次线性不等式组的Farkas择一性定理[9],形如
非线性不等式组:
$ \left\{ \begin{array}{l} \left( {\begin{array}{*{20}{c}} { - \mathit{\boldsymbol{A}}_1^{\rm{T}}}&{ - {\mathit{\boldsymbol{E}}^{\rm{T}}}}&{{\mathit{\boldsymbol{E}}^{\rm{T}}}} \end{array}} \right){\left( {\begin{array}{*{20}{c}} w&p&q \end{array}} \right)^{\rm{T}}} = \\ \;\;\;\;\;\;\; - \nabla \left( {{\rm{Cost}}\left( {x,y} \right)} \right),\\ {\left( {\begin{array}{*{20}{c}} w&p&q \end{array}} \right)^{\rm{T}}} > 0, \end{array} \right. $ |
根据Farkas择一性定理,知
$ \left\{ \begin{array}{l} \left( {\begin{array}{*{20}{c}} { - {\mathit{\boldsymbol{A}}_1}}&{ - \mathit{\boldsymbol{E}}}&\mathit{\boldsymbol{E}} \end{array}} \right)d \le 0,\\ - {\nabla ^{\rm{T}}}\left( {{\rm{Cost}}\left( {x,y} \right)} \right)d > 0 \end{array} \right. $ |
无解.即
$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{A}}_1}d \ge 0,\\ {\nabla ^{\rm{T}}}\left( {{\rm{Cost}}\left( {x,y} \right)} \right)d < 0,\\ \mathit{\boldsymbol{E}}d = 0 \end{array} \right. $ |
无解.
由此证明了当∇Τ(Cost(x, y))d=0时,式(5)存在最优解d.证毕.
3 数值仿真与分析为验证算法的有效性,从文献[16-19]中选取6个算例进行数值试验,使用Matlab编制仿真程序,并在CPU为3.20 GHz,RAM为2.00 GB的PC机上进行测试.在算法中取系统迁移率Pmod=1,系统突变率mmax=0.005,精英个体留存数k=2,种群数量ps=50,最大迭代次数10 000,精确度ε=1.0e-006.
$ 1.\left\{ \begin{array}{l} \mathop {\min }\limits_{x \in X,y \in Y} F\left( {x,y} \right) = - x - 8y,\\ {\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{.}}\;\left\{ \begin{array}{l} - x - 2y \le - 10,\\ x - 2y \le 6,\\ 2x - y \le 21,\\ x + 2y \le 38,\\ - x + 2y \le 18,\\ x,y \ge 0. \end{array} \right. \end{array} \right. $ |
$ 2.\left\{ \begin{array}{l} \mathop {\min }\limits_{x \in X,y \in Y} F\left( {x,y} \right) = 0.5{y^2} + xy - 3,\\ {\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{.}}\;\left\{ \begin{array}{l} - 3x + y \le - 3,\\ x - 0.5y \le 4,\\ x + y \le 6,\\ x,y \ge 0. \end{array} \right. \end{array} \right. $ |
$ 3.\left\{ \begin{array}{l} \mathop {\min }\limits_{x \in X,y \in Y} F\left( {x,y} \right) = - {\left( {x + 2y - 30} \right)^2},\\ {\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{.}}\;\left\{ \begin{array}{l} - x + y \le 0,\\ x + y \le 20,\\ 0 \le x \le 15,\\ 0 \le y \le 20. \end{array} \right. \end{array} \right. $ |
$ 4.\left\{ \begin{array}{l} \mathop {\min }\limits_{x \in X,y \in Y} F\left( {x,{y_1},{y_2}} \right) = - \left( {x - 3} \right){y_1} - {x^2}{y_2},\\ {\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{.}}\left\{ \begin{array}{l} 2{y_1} - {y_2} \ge 2,\\ 3x - {y_1} + {y_2} \le 12,\\ 3{y_1} + {y_2} \le 24,\\ x,{y_1} \ge 0,\\ 0 \le {y_2} \le 6. \end{array} \right. \end{array} \right. $ |
$ 5.\left\{ \begin{array}{l} \mathop {\min }\limits_{x \in X,y \in Y} F\left( {{x_1},{x_2},{y_1},{y_2},{y_3}} \right) = {x_1} + 2{x_2} + \\ \;\;\;{y_1} + {y_2} + 2{y_3},\\ {\rm{s}}{\rm{.}}\;{\rm{t}}{\rm{.}}\left\{ \begin{array}{l} - {y_1} + {y_2} + {y_3} \le 1,\\ 2{x_1} - {y_1} + {y_2} - 0.5{y_3} \le 1,\\ 2{x_2} + 2{y_1} - {y_2} - 0.5{y_3} \le 1,\\ {y_1},{y_2},{y_3} \ge 0. \end{array} \right. \end{array} \right. $ |
$ 6.\left\{ \begin{array}{l} \mathop {\min }\limits_{x \in X,y \in Y} F\left( {{x_1},{x_2},{y_1},{y_2},{y_3}} \right) = \\ \;\;\;\;\frac{{1 + {x_1} + {x_2} + 2{y_1} - {y_2} + {y_3}}}{{6 + 2{x_1} + {y_1} + {y_2} - 3{y_3}}},\\ {\rm{s}}.{\rm{t}}.\left\{ \begin{array}{l} - {y_1} + {y_2} + {y_3} + {y_4} = 1,\\ 2{x_1} - {y_1} + 2{y_2} - 0.5{y_3} + {y_5} = 1,\\ 2{x_2} + 2{y_1} - {y_2} - 0.5{y_3} + {y_6} = 1,\\ x,y \ge 0. \end{array} \right. \end{array} \right. $ |
每个问题独立运行30次,记录其中的最优解、最差解以及对应的目标函数值,并记录得到最优解的运行时间.独立运行30次,每个算例的最优结果与文献值的对比情况列于表 1.
从表 1中不难得到,自适应算法能够得到问题的已知最优解,算例1和4得到的结果与文献的最优解和最优值非常吻合;算例2在初始化时就已经收敛到最优解,可知具有很好的收敛稳定性;算例3得到的最优解不在下层问题的可行域内,但与文献的最优解和最优值很接近,这可能由算法本身的缺陷所致.算例5和6的最优解虽然与文献最优解相差较大,但其最优值却比较相近.由此可知,本文算法具有较优的运行结果和较短的运行时间.
表中数据虽未与主流算法的性能进行比较,但文献的最优值已经能够代表当前约束优化问题的求解程度,同时主流算法的计算过程并不都适用本算例.另外,本文将智能算法和可行方向法相结合的模式,从理论上已经体现了其优点,显然本文算法在变异算子的选择上较单纯使用智能算法具有更多优势,也更合理.
4 结论生物地理学优化算法作为一种新颖的优化方法,凭借其可靠有效的性能在求解一般优化问题上已超越传统优化算法.将经典Zoutendijk可行方向法的变异算子设计为智能算法求解约束优化问题.理论验证和收敛性分析为进一步的仿真实验提供了理论基础,数值实验有效论证了本自适应算法机制具有一定的实效性.
因BBO算法的研究刚刚起步,有很多问题需要探索和解决:比如栖息地的数量,即种群规模和迁移模型对算法性能和效率的影响;将BBO算法与其他传统优化算法进行不同程度的组合;为构建更有效的算法机制提供正确合理的算法理论研究等.本研究并未将BBO与其他优化算法相结合,从而形成正面的直接的对比,但所提方法已为后续研究构建了一个将智能算法与传统优化算法有效结合的框架,这也是笔者今后重点研究的方向.
[1] | SIMON D. Biogeography-based optimization[J]. IEEE Transactions on Evolutionary Computation, 2008, 12(6): 702–713. DOI:10.1109/TEVC.2008.919004 |
[2] |
王存睿, 王楠楠, 段晓东, 等. 生物地理学优化算法综述[J].
计算机科学, 2010, 37(7): 34–38.
WANG C R, WANG N N, DUAN X D, et al. Survey of biogeography-based optimization[J]. Computer Science, 2010, 37(7): 34–38. |
[3] |
封全喜. 生物地理学优化算法研究及其应用[D]. 西安: 西安电子科技大学, 2014.
FENG Q X.Research on Biogeography-Based Optimization and Its Application[D].Xi'an:Xidian University, 2014. http://d.wanfangdata.com.cn/Thesis/D550081 |
[4] | ZHOU X, LIU Y H, LI B, et al. Multiobjective biogeography based optimization algorithm with decomposition for community detection in dynamic networks[J]. Physica A Statistical Mechanics and Its Applications, 2015, 436: 430–442. DOI:10.1016/j.physa.2015.05.069 |
[5] | GOLAFSHANI E M. Introduction of biogeography-based programming as a new algorithm for solving problems[J]. Applied Mathematics and Computation, 2015, 270(C): 1–12. |
[6] |
张建科. 生物地理学优化算法研究[J].
计算机工程与设计, 2011, 32(7): 2497–2500.
ZHANG J K. Research on optimization algorithm for biogeography[J]. Computer Engineering and Design, 2011, 32(7): 2497–2500. |
[7] | YOU X M, HAO F C, MA Y H. A hybrid differential evolution algorithm solving complex multimodal optimization problems[J]. Journal of Information and Computational Science, 2015, 12(13): 5175–5182. DOI:10.12733/issn.1548-7741 |
[8] | ZHANG S, LIU S Y. Artificial bee colony algorithm with improved search equations[J]. Journal of Information and Computational Science, 2015, 12(10): 4069–4076. DOI:10.12733/issn.1548-7741 |
[9] | WAN Z P, WANG G M, SUN B. A hybrid intelligent algorithm by combining particle swarm optimization with chaos searching technique for solving nonlinear bilevel programming problems[J]. Compstat 2006-Proceedings in Computational Statistics, 2013(8): 26–32. |
[10] | LI H C. An evolutionary algorithm for multi-criteria inverse optimal value problems using a bilevel optimization model[J]. Applied Soft Computing, 2014, 23(23): 308–318. |
[11] | KUO R J, LEE Y H, ZULVIA F E, et al. Solving bi-level linear programming problem through hybrid of immune genetic algorithm and particle swarm optimization algorithm[J]. Applied Mathematics and Computation, 2015, 266(C): 1013–1026. |
[12] |
唐焕文, 秦学志.
实用最优化方法[M]. 第3版. 大连: 大连理工大学出版社, 2004.
TANG H W, QIN X Z. Practical Methods of Optimization[M]. 3rd ed. Dalian: Dalian University of Technology Press, 2004. |
[13] |
李和成. 非线性双层规划问题的遗传算法研究[D]. 西安: 西安电子科技大学, 2009.
LI H C.Research on Genetic Algorithm of Nonlinear Bilevel Programming[D].Xi'an:Xidian University, 2009. http://cdmd.cnki.com.cn/Article/CDMD-10701-2009065262.htm |
[14] | WANG Y P, DANG C Y. An evolutionary algorithm for global optimization based on level-set evolution and Latin squares[J]. IEEE Transactions on Evolutionary Computation, 2007(11): 579–595. |
[15] | WANG Y P, LI H, DANG C Y. A new evolutionary algorithm for a class of nonlinear bilevel programming problems and its global convergence[J]. Informs Journal on Computing, 2011, 23(4): 618–629. DOI:10.1287/ijoc.1100.0430 |
[16] | WANG Y P, JIAO Y C, LI H. An evolutionary algorithm for solving nonlinear bilevel programming based on a new constraint-handling scheme[J]. IEEE Transactions on Systems, Man and Cybernetics, 2005, 35(2): 221–232. DOI:10.1109/TSMCC.2004.841908 |
[17] | ZHONG W J, XU N R. Boltzmann machine approach of bilevel programming[J]. Journal of Systems Engineering, 1995, 10(1): 7–13. |
[18] | ZHENG P E, LIUG H, LI R B. The solution of a class of bilevel programming based on hierarchical optimization algorithm[J]. Systems Engineering and Electronics, 2005, 27(4): 662–665. |
[19] | BJORNDAL M, JORNSTEN K. The deregulated electricity market viewed as a bilevel programming problem[J]. Journal of Global Optimization, 2005, 33(3): 465–475. DOI:10.1007/s10898-004-1939-9 |