Genetic Algorithm for Flow shop Scheduling

做~自己de王妃 提交于 2019-12-12 02:54:47

问题


I need help in Matlab: I need to find out how to Crossover any two sequences for genetic alghorithm in FlowShop, e.g.

1st sequence = 1 5 4 7 3 2 9 8 10 6

2nd sequence = 7 8 9 10 5 4 2 1 3 6

after crossover, the off-springs should be

offspring 1 = 1 5 4 7 3 2 8 9 10 6

offspring 2 = 7 8 9 10 1 5 4 3 2 6

Crossover should be such that each number doesn't repeat itself in the offspring sequence. Can anyone tell me how to do this?


回答1:


There are a number of existing crossovers defined for permutation encodings. Among them the following would be useful for you:

  • Cyclic Crossover
  • Partially Matched Crossover
  • Uniform-like Crossover
  • Position-based Crossover

These crossovers aim to preserve the position of the job in the permutation. You can find implementations in C# in the PermutationEncoding plugin of HeuristicLab. Browse the source files and you can also find references to scientific articles that describe these crossovers.



来源:https://stackoverflow.com/questions/36667052/genetic-algorithm-for-flow-shop-scheduling

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!