我有一个想使用遗传算法 (GA) 解决的问题。您可以将其简化为以下问题:
我想优化一家公司的汽车资源,即汽车数量和车型。我已经有一个健身功能calcFitness(carList)
,可以评估给定的设置,如“商务车、运输车”或“商务车、商务车、运输车”。现在,问题是,如何使用 GA 解决这个可变长度问题。
我有四个想法可以解决这些问题:
- 也许以某种方式实现允许可变长度染色体的 GA 并在一次运行中解决问题(不确定是否可能?)
- 估计最大可行的汽车数量(例如 20)并为从 1 到 20 的每个车位编号运行一个固定长度的 GA 并比较 20 个结果
- 与 #2 类似,但没有固定上限:您从 1 辆汽车开始并增加插槽数量,直到增加数量的最佳解决方案比前面的解决方案差(基于梯度的方法)
- 两个堆叠的固定长度 GA:一个父 GA 单独负责优化汽车插槽的数量,在其适应度函数中,另一个优化这些插槽分配的 GA 被称为
您如何看待这些通用方法?对于这些可变长度情况,还有其他想法或 GA 替代方案吗?