jobshop.algo

QuickXplain

object QuickXplain extends AnyRef

Implements the famous quickXplain algorithm in a generic way [Ulrich Junker and F- Valbonne, QuickXPlain: Conflict Detection for Arbitrary Constraint Propagation Algorithms, 2001] and proposes a faster implementation in case additional operation can be performed on the state

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. QuickXplain
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def apply [S, C] (init: S, toinject: List[C], inject: (S, C) ⇒ S, remove: (S, C) ⇒ S, isConflict: (S) ⇒ Boolean): List[C]

    Computes a minimal conflict over a list of thinks.

    Computes a minimal conflict over a list of thinks. This version is faster : O(n) because it benefits from a remove operation

    init

    the initial S, typically empty

    toinject

    a list of C among which the minimal conflict must be searched

    inject

    the procedure to inject a C into the S, going towards conflict

    remove

    the procedure to remove a C from the S, possibly removing the conflict

    isConflict

    the procedure to check whether or not the S is in conflict

    returns

    a minimal subset of toinject such that, when injected into init, they cause a conflict

  7. def apply [S, C] (init: S, toinject: List[C], inject: (S, C) ⇒ S, isConflict: (S) ⇒ Boolean): List[C]

    Computes a minimal conflict over a list of thinks.

    Computes a minimal conflict over a list of thinks.

    init

    the initial S, typically empty

    toinject

    a list of C among which the minimal conflict must be searched

    inject

    the procedure to inject a C into the S, going towards conflict

    isConflict

    the procedure to check whether or not the S is in conflict

    returns

    a minimal subset of toinject such that, when injected into init, they cause a conflict

  8. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  9. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  10. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  11. def equals (arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  12. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  13. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  14. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  15. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  16. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  17. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  18. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  19. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  20. def toString (): String

    Definition Classes
    AnyRef → Any
  21. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  22. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  23. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any