CPLEX:当我 运行 OPL 时错误太多
CPLEX: Too Many Errors When i run OPL
我是 CPLEX 12.8 的初学者。我尝试 运行 OPL model,出现 51 个错误,包括 "CPLEX cannot extract expression" "Index out of bound for array" 并以 "Too many errors, giving up at 50."
结尾
这是我的 model 中显示错误的部分内容:
forall(p in plant, k1 in truck, k2 in truck, j1 in jobs, j2 in jobs)
start_load[p][k1][j1]+load_time[k1][j1] <= start_load[p][k2][j2];
forall (k in truck,j in jobs)
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j+1] <=
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j] ;
forall(p in plant,r in request)
travel_time_r[p][r] == (distance_r[p][r])/velocity ;
我的 .dat .mod 在这里 :
我如何调试这个 model。提前谢谢你。
已编辑
ct8 : forall(p1 in plant, p2 in plant, r in request, k in truck, j in jobs : j == j0)
sum(m in deliveries : (j+1) in jobs)
x[p1][r][m][k][j]*end_pour[k][j] <= arrive_plant[p2][k][j+1]+(base[p2][k]*travel_time_r[p][r]);
ct19 : forall(p1 in plant, p2 in plant, r1 in request, r2 in request,k in truck, j in jobs : j != j0)
end_pour[k][j] <=
(sum(m1 in deliveries, m2 in deliveries : (j+1) in jobs)
x[p1][r1][m1][k][j]*x[p2][r2][m2][k][j+1]*travel_time_r[p2][r1])+arrive_plant[p2][k][j+1];
您有一些越界问题需要解决。让我举个例子:
您写道:
ct3 : forall (k in truck,j in jobs)
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j+1] <=
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j] ;
但你应该这样写:
ct3 : forall (k in truck,j in jobs)
sum(p in plant,r in request,m in deliveries:(j+1) in jobs)
x[p][r][m][k][j+1] <=
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j] ;
我是 CPLEX 12.8 的初学者。我尝试 运行 OPL model,出现 51 个错误,包括 "CPLEX cannot extract expression" "Index out of bound for array" 并以 "Too many errors, giving up at 50."
结尾这是我的 model 中显示错误的部分内容:
forall(p in plant, k1 in truck, k2 in truck, j1 in jobs, j2 in jobs)
start_load[p][k1][j1]+load_time[k1][j1] <= start_load[p][k2][j2];
forall (k in truck,j in jobs)
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j+1] <=
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j] ;
forall(p in plant,r in request)
travel_time_r[p][r] == (distance_r[p][r])/velocity ;
我的 .dat .mod 在这里 :
我如何调试这个 model。提前谢谢你。
已编辑
ct8 : forall(p1 in plant, p2 in plant, r in request, k in truck, j in jobs : j == j0)
sum(m in deliveries : (j+1) in jobs)
x[p1][r][m][k][j]*end_pour[k][j] <= arrive_plant[p2][k][j+1]+(base[p2][k]*travel_time_r[p][r]);
ct19 : forall(p1 in plant, p2 in plant, r1 in request, r2 in request,k in truck, j in jobs : j != j0)
end_pour[k][j] <=
(sum(m1 in deliveries, m2 in deliveries : (j+1) in jobs)
x[p1][r1][m1][k][j]*x[p2][r2][m2][k][j+1]*travel_time_r[p2][r1])+arrive_plant[p2][k][j+1];
您有一些越界问题需要解决。让我举个例子:
您写道:
ct3 : forall (k in truck,j in jobs)
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j+1] <=
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j] ;
但你应该这样写:
ct3 : forall (k in truck,j in jobs)
sum(p in plant,r in request,m in deliveries:(j+1) in jobs)
x[p][r][m][k][j+1] <=
sum(p in plant,r in request,m in deliveries)
x[p][r][m][k][j] ;