- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是遗传算法的新手,我被指派实现遗传算法来优化药房每个工作日的请求顺序。首先,让我解释一下问题:
有 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/
如何将 solr 与 heritrix 集成? 我想使用 heritrix 归档一个站点,然后使用 solr 在本地索引和搜索该文件。 谢谢 最佳答案 使用 Solr 进行索引的问题在于它是一个纯文本
我的任务: 创建一个程序来仅使用基元(如三角形或其他东西)复制图片(作为输入给出)。该程序应使用进化算法来创建输出图片。 我的问题: 我需要发明一种算法来创建种群并检查它们(它们与输入图片的匹配程度
我看过几篇文章和文章,建议使用模拟退火等方法来避免局部最小值/最大值问题。 我不明白为什么如果您从足够大的随机人口开始,这将是必要的。 这只是确保初始人口实际上足够大和随机的另一项检查吗?或者这些技术
我是一名优秀的程序员,十分优秀!