我怎样才能获得'Ensure the Equipment continuing uptime and downtime process'的代码



我正在将 CPLEX 与 OPL 一起使用,但在指定模型中所需的约束时遇到问题。

设备"A"的正常运行时间限制为 2 小时。它还具有维护停机时间,至少 1 小时。

每次"t"和总 t 为 10(离散)。例如

              t1 t2 t3 t4 t5 t6 t7 t8 t9 t10  ....
    Equip'A'  0  1  1  0  0  0  1  1  0   1  .... 
          * downtime is possible to exceed its own maintain time.

在这种情况下,如何确保持续的正常运行时间过程。不像"0 1 0 1",我的意思是"0 1 1 0 1 1 0"=>"1",意思是操作,应该是相邻的(以确保持续的正常运行时间)。

每次我运行这个问题时,答案总是离开每个"1",例如"

0 1 0 1 0 0 0 1 0 0 1'。

我希望我能得到一个想法或数学方法来解决这个问题。

查看连续的三胞胎,不允许使用模式1 1 1(三小时正常运行时间)和0 1 0(一小时正常运行时间)。

这可以用线性不等式表示(t从 1 到 8):

A[t] + A[t+1] + A[t+2] <= 2 and
A[t+1] <= A[t] + A[t+2]

要涵盖极端情况(1 0开头或0 1结尾),您还需要:

A[1] <= A[2] and
A[10] <= A[9]

最新更新