//public int getMostSoftSatisfiedDomain() //{ // Domain d = v[0].Domain; // if (CType == ConstraintTypes.Soft) // { // for (int i = 1; i < v.Length; i++) // { // d = d.Cap(v[i].Domain); // if (d.EmptyDomain) // return -1; // } // } // return ((IntDomain) d).Min(); //} protected internal override bool Satisfy(Trail trail) { Domain d = v[0].Domain; for (int i = 1; i < v.Length; i++) { d = d.Cap(v[i].Domain); if (d.Empty) { return(false); } } if (trail != null) { for (int i = 0; i < v.Length; i++) { v[i].UpdateDomain(d, trail); } } return(true); }