gpt4 book ai didi

java - 遗传算法 : Request optimization

转载 作者:搜寻专家 更新时间:2023-11-01 03:44:42 26 4
gpt4 key购买 nike

我是遗传算法的新手,我被指派实现遗传算法来优化药房每个工作日的请求顺序。首先,让我解释一下问题:

有 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,但我的主要问题是我以什么方式提出潜在的解决方案?我的意思是,我应该如何组织用于交配、繁殖等的染色体上的基因……?我已经开发了一个适应度函数,但我无法按照我想要的方式对基因进行编码。有什么建议吗?

最佳答案

in what way do I present a potential solution?

每个家庭都应该安排一天。因此,您可以存储每个家庭安排在哪一天。一个基因将是 5 天中的一天,一个 chrome 将有 9 天,每个家庭一个

         1 2 3 4 5 6 7 8 9
Chrome M T T F W H T M T

所以家庭 1 在星期一,家庭 2 和 3 在星期二,等等。您应该在健身功能中施加所有其他约束(药房每天只能接待 1 到 3 个家庭)。

另一种编码可能是

 M1 M2 M3 T1 T2 T3 W1 W2 W3 ... F2 F3
1 2 - - 5 - 9 - 3 ... 4 -

所以你会接受所有可能的约会并填写家庭,或者让他们空着。在这种情况下,适应度函数应确保每个家庭都有一个约会。

关于java - 遗传算法 : Request optimization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4670496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com