晚上好
我现在正在做Cplex,如果有人能帮我解决一个简单的疑问,那就太好了。
我的程序旨在优化自行车共享系统的小网络中每个站点的自行车数量。由于车站之间的自行车使用不一致,有时需要重新平衡某些车站的自行车数量,并保证每个车站在预定义的间隔内拥有一定数量的自行车。
我的目标是确保负责自行车再平衡的卡车的第一站是在自行车短缺(低于L)或剩余(高于U)的一个站点。
这是我的代码。任何帮助将是伟大的,提前谢谢你:)forall (i in stations)
if (e[i]>U[i]) {
sSurplus [i] == 1;
} else {
sSurplus[i] == 0;
}
forall (i in stations)
if (e[i]<L[i]) {
sShortage [i] == 1;
} else {
sShortage[i] == 0;
sum (i in stations)
firstStation [i] == 1;
假设sSurplus是一个决策变量,而不是
forall (i in stations)
if (e[i]>U[i]) {
sSurplus [i] == 1;
} else {
sSurplus[i] == 0;
}
你应该写
forall (i in stations) sSurplus [i]==(e[i]>=U[i]+1);