我正在尝试使用 cplex opl 解决下面提到的优化问题。但是,我收到错误为 内部错误
int scale=100;
// Declaration of Decision variables
dvar float+ e[num][hr];
dvar float+ f[num][hr];
dvar float d[num][hr];
dvar float amax;
using CP;
dvar int scalec[hr];
dexpr float c[i in hour]=scalec[i]/scale;
dexpr float b[i in hour]=sqrt((m[i]+c[i])^2+n[i]^2);
// Objective
minimize ((amax*12)/(sum(t in hr)(b[t])));
subject to {
amax==max(i in hr)(b[i]);
forall(i in hr){
c[i]==sum(k in num)d[k][i];
}
forall (i in num){
forall(j in hr){
d[i][j]==e[i][j]-f[i][j];
}
}
n 和 m 不在您的模型中。
using CP;
int scale=100;
range num=1..2;
range hour=1..24;
// Declaration of Decision variables
dvar int+ e[num][hour] in 1..100;
dvar int+ f[num][hour] in 1..100;
dvar int+ d[num][hour] in 1..100;
dvar int+ scalec[hour] in 0..1000;
dexpr float c[i in hour]=scalec[i]/scale;
dexpr float b[i in hour]=sqrt((c[i])^2);
dexpr float amax=max(i in hour)(b[i]);;
// Objective
minimize ((amax*12)/(sum(t in hour)(b[t])));
subject to {
//amax==max(i in hr)(b[i]);
forall(i in hour){
c[i]==sum(k in num)d[k][i];
}
forall (i in num){
forall(j in hour){
d[i][j]==e[i][j]-f[i][j];
}
}
}
有效