CPLEX优化:程序冻结

问题描述

我正在尝试在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 (将#修改为@)