Google OR-Tools: ortools/linear_solver/model_validator.h Source File

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef ORTOOLS_LINEAR_SOLVER_MODEL_VALIDATOR_H_

15#define ORTOOLS_LINEAR_SOLVER_MODEL_VALIDATOR_H_

16

17#include <optional>

18#include <string>

19

20#include "absl/types/optional.h"

23

39 const MPModelProto& model, double abs_value_threshold = 0.0,

40

41

42 bool accept_trivially_infeasible_bounds = false);

43

52

57std::optional<LazyMutableCopy<MPModelProto>>

60

68

80 double tolerance);

81

82

83

84

85

86

89

90

91

92

95

96}

97

98#endif

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