18 #include <initializer_list> 22 #include "google/protobuf/message.h" 28 #include "ortools/math_opt/model_parameters.pb.h" 29 #include "ortools/math_opt/solution.pb.h" 30 #include "ortools/math_opt/sparse_containers.pb.h" 35 using ::google::protobuf::RepeatedField;
40 MakeSkipAllFilter<LinearConstraint>();
41 parameters.dual_variables_filter = MakeSkipAllFilter<Variable>();
46 std::initializer_list<Variable> variables) {
47 return OnlySomePrimalVariables<std::initializer_list<Variable>>(variables);
61 ModelSolveParametersProto ret;
63 *ret.mutable_dual_linear_constraints_filter() =
70 RepeatedField<int64_t>*
const constraint_status_ids =
71 ret.mutable_initial_basis()->mutable_constraint_status()->mutable_ids();
72 RepeatedField<int>*
const constraint_status_values =
73 ret.mutable_initial_basis()
74 ->mutable_constraint_status()
76 constraint_status_ids->Reserve(
initial_basis->constraint_status.size());
77 constraint_status_values->Reserve(
initial_basis->constraint_status.size());
80 constraint_status_ids->Add(key.id());
81 constraint_status_values->Add(
initial_basis->constraint_status.at(key));
83 RepeatedField<int64_t>*
const variable_status_ids =
84 ret.mutable_initial_basis()->mutable_variable_status()->mutable_ids();
85 RepeatedField<int>*
const variable_status_values =
86 ret.mutable_initial_basis()
87 ->mutable_variable_status()
89 variable_status_ids->Reserve(
initial_basis->variable_status.size());
90 variable_status_values->Reserve(
initial_basis->variable_status.size());
92 variable_status_ids->Add(key.id());
93 variable_status_values->Add(
initial_basis->variable_status.at(key));
MapFilter< Variable > primal_variables_filter
static ModelSolveParameters OnlyPrimalVariables()
IndexedModel * model() const
absl::optional< Result::Basis > initial_basis
MapFilter< Variable > dual_variables_filter
IndexedModel * ConsistentModel(std::initializer_list< IndexedModel * > models)
static ModelSolveParameters OnlySomePrimalVariables(const Collection &variables)
Collection of objects used to extend the Constraint Solver library.
MapFilter< LinearConstraint > dual_linear_constraints_filter
ModelSolveParametersProto Proto() const