用于箱包装的遗传算法的时间复杂度

时间:2018-03-10 06:35:30

标签: time-complexity genetic-algorithm bin-packing

我正在尝试探索用于装箱问题的遗传算法(GA),并将其与传统的Any-Fit算法进行比较。然而,在任何学术文章中都没有提到GA的时间复杂性。这是因为时间复杂度非常高吗?并且GA的主要目标是在不考虑时间的情况下找到最佳解决方案?基本GA的时间复杂度是多少?

1 个答案:

答案 0 :(得分:1)

假设终止条件是迭代次数并且它是常数,那么通常它看起来像这样:

O(p * Cp * O(Crossover) * Mp * O(Mutation) * O(Fitness))
p - population size
Cp - crossover probability
Mp - mutation probability

正如您所看到的,它不仅取决于参数,例如。人口规模,但也实施交叉,变异操作和健身功能实施。在实践中会有更多参数,例如染色体大小等。

您对出版物的时间复杂性没有太多了解,因为研究人员大多数时候都会使用收敛时间来比较GA。

修改合并时间

每个GA都有某种终止条件,通常是收敛标准。假设我们想要找到数学函数的最小值,因此我们的收敛准则将是函数的值。简而言之,我们在优化过程中达到了收敛,因为我们不再需要继续优化,因为我们最好的个人并没有得到更好的改善。看看这张图表:

enter image description here

你可以看到,经过大约10000次迭代后,健康状况并没有太大改善,并且线路变得平坦。 最佳情况场景在大约9500次迭代时达到收敛,在此之后我们没有观察到任何改进或者它的微小不均匀。假设每条线显示不同的GA,那么 Best case 具有最佳收敛时间,因为它首先达到收敛标准。