| (1)开始 |
| (2)设置每个交叉算子的选择概率是一样的,, |
| 在哪里变异算子的总和。 |
| (3)设置迭代计数器和。 |
| (4)使用多元化的方法生成一个人口评估每个解决方案然后设置最好的解决方案 |
| 发现到目前为止最好的一个。 |
| (5)而(没有达到终止条件)做 |
| (6)使用参考更新方法更新参考集。 |
| (7)设置,。组的解集是空的。 |
| (8)如果()做 |
| (9)而()做/ /生成一个新的解决方案在 |
| (10)设置成功的数和失败数的交叉算子是零。 |
| (11)(1)突变 |
| (12)随机选择一个变异算子(即)使用自适应选择方法。 |
| (13)随机选择的解决方案根据变异算子的要求。 |
| (14)执行变异算子选择的解决方案来生成一个新的试验解决方案。 |
| (15)(2)交叉 |
| (16)应用交叉操作的基础上(5)获得新的解决方案。 |
| (17)(3)的选择 |
| (18)使用(7)选择新的解决方案。如果,设置=;否则,设置=。 |
| (19)添加和每个交叉算子的一个列表他的长度是。如果, |
| 然后删除这个列表的第一个节点,因此只有最多存储在节点列表。 |
| (20)更新的选择概率每个操作符根据部分中描述的方法3.4。 |
| (21)。 |
| (22)结束时 |
| (23)如果(最好的解决方案比)做 |
| (24)更新并设置。 |
| (25)还 |
| (26)。 |
| (27)如果 |
| (28)还 |
| (29)的解决方案升序的客观价值,然后随机重新启动 |
| 后者解决方案的一半。 |
| (30)设置。 |
| (31)如果 |
| (32)结束时 |
| (33)报告最好的解决方案。 |
| (34)结束 |