I am a beginner in programming and my code is showing the error cplex (default) can not extract the expression. My model should minimize the cost with subject to emissions (pareto-optimiation) by comparing different transport modes. When I run the model with just min cost or min emissions it works fine, but once I add the subjective of emissions or costs respectively the error occurs. I have tested the model with smaller input data, and it worked well.
The errors are:
- Cplex (default) can not extract the expression: emissions_constraint: TotalEmission <= 976222726.
- CPLEX(default) can not extract the expression : forall(a in 1..13462) emissions_constraint: TotalEmission <= 976222726. Karolina_MA.mod /Karolina_MA 115:4-117:33 C:\Users\seitzkar\opl\Karolina_MA\Karolina_MA.mod OPL-Problemmarkierung
- OPL can not extract the expression: emissions_constraint: TotalEmission <= 976222726. Karolina_MA.mod /Karolina_MA 116:6-117:33 C:\Users\seitzkar\opl\Karolina_MA\Karolina_MA.mod OPL-Problemmarkierung
Can someone help me to figure out what the problem is? Thank you!
Following is part of my code:
// Parameters
int a=...; // Set of arcs available from departure to destination
int m=...; // Set of transport modes for direct shipment (trucks)
int n=...; // Set of transport modes for multi-mode shipments (train, vessel, airplane)
range arc =1..a;
range transport_dir =1..m;
range transport_mm=1..n;
// decision variables
dvar boolean Y[arc];
dvar boolean X_dir[arc][transport_dir];
dvar boolean X_mm[arc][transport_mm];
// expression costs
dexpr float TotalCost_dir = sum(a in arc, m in transport_dir) cost_dir[a][m]*shipments_dir[a]*X_dir[a][m];
dexpr float TotalCost_mm = sum(a in arc, n in transport_mm) cost_mm[a][n]*shipments_dir[a]*X_mm[a][n];
dexpr float TotalCost = TotalCost_dir + TotalCost_mm;
//expression emissions
dexpr float TotalEmission_dir = sum(a in arc, m in transport_dir) emissions_dir[a][m]*shipments_dir[a]*X_dir[a][m];
dexpr float TotalEmission_mm = sum(a in arc, n in transport_mm) emissions_mm[a][n]*shipments_dir[a]*X_mm[a][n];
dexpr float TotalEmission = TotalEmission_dir + TotalEmission_mm;
// objective
//minimize TotalEmission;
minimize TotalCost;
subject to {
//General Emission constraint - subject to min. cost
forall (a in arc)
emissions_constraint:
TotalEmission <= 976222726;}