14#ifndef OR_TOOLS_MATH_OPT_CPP_SOLUTION_H_
15#define OR_TOOLS_MATH_OPT_CPP_SOLUTION_H_
20#include "absl/types/optional.h"
21#include "absl/types/span.h"
26#include "ortools/math_opt/result.pb.h"
27#include "ortools/math_opt/solution.pb.h"
49 kFree = BASIS_STATUS_FREE,
61 kBasic = BASIS_STATUS_BASIC,
81 const PrimalSolutionProto& primal_solution_proto);
111 const PrimalRayProto& primal_ray_proto);
132 const DualSolutionProto& dual_solution_proto);
163 const DualRayProto& dual_ray_proto);
201 const BasisProto& basis_proto);
222 const SolutionProto& solution_proto);
MATH_OPT_DEFINE_ENUM(CallbackEvent, CALLBACK_EVENT_UNSPECIFIED)
Collection of objects used to extend the Constraint Solver library.
VariableMap< BasisStatus > variable_status
LinearConstraintMap< BasisStatus > constraint_status
static Basis FromProto(const ModelStorage *model, const BasisProto &basis_proto)
SolutionStatus basic_dual_feasibility
LinearConstraintMap< double > dual_values
VariableMap< double > reduced_costs
static DualRay FromProto(const ModelStorage *model, const DualRayProto &dual_ray_proto)
SolutionStatus feasibility_status
static DualSolution FromProto(const ModelStorage *model, const DualSolutionProto &dual_solution_proto)
LinearConstraintMap< double > dual_values
VariableMap< double > reduced_costs
std::optional< double > objective_value
VariableMap< double > variable_values
static PrimalRay FromProto(const ModelStorage *model, const PrimalRayProto &primal_ray_proto)
static PrimalSolution FromProto(const ModelStorage *model, const PrimalSolutionProto &primal_solution_proto)
VariableMap< double > variable_values
SolutionStatus feasibility_status
static Solution FromProto(const ModelStorage *model, const SolutionProto &solution_proto)
std::optional< DualSolution > dual_solution
std::optional< PrimalSolution > primal_solution
std::optional< Basis > basis