Class QuickXPlain


  • public class QuickXPlain
    extends java.lang.Object
    QuickXPlain is intended to find a minimum conflict set of constraints that's causing a conflict in the solver execution [1]. This implementation is an improved version from that proposed in the discussion from issue #509.

    1. Ulrich Junker. 2004. QUICKXPLAIN: preferred explanations and relaxations for over-constrained problems. In Proceedings of the 19th national conference on Artifical intelligence AAAI Press, 167–172.

    Since:
    03/12/2020
    Author:
    Joao Pedro Schmitt
    • Constructor Summary

      Constructors 
      Constructor Description
      QuickXPlain​(Model model)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<Constraint> constraintsUnion​(java.util.List<Constraint> c1, java.util.List<Constraint> c2)  
      java.util.List<Constraint> findMinimumConflictingSet​(java.util.List<Constraint> conflictingSet)
      Given a set of conflicting constraints that block the solver from find a solution for a problem, returns the minimum conflicting set to be relaxed in such a way to put the solver back in a feasible search space.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • QuickXPlain

        public QuickXPlain​(Model model)
    • Method Detail

      • findMinimumConflictingSet

        public java.util.List<Constraint> findMinimumConflictingSet​(java.util.List<Constraint> conflictingSet)
        Given a set of conflicting constraints that block the solver from find a solution for a problem, returns the minimum conflicting set to be relaxed in such a way to put the solver back in a feasible search space.
        Parameters:
        conflictingSet -
        Returns:
        minimumConflictingSet