DotNet Reference

DotNet Reference

Google.OrTools.Sat Namespace Reference


class  AllDifferentConstraintProto
 All variables must take different values. More...
class  AutomatonConstraintProto
 This constraint forces a sequence of variables to be accepted by an automaton. More...
class  BoolArgumentProto
 Argument of the constraints of the form OP(literals). More...
class  BoundedLinearExpression
class  CircuitConstraintProto
 The circuit constraint is defined on a graph where the arc presence are controlled by literals. More...
class  CircuitCoveringConstraintProto
 Another routing constraint. More...
class  Constraint
class  ConstraintProto
 Next id: 29 More...
class  CpModel
 Wrapper class around the cp_model proto. More...
class  CpModelProto
 A constraint programming problem. More...
class  CpModelReflection
 Holder for reflection information generated from ortools/sat/cp_model.proto More...
class  CpObjectiveProto
 Optimization objective. More...
class  CpSolver
class  CpSolverResponse
 The response returned by a solver trying to solve a CpModelProto. More...
class  CpSolverSolutionCallback
class  CumulativeConstraintProto
 The sum of the demands of the intervals at each interval point cannot exceed a capacity. More...
class  DecisionStrategyProto
 Define the strategy to follow when the solver needs to take a new decision. More...
class  ElementConstraintProto
 The constraint target = vars[index]. More...
interface  ILiteral
class  IntegerArgumentProto
 Argument of the constraints of the form target_var = OP(vars). More...
class  IntegerVariableProto
 An integer variable. More...
class  IntervalConstraintProto
 This "special" constraint not only enforces (start + size == end) but can also be referred by other constraints using this "interval" concept. More...
class  IntervalVar
class  IntVar
class  IntVarArrayHelper
class  InverseConstraintProto
 The two arrays of variable each represent a function, the second is the inverse of the first: f_direct[i] == j <=> f_inverse[j] == i. More...
class  LinearArgumentProto
class  LinearConstraintProto
 The linear sum vars[i] * coeffs[i] must fall in the given domain. More...
class  LinearExpr
class  LinearExpressionProto
class  NoOverlap2DConstraintProto
 The boxes defined by [start_x, end_x) * [start_y, end_y) cannot overlap. More...
class  NoOverlapConstraintProto
 All the intervals (index of IntervalConstraintProto) must be disjoint. More...
class  NotBooleanVariable
class  ObjectiveSolutionPrinter
class  operations_research_sat
class  operations_research_satPINVOKE
class  PartialVariableAssignment
 This message encodes a partial (or full) assignment of the variables of a CpModelProto. More...
class  ProductCst
class  ReservoirConstraintProto
 Maintain a reservoir level within bounds. More...
class  RoutesConstraintProto
 The "VRP" (Vehicle Routing Problem) constraint. More...
class  SatHelper
class  SolutionCallback
class  SumArray
class  TableConstraintProto
 The values of the n-tuple formed by the given variables can only be one of the listed n-tuples in values. More...


enum  CpSolverStatus {
  Unknown = 0, ModelInvalid = 1, Feasible = 2, Infeasible = 3,
  Optimal = 4
 The status returned by a solver trying to solve a CpModelProto. More...

Enumeration Type Documentation

◆ CpSolverStatus

enum CpSolverStatus

The status returned by a solver trying to solve a CpModelProto.


The status of the model is still unknown.

A search limit has been reached before any of the statuses below could be determined.


The given CpModelProto didn't pass the validation step.

You can get a detailed error by calling ValidateCpModel(model_proto).


A feasible solution as been found.

For an optimization problem, we still don't know if it is the optimal one though.


The problem has been proven infeasible.


An optimal feasible solution has been found.

This is also used to indicate that all solutions where found if this was asked for a satisfiability problem.

Definition at line 184 of file CpModel.pb.cs.