![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
Definition at line 465 of file routing_lp_scheduling.h.
#include <routing_lp_scheduling.h>
Public Member Functions | |
RoutingCPSatWrapper () | |
~RoutingCPSatWrapper () override | |
void | Clear () override |
int | CreateNewPositiveVariable () override |
void | SetVariableName (int index, absl::string_view name) override |
bool | SetVariableBounds (int index, int64_t lower_bound, int64_t upper_bound) override |
void | SetVariableDisjointBounds (int index, const std::vector< int64_t > &starts, const std::vector< int64_t > &ends) override |
int64_t | GetVariableLowerBound (int index) const override |
int64_t | GetVariableUpperBound (int index) const override |
void | SetObjectiveCoefficient (int index, double coefficient) override |
double | GetObjectiveCoefficient (int index) const override |
void | ClearObjective () override |
int | NumVariables () const override |
int | CreateNewConstraint (int64_t lower_bound, int64_t upper_bound) override |
void | SetCoefficient (int ct_index, int index, double coefficient) override |
bool | IsCPSATSolver () override |
void | AddObjectiveConstraint () override |
void | AddMaximumConstraint (int max_var, std::vector< int > vars) override |
void | AddProductConstraint (int product_var, std::vector< int > vars) override |
void | SetEnforcementLiteral (int ct, int condition) override |
void | AddRoute (absl::Span< const int64_t > nodes, absl::Span< const int > schedule_variables) override |
DimensionSchedulingStatus | Solve (absl::Duration duration_limit) override |
int64_t | GetObjectiveValue () const override |
double | GetValue (int index) const override |
bool | SolutionIsInteger () const override |
void | SetParameters (const std::string &) override |
bool | ModelIsEmpty () const override |
Returns if the model is empty or not. | |
std::string | PrintModel () const override |
Prints an understandable view of the model. | |
Public Member Functions inherited from operations_research::RoutingLinearSolverWrapper | |
virtual | ~RoutingLinearSolverWrapper ()=default |
int | AddVariable (int64_t lower_bound, int64_t upper_bound) |
Adds a variable with bounds [lower_bound, upper_bound]. | |
int | AddLinearConstraint (int64_t lower_bound, int64_t upper_bound, absl::Span< const std::pair< int, double > > variable_coeffs) |
int | AddReifiedLinearConstraint (int64_t lower_bound, int64_t upper_bound, absl::Span< const std::pair< int, double > > weighted_variables) |
Additional Inherited Members | |
Static Public Attributes inherited from operations_research::RoutingLinearSolverWrapper | |
static const int | kNoConstraint = -1 |
|
inline |
Keeping presolve but with 1 iteration; as of 10/2023 it is significantly faster than both full presolve and no presolve.
Definition at line 467 of file routing_lp_scheduling.h.
|
inlineoverride |
Definition at line 484 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 583 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 570 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 594 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
When solving a scheduling problem, this can be called to add hints that help the underlying solver:
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 609 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 485 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 551 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 555 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 491 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 546 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 663 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 666 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 529 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 532 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 569 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Returns if the model is empty or not.
Reimplemented from operations_research::RoutingLinearSolverWrapper.
Definition at line 676 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 554 of file routing_lp_scheduling.h.
|
overridevirtual |
Prints an understandable view of the model.
Constraints you want to separate.
variable_instances links the lemma of a variable to the different number of instantiation. For instance if you have in your model x(0), x(1) and x(4), the key "x" will be associated to {0,1,4}.
variable_children links a variable to its children. That is, if you have in you model x(0), then typical childs would be {"x(0)in_segment(0)", "x(0)in_segment(1)", "x(0)scaled", ...}
variables link the name of a variable to its Proto.
Preparing constraints the constraints hashmap associate enforcement to constraints. If the ket is "", then the constraint has no enforcement and if the key is "multiple", then the constraint has several enforcement. If the constraint has a single enforcement, then the key will be the variable name of the enforcement.
Constraints NOT enforced
Constraints with a SINGLE enforcement
Constraints with MULTIPLE enforcement
Constraints apart
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 3332 of file routing_lp_scheduling.cc.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 562 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 605 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 536 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 672 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 501 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 512 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 498 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 669 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 620 of file routing_lp_scheduling.h.