Google OR-Tools v9.11
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 |
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 () |
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) |
Definition at line 448 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 450 of file routing_lp_scheduling.h.
|
inlineoverride |
Definition at line 463 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 561 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 548 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 572 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 464 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 533 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 469 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 524 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 609 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 612 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 507 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 510 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 547 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Returns if the model is empty or not.
Reimplemented from operations_research::RoutingLinearSolverWrapper.
Definition at line 622 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 532 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 3112 of file routing_lp_scheduling.cc.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 540 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 514 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 618 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 479 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 476 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 615 of file routing_lp_scheduling.h.
|
inlineoverridevirtual |
Implements operations_research::RoutingLinearSolverWrapper.
Definition at line 587 of file routing_lp_scheduling.h.