static IntegerVariableProto NewIntegerVariable(long lb, long ub) { IntegerVariableProto var = new IntegerVariableProto(); var.Domain.Add(lb); var.Domain.Add(ub); return(var); }
public IntVar(CpModelProto model, Domain domain, string name) { index_ = model.Variables.Count; var_ = new IntegerVariableProto(); var_.Name = name; var_.Domain.Add(domain.FlattenedIntervals()); model.Variables.Add(var_); }
public IntVar(CpModelProto model, IEnumerable <long> bounds, string name) { model_ = model; index_ = model.Variables.Count; var_ = new IntegerVariableProto(); var_.Name = name; var_.Domain.Add(bounds); model.Variables.Add(var_); negation_ = null; }
public IntVar(CpModelProto model, long lb, long ub, string name) { index_ = model.Variables.Count; var_ = new IntegerVariableProto(); var_.Name = name; var_.Domain.Capacity = 2; var_.Domain.Add(lb); var_.Domain.Add(ub); model.Variables.Add(var_); }
public IntVar(CpModelProto model, IEnumerable <long> bounds, int is_present_index, string name) { model_ = model; index_ = model.Variables.Count; var_ = new IntegerVariableProto(); var_.Name = name; var_.Domain.Add(bounds); var_.EnforcementLiteral.Add(is_present_index); model.Variables.Add(var_); negation_ = null; }
private int ConvertConstant(long value) { if (constant_map_.ContainsKey(value)) { return(constant_map_[value]); } else { int index = model_.Variables.Count; IntegerVariableProto var = new IntegerVariableProto(); var.Domain.Add(value); var.Domain.Add(value); constant_map_.Add(value, index); model_.Variables.Add(var); return(index); } }
private int ConvertConstant(long value) { if (constant_map_.TryGetValue(value, out var index)) { return(index); } index = model_.Variables.Count; IntegerVariableProto var = new IntegerVariableProto(); var.Domain.Capacity = 2; var.Domain.Add(value); var.Domain.Add(value); constant_map_.Add(value, index); model_.Variables.Add(var); return(index); }
private int ConvertOptionalConstant(long value, int is_present_index) { if (constant_map_.ContainsKey(value)) { return(constant_map_[value]); } else { int index = model_.Variables.Count; IntegerVariableProto var = new IntegerVariableProto(); var.Domain.Add(value); var.Domain.Add(value); constant_map_.Add(value, index); var.EnforcementLiteral.Add(is_present_index); model_.Variables.Add(var); return(index); } }