![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
#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. | |
![]() | |
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 const int | kNoConstraint = -1 |
Definition at line 465 of file routing_lp_scheduling.h.
|
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 483 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 582 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 569 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 593 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 608 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 484 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 550 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 554 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 490 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 545 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 662 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 665 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 528 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 531 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 568 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Returns if the model is empty or not.
Reimplemented from operations_research::RoutingLinearSolverWrapper.
Definition at line 675 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 553 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 3326 of file routing_lp_scheduling.cc.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 561 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 604 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 535 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 671 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 500 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 511 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 497 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 668 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 619 of file routing_lp_scheduling.h.