我一直在重新编码,优化和解码遗传算法。我第一次尝试的是有序交叉的旅行推销员,这很有效。我发现一篇文章试图优化更复杂的基因组,同时优化2d包装问题。断头台切割优化的遗传算法
作者用有意义的反向波兰符号来编码问题。它使用部件和V或H作为操作者的组合。
即34H5V
与具有被解析为这是我的最终布局一个堆叠元件堆栈进行解码。也就是说,直到某个点的操作员数量必须比直到同一点的部件数量少1个。作者然后说,他使用交叉混合交叉,对操作员使用零件和二元交叉。
我仔细研究了这一点,但我无法理解他在交叉之前如何分离零件和操作员,然后在评估性能之前重新组合它们,并提供一些细节。如果发生二元交叉时,用“X”代替部件以保持相对位置,以便在交叉之后重新组合,但操作员与部件之间的关系不成立。
有没有人可能有一个处理过类似情况的资源,或者可能已经成功地使用了它。