Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Optimization 如何获取';确保设备持续正常运行和停机过程';_Optimization_Linear Programming_Cplex_Opl_Mixed Integer Programming - Fatal编程技术网

Optimization 如何获取';确保设备持续正常运行和停机过程';

Optimization 如何获取';确保设备持续正常运行和停机过程';,optimization,linear-programming,cplex,opl,mixed-integer-programming,Optimization,Linear Programming,Cplex,Opl,Mixed Integer Programming,我将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 maintai

我将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 0 1 0”=>“1”,意思是操作应该相邻(以确保持续正常运行时间)

每次我运行此问题时,答案总是离开每个“1”,例如“0 1 0 1 0 0 1 0 1 0 1”


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

看看连续的三胞胎,模式
11
(三小时正常运行时间)和
0 1 0
(单小时正常运行时间)是不允许的

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


查看连续的三元组,不允许出现模式
1 1
(三小时正常运行时间)和
0 1 0
(单小时正常运行时间)

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


我相当肯定,如果您的设备每运行2小时(或部分时间)需要1小时的维护;解决办法是更换设备。除此之外,缓存待处理的工作,以便设备在有2小时的工作时间之前不会启动。一些“设备”需要的维护时间比实际使用时间多得多…;-)我相当肯定,如果您的设备每运行2小时(或部分时间)需要1小时的维护;解决办法是更换设备。除此之外,缓存待处理的工作,以便设备在有2小时的工作时间之前不会启动。一些“设备”需要的维护时间比实际使用时间多得多…;-)你的回答给了我深刻的见解。太多了。但是,还有一种情况,首先,操作时间可能会发生变化(因为有许多不同的设备,所以不仅有2个正常运行时间,还有3、4或5个正常运行时间等等……而且,也确保了停机时间,也可以更改。我认为这是对这个问题的完美回答。如果问题没有足够准确地描述根本问题,那么这是一个不同的问题。我们只能根据n我们可以获得的信息。我们的读心技能非常有限。如果您需要的是确保设备
a
的正常运行时间至少为
k
小时,则上述答案可以概括为(当
t
1
变为
10-k
):
总和(i在t+1..t+k-1)(a[i])thnk u这么多!).你的回答将为我的编码提供一个很好的解决方案。你的回答给了我很好的洞察力。Thnx太多了。但是,还有一个额外的情况,首先,操作时间可能会改变(因为有许多不同的设备,所以不仅有2个正常运行时间,还有3、4或5个正常运行时间等等……而且,也确保了停机时间,也可以更改。我认为这是对这个问题的完美回答。如果问题没有足够准确地描述根本问题,那么这是一个不同的问题。我们只能根据n我们可以获得的信息。我们的读心技能非常有限。如果您需要的是确保设备
a
的正常运行时间至少为
k
小时,则上述答案可以概括为(当
t
1
变为
10-k
):
总和(i在t+1..t+k-1)(a[i])thnk u这么多!).你的回答将为我的编码提供一个很好的解决方案。
A[t] + A[t+1] + A[t+2] <= 2 and
A[t+1] <= A[t] + A[t+2]
A[1] <= A[2] and
A[10] <= A[9]