invariants.lib

minmax

package minmax

This package includes a set of invariants that compute min max, argmin and argmax over a wealth of differents structures.

Visibility
  1. Public
  2. All

Type Members

  1. case class ArgMaxArray (varss: Array[IntVar], ccond: IntSetVar, default: Int) extends ArgMiaxArray with Product with Serializable

    Maintains {i in indices of (varss Inter cond) | varss[i] == max(varss(i in indices of (varss Inter cond))}

  2. case class ArgMiaxArray (vars: Array[IntVar], cond: IntSetVar, default: Int) extends IntSetInvariant with Bulked[IntVar, (Int, Int)] with Product with Serializable

    Maintains {i in indices of (varss Inter cond) | varss[i] == miax(varss(i in indices of (varss Inter cond))} Extact ordering is specified by implementiing abstract methods of the class.

  3. case class ArgMinArray (varss: Array[IntVar], ccond: IntSetVar, default: Int) extends ArgMiaxArray with Product with Serializable

    Maintains {i in indices of (varss Inter cond) | varss[i] == min(varss(i in indices of (varss Inter cond))}

  4. case class Max (vars: SortedSet[IntVar]) extends Miax with Product with Serializable

    maintains output = Max(vars) where * output is an IntVar * on is a set of IntVar update is O(log(n))

  5. case class Max2 (a: IntVar, b: IntVar) extends IntVarIntVar2IntVarFun with Product with Serializable

    maintains output = Max(a,b) where output, a, and b are an IntVar use this if you only have two variables to max, otherwise, refer to log iplementations

  6. case class MaxArray (varss: Array[IntVar], ccond: IntSetVar) extends MiaxArray with Product with Serializable

    Maintains Max(Var(i) | i in cond)

  7. case class MaxLin (vars: SortedSet[IntVar]) extends MiaxLin with Product with Serializable

    maintains output = Max(vars) where * output is an IntVar * on is a set of IntVar update is O(n)

  8. case class MaxSet (v: IntSetVar, Default: Int) extends MiaxSet with Product with Serializable

    maintains output = Max(v) where * output is an IntVar * v is an IntSetVar

  9. class Miax extends IntInvariant

    Attributes
    abstract
  10. case class MiaxArray (vars: Array[IntVar], cond: IntSetVar) extends IntInvariant with Bulked[IntVar, (Int, Int)] with Product with Serializable

    Maintains Miax(Var(i) | i in cond) Exact ordering is specified by implementing abstract methods of the class.

  11. class MiaxLin extends IntInvariant

    Attributes
    abstract
  12. case class MiaxSet (v: IntSetVar) extends IntInvariant with Product with Serializable

    Attributes
    abstract
  13. case class Min (vars: SortedSet[IntVar]) extends Miax with Product with Serializable

    maintains output = Min(vars) where * output is an IntVar * on is a set of IntVar update is O(log(n))

  14. case class Min2 (a: IntVar, b: IntVar) extends IntVarIntVar2IntVarFun with Product with Serializable

    maintains output = Min(a,b) where output, a, and b are an IntVar use this if you only have two variables to max, otherwise, refer to log iplementations

  15. case class MinArray (varss: Array[IntVar], ccond: IntSetVar) extends MiaxArray with Product with Serializable

    Maintains Min(Var(i) | i in cond)

  16. case class MinLin (vars: SortedSet[IntVar]) extends MiaxLin with Product with Serializable

    maintains output = Min(vars) where * output is an IntVar * on is a set of IntVar update is O(n)

  17. case class MinSet (v: IntSetVar, Default: Int) extends MiaxSet with Product with Serializable

    maintains output = Min(v) where * output is an IntVar * v is an IntSetVar