Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::math_opt::ComputeInfeasibleSubsystemResult Struct Reference

#include <compute_infeasible_subsystem_result.h>

Public Member Functions

ComputeInfeasibleSubsystemResultProto Proto () const
 
absl::Status CheckModelStorage (const ModelStorage *expected_storage) const
 

Static Public Member Functions

static absl::StatusOr< ComputeInfeasibleSubsystemResultFromProto (const ModelStorage *model, const ComputeInfeasibleSubsystemResultProto &result_proto)
 

Public Attributes

FeasibilityStatus feasibility = FeasibilityStatus::kUndetermined
 The primal feasibility status of the model, as determined by the solver.
 
ModelSubset infeasible_subsystem
 
bool is_minimal = false
 

Detailed Description

Definition at line 100 of file compute_infeasible_subsystem_result.h.

Member Function Documentation

◆ CheckModelStorage()

absl::Status operations_research::math_opt::ComputeInfeasibleSubsystemResult::CheckModelStorage ( const ModelStorage * expected_storage) const

Returns a failure if this object contains references to a model other than expected_storage (which must not be nullptr).

Definition at line 383 of file compute_infeasible_subsystem_result.cc.

◆ FromProto()

absl::StatusOr< ComputeInfeasibleSubsystemResult > operations_research::math_opt::ComputeInfeasibleSubsystemResult::FromProto ( const ModelStorage * model,
const ComputeInfeasibleSubsystemResultProto & result_proto )
static

Returns the ComputeInfeasibleSubsystemResult equivalent to proto.

Returns an error when:

  • model does not contain a variable or constraint associated with an index present in proto.infeasible_subsystem.
  • ValidateComputeInfeasibleSubsystemResultNoModel(result_proto) fails.

We intentionally call this validator after checking feasibility so that we can return a friendlier message for UNSPECIFIED.

Definition at line 348 of file compute_infeasible_subsystem_result.cc.

◆ Proto()

ComputeInfeasibleSubsystemResultProto operations_research::math_opt::ComputeInfeasibleSubsystemResult::Proto ( ) const

Returns the proto equivalent of this object.

The caller should use CheckModelStorage() before calling this function as it does not check internal consistency of the referenced variables and constraints.

Definition at line 372 of file compute_infeasible_subsystem_result.cc.

Member Data Documentation

◆ feasibility

FeasibilityStatus operations_research::math_opt::ComputeInfeasibleSubsystemResult::feasibility = FeasibilityStatus::kUndetermined

The primal feasibility status of the model, as determined by the solver.

Definition at line 123 of file compute_infeasible_subsystem_result.h.

◆ infeasible_subsystem

ModelSubset operations_research::math_opt::ComputeInfeasibleSubsystemResult::infeasible_subsystem

An infeasible subsystem of the input model. Set if feasible is kInfeasible, and empty otherwise. The IDs correspond to those constraints included in the infeasible subsystem. Submessages with Bounds values indicate which side of a potentially ranged constraint are included in the subsystem: lower bound, upper bound, or both.

Definition at line 130 of file compute_infeasible_subsystem_result.h.

◆ is_minimal

bool operations_research::math_opt::ComputeInfeasibleSubsystemResult::is_minimal = false

True if the solver has certified that the returned subsystem is minimal (the instance is feasible if any additional constraint is removed). Note that, due to problem transformations MathOpt applies or idiosyncrasies of the solvers contract, the returned infeasible subsystem may not actually be minimal.

Definition at line 137 of file compute_infeasible_subsystem_result.h.


The documentation for this struct was generated from the following files: