首先我要说的是,我不是在寻求全局最优解决方案 - “足够好”就足够了。
我有4种类型的机器,每台机器都有多个实例。
假设我有5个工作J1,...,J5 对于要完成的每个作业,必须执行1个或2个步骤。第一步后的第二步(可以在第一步后等待一段时间)。
作为额外的复杂功能,有4个选项可以完成工作 - 所以基本上是工作J1a,J1b,J1c,J1d,J2a等。
让我们看一个例子:
等......尤其是J1a和J2a的机器要求不一定相同。
跨机器分发的方式有以下几种: 给定一系列工作,例如J4a,J2c,J3a,J1b,J5c,它们像这样分布在整个设备上(让我们假设每个作业有两个步骤):
J4a步骤1在兼容机器可用的最早时间分配。 J4a第2步是在兼容机器可用的最早时间分配的,但在J4a第一步完成之前不会分配。
这将最终分发所有工作(见图)。
所以这里有两件事要做: 工作顺序和“路径”。
我写了一个遗传算法,可以产生好的结果......
当然现在有了新的想法: - 不同的选项a,b,c,d具有不同的成本。所以,只要总体完工时间相同,就有一些选择。
我有点担心已经不适合这类问题的遗传算法最终会失败。
您是否看到了其他方法?我的一个主要问题是,我不知道调度问题的这种变化是什么 - 所以我不能直接搜索合适的文献...