我是遗传算法的新手,我被分配实施遗传算法来优化药房每个工作日的请求顺序。首先,让我解释一下问题:
有 9 个家庭要求在工作周的任何一天(周一至周五)参加。药房每天只能接诊1到3个家庭,不能多也不能少,而且同一周不能重复任何家庭。主要目标是优化每个家庭的最佳就诊日,这样,药房每周处理最多的请求,并对问题施加限制。优化算法的输入是每个家庭发出的每个请求数的年平均值。例如:
(让我们只使用 3 个系列,以简化示例):
输入:
| 星期一 | 周二 | 周三 | 星期四 | 周五
F1 | 10 | 20 | 2 | 0 | 7
F2 | 20 | 12 | 0 | 1 | 2
F3 | 2 | 0 | 0 | 19 | 3
可能的解决方案:
| 星期一 | 周二 | 周三 | 星期四 | 周五
| | F2 | F1 | F3 |
到目前为止,我一直在研究遗传学和遗传算法的整个概念。我研究了粒子群优化,但由于我的时间很短,我决定使用一个框架。我正在使用 JGAP,但我的主要问题是我如何提出潜在的解决方案?我的意思是,我应该如何组织染色体上用于交配、繁殖等的基因……?我已经开发了一个适应度函数,但我无法按照我想要的方式对基因进行编码。有什么建议么?