我一直在重新編碼,優化和解碼遺傳算法。我第一次嘗試的是有序交叉的旅行推銷員,這很有效。我發現一篇文章試圖優化更復雜的基因組,同時優化2d包裝問題。斷頭臺切割優化的遺傳算法
作者用有意義的反向波蘭符號來編碼問題。它使用部件和V或H作爲操作者的組合。
即34H5V
與具有被解析爲這是我的最終佈局一個堆疊元件堆棧進行解碼。也就是說,直到某個點的操作員數量必須比直到同一點的部件數量少1個。作者然後說,他使用交叉混合交叉,對操作員使用零件和二元交叉。
我仔細研究了這一點,但我無法理解他在交叉之前如何分離零件和操作員,然後在評估性能之前重新組合它們,並提供一些細節。如果發生二元交叉時,用「X」代替部件以保持相對位置,以便在交叉之後重新組合,但操作員與部件之間的關係不成立。
有沒有人可能有一個處理過類似情況的資源,或者可能已經成功地使用了它。