public Constraint AddElement(IntVar index, IEnumerable <IntVar> vars, IntVar target) { Constraint ct = new Constraint(model_); ElementConstraintProto element = new ElementConstraintProto(); element.Index = index.Index; foreach (IntVar var in vars) { element.Vars.Add(var.Index); } element.Target = target.Index; ct.Proto.Element = element; return(ct); }
public Constraint AddElement(IntVar index, IEnumerable <int> values, IntVar target) { Constraint ct = new Constraint(model_); ElementConstraintProto element = new ElementConstraintProto(); element.Index = index.Index; foreach (int value in values) { element.Vars.Add(ConvertConstant(value)); } element.Target = target.Index; ct.Proto.Element = element; return(ct); }
/** * <summary> * Adds the element constraint: <c> values[index] == target</c>. * </summary> */ public Constraint AddElement(IntVar index, IEnumerable <long> values, IntVar target) { ElementConstraintProto element = new ElementConstraintProto(); element.Index = index.Index; element.Vars.TrySetCapacity(values); foreach (long value in values) { element.Vars.Add(ConvertConstant(value)); } element.Target = target.Index; Constraint ct = new Constraint(model_); ct.Proto.Element = element; return(ct); }