Ejemplo n.º 1
0
        static IntegerVariableProto NewIntegerVariable(long lb, long ub)
        {
            IntegerVariableProto var = new IntegerVariableProto();

            var.Domain.Add(lb);
            var.Domain.Add(ub);
            return(var);
        }
Ejemplo n.º 2
0
 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_);
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 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_);
 }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 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);
     }
 }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 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);
     }
 }