由于多个目标之间是存在相互约束以及相互排斥的关系。某一个目标的改变必然会影响到另一个目标,这样带来的后果便是各个目标不可能同时满足自身的最优值。而且各个目标之间是没有一个具有共性的度量标准,各自目标具有不同的量纲以及不同的物理意义,因此不能做定量的比较。多目标优化问题通常情况下最优解集是只有一组的,并且解集之间的优劣性是无法进行相互比较的,我们称这样的一组解为非支配解集或 Pareto 最优解集.

算法设计
NSGA-Ⅱ遗传算法解决了传统的 NSGA 遗传算法中存在的高计算复杂度、缺少精英策略以及设定共享参数的问题,此遗传算法的用途是在多目标优化问题求解上。多目标优化问题之间存在相互冲突问题,即一个目标的优化将会影响制约到另一个目标,目标最优解是呈多个存在的,可以将最接近目标的 Pareto 解集作为最优解集,详细计算过程如下。

NSGA-Ⅱ详细计算过程如下:
(1)随机产生种群规模大小为 N 的初始父代种群 Pt,采用二进制编码方式进行编码,即编码中“选中”用“1”表示,否则用“0”表示。
(2)对于初始父代种群 Pt通过遗传算法交叉和变异两个基本操作得到第一代新的子代种群 Qt,种群规模大小均为 N。交叉操作是配对个体替换位置,通过对种群中的个体随机设定交叉位置,将父代种群的交叉信息删除,然后将子代种群的交叉信息填补到父代种群的删除位置处。交叉操作的优点是可以保持种群的多样性和有效性。变异操作是为了保持云制造物流服务的全排列以及使其满足约束条件,随机选择一条染色体作为变异染色体,随机生成两个数作为变异基因的位置,互换两个基因位置,产生新的染色体,对该染色体进行约束条件的判定,若没有违背约束条件的话,则为有效子代,否则重新进行迭代。
(3)将父代种群 Pt和子代种群 Qt 合并形成种群规模大小为 2N 的新种群 Rt,适应度函数为设定的云制造物流服务方案模型的目标函数,对新种群 Rt进行快速非支配排序,可以得到非支配集合 Z={Z1,Z2,…,Zn}。
(4)对非支配集合 Z 进行拥挤度计算,按照计算结果大小进行拥挤度排序,利用精英策略选出最优秀的 N 个个体组合形成新父代种群 Pt+1。
(5)重复(1)至(4)的步骤,直到满足最大迭代次数为止,输出结果,结束。