Ejemplo n.º 1
0
 public Constraint AddNoOverlap(IEnumerable<IntervalVar> intervals)
 {
   Constraint ct = new Constraint(model_);
   NoOverlapConstraintProto args = new NoOverlapConstraintProto();
   foreach (IntervalVar var in intervals)
   {
     args.Intervals.Add(var.GetIndex());
   }
   ct.Proto.NoOverlap = args;
   return ct;
 }
Ejemplo n.º 2
0
        /**
         * Adds <c> NoOverlap(intervalVars)</c>.
         *
         * <remarks>A NoOverlap constraint ensures that all present intervals do not overlap in time.
         * </remarks>
         *
         * <param name="intervals"> the list of interval variables to constrain</param>
         * <returns> an instance of the Constraint class</returns>
         */
        public Constraint AddNoOverlap(IEnumerable <IntervalVar> intervals)
        {
            NoOverlapConstraintProto no_overlap = new NoOverlapConstraintProto();

            no_overlap.Intervals.TrySetCapacity(intervals);
            foreach (IntervalVar var in intervals)
            {
                no_overlap.Intervals.Add(var.GetIndex());
            }

            Constraint ct = new Constraint(model_);

            ct.Proto.NoOverlap = no_overlap;
            return(ct);
        }