Java Reference
Java Reference
RoutingModel.java
Go to the documentation of this file.
106 mainJNI.RoutingModel_VehicleTypeContainer_VehicleClassEntry_vehicle_class_set(swigCPtr, this, value);
110 return mainJNI.RoutingModel_VehicleTypeContainer_VehicleClassEntry_vehicle_class_get(swigCPtr, this);
114 mainJNI.RoutingModel_VehicleTypeContainer_VehicleClassEntry_fixed_cost_set(swigCPtr, this, value);
118 return mainJNI.RoutingModel_VehicleTypeContainer_VehicleClassEntry_fixed_cost_get(swigCPtr, this);
143 public void setSorted_vehicle_classes_per_type(SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t value) {
144 mainJNI.RoutingModel_VehicleTypeContainer_sorted_vehicle_classes_per_type_set(swigCPtr, this, SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t.getCPtr(value));
147 public SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t getSorted_vehicle_classes_per_type() {
148 long cPtr = mainJNI.RoutingModel_VehicleTypeContainer_sorted_vehicle_classes_per_type_get(swigCPtr, this);
149 return (cPtr == 0) ? null : new SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t(cPtr, false);
153 mainJNI.RoutingModel_VehicleTypeContainer_vehicles_per_vehicle_class_set(swigCPtr, this, SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t.getCPtr(value));
157 return new SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t(mainJNI.RoutingModel_VehicleTypeContainer_vehicles_per_vehicle_class_get(swigCPtr, this), true);
233 this(mainJNI.new_RoutingModel_ResourceGroup_Attributes__SWIG_1(Domain.getCPtr(start_domain), start_domain, Domain.getCPtr(end_domain), end_domain), true);
237 return new Domain(mainJNI.RoutingModel_ResourceGroup_Attributes_start_domain(swigCPtr, this), false);
241 return new Domain(mainJNI.RoutingModel_ResourceGroup_Attributes_end_domain(swigCPtr, this), false);
277 public RoutingModel.ResourceGroup.Attributes GetDimensionAttributes(RoutingDimension dimension) {
278 return new RoutingModel.ResourceGroup.Attributes(mainJNI.RoutingModel_ResourceGroup_Resource_GetDimensionAttributes(swigCPtr, this, RoutingDimension.getCPtr(dimension), dimension), false);
290 public int AddResource(RoutingModel.ResourceGroup.Attributes attributes, RoutingDimension dimension) {
291 return mainJNI.RoutingModel_ResourceGroup_AddResource(swigCPtr, this, RoutingModel.ResourceGroup.Attributes.getCPtr(attributes), attributes, RoutingDimension.getCPtr(dimension), dimension);
309 public SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__ResourceGroup__Resource_t GetResources() {
310 return new SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__ResourceGroup__Resource_t(mainJNI.RoutingModel_ResourceGroup_GetResources(swigCPtr, this), false);
314 return new RoutingModel.ResourceGroup.Resource(mainJNI.RoutingModel_ResourceGroup_GetResource(swigCPtr, this, resource_index), false);
317 public SWIGTYPE_p_absl__flat_hash_setT_operations_research__RoutingModel__DimensionIndex_t GetAffectedDimensionIndices() {
318 return new SWIGTYPE_p_absl__flat_hash_setT_operations_research__RoutingModel__DimensionIndex_t(mainJNI.RoutingModel_ResourceGroup_GetAffectedDimensionIndices(swigCPtr, this), false);
352 this(mainJNI.new_RoutingModel__SWIG_0(RoutingIndexManager.getCPtr(index_manager), index_manager), true);
355 public RoutingModel(RoutingIndexManager index_manager, com.google.ortools.constraintsolver.RoutingModelParameters parameters) {
356 this(mainJNI.new_RoutingModel__SWIG_1(RoutingIndexManager.getCPtr(index_manager), index_manager, parameters.toByteArray()), true);
389 public boolean addDimension(int evaluator_index, long slack_max, long capacity, boolean fix_start_cumul_to_zero, String name) {
390 return mainJNI.RoutingModel_addDimension(swigCPtr, this, evaluator_index, slack_max, capacity, fix_start_cumul_to_zero, name);
393 public boolean addDimensionWithVehicleTransits(int[] evaluator_indices, long slack_max, long capacity, boolean fix_start_cumul_to_zero, String name) {
394 return mainJNI.RoutingModel_addDimensionWithVehicleTransits(swigCPtr, this, evaluator_indices, slack_max, capacity, fix_start_cumul_to_zero, name);
397 public boolean addDimensionWithVehicleCapacity(int evaluator_index, long slack_max, long[] vehicle_capacities, boolean fix_start_cumul_to_zero, String name) {
398 return mainJNI.RoutingModel_addDimensionWithVehicleCapacity(swigCPtr, this, evaluator_index, slack_max, vehicle_capacities, fix_start_cumul_to_zero, name);
401 public boolean addDimensionWithVehicleTransitAndCapacity(int[] evaluator_indices, long slack_max, long[] vehicle_capacities, boolean fix_start_cumul_to_zero, String name) {
402 return mainJNI.RoutingModel_addDimensionWithVehicleTransitAndCapacity(swigCPtr, this, evaluator_indices, slack_max, vehicle_capacities, fix_start_cumul_to_zero, name);
408 public IntBoolPair addConstantDimensionWithSlack(long value, long capacity, long slack_max, boolean fix_start_cumul_to_zero, String name) {
409 return new IntBoolPair(mainJNI.RoutingModel_addConstantDimensionWithSlack(swigCPtr, this, value, capacity, slack_max, fix_start_cumul_to_zero, name), true);
412 public IntBoolPair addConstantDimension(long value, long capacity, boolean fix_start_cumul_to_zero, String name) {
413 return new IntBoolPair(mainJNI.RoutingModel_addConstantDimension(swigCPtr, this, value, capacity, fix_start_cumul_to_zero, name), true);
419 public IntBoolPair addVectorDimension(long[] values, long capacity, boolean fix_start_cumul_to_zero, String name) {
420 return new IntBoolPair(mainJNI.RoutingModel_addVectorDimension(swigCPtr, this, values, capacity, fix_start_cumul_to_zero, name), true);
426 public IntBoolPair addMatrixDimension(long[][] values, long capacity, boolean fix_start_cumul_to_zero, String name) {
427 return new IntBoolPair(mainJNI.RoutingModel_addMatrixDimension(swigCPtr, this, values, capacity, fix_start_cumul_to_zero, name), true);
433 public Constraint MakePathSpansAndTotalSlacks(RoutingDimension dimension, IntVar[] spans, IntVar[] total_slacks) {
434 long cPtr = mainJNI.RoutingModel_MakePathSpansAndTotalSlacks(swigCPtr, this, RoutingDimension.getCPtr(dimension), dimension, spans, total_slacks);
438 public SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t GetGlobalDimensionCumulMPOptimizers() {
439 return new SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t(mainJNI.RoutingModel_GetGlobalDimensionCumulMPOptimizers(swigCPtr, this), false);
442 public SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer GetMutableGlobalCumulMPOptimizer(RoutingDimension dimension) {
443 long cPtr = mainJNI.RoutingModel_GetMutableGlobalCumulMPOptimizer(swigCPtr, this, RoutingDimension.getCPtr(dimension), dimension);
444 return (cPtr == 0) ? null : new SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer(cPtr, false);
458 return new RoutingDimension(mainJNI.RoutingModel_getDimensionOrDie(swigCPtr, this, dimension_name), false);
490 public SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__RoutingModel__ResourceGroup_t_t GetResourceGroups() {
491 return new SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__RoutingModel__ResourceGroup_t_t(mainJNI.RoutingModel_GetResourceGroups(swigCPtr, this), false);
503 return mainJNI.RoutingModel_GetDimensionResourceGroupIndices(swigCPtr, this, RoutingDimension.getCPtr(dimension), dimension);
510 return mainJNI.RoutingModel_GetDimensionResourceGroupIndex(swigCPtr, this, RoutingDimension.getCPtr(dimension), dimension);
517 return mainJNI.RoutingModel_addDisjunction__SWIG_0(swigCPtr, this, indices, penalty, max_cardinality);
622 mainJNI.RoutingModel_addPickupAndDeliverySets(swigCPtr, this, pickup_disjunction, delivery_disjunction);
690 return new SWIGTYPE_p_absl__flat_hash_setT_int_t(mainJNI.RoutingModel_getTemporalTypeIncompatibilitiesOfType(swigCPtr, this, type), false);
707 public void addRequiredTypeAlternativesWhenAddingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives) {
708 mainJNI.RoutingModel_addRequiredTypeAlternativesWhenAddingType(swigCPtr, this, dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t.getCPtr(required_type_alternatives));
714 public void addRequiredTypeAlternativesWhenRemovingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives) {
715 mainJNI.RoutingModel_addRequiredTypeAlternativesWhenRemovingType(swigCPtr, this, dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t.getCPtr(required_type_alternatives));
721 public SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenAddingType(int type) {
722 return new SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t(mainJNI.RoutingModel_GetRequiredTypeAlternativesWhenAddingType(swigCPtr, this, type), false);
728 public SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenRemovingType(int type) {
729 return new SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t(mainJNI.RoutingModel_GetRequiredTypeAlternativesWhenRemovingType(swigCPtr, this, type), false);
754 return mainJNI.RoutingModel_unperformedPenaltyOrValue(swigCPtr, this, default_value, var_index);
816 public void setAmortizedCostFactorsOfAllVehicles(long linear_cost_factor, long quadratic_cost_factor) {
817 mainJNI.RoutingModel_setAmortizedCostFactorsOfAllVehicles(swigCPtr, this, linear_cost_factor, quadratic_cost_factor);
823 public void setAmortizedCostFactorsOfVehicle(long linear_cost_factor, long quadratic_cost_factor, int vehicle) {
824 mainJNI.RoutingModel_setAmortizedCostFactorsOfVehicle(swigCPtr, this, linear_cost_factor, quadratic_cost_factor, vehicle);
854 mainJNI.RoutingModel_addLocalSearchOperator(swigCPtr, this, LocalSearchOperator.getCPtr(ls_operator), ls_operator);
889 mainJNI.RoutingModel_AddWeightedVariableMinimizedByFinalizer(swigCPtr, this, IntVar.getCPtr(var), var, cost);
896 mainJNI.RoutingModel_addVariableTargetToFinalizer(swigCPtr, this, IntVar.getCPtr(var), var, target);
909 public void closeModelWithParameters(com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters) {
917 long cPtr = mainJNI.RoutingModel_solve__SWIG_0(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
932 public Assignment solveWithParameters(com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters) {
933 long cPtr = mainJNI.RoutingModel_solveWithParameters(swigCPtr, this, search_parameters.toByteArray());
940 public Assignment solveFromAssignmentWithParameters(Assignment assignment, com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters) {
941 long cPtr = mainJNI.RoutingModel_solveFromAssignmentWithParameters(swigCPtr, this, Assignment.getCPtr(assignment), assignment, search_parameters.toByteArray());
948 public Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t solutions) {
949 long cPtr = mainJNI.RoutingModel_SolveFromAssignmentsWithParameters__SWIG_0(swigCPtr, this, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t.getCPtr(assignments), search_parameters.toByteArray(), SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t.getCPtr(solutions));
956 public Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters) {
957 long cPtr = mainJNI.RoutingModel_SolveFromAssignmentsWithParameters__SWIG_1(swigCPtr, this, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t.getCPtr(assignments), search_parameters.toByteArray());
964 public void setAssignmentFromOtherModelAssignment(Assignment target_assignment, RoutingModel source_model, Assignment source_assignment) {
965 mainJNI.RoutingModel_setAssignmentFromOtherModelAssignment(swigCPtr, this, Assignment.getCPtr(target_assignment), target_assignment, RoutingModel.getCPtr(source_model), source_model, Assignment.getCPtr(source_assignment), source_assignment);
1029 long cPtr = mainJNI.RoutingModel_restoreAssignment(swigCPtr, this, Assignment.getCPtr(solution), solution);
1037 long cPtr = mainJNI.RoutingModel_readAssignmentFromRoutes(swigCPtr, this, routes, ignore_inactive_indices);
1044 public boolean routesToAssignment(long[][] routes, boolean ignore_inactive_indices, boolean close_routes, Assignment assignment) {
1045 return mainJNI.RoutingModel_routesToAssignment(swigCPtr, this, routes, ignore_inactive_indices, close_routes, Assignment.getCPtr(assignment), assignment);
1052 mainJNI.RoutingModel_assignmentToRoutes(swigCPtr, this, Assignment.getCPtr(assignment), assignment, routes);
1059 long cPtr = mainJNI.RoutingModel_compactAssignment(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
1067 long cPtr = mainJNI.RoutingModel_compactAndCheckAssignment(swigCPtr, this, Assignment.getCPtr(assignment), assignment);
1079 mainJNI.RoutingModel_addIntervalToAssignment(swigCPtr, this, IntervalVar.getCPtr(interval), interval);
1086 mainJNI.RoutingModel_addLocalSearchFilter(swigCPtr, this, LocalSearchFilter.getCPtr(filter), filter);
1128 return mainJNI.RoutingModel_next(swigCPtr, this, Assignment.getCPtr(assignment), assignment, index);
1135 return mainJNI.RoutingModel_isVehicleUsed(swigCPtr, this, Assignment.getCPtr(assignment), assignment, vehicle);
1219 return mainJNI.RoutingModel_getArcCostForVehicle(swigCPtr, this, from_index, to_index, vehicle);
1247 return mainJNI.RoutingModel_getArcCostForClass(swigCPtr, this, from_index, to_index, cost_class_index);
1304 return new RoutingModel.VehicleTypeContainer(mainJNI.RoutingModel_GetVehicleTypeContainer(swigCPtr, this), false);
1317 public String debugOutputAssignment(Assignment solution_assignment, String dimension_to_print) {
1318 return mainJNI.RoutingModel_debugOutputAssignment(swigCPtr, this, Assignment.getCPtr(solution_assignment), solution_assignment, dimension_to_print);
1360 public long getNumberOfDecisionsInFirstSolution(com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters) {
1361 return mainJNI.RoutingModel_getNumberOfDecisionsInFirstSolution(swigCPtr, this, search_parameters.toByteArray());
1364 public long getNumberOfRejectsInFirstSolution(com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters) {
1365 return mainJNI.RoutingModel_getNumberOfRejectsInFirstSolution(swigCPtr, this, search_parameters.toByteArray());
1378 public DecisionBuilder makeGuidedSlackFinalizer(RoutingDimension dimension, LongUnaryOperator initializer) {
1379 long cPtr = mainJNI.RoutingModel_makeGuidedSlackFinalizer(swigCPtr, this, RoutingDimension.getCPtr(dimension), dimension, initializer);
1387 long cPtr = mainJNI.RoutingModel_makeSelfDependentDimensionFinalizer(swigCPtr, this, RoutingDimension.getCPtr(dimension), dimension);
1411 public final static int ROUTING_FAIL_TIMEOUT = mainJNI.RoutingModel_ROUTING_FAIL_TIMEOUT_get();
1425 public final static int PICKUP_AND_DELIVERY_NO_ORDER = mainJNI.RoutingModel_PICKUP_AND_DELIVERY_NO_ORDER_get();
1429 public final static int PICKUP_AND_DELIVERY_LIFO = mainJNI.RoutingModel_PICKUP_AND_DELIVERY_LIFO_get();
1433 public final static int PICKUP_AND_DELIVERY_FIFO = mainJNI.RoutingModel_PICKUP_AND_DELIVERY_FIFO_get();
1443 public final static int TYPE_ADDED_TO_VEHICLE = mainJNI.RoutingModel_TYPE_ADDED_TO_VEHICLE_get();
1447 public final static int ADDED_TYPE_REMOVED_FROM_VEHICLE = mainJNI.RoutingModel_ADDED_TYPE_REMOVED_FROM_VEHICLE_get();
1451 public final static int TYPE_ON_VEHICLE_UP_TO_VISIT = mainJNI.RoutingModel_TYPE_ON_VEHICLE_UP_TO_VISIT_get();
1455 public final static int TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED = mainJNI.RoutingModel_TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED_get();
Domain end_domain()
Definition: RoutingModel.java:240
long getFixed_cost()
Definition: RoutingModel.java:117
Assignment compactAndCheckAssignment(Assignment assignment)
Same as CompactAssignment() but also checks the validity of the final compact solution; if it is not ...
Definition: RoutingModel.java:1066
SWIGTYPE_p_operations_research__GlobalDimensionCumulOptimizer GetMutableGlobalCumulMPOptimizer(RoutingDimension dimension)
Definition: RoutingModel.java:442
long getFixedCostOfVehicle(int vehicle)
Returns the route fixed cost taken into account if the route of the vehicle is not empty,...
Definition: RoutingModel.java:809
void setAmortizedCostFactorsOfVehicle(long linear_cost_factor, long quadratic_cost_factor, int vehicle)
Sets the linear and quadratic cost factor of the given vehicle.
Definition: RoutingModel.java:823
SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenRemovingType(int type)
Returns the set of requirement alternatives when removing the given type.
Definition: RoutingModel.java:728
Dimensions represent quantities accumulated at nodes along the routes.
Definition: RoutingDimension.java:18
RoutingDimension getMutableDimension(String dimension_name)
Returns a dimension from its name.
Definition: RoutingModel.java:464
IntVar [] nexts()
Returns all next variables of the model, such that Nexts(i) is the next variable of the node correspo...
Definition: RoutingModel.java:1141
void addVariableMinimizedByFinalizer(IntVar var)
Adds a variable to minimize in the solution finalizer.
Definition: RoutingModel.java:874
long [] GetDisjunctionNodeIndices(int index)
Returns the variable indices of the nodes in the disjunction of index 'index'.
Definition: RoutingModel.java:544
long [] getAmortizedQuadraticCostFactorOfVehicles()
Definition: RoutingModel.java:831
static int getKNoDimension()
Constant used to express the "no dimension" index, returned when a dimension name does not correspond...
Definition: RoutingModel.java:344
A ResourceGroup defines a set of available Resources with attributes on one or multiple dimensions.
Definition: RoutingModel.java:169
Solver Class A solver represents the main computation engine.
Definition: Solver.java:60
boolean HasMaxCardinalityConstrainedDisjunctions()
Returns true if the model contains at least one disjunction which is constrained by its max_cardinali...
Definition: RoutingModel.java:579
static final int ADDED_TYPE_REMOVED_FROM_VEHICLE
When visited, one instance of type 'T' previously added to the route (TYPE_ADDED_TO_VEHICLE),...
Definition: RoutingModel.java:1447
Resource(long cPtr, boolean cMemoryOwn)
Definition: RoutingModel.java:253
int registerPositiveUnaryTransitCallback(LongUnaryOperator callback)
Definition: RoutingModel.java:370
Assignment readAssignment(String file_name)
Reads an assignment from a file and returns the current solution.
Definition: RoutingModel.java:1020
int getVehicleClassesCount()
Returns the number of different vehicle classes in the model.
Definition: RoutingModel.java:1292
RoutingModel.VehicleTypeContainer GetVehicleTypeContainer()
Definition: RoutingModel.java:1303
IntVar vehicleVar(long index)
Returns the vehicle variable of the node corresponding to index.
Definition: RoutingModel.java:1194
void setVehicles_per_vehicle_class(SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t value)
Definition: RoutingModel.java:152
int registerPositiveTransitCallback(LongBinaryOperator callback)
Definition: RoutingModel.java:382
SWIGTYPE_p_absl__flat_hash_setT_int_t getTemporalTypeIncompatibilitiesOfType(int type)
Definition: RoutingModel.java:689
void closeVisitTypes()
This function should be called once all node visit types have been set and prior to adding any incomp...
Definition: RoutingModel.java:670
int getPickupAndDeliveryPolicyOfVehicle(int vehicle)
Definition: RoutingModel.java:636
IntVar applyLocks(long[] locks)
Applies a lock chain to the next search.
Definition: RoutingModel.java:985
void addTemporalTypeIncompatibility(int type1, int type2)
Definition: RoutingModel.java:685
void setAllowedVehiclesForIndex(int[] vehicles, long index)
Sets the vehicles which can visit a given node.
Definition: RoutingModel.java:600
void closeModel()
Closes the current routing model; after this method is called, no modification to the model can be do...
Definition: RoutingModel.java:902
static final int TYPE_ADDED_TO_VEHICLE
Set the node visit types and incompatibilities/requirements between the types (see below).
Definition: RoutingModel.java:1443
boolean hasTemporalTypeRequirements()
Definition: RoutingModel.java:739
Assignment preAssignment()
Returns an assignment used to fix some of the variables of the problem.
Definition: RoutingModel.java:1000
ResourceGroup(RoutingModel model)
Definition: RoutingModel.java:283
Interval variables are often used in scheduling.
Manager for any NodeIndex <-> variable index conversion.
Definition: RoutingIndexManager.java:14
static final int ROUTING_INVALID
Model, model parameters or flags are not valid.
Definition: RoutingModel.java:1415
boolean isVehicleUsed(Assignment assignment, int vehicle)
Returns true if the route of 'vehicle' is non empty in 'assignment'.
Definition: RoutingModel.java:1134
void setPrimaryConstrainedDimension(String dimension_name)
Set the given dimension as "primary constrained".
Definition: RoutingModel.java:472
Definition: RoutingSearchParameters.java:18
int [] getType_index_of_vehicle()
Definition: RoutingModel.java:139
SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__GlobalDimensionCumulOptimizer_t_t GetGlobalDimensionCumulMPOptimizers()
Definition: RoutingModel.java:438
Assignment solve(Assignment assignment)
Solves the current routing model; closes the current model.
Definition: RoutingModel.java:916
static long getKNoPenalty()
Constant used to express a hard constraint instead of a soft penalty.
Definition: RoutingModel.java:330
RoutingModel.ResourceGroup.Resource GetResource(int resource_index)
Definition: RoutingModel.java:313
We call domain any subset of Int64 = [kint64min, kint64max].
Definition: constraintsolver/Domain.java:21
SWIGTYPE_p_std__vectorT_std__unique_ptrT_operations_research__RoutingModel__ResourceGroup_t_t GetResourceGroups()
Definition: RoutingModel.java:490
void addRequiredTypeAlternativesWhenAddingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives)
If type_D depends on type_R when adding type_D, any node_D of type_D and VisitTypePolicy TYPE_ADDED_T...
Definition: RoutingModel.java:707
boolean writeAssignment(String file_name)
Writes the current solution to a file containing an AssignmentProto.
Definition: RoutingModel.java:1013
boolean hasHardTypeIncompatibilities()
Returns true iff any hard (resp.
Definition: RoutingModel.java:696
int [] getDisjunctionIndices(long index)
Returns the indices of the disjunctions to which an index belongs.
Definition: RoutingModel.java:537
int getCostClassesCount()
Returns the number of different cost classes in the model.
Definition: RoutingModel.java:1267
Definition: RoutingModel.java:77
int getVehicleClassIndexOfVehicle(long vehicle)
Definition: RoutingModel.java:1278
boolean isMatchingModel()
Returns true if a vehicle/node matching problem is detected.
Definition: RoutingModel.java:1371
int getNumOfSingletonNodes()
Returns the number of non-start/end nodes which do not appear in a pickup/delivery pair.
Definition: RoutingModel.java:643
A constraint is the main modeling object.
static final int ROUTING_FAIL_TIMEOUT
Time limit reached before finding a solution with RoutingModel::Solve().
Definition: RoutingModel.java:1411
boolean addDimensionWithVehicleTransitAndCapacity(int[] evaluator_indices, long slack_max, long[] vehicle_capacities, boolean fix_start_cumul_to_zero, String name)
Definition: RoutingModel.java:401
boolean addDimensionWithVehicleCapacity(int evaluator_index, long slack_max, long[] vehicle_capacities, boolean fix_start_cumul_to_zero, String name)
Definition: RoutingModel.java:397
IntVar ResourceVar(int vehicle, int resource_group)
Returns the resource variable for the given vehicle index in the given resource group.
Definition: RoutingModel.java:1202
long unperformedPenalty(long var_index)
Get the "unperformed" penalty of a node.
Definition: RoutingModel.java:746
long getDisjunctionMaxCardinality(int index)
Returns the maximum number of possible active nodes of the node disjunction of index 'index'.
Definition: RoutingModel.java:558
Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters)
Same as above but will try all assignments in order as first solutions until one succeeds.
Definition: RoutingModel.java:956
void addSearchMonitor(SearchMonitor monitor)
Adds a search monitor to the search used to solve the routing model.
Definition: RoutingModel.java:860
static final int TYPE_ON_VEHICLE_UP_TO_VISIT
With the following policy, the visit enforces that type 'T' is considered on the route from its start...
Definition: RoutingModel.java:1451
int VehicleIndex(long index)
Returns the vehicle of the given start/end index, and -1 if the given index is not a vehicle start/en...
Definition: RoutingModel.java:1120
long getDepot()
Returns the variable index of the first starting or ending node of all routes.
Definition: RoutingModel.java:760
long computeLowerBound()
Computes a lower bound to the routing problem solving a linear assignment problem.
Definition: RoutingModel.java:971
int Type(int vehicle)
Definition: RoutingModel.java:131
int registerTransitMatrix(long[][] values)
Definition: RoutingModel.java:374
boolean IsVehicleUsedWhenEmpty(int vehicle)
Definition: RoutingModel.java:839
static final int PICKUP_AND_DELIVERY_LIFO
Deliveries must be performed in reverse order of pickups.
Definition: RoutingModel.java:1429
boolean addDimension(int evaluator_index, long slack_max, long capacity, boolean fix_start_cumul_to_zero, String name)
Model creation Methods to add dimensions to routes; dimensions represent quantities accumulated at no...
Definition: RoutingModel.java:389
long getHomogeneousCost(long from_index, long to_index)
Returns the cost of the segment between two nodes supposing all vehicle costs are the same (returns t...
Definition: RoutingModel.java:1232
Assignment solveFromAssignmentWithParameters(Assignment assignment, com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters)
Same as above, except that if assignment is not null, it will be used as the initial solution.
Definition: RoutingModel.java:940
void setAssignmentFromOtherModelAssignment(Assignment target_assignment, RoutingModel source_model, Assignment source_assignment)
Given a "source_model" and its "source_assignment", resets "target_assignment" with the IntVar variab...
Definition: RoutingModel.java:964
boolean isStart(long index)
Returns true if 'index' represents the first node of a route.
Definition: RoutingModel.java:1106
void addLocalSearchOperator(LocalSearchOperator ls_operator)
Adds a local search operator to the set of operators used to solve the vehicle routing problem.
Definition: RoutingModel.java:853
SWIGTYPE_p_absl__flat_hash_setT_operations_research__RoutingModel__DimensionIndex_t GetAffectedDimensionIndices()
Definition: RoutingModel.java:317
ResourceGroup(long cPtr, boolean cMemoryOwn)
Definition: RoutingModel.java:173
void addSoftSameVehicleConstraint(long[] indices, long cost)
Adds a soft constraint to force a set of variable indices to be on the same vehicle.
Definition: RoutingModel.java:593
long getDisjunctionPenalty(int index)
Returns the penalty of the node disjunction of index 'index'.
Definition: RoutingModel.java:551
boolean arcIsMoreConstrainedThanArc(long from, long to1, long to2)
Returns whether the arc from->to1 is more constrained than from->to2, taking into account,...
Definition: RoutingModel.java:1310
void AddWeightedVariableMinimizedByFinalizer(IntVar var, long cost)
Adds a variable to minimize in the solution finalizer, with a weighted priority: the higher the more ...
Definition: RoutingModel.java:888
int addDisjunction(long[] indices, long penalty, long max_cardinality)
Adds a disjunction constraint on the indices: exactly 'max_cardinality' of the indices are active.
Definition: RoutingModel.java:516
Struct used to sort and store vehicles by their type.
Definition: RoutingModel.java:49
IntVar activeVar(long index)
Returns the active variable of the node corresponding to index.
Definition: RoutingModel.java:1170
Assignment solve()
Solves the current routing model; closes the current model.
Definition: RoutingModel.java:924
int [] getSameVehicleIndicesOfIndex(int node)
Returns variable indices of nodes constrained to be on the same route.
Definition: RoutingModel.java:1299
long next(Assignment assignment, long index)
Assignment inspection Returns the variable index of the node directly after the node corresponding to...
Definition: RoutingModel.java:1127
void addIntervalToAssignment(IntervalVar interval)
Definition: RoutingModel.java:1078
boolean checkLimit()
Returns true if the search limit has been crossed.
Definition: RoutingModel.java:1332
int [] GetVehiclesRequiringAResource()
Definition: RoutingModel.java:301
The class IntVar is a subset of IntExpr.
IntVar [] vehicleVars()
Returns all vehicle variables of the model, such that VehicleVars(i) is the vehicle variable of the n...
Definition: RoutingModel.java:1148
IntVar VehicleRouteConsideredVar(int vehicle)
Returns the variable specifying whether or not the given vehicle route is considered for costs and co...
Definition: RoutingModel.java:1186
RoutingModel(long cPtr, boolean cMemoryOwn)
Definition: RoutingModel.java:22
Assignment solveWithParameters(com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters)
Solves the current routing model with the given parameters.
Definition: RoutingModel.java:932
void addRequiredTypeAlternativesWhenRemovingType(int dependent_type, SWIGTYPE_p_absl__flat_hash_setT_int_t required_type_alternatives)
The following requirements apply when visiting dependent nodes that remove their type from the route,...
Definition: RoutingModel.java:714
SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t getSorted_vehicle_classes_per_type()
Definition: RoutingModel.java:147
int GetDimensionResourceGroupIndex(RoutingDimension dimension)
Returns the index of the resource group attached to the dimension.
Definition: RoutingModel.java:509
Constraint MakePathSpansAndTotalSlacks(RoutingDimension dimension, IntVar[] spans, IntVar[] total_slacks)
For every vehicle of the routing model: - if total_slacks[vehicle] is not nullptr,...
Definition: RoutingModel.java:433
void SetVehicleUsedWhenEmpty(boolean is_used, int vehicle)
Definition: RoutingModel.java:835
void addPickupAndDeliverySets(int pickup_disjunction, int delivery_disjunction)
Same as AddPickupAndDelivery but notifying that the performed node from the disjunction of index 'pic...
Definition: RoutingModel.java:621
long [] getAmortizedLinearCostFactorOfVehicles()
Definition: RoutingModel.java:827
A search monitor is a simple set of callbacks to monitor all search events.
Definition: SearchMonitor.java:14
long getArcCostForVehicle(long from_index, long to_index, long vehicle)
Returns the cost of the transit arc between two nodes for a given vehicle.
Definition: RoutingModel.java:1218
IntVar nextVar(long index)
Returns the next variable of the node corresponding to index.
Definition: RoutingModel.java:1162
int getVisitType(long index)
Definition: RoutingModel.java:651
A DecisionBuilder is responsible for creating the search tree.
Definition: DecisionBuilder.java:14
boolean hasSameVehicleTypeRequirements()
Returns true iff any same-route (resp.
Definition: RoutingModel.java:735
boolean isEnd(long index)
Returns true if 'index' represents the last node of a route.
Definition: RoutingModel.java:1113
Assignment mutablePreAssignment()
Definition: RoutingModel.java:1005
void addHardTypeIncompatibility(int type1, int type2)
Incompatibilities: Two nodes with "hard" incompatible types cannot share the same route at all,...
Definition: RoutingModel.java:681
void addVariableTargetToFinalizer(IntVar var, long target)
Add a variable to set the closest possible to the target value in the solution finalizer.
Definition: RoutingModel.java:895
boolean applyLocksToAllVehicles(long[][] locks, boolean close_routes)
Applies lock chains to all vehicles to the next search, such that locks[p] is the lock chain for rout...
Definition: RoutingModel.java:993
void NotifyVehicleRequiresAResource(int vehicle)
Notifies that the given vehicle index requires a resource from this group if the vehicle is used (i....
Definition: RoutingModel.java:297
int addDisjunction(long[] indices, long penalty)
Adds a disjunction constraint on the indices: exactly 'max_cardinality' of the indices are active.
Definition: RoutingModel.java:523
boolean addDimensionWithVehicleTransits(int[] evaluator_indices, long slack_max, long capacity, boolean fix_start_cumul_to_zero, String name)
Definition: RoutingModel.java:393
int [] GetPairIndicesOfType(int type)
Definition: RoutingModel.java:659
IntBoolPair addVectorDimension(long[] values, long capacity, boolean fix_start_cumul_to_zero, String name)
Creates a dimension where the transit variable is constrained to be equal to 'values[i]' for node i; ...
Definition: RoutingModel.java:419
SWIGTYPE_p_std__vectorT_std__dequeT_int_t_t getVehicles_per_vehicle_class()
Definition: RoutingModel.java:156
IntBoolPair addMatrixDimension(long[][] values, long capacity, boolean fix_start_cumul_to_zero, String name)
Creates a dimension where the transit variable is constrained to be equal to 'values[i][next(i)]' for...
Definition: RoutingModel.java:426
int getNonZeroCostClassesCount()
Ditto, minus the 'always zero', built-in cost class.
Definition: RoutingModel.java:1274
int AddResource(RoutingModel.ResourceGroup.Attributes attributes, RoutingDimension dimension)
Adds a Resource with the given attributes for the corresponding dimension.
Definition: RoutingModel.java:290
void SetMaximumNumberOfActiveVehicles(int max_active_vehicles)
Constrains the maximum number of active vehicles, aka the number of vehicles which do not have an emp...
Definition: RoutingModel.java:767
void addPickupAndDelivery(long pickup, long delivery)
Notifies that index1 and index2 form a pair of nodes which should belong to the same route.
Definition: RoutingModel.java:614
void closeModelWithParameters(com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters)
Same as above taking search parameters (as of 10/2015 some the parameters have to be set when closing...
Definition: RoutingModel.java:909
Attributes for a dimension.
Definition: RoutingModel.java:200
int GetVisitTypePolicy(long index)
Definition: RoutingModel.java:663
void addToAssignment(IntVar var)
Adds an extra variable to the vehicle routing assignment.
Definition: RoutingModel.java:1074
VehicleTypeContainer(long cPtr, boolean cMemoryOwn)
Definition: RoutingModel.java:53
int GetVehicleOfClass(int vehicle_class)
Returns a vehicle of the given vehicle class, and -1 if there are no vehicles for this class.
Definition: RoutingModel.java:1285
This class represent a reversible FIFO structure.
Definition: LocalSearchOperator.java:14
long end(int vehicle)
Returns the variable index of the ending node of a vehicle route.
Definition: RoutingModel.java:1099
void setVehicle_class(int value)
Definition: RoutingModel.java:105
RoutingModel(RoutingIndexManager index_manager, com.google.ortools.constraintsolver.RoutingModelParameters parameters)
Definition: RoutingModel.java:355
IntVar [] ResourceVars(int resource_group)
Returns vehicle resource variables for a given resource group, such that ResourceVars(r_g)[v] is the ...
Definition: RoutingModel.java:1155
Definition: RoutingModelParameters.java:13
void ignoreDisjunctionsAlreadyForcedToZero()
SPECIAL: Makes the solver ignore all the disjunctions whose active variables are all trivially zero (...
Definition: RoutingModel.java:586
VehicleClassEntry(long cPtr, boolean cMemoryOwn)
Definition: RoutingModel.java:81
void addVariableMaximizedByFinalizer(IntVar var)
Adds a variable to maximize in the solution finalizer (see above for information on the solution fina...
Definition: RoutingModel.java:881
Assignment restoreAssignment(Assignment solution)
Restores an assignment as a solution in the routing model and returns the new solution.
Definition: RoutingModel.java:1028
boolean VehicleRequiresAResource(int vehicle)
Definition: RoutingModel.java:305
VehicleTypeContainer()
Definition: RoutingModel.java:160
Classes to which this template function can be applied to as of 04/2014.
Definition: LocalSearchFilter.java:14
int addDisjunction(long[] indices)
Adds a disjunction constraint on the indices: exactly 'max_cardinality' of the indices are active.
Definition: RoutingModel.java:530
void setVisitType(long index, int type, int type_policy)
Definition: RoutingModel.java:647
void setPickupAndDeliveryPolicyOfAllVehicles(int policy)
Sets the Pickup and delivery policy of all vehicles.
Definition: RoutingModel.java:628
boolean isVehicleAllowedForIndex(int vehicle, long index)
Returns true if a vehicle is allowed to visit a given node.
Definition: RoutingModel.java:607
static final int PICKUP_AND_DELIVERY_NO_ORDER
Types of precedence policy applied to pickup and delivery pairs.
Definition: RoutingModel.java:1425
DecisionBuilder makeGuidedSlackFinalizer(RoutingDimension dimension, LongUnaryOperator initializer)
The next few members are in the public section only for testing purposes.
Definition: RoutingModel.java:1378
Assignment compactAssignment(Assignment assignment)
Converts the solution in the given assignment to routes for all vehicles.
Definition: RoutingModel.java:1058
IntVar costVar()
Returns the global cost variable which is being minimized.
Definition: RoutingModel.java:1210
An Assignment is a variable -> domains mapping, used to report solutions to the user.
Definition: Assignment.java:14
void setFixed_cost(long value)
Definition: RoutingModel.java:113
String getPrimaryConstrainedDimension()
Get the primary constrained dimension, or an empty string if it is unset.
Definition: RoutingModel.java:479
Assignment readAssignmentFromRoutes(long[][] routes, boolean ignore_inactive_indices)
Restores the routes as the current solution.
Definition: RoutingModel.java:1036
RoutingModel.ResourceGroup GetResourceGroup(int rg_index)
Definition: RoutingModel.java:494
int getVehicle_class()
Definition: RoutingModel.java:109
int registerTransitCallback(LongBinaryOperator callback)
Definition: RoutingModel.java:378
int registerUnaryTransitCallback(LongUnaryOperator callback)
Definition: RoutingModel.java:366
RoutingModel.ResourceGroup.Attributes GetDimensionAttributes(RoutingDimension dimension)
Definition: RoutingModel.java:277
Domain start_domain()
Definition: RoutingModel.java:236
void setFixedCostOfVehicle(long cost, int vehicle)
Sets the fixed cost of one vehicle route.
Definition: RoutingModel.java:802
RoutingModel(RoutingIndexManager index_manager)
Constructor taking an index manager.
Definition: RoutingModel.java:351
Solver solver()
Returns a vector cumul_bounds, for which cumul_bounds[i][j] is a pair containing the minimum and maxi...
Definition: RoutingModel.java:1324
long getArcCostForFirstSolution(long from_index, long to_index)
Returns the cost of the arc in the context of the first solution strategy.
Definition: RoutingModel.java:1239
int getCostClassIndexOfVehicle(long vehicle)
Get the cost class index of the given vehicle.
Definition: RoutingModel.java:1253
long getArcCostForClass(long from_index, long to_index, long cost_class_index)
Returns the cost of the segment between two nodes for a given cost class.
Definition: RoutingModel.java:1246
IntBoolPair addConstantDimension(long value, long capacity, boolean fix_start_cumul_to_zero, String name)
Definition: RoutingModel.java:412
void addLocalSearchFilter(LocalSearchFilter filter)
Adds a custom local search filter to the list of filters used to speed up local search by pruning unf...
Definition: RoutingModel.java:1085
Attributes(long cPtr, boolean cMemoryOwn)
Definition: RoutingModel.java:204
String debugOutputAssignment(Assignment solution_assignment, String dimension_to_print)
Print some debugging information about an assignment, including the feasible intervals of the CumulVa...
Definition: RoutingModel.java:1317
void setFixedCostOfAllVehicles(long cost)
Sets the fixed cost of all vehicle routes.
Definition: RoutingModel.java:795
int registerUnaryTransitVector(long[] values)
Registers 'callback' and returns its index.
Definition: RoutingModel.java:362
Assignment SolveFromAssignmentsWithParameters(SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t assignments, com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters, SWIGTYPE_p_std__vectorT_operations_research__Assignment_const_p_t solutions)
Same as above but will try all assignments in order as first solutions until one succeeds.
Definition: RoutingModel.java:948
Attributes(Domain start_domain, Domain end_domain)
Definition: RoutingModel.java:232
void setSorted_vehicle_classes_per_type(SWIGTYPE_p_std__vectorT_std__setT_operations_research__RoutingModel__VehicleTypeContainer__VehicleClassEntry_t_t value)
Definition: RoutingModel.java:143
void setArcCostEvaluatorOfVehicle(int evaluator_index, int vehicle)
Sets the cost function for a given vehicle route.
Definition: RoutingModel.java:788
static final int ROUTING_FAIL
No solution found to the problem after calling RoutingModel::Solve().
Definition: RoutingModel.java:1407
IntBoolPair addConstantDimensionWithSlack(long value, long capacity, long slack_max, boolean fix_start_cumul_to_zero, String name)
Creates a dimension where the transit variable is constrained to be equal to 'value'; 'capacity' is t...
Definition: RoutingModel.java:408
long unperformedPenaltyOrValue(long default_value, long var_index)
Same as above except that it returns default_value instead of 0 when penalty is not well defined (def...
Definition: RoutingModel.java:753
void assignmentToRoutes(Assignment assignment, long[][] routes)
Converts the solution in the given assignment to routes for all vehicles.
Definition: RoutingModel.java:1051
SWIGTYPE_p_std__vectorT_absl__flat_hash_setT_int_t_t GetRequiredTypeAlternativesWhenAddingType(int type)
Returns the set of requirement alternatives when adding the given type.
Definition: RoutingModel.java:721
RoutingDimension getDimensionOrDie(String dimension_name)
Returns a dimension from its name.
Definition: RoutingModel.java:457
int GetMaximumNumberOfActiveVehicles()
Returns the maximum number of active vehicles.
Definition: RoutingModel.java:774
A Resource sets attributes (costs/constraints) for a set of dimensions.
Definition: RoutingModel.java:249
int [] GetSingleNodesOfType(int type)
Definition: RoutingModel.java:655
SWIGTYPE_p_std__vectorT_operations_research__RoutingModel__ResourceGroup__Resource_t GetResources()
Definition: RoutingModel.java:309
boolean hasDimension(String dimension_name)
Returns true if a dimension exists for a given dimension name.
Definition: RoutingModel.java:450
IntVar activeVehicleVar(int vehicle)
Returns the active variable of the vehicle.
Definition: RoutingModel.java:1178
void setType_index_of_vehicle(int[] value)
Definition: RoutingModel.java:135
long getNumberOfRejectsInFirstSolution(com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters)
Definition: RoutingModel.java:1364
Attributes()
Definition: RoutingModel.java:228
static final int PICKUP_AND_DELIVERY_FIFO
Deliveries must be performed in the same order as pickups.
Definition: RoutingModel.java:1433
int NumTypes()
Definition: RoutingModel.java:127
long getNumberOfDecisionsInFirstSolution(com.google.ortools.constraintsolver.RoutingSearchParameters search_parameters)
Returns statistics on first solution search, number of decisions sent to filters, number of decisions...
Definition: RoutingModel.java:1360
static final int TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED
The visit doesn't have an impact on the number of types 'T' on the route, as it's (virtually) added a...
Definition: RoutingModel.java:1455
boolean costsAreHomogeneousAcrossVehicles()
Whether costs are homogeneous across all vehicles.
Definition: RoutingModel.java:1225
boolean hasVehicleWithCostClassIndex(int cost_class_index)
Returns true iff the model contains a vehicle with the given cost_class_index.
Definition: RoutingModel.java:1260
int Size()
Definition: RoutingModel.java:321
void setArcCostEvaluatorOfAllVehicles(int evaluator_index)
Sets the cost function of the model such that the cost of a segment of a route between node 'from' an...
Definition: RoutingModel.java:781
int nodes()
Sizes and indices Returns the number of nodes in the model.
Definition: RoutingModel.java:1339
int [] GetDimensionResourceGroupIndices(RoutingDimension dimension)
Returns the indices of resource groups for this dimension.
Definition: RoutingModel.java:502
boolean routesToAssignment(long[][] routes, boolean ignore_inactive_indices, boolean close_routes, Assignment assignment)
Fills an assignment from a specification of the routes of the vehicles.
Definition: RoutingModel.java:1044
void setAmortizedCostFactorsOfAllVehicles(long linear_cost_factor, long quadratic_cost_factor)
The following methods set the linear and quadratic cost factors of vehicles (must be positive values)...
Definition: RoutingModel.java:816
boolean HasMandatoryDisjunctions()
Returns true if the model contains mandatory disjunctions (ones with kNoPenalty as penalty).
Definition: RoutingModel.java:572
int getNumberOfVisitTypes()
Definition: RoutingModel.java:674
VehicleClassEntry()
Definition: RoutingModel.java:121
boolean hasTemporalTypeIncompatibilities()
Definition: RoutingModel.java:700
void setPickupAndDeliveryPolicyOfVehicle(int policy, int vehicle)
Definition: RoutingModel.java:632
void setFirstSolutionEvaluator(LongBinaryOperator evaluator)
Gets/sets the evaluator used during the search.
Definition: RoutingModel.java:846
DecisionBuilder makeSelfDependentDimensionFinalizer(RoutingDimension dimension)
MakeSelfDependentDimensionFinalizer is a finalizer for the slacks of a self-dependent dimension.
Definition: RoutingModel.java:1386
static int getKNoDisjunction()
Constant used to express the "no disjunction" index, returned when a node does not appear in any disj...
Definition: RoutingModel.java:337
int getNumberOfDisjunctions()
Returns the number of node disjunctions in the model.
Definition: RoutingModel.java:565
static final int ROUTING_SUCCESS
Problem solved successfully after calling RoutingModel::Solve().
Definition: RoutingModel.java:1403
void addAtSolutionCallback(Runnable callback)
Adds a callback called each time a solution is found during the search.
Definition: RoutingModel.java:867