我希望在Cplex中模拟生产,其中r_x
是生产率。现在,我介绍了ea
,它是设备的有效寿命([w])。如果要生产的产品超过405个,我想进行维护,这也会影响设备的有效寿命(正在工作),但是当产量在135到185之间时,我想进行一次清洁(b_clean)。但是方法我将其建模为程序不进行清洗...有人知道如何正确编写程序吗?
谢谢。
//Bestimmen der Abnutzung des Werkzeugs
forall(s in S,p in P, t in T, w in W)
if(t == 1 && s == 1){
ea[w][t][s]>=sum(p in P, m in M)r_x[m][w][p][t][s]*0.001;
}else if(t > 1 && s < 2){
ea[w][t][s]>=(ea[w][t-1][3]+sum(p in P, m in M)r_x[m][w][p][t][s]*0.001)-b_maint[w][t-1][3]-(b_clean[w][t-1][3]*0.05);
}else if (s > 1){
ea[w][t][s]>=(ea[w][t][s-1]+sum(p in P, m in M)r_x[m][w][p][t][s]*0.001)-b_maint[w][t][s-1]-(b_clean[w][t][s-1]*0.01);
}
//Wenn nicht produziert wird soll ea ebenfalls 0 sein
forall (w in W, t in T, s in S)
(sum(p in P, m in M)r_x[m][w][p][t][s]==0)==(ea[w][t][s]==0);
//Zeitpunkt der Instandhaltung
forall(w in W, t in T, s in S)
(405<=sum(p in P, m in M)r_x[m][w][p][t][s])==(b_maint[w][t][s]==1);
forall(w in W, t in T, s in S)
(135<=sum(p in P, m in M)r_x[m][w][p][t][s] && sum(p in P, m in M)r_x[m][w][p][t][s]<=185)==(b_clean[w][t][s]==1);
//Es kann gleichzeitig nur eine IH oder Reinigung vorgenommen werden
forall(w in W, t in T, s in S)
b_maint[w][t][s]+b_clean[w][t][s]<=1;