多目标优化问题概述(遗传算法)

遗传算法

        遗传算法在多目标优化问题处理中应用广泛,它的基本特征是通过在代与代之间维持由潜在解组成的种群来实现多向性和全局搜索,通过种群基于遗传的进化,实现潜在解向最终解的演变,这种种群到种群的方法在搜素Pareto解时是很有用的。

        遗传算法可以处理所有类型的目标函数和约束,不受制于他们的数学属性,可以在不考虑特定内部工作方式的前提下搜索解,因此在求解复杂问题解上比传统优化算法应用更多,可用性也更广。遗传算法作为启发式算法在处理单目标优化问题表现很好,后来逐渐的被引入多目标优化问题处理,现如今基于遗传算法的改进算法蓬勃发展,所以学习了解遗传算法是有必要的。

算法介绍

1. 算法结构

        算法过程如下:
多目标优化问题概述(遗传算法)_第1张图片
        算法整体结构:
多目标优化问题概述(遗传算法)_第2张图片

2. 结构分析

①初始种群的生成

       遗传算法是对种群进行操作的,初始种群的选择影响着算法的最终性能,所以初始种群的选择尤关重要。在处理实际问题时,问题的最优解在解空间的分布情况是不清楚的,所以设计初始种群时尽量设计成在解空间均匀分布(想法:参考自然界的进化规律,地球生物演化的起点是简单单细胞生物,是否可以以此参照设计初始种群,如从单个种群开始保持高突变率来演化成多种群,这样计算复杂度肯定高了但是否性能会变好?)。初始种群的个数是种群规模,依据问题复杂性,问题越复杂,目标空间维数越高,种群规模越大,反之亦然。常规的种群生成规则如下:

       有先验知识:利用先验知识在决策空间的生成均匀分布的初始种群。
       无先验知识:首先随机生成一定规模的初始种群,然后选取一部分适应度最好的,一小部分最差的,一小部分适中的个体,如此循环,直到种群规模满足要求。

