主要内容

gamultiobj算法

介绍

本节描述的算法gamultiobj使用创建一组点帕累托。gamultiobj使用一个控制,精英遗传算法(NSGA-II的变种[3])。精英GA总是有利于个人更好的健身价值(等级)。控制精英GA也有利于个人,可以帮助增加种群的多样性,即使他们有一个较低的健身价值。

多目标的术语

大多数的术语gamultiobj算法是一样的遗传算法的术语。然而,有一些附加的条款,在本节描述。更详细的术语和算法,看到黛比[3]

  • 主导地位——一个点x在一个点y向量值目标函数f当:

    f(x)≤f(y)为所有

    fj(x)<fj(y)对于一些j

    术语“主导”相当于“劣质:”一词x占主导地位y什么时候y不如x

    一个nondominated集在一组点P点集吗P不被任何点P

  • 排名——可行的个人,有一个迭代的秩的定义一个独立的个体。1级个人并不是由任何其他个人。2个人只有1个人主导。一般来说,排名k个人只能由个人控制的等级k - 1或更低。

    个人等级较低有更高的机会选择(低排名更好)。

    所有不可行的个人等级比任何可行的个人。在人口不可行,排名是按排序不可行性措施,加上最高军衔可行的成员。

    gamultiobj用排名来选择父母。

  • 拥挤距离——拥挤距离是衡量个人的亲密关系最近的邻国。的gamultiobj个体之间的距离相同的排名算法的措施。默认情况下,该算法测量距离目标函数空间。然而,您可以测量空间距离决策变量(也称为设计变量空间)通过设置DistanceMeasureFcn选项{@distancecrowding,基因型的}

    该算法集个人极端位置的距离。对于剩下的个体,算法计算距离作为一个求和的尺寸归一化绝对个人的排序的邻居之间的距离。换句话说,对于维度和排序,按比例缩小的个体:

    距离(i) = sum_m (x (m i + 1) - x (m,张))

    算法种类分开每个维度,所以这个词邻居意味着在每个维度的邻居。

    个人相同的等级更高的距离有更高的机会选择(更高的距离是更好的)。

    你可以选择一个不同的拥挤距离测量比默认@distancecrowding函数。看到多目标的选择

    拥挤距离是一个因素在传播的计算,这是停止准则的一部分。拥挤距离也用作平局决胜锦标赛选择,当两个选择个人有相同的秩。

  • 传播传播是一个衡量运动的帕累托集。计算传播,gamultiobj算法首先评估σ,拥挤距离测量的标准偏差的点在帕累托方面与有限的距离。这些点的数量,d是测量这些点之间的平均距离。然后算法评估μ的目标函数的k指数标准之间的区别的电流最小值帕累托点指数和指数的最小值点在前面的迭代。然后传播

    传播= (μ+σ)/ (μ+Qd)。

    传播极端时小目标函数值不改变迭代之间(即μ点时小)和帕累托分布均匀(也就是说,前面σ是小的)。

    gamultiobj使用情况停止传播。迭代停止传播时不会改变太多,最后平均小于最近的传播蔓延。看到停止条件

初始化

的第一步gamultiobj算法是创建一个初始种群。算法创建人口,或者你可以给一个初始种群或部分人口普查的初步使用InitialPopulationMatrix选项(见人口的选择)。人群中个体的数量的值PopulationSize选择。默认情况下,gamultiobj创建一个人口是可行的范围和线性约束,但不一定是可行对非线性约束。默认创建算法@gacreationuniform当没有约束或只有绑定约束、和@gacreationlinearfeasible当有线性或非线性约束。

gamultiobj人口计算的目标函数和约束,并使用这些值来为人口创造成绩。

迭代

的主要迭代gamultiobj算法过程如下。

  1. 为下一代选择父母使用选择函数对当前人口。唯一可用的内置选择函数gamultiobj是二进制的比赛。您还可以使用一个自定义选择函数。

  2. 从选择创建儿童父母通过变异和交叉。

  3. 分孩子们通过计算目标函数值和可行性。

  4. 结合当前人口和孩子们到一个矩阵,扩展的人口。

  5. 计算所有个人的排名和拥挤距离的延长人口。

  6. 修剪扩展的人口PopulationSize个人通过保留适当数量的每个等级的个体。

当问题整数或线性约束(包括边界),该算法修改人口的发展。看到整数和线性约束

停止条件

以下停止条件适用。每一个停止条件与退出旗。

exitflag价值 停止条件
1

几何平均的相对分布在价值的变化options.MaxStallGenerations代小于options.FunctionTolerance,最终小于平均传播蔓延过去options.MaxStallGenerations一代又一代

0

超过了一代又一代的最大数目

1

通过一个输出函数优化终止或情节功能

2

没有找到可行的观点

5

超过了期限

对于出口标志1,传播的相对变化的几何平均乘数½k的相对变化k上一代。

整数和线性约束

当一个问题整数或线性约束(包括边界),该算法修改人口的发展。

  • 当问题既有整数和线性约束时,生成的软件修改所有个人对这些约束是可行的。您可以使用任何创建、突变或交叉功能,整个人口仍然可行的关于整数和线性约束。

  • 只有线性约束问题时,软件不能修改个人对这些约束是可行的。您必须使用创建、变异和交叉功能保持可行性对线性约束。否则,人口会变得不可行,结果可能是不可行的。默认的运营商保持线性的可行性:gacreationlinearfeasiblegacreationnonlinearfeasible为创造,mutationadaptfeasible突变,crossoverintermediate交叉。

整数和线性可行性的内部算法类似surrogateopt。当问题整数和线性约束时,算法首先创建线性可行点。然后由舍入算法试图满足整数约束线性可行点整数使用启发式试图保持点线性可行。当这个过程是成功获得足够的可行点构造一个人口,算法调用intlinprog试图找到更多可行的对边界点,线性约束和整数约束。

后来,当突变或交叉人口创造了新的成员,确保新成员都是整数的算法和线性可行采取类似的措施。每一个新的成员被修改,如果有必要,要尽可能接近原来的价值,同时也满足了整数和线性约束和边界。

参考书目

[1]审查,y“帕累托最优的多目标问题,“达成。数学。Optimiz。1977年,4卷,页41-59。

[2]Da Cunha n o .和大肠波兰人。”约束下最小化向量值标准在有限维空间中,“j .数学。肛交。达成。,19卷,103 - 124页,1967年。

[3]Deb, Kalyanmoy。“使用进化多目标优化算法,”约翰威利和儿子,奇切斯特,英国,2001年。

[4]陈守煜,洛杉矶“最优,Nonscalar-Valued性能标准。”IEEE反式。自动售货机。来讲。卷,AC-8 p。1963。

另请参阅

相关的话题