示例#1
0
        public IntervalVar(CpModelProto model, int start_index, int size_index, int end_index, string name)
        {
            model_          = model;
            index_          = model.Constraints.Count;
            interval_       = new IntervalConstraintProto();
            interval_.Start = start_index;
            interval_.Size  = size_index;
            interval_.End   = end_index;

            ConstraintProto ct = new ConstraintProto();

            ct.Interval = interval_;
            ct.Name     = name;
            model_.Constraints.Add(ct);
        }
示例#2
0
        public IntervalVar(CpModelProto model, LinearExpressionProto start, LinearExpressionProto size,
                           LinearExpressionProto end, string name)
        {
            model_          = model;
            index_          = model.Constraints.Count;
            interval_       = new IntervalConstraintProto();
            interval_.Start = start;
            interval_.Size  = size;
            interval_.End   = end;

            ConstraintProto ct = new ConstraintProto();

            ct.Interval = interval_;
            ct.Name     = name;
            model_.Constraints.Add(ct);
        }
示例#3
0
        public IntervalVar(CpModelProto model, LinearExpressionProto start, LinearExpressionProto size,
                           LinearExpressionProto end, int is_present_index, string name)
        {
            model_              = model;
            index_              = model.Constraints.Count;
            interval_           = new IntervalConstraintProto();
            interval_.StartView = start;
            interval_.SizeView  = size;
            interval_.EndView   = end;

            ConstraintProto ct = new ConstraintProto();

            ct.Interval = interval_;
            ct.Name     = name;
            ct.EnforcementLiteral.Add(is_present_index);
            model.Constraints.Add(ct);
        }