问题描述
我正在尝试在CPLEX中编码我的数学模型,但是当遇到我的约束之一时,它就会冻结。我非常确定问题出在变量M [cc]。这里的代码:
//Constraint 9
for (cc = 0; cc < NumberOfCourses; cc++)
for (rr = 0; rr < AvailableRooms; rr++)
for (ss = 0; ss < AvailableTimeSlots; ss++) {
mod.add((1 - Y[cc][rr])*(-BigM) + distance[rr][ss] <= M[cc] + (1 - Y[cc][ss])*(BigM));
cout << M[cc];
}
这是我定义上述参数和变量的方式:
long int BigM = 100000;
double distance[AvailableRooms][AvailableRooms];
//Ycr
IloBoolVararray2 Y(env,NumberOfCourses);
for (cc = 0; cc < NumberOfCourses; cc++)
Y[cc] = IloBoolVararray(env,AvailableRooms);
IloNumVararray M(env,NumberOfCourses,IloInfinity);
这是M [cc]冻结之前的输出:
IloNumVar(20311)[0 .. inf] IloNumVar(20311)[0 .. inf] IloNumVar(20311)[0 .. inf] IloNumVar(20311)[0 .. inf] IloNumVar(20311)[0。 。inf] IloNumVar(20311)[0 .. inf] IloNumVar(20311)[0 .. inf] IloNumVar(20311)[0 .. inf] IloNumVar(20311)[0 .. inf] IloNumVar(20311)[0。 。inf]
关于变量M [cc]的解释:该变量表示课程c在房间r和s之间的最大距离,在约束条件下,我们要确保distance [rr] [ss]小于最大距离。>
我陷入困境为什么会给我一个错误?我应该以其他方式定义M [cc]吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)