DotNet Reference
.Net Reference
CpModel.cs
Go to the documentation of this file.
117 lin.Left - lin.Right, Domain.FromFlatIntervals(new long[] { Int64.MinValue, -1, 1, Int64.MaxValue }));
125 Domain.FromFlatIntervals(new long[] { Int64.MinValue, lin.Lb - 1, lin.Lb + 1, Int64.MaxValue }));
238 public Constraint AddAutomaton(IEnumerable<IntVar> vars, long starting_state, long[,] transitions,
304 public Constraint AddReservoirConstraint<I>(IEnumerable<IntVar> times, IEnumerable<I> levelChanges, long minLevel,
325 public Constraint AddReservoirConstraintWithActive<I>(IEnumerable<IntVar> times, IEnumerable<I> levelChanges,
349 public Constraint AddReservoirConstraint<I>(IEnumerable<LinearExpr> times, IEnumerable<I> levelChanges,
370 public Constraint AddReservoirConstraintWithActive<I>(IEnumerable<LinearExpr> times, IEnumerable<I> levelChanges,
617 public IntervalVar NewOptionalIntervalVar<S, D, E>(S start, D duration, E end, ILiteral is_present, string name)
627 return new IntervalVar(model_, startProto, durationProto, endProto, is_present.GetIndex(), name);
630 public IntervalVar NewOptionalFixedSizeIntervalVar<S>(S start, long duration, ILiteral is_present, string name)
639 return new IntervalVar(model_, startProto, durationProto, endProto, is_present.GetIndex(), name);
654 public Constraint AddNoOverlap2D(IEnumerable<IntervalVar> x_intervals, IEnumerable<IntervalVar> y_intervals)
670 public Constraint AddCumulative<D, C>(IEnumerable<IntervalVar> intervals, IEnumerable<D> demands, C capacity)
All affine expressions must take different values.
Definition: CpModel.pb.cs:1171
This constraint forces a sequence of variables to be accepted by an automaton.
Definition: CpModel.pb.cs:4245
Argument of the constraints of the form OP(literals).
Definition: CpModel.pb.cs:514
pbc::RepeatedField< int > Literals
Definition: CpModel.pb.cs:561
LinearExpr Right
Definition: IntegerExpressions.cs:845
The circuit constraint is defined on a graph where the arc presence are controlled by literals.
Definition: CpModel.pb.cs:3205
global::Google.OrTools.Sat.LinearArgumentProto?? IntMod
The int_mod constraint forces the target to equal exprs[0] % exprs[1].
Definition: CpModel.pb.cs:5055
pbc::RepeatedField< int > EnforcementLiteral
The constraint will be enforced iff all literals listed here are true.
Definition: CpModel.pb.cs:4925
global::Google.OrTools.Sat.BoolArgumentProto?? BoolOr
The bool_or constraint forces at least one literal to be true.
Definition: CpModel.pb.cs:4936
global::Google.OrTools.Sat.TableConstraintProto?? Table
The table constraint enforces what values a tuple of variables may take.
Definition: CpModel.pb.cs:5189
global::Google.OrTools.Sat.LinearConstraintProto?? Linear
The linear constraint enforces a linear inequality among the variables, such as 0 <= x + 2y <= 10.
Definition: CpModel.pb.cs:5111
global::Google.OrTools.Sat.LinearArgumentProto?? LinMax
The lin_max constraint forces the target to equal the maximum of all linear expressions.
Definition: CpModel.pb.cs:5095
global::Google.OrTools.Sat.LinearArgumentProto?? IntDiv
The int_div constraint forces the target to equal exprs[0] / exprs[1].
Definition: CpModel.pb.cs:5038
Definition: Constraints.cs:20
void OnlyEnforceIf(ILiteral lit)
Definition: Constraints.cs:28
pbc::RepeatedField< global::Google.OrTools.Sat.DecisionStrategyProto > SearchStrategy
Defines the strategy that the solver should follow when the search_branching parameter is set to FIXE...
Definition: CpModel.pb.cs:8793
global::Google.OrTools.Sat.PartialVariableAssignment SolutionHint
Solution hint.
Definition: CpModel.pb.cs:8815
pbc::RepeatedField< global::Google.OrTools.Sat.IntegerVariableProto > Variables
The associated Protos should be referred by their index in these fields.
Definition: CpModel.pb.cs:8718
pbc::RepeatedField< global::Google.OrTools.Sat.ConstraintProto > Constraints
Definition: CpModel.pb.cs:8729
global::Google.OrTools.Sat.CpObjectiveProto Objective
The objective to minimize.
Definition: CpModel.pb.cs:8741
Constraint AddInverse(IEnumerable< IntVar > direct, IEnumerable< IntVar > reverse)
Definition: CpModel.cs:288
Constraint AddBoolXor(IEnumerable< ILiteral > literals)
Definition: CpModel.cs:462
void AddMapDomain(IntVar var, IEnumerable< IntVar > bool_vars, long offset=0)
Definition: CpModel.cs:394
void AddDecisionStrategy(IEnumerable< IntVar > vars, DecisionStrategyProto.Types.VariableSelectionStrategy var_str, DecisionStrategyProto.Types.DomainReductionStrategy dom_str)
Definition: CpModel.cs:733
Constraint AddMaxEquality(LinearExpr target, IEnumerable< LinearExpr > exprs)
Definition: CpModel.cs:513
Constraint AddDivisionEquality< T, N, D >(T target, N num, D denom)
Definition: CpModel.cs:526
Constraint AddLinearExpressionInDomain(LinearExpr linear_expr, Domain domain)
Definition: CpModel.cs:79
Constraint AddNoOverlap(IEnumerable< IntervalVar > intervals)
Definition: CpModel.cs:642
Constraint AddProdEquality(IntVar target, IEnumerable< IntVar > vars)
Definition: CpModel.cs:585
Constraint AddLinearConstraint(LinearExpr linear_expr, long lb, long ub)
Definition: CpModel.cs:74
Constraint AddElement(IntVar index, IEnumerable< IntVar > vars, IntVar target)
Definition: CpModel.cs:156
Boolean ExportToFile(String filename)
Definition: CpModel.cs:832
void AddVarToObjective(IntVar var)
Definition: CpModel.cs:710
Constraint AddMinEquality(LinearExpr target, IEnumerable< LinearExpr > exprs)
Definition: CpModel.cs:487
Constraint AddMultiplicationEquality(LinearExpr target, IEnumerable< LinearExpr > exprs)
Definition: CpModel.cs:572
Constraint AddMultiplicationEquality(LinearExpr target, IEnumerable< IntVar > vars)
Definition: CpModel.cs:559
Constraint AddImplication(ILiteral a, ILiteral b)
Definition: CpModel.cs:428
IntVar NewIntVar(long lb, long ub, string name)
Definition: CpModel.cs:47
Constraint AddBoolAnd(IEnumerable< ILiteral > literals)
Definition: CpModel.cs:450
Constraint AddBoolOr(IEnumerable< ILiteral > literals)
Definition: CpModel.cs:438
Constraint AddModuloEquality< T, V, M >(T target, V v, M m)
Definition: CpModel.cs:548
Constraint AddElement(IntVar index, IEnumerable< long > values, IntVar target)
Definition: CpModel.cs:170
Constraint AddForbiddenAssignments(IEnumerable< IntVar > vars, long[,] tuples)
Definition: CpModel.cs:231
IntVar NewConstant(long value, string name)
Definition: CpModel.cs:64
Constraint AddAllDifferent(IEnumerable< IntVar > vars)
Definition: CpModel.cs:131
IntVar NewIntVarFromDomain(Domain domain, string name)
Definition: CpModel.cs:52
Constraint AddNoOverlap2D(IEnumerable< IntervalVar > x_intervals, IEnumerable< IntervalVar > y_intervals)
Definition: CpModel.cs:654
Constraint AddAllowedAssignments(IEnumerable< IntVar > vars, long[,] tuples)
Definition: CpModel.cs:212
Constraint AddMaxEquality(IntVar target, IEnumerable< IntVar > vars)
Definition: CpModel.cs:500
IntervalVar NewOptionalIntervalVar< S, D, E >(S start, D duration, E end, ILiteral is_present, string name)
Definition: CpModel.cs:617
Constraint AddElement(IntVar index, IEnumerable< int > values, IntVar target)
Definition: CpModel.cs:184
Constraint AddCumulative< D, C >(IEnumerable< IntervalVar > intervals, IEnumerable< D > demands, C capacity)
Definition: CpModel.cs:670
Constraint AddMinEquality(LinearExpr target, IEnumerable< IntVar > vars)
Definition: CpModel.cs:474
Constraint AddReservoirConstraint< I >(IEnumerable< IntVar > times, IEnumerable< I > levelChanges, long minLevel, long maxLevel)
Definition: CpModel.cs:304
IntervalVar NewOptionalFixedSizeIntervalVar< S >(S start, long duration, ILiteral is_present, string name)
Definition: CpModel.cs:630
void AddTermToObjective(IntVar var, long coeff)
Definition: CpModel.cs:718
Constraint AddReservoirConstraintWithActive< I >(IEnumerable< IntVar > times, IEnumerable< I > levelChanges, IEnumerable< IntVar > actives, long minLevel, long maxLevel)
Definition: CpModel.cs:325
Constraint AddAllDifferent(IEnumerable< LinearExpr > exprs)
Definition: CpModel.cs:143
Constraint AddAutomaton(IEnumerable< IntVar > vars, long starting_state, IEnumerable< Tuple< long, long, long > > transitions, IEnumerable< long > final_states)
Definition: CpModel.cs:263
IntervalVar NewFixedSizeIntervalVar< S >(S start, long duration, string name)
Definition: CpModel.cs:605
Constraint AddAutomaton(IEnumerable< IntVar > vars, long starting_state, long[,] transitions, IEnumerable< long > final_states)
Definition: CpModel.cs:238
Constraint AddAbsEquality(LinearExpr target, LinearExpr expr)
Definition: CpModel.cs:537
Constraint AddCircuit(IEnumerable< Tuple< int, int, ILiteral > > arcs)
Definition: CpModel.cs:198
void AddAssumptions(IEnumerable< ILiteral > literals)
Definition: CpModel.cs:767
IntervalVar NewIntervalVar< S, D, E >(S start, D duration, E end, string name)
Definition: CpModel.cs:592
double Offset
The displayed objective is always: scaling_factor * (sum(coefficients[i] * objective_vars[i]) + offse...
Definition: CpModel.pb.cs:6469
pbc::RepeatedField< int > Vars
The linear terms of the objective to minimize.
Definition: CpModel.pb.cs:6440
pbc::RepeatedField< long > Coeffs
Definition: CpModel.pb.cs:6451
Definition: CpSatHelper.cs:15
static string ValidateModel(Google.OrTools.Sat.CpModelProto model_proto)
Definition: CpSatHelper.cs:59
static bool WriteModelToFile(Google.OrTools.Sat.CpModelProto model_proto, string filename)
Definition: CpSatHelper.cs:69
static string ModelStats(Google.OrTools.Sat.CpModelProto model_proto)
Definition: CpSatHelper.cs:49
The sum of the demands of the intervals at each interval point cannot exceed a capacity.
Definition: CpModel.pb.cs:2608
Container for nested types declared in the DecisionStrategyProto message type.
Definition: CpModel.pb.cs:7414
VariableSelectionStrategy
The order in which the variables above should be considered.
Definition: CpModel.pb.cs:7421
DomainReductionStrategy
Once a variable has been chosen, this enum describe what decision is taken on its domain.
Definition: CpModel.pb.cs:7435
Define the strategy to follow when the solver needs to take a new decision.
Definition: CpModel.pb.cs:7131
The constraint target = vars[index].
Definition: CpModel.pb.cs:1600
The two arrays of variable each represent a function, the second is the inverse of the first: f_direc...
Definition: CpModel.pb.cs:4033
pbc::RepeatedField< global::Google.OrTools.Sat.LinearExpressionProto > Exprs
Definition: CpModel.pb.cs:1004
global::Google.OrTools.Sat.LinearExpressionProto Target
Definition: CpModel.pb.cs:990
The linear sum vars[i] * coeffs[i] must fall in the given domain.
Definition: CpModel.pb.cs:1357
pbc::RepeatedField< int > Vars
Definition: CpModel.pb.cs:1406
pbc::RepeatedField< long > Domain
Definition: CpModel.pb.cs:1431
static long GetVarValueMap(LinearExpr e, long initial_coeff, Dictionary< IntVar, long > dict)
Definition: IntegerExpressions.cs:268
static LinearExpr Sum(IEnumerable< IntVar > vars)
Definition: IntegerExpressions.cs:51
Some constraints supports linear expression instead of just using a reference to a variable.
Definition: CpModel.pb.cs:699
The boxes defined by [start_x, end_x) * [start_y, end_y) cannot overlap.
Definition: CpModel.pb.cs:2351
All the intervals (index of IntervalConstraintProto) must be disjoint.
Definition: CpModel.pb.cs:2166
This message encodes a partial (or full) assignment of the variables of a CpModelProto.
Definition: CpModel.pb.cs:7726
pbc::RepeatedField< long > Values
Definition: CpModel.pb.cs:7785
pbc::RepeatedField< int > Vars
Definition: CpModel.pb.cs:7774
Maintain a reservoir level within bounds.
Definition: CpModel.pb.cs:2880
The values of the n-tuple formed by the given variables can only be one of the listed n-tuples in val...
Definition: CpModel.pb.cs:3780
bool Negated
If true, the meaning is "negated", that is we forbid any of the given tuple from a feasible assignmen...
Definition: CpModel.pb.cs:3853
Definition: util/Domain.cs:17
static Domain FromFlatIntervals(long[] flat_intervals)
Definition: util/Domain.cs:79
int GetIndex()
ILiteral Not()
Definition: CpModel.pb.cs:12
Definition: util/Domain.cs:11
Definition: IntArrayHelper.cs:15
Definition: IntArrayHelper.cs:15