我想找到 cplex opl 中数组的最大值。 例如:
forall(i in hour){
S_total[i]==sqrt((P_tload[i]+P_EV[i])^2+Q_tload[i]^2);
}
在上面的例子中,我想找到Smax,它等于数组S_total的最大值。这里,P_EV[i] 是一个变量。
您可以使用“max”,如示例中所示https://github.com/AlexFleischerParis/zooopl/blob/master/zoomax.mod
maxNbOfBusesGivenSize==max(i in buses) nbBus[i];
在
int nbKids=300;
{int} buses={30,40,50};
dvar int+ nbBus[buses];
dvar int maxNbOfBusesGivenSize;
minimize maxNbOfBusesGivenSize;
subject to
{
// logical constraint
// maxNbOfBusesGivenSize is the max of all nbBus
maxNbOfBusesGivenSize==max(i in buses) nbBus[i];
sum(i in buses) i*nbBus[i]>=nbKids;
}
execute DISPLAY_After_SOLVE
{
writeln("The max number of buses is ",maxNbOfBusesGivenSize);
writeln("nbBus = ",nbBus);
}