②个体编码

       编码就是把实际问题变量转化成计算处理的决策空间变量,反之,把决策空间的解转成问题空间的解叫解码。编码的要求有三:

       (1)完备性:问题空间的任意解可以单射到决策空间。
       (2)健全性:决策空间的解可单射到问题空间的解。
       (3)非冗余性:问题空间的解和决策空间的解相互满射。

       编码的方法有多种,最有效最常用的是实数编码,其基因型空间中的拓扑结构与其表现型空间中的拓扑结构一致,因此很容易借鉴传统优化方法中的技术。根据实数编码,种群 P ( t ) P(t) P(t)可以描述为:

        P ( t ) = P(t)= P(t)={ x t , 1 , x t , 2 ⋯ x t , p o p x_{t,1},x_{t,2}\cdots x_{t,pop} xt,1,xt,2xt,pop}
        x t , j = x_{t,j}= xt,j={ ( x t , j , 1 , x t , j , 2 ⋯ x t , j , n ) ∣ x t , j , 1 , x t , j , 2 ⋯ x t , j , n ∈   m i n + ( m a x − m i n ) r a n d ( 1 ) (x_{t,j,1},x_{t,j,2}\cdots x_{t,j,n})|x_{t,j,1},x_{t,j,2}\cdots x_{t,j,n}{ \in }\ min+(max-min)rand(1) (xt,j,1,xt,j,2xt,j,n)xt,j,1,xt,j,2xt,j,n min+(maxmin)rand(1)
        j ∈ 1 , 2 , ⋯   , p o p j\in1,2,\cdots,pop j1,2,,pop

        p o p pop pop是种群规模,种群中的每个个体 x t , j x_{t,j} xt,j n n n个参数衡量,且这 n n n个参数有上下限。 r a n d ( 1 ) rand(1) rand(1)表示0到1随机数。

③评估函数设计

       评估函数是计算评估个体的适应度,从而决定个体是否参与杂交或繁殖其他操作的。适应度是进化论里的概念,表示的是个体对环境的适应程度,在算法中,就是表示个体解的优劣性。适应度越高,表示个体存活的概率越大,也就是更可能参与繁殖。评估函数的形式取自于具体的优化函数,具体有以下要求:

       性质:非负,连续,满射,单点极值。
       简单:尽可能减少计算量
       可拓展性:争对具体问题设计的评估函数可以被其他问题使用。
       有效性:能过区分种群个体的优劣性。

       评估实际就是个体做标签,作为给算法进行下步处理的参考依据。评估函数计算得出的适应度是可以调整的,如共享函数,可以用来降低个体的适应度来控制种群的多样性。

④繁殖机制

       整个繁殖机制包括选择杂交变异三部分。

       选择:按照一定策略从当代种群中选取一部分个体进行下部操作。如上文所说的,依照适应度,通过诸如轮盘赌, ( μ + λ ) (\mu +\lambda) (μ+λ)选择,锦标联赛,Pareto支配关系,共享等方式,以生成待繁殖群。选择方式的特征有随机性和确定性两种,前者表现为对当代种群的个体,无论适应值好坏,都有被选择的概率。如轮盘赌,依据适应值比例确定个体的被选概率;后者表现为对当代种群个体的选择是依据适应度而确定的,适应度坏的个体不会被选择。大多选择方式是两者特征的结合,如锦标联赛方式,从随机选择的个体中选取适应度好的。

       选择过程在整个繁殖机制的基础,它指明着种群的未来进化方向。也就是说,选择的好坏影响着算法解的收敛性和分布性。各种选择方式都遵循“精英保留”原则,保留有前途的个体,这是保证收敛性的操作,然而这种操作也有可能发生有限解收敛到同一个最优解(在单目标问题中,表现为陷入局部最优)的情况,共享方式就是争对这种情况在选择阶段做出改进的方式。通过共享函数,降低聚集区域个体的适应度,从而提高其他个体的被选概率。选择结果的理想状况应是:选取的个体群尽可能表现最好,尽可能分散,尽可能全域覆盖。

       杂交:通过当代选择个体群(父代)产生下代种群(子代)。仿照生物界的有性生殖(无性繁殖可不可以仿照?区别于变异的单点进化,如父代首先自我变异,然后父子代个点自我交叉。),产生的子代继承了父代的优良基因,在算法上表现为计算之后的点可能会更加地接近理论最优值,也可能会偏离,但不会严重偏离,同时这种偏离也可能会产生另一个Pareto最优解,因此杂交也体现着算法的收敛性和多样性。对不用的编码方式,杂交算子的设计不同,算子的设计也有随机和确定两种特征。这里介绍NSGA-Ⅱ中基于实数编码的随机算子设计方式:算数杂交。

       根据凸集理论:如果可行域是凸的,则可行域中两点连线上的点也在可行域中。对于向量 x 1 x_1 x1, x 2 x_2 x2,它们的加权平均为 λ 1 \lambda_1 λ1 x 1 x_1 x1+ λ 2 \lambda_2 λ2 x 2 x_2 x2,乘子限制为 λ 1 \lambda_1 λ1+ λ 2 = 1 \lambda_2=1 λ2=1。算数杂交定义的两个向量组合是:

                                                                                     x 1 ′ = λ 1 x_1^{'}=\lambda_1 x1=λ1 x 1 x_1 x1+ λ 2 \lambda_2 λ2 x 2 x_2 x2
                                                                                     x 2 ′ = λ 1 x_2^{'}=\lambda_1 x2=λ1 x 2 x_2 x2+ λ 2 \lambda_2 λ2 x 1 x_1 x1

       其中 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2的设计为

                                                                                     λ 1 = 0.5 ( 1 + b q ) \lambda_1=0.5(1+bq) λ1=0.5(1+bq)
                                                                                     λ 2 = 0.5 ( 1 − b q ) \lambda_2=0.5(1-bq) λ2=0.5(1bq)
多目标优化问题概述(遗传算法)_第3张图片
        m u = 20 mu=20 mu=20是杂交分布指数。

       变异:子代个体的随机变化。杂交之后的子代可能会发送陷入同一最优,过早收敛或不成熟收敛的情况,变异算子可以有效解决上述问题。还是以NSGA-Ⅱ中的变异算子为例,对于向量 x x x,变异方式为:

                                                                                     x ′ = x + δ x^{'}=x+\delta x=x+δ
                                                                          δ = ∣ 2 r a n d ( 1 ) 1 m u m + 1 − 1 ∣ \delta=|2rand(1)^{\frac{1}{mum+1}}-1| δ=2rand(1)mum+111

        m u m = 20 mum=20 mum=20是变异分布指数。

       整个繁殖机制是算法的核心,可以看出机制的设计处处体现了算法的收敛性和多样性,这也是整个算法的核心思想,大多的基于遗传算法的改进也是从这两方面入手的。宏观上来说,繁殖机制是解计算中的搜索阶段,算法设计原则是更快更好更分散的计算出最终解。杂交过程的作用是在编码空间中进行全局搜索,以最快速度找到PF面上各点(单目标中是全局最优),变异过程提供了加快每个PF点的收敛速率的可能(主要还是保证多样性),提高了算法的局部搜素能力。

3.总结

       对于问题解的搜索,有两种行为模式,一种是全局搜素:广泛搜索整个解空间并且向同一最优逃离;令一种是局部搜索:深度搜索最优解并且向局部最优爬山。显然遗传算法是一种结合两种模式的通用搜易方法,因此在多目标优化问题中得到了最为广泛的应用。


Tips:

通过类比,更好理解多目标优化与单目标优化的联系和区别:

单目标优化 多目标优化
局部最优 有限解集收敛到同一最优解
全局最优 有限解集分散构成PF面

你可能感兴趣的:(笔记)