我需要实现为我的问题(大学项目)定制的遗传算法,并且第一个版本将其编码为短的矩阵(每个染色体的比特x人口大小).
这是一个糟糕的设计,因为我宣布一个简短但仅使用"0"和"1"值...但它只是一个原型,它按预期工作,现在是时候开发一个新的, 改良版.性能在这里很重要,但也很简单.
我研究过并提出:
对于染色体: - 字符串类(如"0100100010") - 布尔数组 - 向量(向量似乎针对布尔进行了优化) - Bitset(听起来最自然)
并为人口: - C数组[] - 矢量 - 队列
我倾向于选择矢量为chromossome和阵列为pop,但我想有任何有这个主题经验的人的意见.
提前致谢!
c++ artificial-intelligence genetic-algorithm data-structures