14#ifndef OR_TOOLS_MATH_OPT_VALIDATORS_RESULT_VALIDATOR_H_
15#define OR_TOOLS_MATH_OPT_VALIDATORS_RESULT_VALIDATOR_H_
17#include "absl/status/status.h"
18#include "google/protobuf/repeated_ptr_field.h"
20#include "ortools/math_opt/model_parameters.pb.h"
21#include "ortools/math_opt/result.pb.h"
27 const google::protobuf::RepeatedPtrField<SolutionProto>& solutions,
29 const ModelSummary& model_summary);
34 const ModelSummary& model_summary);
40 const google::protobuf::RepeatedPtrField<SolutionProto>& solutions,
44 const google::protobuf::RepeatedPtrField<SolutionProto>& solutions,
TerminationReason termination
absl::Status CheckDualSolutionAndStatusConsistency(const TerminationProto &termination, const google::protobuf::RepeatedPtrField< SolutionProto > &solutions, const bool maximize)
absl::Status CheckHasPrimalSolution(const SolveResultProto &result)
Returns absl::Ok only if a primal feasible solution is available.
absl::Status CheckPrimalSolutionAndTerminationConsistency(const TerminationProto &termination, const google::protobuf::RepeatedPtrField< SolutionProto > &solutions, const bool maximize)
absl::Status ValidateResult(const SolveResultProto &result, const ModelSolveParametersProto ¶meters, const ModelSummary &model_summary)
Validates the input result.
absl::Status ValidateSolutions(const google::protobuf::RepeatedPtrField< SolutionProto > &solutions, const ModelSolveParametersProto ¶meters, const ModelSummary &model_summary)
In SWIG mode, we don't want anything besides these top-level includes.