在 CPLEX 中进行任务调度和资源分配时如何对流水线处理进行建模?

How to model pipeline processing when doing task scheduling and resource allocation in CPLEX?

我提出了一个任务调度和资源分配问题,其中资源可以启动运行一个具有复杂条件的新任务。

以下是对单个资源的有效调度。每个数字代表此时开始了一个新的任务。

我有很多之间有优先关系的任务(我知道如何处理优先关系)和一些此类资源。我按照以下方式进行了调度,但没有产生最佳结果:

虽然上述过程产生了有效的调度,但还不够,因为我正在寻找最佳解决方案。有人知道如何在 CPLEX 中解决这个问题吗?

如 Philippe Laborie 在 https://www.ibm.com/developerworks/community/forums/html/topic?id=ac7a4fa1-f304-420c-8302-18501b4b7602&ps=25 所说

just consider an additional interval variable 'task' of length 2n that represents the task and have an alternative on two optional tasks 'taskEven' and 'taskOdd'. These two intervals are the ones you already have in your model (with the adequate forbidStart constraints, and with a contribution to the adequate resource).