具有约束的生产计划的基因表示

时间:2016-03-10 05:48:35

标签: genetic-algorithm planning

我试图提高生产系统的吞吐量。系统的确切类型并不相关(我认为)。

描述

  1. 系统包含 LINE 的电台(编号为1,2,3 ......)和 ARM
  2. 系统会随机收到 ITEM
  3. 每个 ITEM 都有 PLAN (例如, ITEM1 可能有 PLAN , 说需要经过3号站,然后是1号,然后是5号站。 PLAN 包括有关的时间信息 ITEM 在每个工作站的时间长度(最大/最小硬值范围)。
  4. 每个 STATION 一次只能容纳一个 ITEM
  5. ARM 用于将每个 ITEM 从一个 STATION 移动到下一个 STATION 。每个 PLAN 包括 ARM 的时序信息也是一个固定值。
  6. 当前实践

    我有两个当前(工作)规划解决方案。

    第一个维护每个 STATION 的使用主列表,请考虑这是一个'预订'做法。 当每个新的 ITEM-N 进入时,系统会提前搜索以找到最早的插槽位置 PLAN-N 适合。因此,例如,它会尝试将其拟合到t = 0,然后逐渐尝试更高 延迟直到它找到一个合适的(实际上我在这里有一些启发式方法来减少处理时间, 但方法成立了)

    第二个维护每个 ITEM 的列表,指定何时开始。当新 ITEM-N 时 进入,系统比较它的' PLAN-N 与所有现有列表一起找到合适的时间 开始。同样,它从t = 0开始,然后逐渐尝试更高的延迟。

    这两个解决方案都没有利用每个解决方案允许 ITEM 的范围 站。假定固定时间(中点或最小值)。

    理想解决方案

    不言而喻,存在传入的 ITEM 能够 如果某些当前的 ITEM 更改了持续时间,则可能比其他情况更早开始 花费在某些 STATION ,是否缩短了持续时间(因此新的 ITEM 可以进入 STATION 代替)或延长持续时间(因此 ARM 有时间移动 的 ITEM )。

    我正在尝试为问题实施遗传算法解决方案。我目前的基因含有N. 数字(在0和1之间),其中N是当前所有项目中的站点总数 系统以及要添加的新项目。将此基因转换为a基因是微不足道的 实际持续时间(0表示最小持续时间,1表示最大值,其间线性比例)。

    然而,这种基因表示始终产生与每种重叠的不可用计划 其他。这样做的原因是,当理想情况下已经安排了多个项目时(连续输入) 时间,计划明智),持续时间没有变化是可能的。这是不可避免的,因为一旦项目 已经被处理,他们不能被推迟或提前。

    上述情况的一个示例,例如 ITEMA STATION3 中持续时间t1到t2和t3到 T4。 ITEMB 然后出现并占据 STATION3 持续时间t2到t3(因此 STATION3 完全 在t1和t4之间使用)。凭借我目前的基因代表,我几乎可以保证永远不会 找到一个有效的解决方案,因为这将要求基因的某些元素具有完全相同的 正确的值,以免产生重叠。

    问题

    1. 有没有比我上面描述的更好的基因代表?
    2. 我可以更好地做一些简单的爬山以找到可修改的时间吗?或者,是GA 实际上适合这个问题吗?

0 个答案:

没有答案