14#ifndef OR_TOOLS_LINEAR_SOLVER_MODEL_VALIDATOR_H_
15#define OR_TOOLS_LINEAR_SOLVER_MODEL_VALIDATOR_H_
20#include "absl/types/optional.h"
21#include "ortools/linear_solver/linear_solver.pb.h"
39 const MPModelProto&
model,
double abs_value_threshold = 0.0,
42 bool accept_trivially_infeasible_bounds =
false);
51 const MPModelProto&
model);
57std::optional<LazyMutableCopy<MPModelProto>>
59 MPSolutionResponse* response);
67 LazyMutableCopy<MPModelRequest>& request, MPSolutionResponse* response);
88 MPConstraintProto*
to);
In SWIG mode, we don't want anything besides these top-level includes.
std::optional< LazyMutableCopy< MPModelProto > > ExtractValidMPModelOrPopulateResponseStatus(const MPModelRequest &request, MPSolutionResponse *response)
std::string FindErrorInMPModelDeltaProto(const MPModelDeltaProto &delta, const MPModelProto &model)
void ApplyVerifiedMPModelDelta(const MPModelDeltaProto &delta, MPModelProto *model)
std::optional< LazyMutableCopy< MPModelProto > > GetMPModelOrPopulateResponse(LazyMutableCopy< MPModelRequest > &request, MPSolutionResponse *response)
std::string FindErrorInMPModelProto(const MPModelProto &model, double abs_value_threshold, const bool accept_trivially_infeasible_bounds)
std::string FindFeasibilityErrorInSolutionHint(const MPModelProto &model, double tolerance)
void MergeMPConstraintProtoExceptTerms(const MPConstraintProto &from, MPConstraintProto *to)
trees with all degrees equal to