system: [SYSTEM]

user: 4. 模型求解 4.1. 确定目标函数权重 求解多目标优化问题，一般情况下比较复杂。这是因为，多个目标同时获得最小值是比较困难的。所以有必要进行进一步的处理，使得多目标问题转化为单目标来求解，目前，已经有多种基于遗传算法的多目标求解方法，主要有权重系数变换法、排列选择法、并列选择法、混合法和共享函数法五种本文的思路是用权重系数变换法将多目标函数转化为单目标函数进行求解。 本文将上述几个目标函数赋予相应的权重系数分别为a，b，c，d，从而上述多目标优化问题就可以转化成单目标优化，各目标函数的线性加权表达式为： f = min ( a f 1 + b f 2 + c f 3 + d f 4 ) (6) 权重的可以通过层次分析法来确定，层次分析法一般通过指数标度法来量化评价指标的重要性，就是通过设置不同的评价等级，如特别符合、一般符合、不太符合、不符合等不同维度进行对象重要性的等级评价。根据实际分析，指数标度法一般选取5个维度进行重要性分级，而当评价对象需要更加精准分析时，维度也可以适度扩展到9个。在确定评价对象的重要性权重后，对初始数据进行标准化、归一化、一致性分析等定量处理后，以此得到最优化的决策方案。1~9标度法如表1所示： Table 1 Grade scal 重要性等级 赋值 极端重要 9 重要的多 7 重要 5 明显重要 3 同样重要 1 略次要 1/3 次要 1/5 很次要 1/7 极次要 1/9 表1. 等级标度 根据调查问卷得出时间、承受力、耗能的指标值如表2所示： Table 2 Indicator value of each evaluation facto 时间 空间 承受力 耗能 时间 1 3 5 5 空间 1/3 1 3 5 承受力 1/5 1/3 1 1 耗能 1/5 1/5 1/3 1 表2. 各项评价因素的指标值 构造两两比较矩阵为： [ 1 3 5 5 1 / 3 1 3 5 1 / 5 1 / 3 1 1 1 / 5 1 / 5 1 / 3 1 ] 求得a = 0.54；b = 0.28；c = 0.12；d = 0.06。 利用MATLAB求得该矩阵的最大特征值为4.12，故 C .I = ( 4.12 − 4 ) / ( 4 − 1 ) ，当n = 4时，查找平均随机一致性指标RI表可知RI = 0.9。故 CR = C I / R I < 0.1 ，所以判断矩阵的一致性是可以接受的。所以权重a，b，c，d取值合理。 4.2. 遗传算法设计 1) 编码 编码分为货物编码和货位编码，遗传性算法不能直接处理参数，所以必须把它们转化为遗传空间的由基因按照一定结构组成的染色体或者个体，所以编码是一个转换的作用，不同的编码形式会影响到该算法求解问题的方向和影响交叉、选择和变异的运算方法。本文采用整数排练的编码方式。货物与货位的编码如下： 1) 一条染色体代表一种货位的分配方案； 2) 每条染色体中的基因数目就代表着货位优化区域内货物的个数； 3) 基因的值就代表货物存储的货位。 假设一个待优化的货位区域中有五件货物，第一件货物位于第一列、第二层、三排，即记做(1， 2， 3)；第二件货位位于(2， 3， 4)；第三件货物位于(3， 4， 5)第四件货物位于(4， 5， 6)，；第五件货物位于(5， 6， 7)。故“123”、“234”、“345”、“456”、“567”表示染色体的一个基因，对应着每个货物，“123234345456567”表示一个货位的分配方案。 2) 确定使用度函数 用遗传性算法来求解多目标优化问题的时候，并不是直接求解目标函数，而是求解与目标函数有一定连带关系的适应度函数来进行求解。并且这里适应度的变化能反映目标函数值的变化，对适应度函数求解适应度值，适应度的大小能够判别达到或者接近最优解的程度。适应度的大小决定着个体遗传到下一代概率的高低，适应度大的遗传到下一代的概率高，反之，适应度低的遗传到下一代的概率低。货位优化是求多目标的最小值，将目标函数与个体的适应度进行转换的时候，目标函数越小，适应度相应的越大，这个个体遗传到下一代的概率就大，所以将多目标函数取倒数来作为模型的适应度函数。几个目标函数的取值范围是如果目标函数趋向于的时候，此时适应值会趋向无穷大，所以，为了防止此种现象的出现，需要将多目标函数加之后再取倒数。所以转换后的适应度函数如下所示： F = 1 / a ( f 1 + 1 ) + b ( f 2 + 1 ) + c ( f 3 + 1 ) + d ( f 4 + 1 ) (7) 3) 种群的初始化 种群规模的大小影响着对遗传算法的运算和结果。当种群规模较小的时候，得出的结果不具有代表性，优化性能差。当种群规模较大的时候，算法的计算过程复杂，但结果具有代表性，优化性能好。为了最大限度的保证种群的优良性和多样性。一般要求将种群G规模的大小设置在100到500之间。 4) 遗传优化算法的主要操作算子 ① 选择操作 选择操作是通过判断个体适应度的大小，来确定父代中哪些能够遗传到下一代，哪有被淘汰。它最终的目的是通过优良基因来遗传产生新的个体，一代接一代迭代下去直到达到一个最优的结果。当种群 的规模为G，个体i的适应值为 w i ，则个体被选中的概率为 w i / ∑ j = 1 G w j ，显然，适应度大的，被选中的 概率大，可以留下，而适应度小的，被选择到的概率低，则容易被淘汰。 ② 交叉操作 交叉运算是将相互配对的染色体通过某种方式交换部分基因来产生新的个体，本文采用的是单点交叉算子。一般交叉概率的取值范围为(0.4， 0.99)，显然，如果交叉概率过小，会使得很多个体不经过交叉进入了下代，阻碍了遗传进化的速度，而交叉概率过大，会破坏种群中的优良基因。本文选取的交叉概率是0.8。 ③ 变异操作 变异操作就是为了保证种群的多样性防止出现过早的早熟现象而影响搜索能力，保证了遗传算法全局的搜索能力。本文采用的是基本位变异。一般的变异概率的取值范围为(0.001， 0.1)，显然，和交叉变异类似，如果变异概率过大，会使得优良基因被破坏。而变异概率过小，则会陷入局部优化的概率会过大。本文选择的交叉概率为0.05。 4.3. 仿真实验 由于数据繁多，为了简化计算，这里就货位优化问题，有针对的选择一部分区域来进行货位优化，这里选取A公司零部件仓库货架区的20排货架作为研究对象，选取20个零部件为例，设定仿真的一些基本的参数，如表所示，假设遗传算法的初始种群的个数为100个，最大迭代次数设为50和150，交叉概率为0.8，变异概率0.01。参数值如表3所示： Table 3 Simulation basic parameter 参数名 赋值 货架列数r 5 货架层数s 4 货架排数t 20 初始种群个数 100 最大迭代次数 50和150 交叉概率 0.8 变异概率 0.05 货位长度L 1 m 货位宽度W 0.8 m 货位高度H 2 m 作业人员x方向移动速度 1 m/s 作业人员y方向移动速度 3 m/s 作业人员z方向移动速度 1 m/s 设备与配送中心地面的摩擦系数 0.2 a 0.54 b 0.28 c 0.12 d 0.06 表3. 仿真基本参数 初始数据如表4所示： Table 4 Simulation initial dat 序号 零部件编号 质量 周转率 初始坐标 1 143176 0.57 0.05 (3，2，9) 2 180472 0.86 0.20 (4，1，11) 3 180578 1.8 0.86 (5，1，12) 4 189365 1.8 0.83 (2，1，13) 5 204198 1.48 0.68 (2，3，14) 6 204199 0.165 0.70 (3，4，18) 7 204231 0.3 0.06 (4，4，6) 8 207250 0.003 0.76 (4，4，8) 9 207251 2.42 0.92 (1，4，19) 10 217512 1.1 0.26 (4，2，20) 11 217576 0.96 0.58 (2，4，15) 12 217595 0.3 0.33 (3，3，16) 13 235500 2.54 0.24 (2，2，17) 14 235504 0.31 0.08 (3，1，2) 15 236196 0.13 0.83 (1，2，3) 16 236203 0.48 0.74 (3，1，4) 17 236972 0.54 0.18 (5，3，7) 18 239964 0.2 0.66 (3，4，5) 19 241290 0.5 0.82 (3，1，10) 20 243542 0.7 0.83 (2，1，1) 表4. 仿真初始数据 利用遗传算法工具箱求解以上的货位优化问题，经过50次和150次迭代得到的结果如表5所示： Table 5 Simulation result 0次迭代 50次迭代后 150次迭代后 目标函数值 目标函数值 降低比率 目标函数值 降低比率 213.42 146.42 31.3% 132.6 39.7% 表5. 仿真结果