【问题标题】:Genetic Algorithm for Appliance Scheduling in javajava中设备调度的遗传算法
【发布时间】:2018-09-17 23:02:00
【问题描述】:

我正在做一个在 java 中使用遗传算法进行家电调度的项目。我对遗传算法和Java编程知之甚少。如果有人可以帮助我,我将不胜感激。

我的项目是将洗衣机、空调等电器安排在 48 个时间段内,每个时间段的电价各不相同,但在一个时间段内保持不变。我的目标是成本最低。使用二进制表示设备开/关。解决方案应该在 n x m 矩阵中

以洗衣机为例,它的周期为 1 小时,因此二进制文件应该看起来像“0000110000...”而不是“0001010000”,并且电器有首选的开启时间,例如早上 6 点到 8 点和晚上 6 点到 10 点,如果该设备每天使用 2 次,则在上午 6 点到 8 点时段为 1 次,在下午 6 点到 10 点期间为 1 次。

我还必须包括可再生能源 (PV),以便在价格合适时出售,或者在不值得出售时储存能源供应。我不确定如何。这应该是另一个GA吗?或者可以在一起吗?

如何开始编程?以及如何使用 excel 文件存储有关设备的信息,以便我可以在需要时从 excel 中提取它。

谢谢。

【问题讨论】:

    标签: java arrays csv binary genetic-algorithm


    【解决方案1】:

    首先我建议为遗传算法开发模型,我不知道该模型是如何工作的

    您需要定义这些关键组件:

    • 如何用染色体(构建块)来表示问题
    • 如何在 2 个(或更多)染色体之间诱导突变和繁殖
    • 拟合函数来评估每个解决方案

    我建议因为你缺乏java知识,从你熟悉的编码语言开始,最好的方法是像Python或R这样的面向数据语言,如果你不熟悉任何我建议使用Python

    一旦你开发和测试了你的模型(最难的部分),你可以用java编写它,如果你想的话……(我的建议是一直使用python)

    我建议首先关注这一点,一旦你弄清楚并实施了模型和数据,所有其他实用程序(如 excel csv 等)都非常简单

    好消息你正在使用最好的方法来解决这个 NP 问题,我建议在互联网上搜索这个问题的变体的实现

    还可以查看traveling salesman problem 的此解决方案以熟悉遗传算法方法

    【讨论】:

      猜你喜欢
      • 2012-10-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2012-09-28
      • 2017-08-01
      • 1970-01-01
      • 2020-05-12
      • 2011-01-11
      相关资源
      最近更新 更多