does this mean that if I implement Routing-Problems like in the Routing-Examples shown, there will be no problem with the deprecated constraint solver?
In my special case, I'm using a RoutingModel as shown in the example. Due to the fact that I need a rank-constraint (some stations have to be visited before other stations but it doesn't matter what is visited between those two stations) I had to implement a custom dimension with a constraint like this:
Solver solver = routingModel.solver();
//Creates a dimension where the transit variable is constrained to be equal to evaluator(i, next(i)); 'slack_max' is the upper bound of the slack variable (movement) and 'capacity' is the upper bound of the cumul variables. 'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model.Returns false if a dimension with the same name has already been created(and doesn't create the new dimension). Takes ownership of the callback 'evaluator'.
const string rank_name = "rank";
routingModel.AddConstantDimension(1, stationNumber + 1, false, rank_name);
//Precedence Constraints hinzufügen
//mat(i,j)=1 if i is ranked before j
for (int rows = 0; rows < stationNumber; rows++)
{
for (int columns = 0; columns < stationNumber; columns++)
{
if (precedenceMatrix[rows, columns] == true)
{
solver.Add(solver.MakeLess(routingModel.CumulVar(rows + 1, rank_name), routingModel.CumulVar(columns + 1, rank_name)));//+1 in cumulVar because depot is included
}
}
}
RoutingDimension rank_dimension = routingModel.GetDimensionOrDie(rank_name);
Due to this, the constraint solver is used directly, will I have to update this code (what do I have to do?) or will this be updated on the library side?