CPLEX:运行OPL时错误太多

CPLEX:运行OPL时错误太多,cplex,Cplex,我是CPLEX 12.8的初学者。我试着运行一个OPL模型,似乎有51个错误,包括“CPLEX无法提取表达式”“索引超出数组的界限”和“错误太多,在50时放弃” 这是我的模型中显示错误的部分: 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]; 我的.dat.mod在这

我是CPLEX 12.8的初学者。我试着运行一个OPL模型,似乎有51个错误,包括“CPLEX无法提取表达式”“索引超出数组的界限”和“错误太多,在50时放弃”

这是我的模型中显示错误的部分:

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];
我的.dat.mod在这里:


我如何调试这个模型。先谢谢你

编辑

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]);
ct8:forall(p1在工厂中,p2在工厂中,r在请求中,k在卡车中,j在作业中:j==j0)
总和(交付量中的m(工作量中的j+1))

x[p1][r][m][k][j]*end_-pour[k][j]您有一些超出范围的问题需要解决。让我举个例子:

你写道:

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,作业中的j)
总和(工厂p,请求r,交付m)

x[p][r][m][k][j+1]非常感谢,但我仍然有两个限制条件的错误:ct8和ct19。正如在ct8和ct19的主要帖子中所示,您有一些不是线性的产品。最后,我解释了如何处理这个问题
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] ;