Packages

trait MPSolver extends StrictLogging

Solver interface that describes a mathematical programming solver. It should be extended by all the individual solvers to be supported in the library.

Linear Supertypes
StrictLogging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MPSolver
  2. StrictLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type Solver

Abstract Value Members

  1. abstract def addConstraint(mpConstraint: MPConstraint): Unit

    Add a mathematical programming constraint to the solver.

    Add a mathematical programming constraint to the solver.

    mpConstraint

    the mathematical programming constraint

  2. abstract def buildModel(numberOfVars: Int): Unit

    Problem builder, should configure the solver and append mathematical model variables and constraints.

    Problem builder, should configure the solver and append mathematical model variables and constraints.

    numberOfVars

    number of variables in the model

  3. abstract def getVarValue(colId: Int): Double

    Get value of the variable in the specified position.

    Get value of the variable in the specified position. Solution should exist in order for a value to exist.

    colId

    position of the variable

    returns

    the value of the variable in the solution

  4. abstract def release(): Unit

    Release the memory of the solver.

  5. abstract def setBinary(colId: Int): Unit

    Set the column / variable as an binary integer variable

    Set the column / variable as an binary integer variable

    colId

    position of the variable

  6. abstract def setBounds(colId: Int, lower: Double, upper: Double): Unit

    Set bounds of variable in the specified position.

    Set bounds of variable in the specified position.

    colId

    position of the variable

    lower

    domain lower bound

    upper

    domain upper bound

  7. abstract def setFloat(colId: Int): Unit

    Set the column/variable as a float variable

    Set the column/variable as a float variable

    colId

    position of the variable

  8. abstract def setInteger(colId: Int): Unit

    Set the column/variable as an integer variable

    Set the column/variable as an integer variable

    colId

    position of the variable

  9. abstract def setObjective(objective: Expression, minimize: Boolean): Unit

    Add objective expression to be optimized by the solver.

    Add objective expression to be optimized by the solver.

    objective

    the expression to be optimized

    minimize

    flag for minimization instead of maximization

  10. abstract def setTimeout(limit: Int): Unit

    Set a time limit for solver optimization.

    Set a time limit for solver optimization. After the limit is reached the solver stops running.

    limit

    the time limit

  11. abstract def setUnboundLowerBound(colId: Int): Unit

    Set lower bound to unbounded (infinite)

    Set lower bound to unbounded (infinite)

    colId

    position of the variable

  12. abstract def setUnboundUpperBound(colId: Int): Unit

    Set upper bound to unbounded (infinite).

    Set upper bound to unbounded (infinite).

    colId

    position of the variable

  13. abstract def solve(preSolve: PreSolve = DISABLED): SolutionStatus

    Solves the optimization problem.

    Solves the optimization problem.

    preSolve

    pre-solving mode

    returns

    status code indicating the nature of the solution

  14. abstract val underlyingSolver: Solver
    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val _objectiveValue: Option[Double]
    Attributes
    protected
  5. val _solution: Array[Double]
    Attributes
    protected
  6. val _solutionStatus: SolutionStatus
    Attributes
    protected
  7. def addAllConstraints(constraints: ArrayBuffer[MPConstraint]): Unit

    Add all given mathematical programming constraints to the solver.

    Add all given mathematical programming constraints to the solver.

    constraints

    an array buffer containing the constraints

  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. val logger: Logger
    Attributes
    protected
    Definition Classes
    StrictLogging
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. val numberOfCons: Int
    Attributes
    protected
  21. def numberOfConstraints: Int

    returns

    the number of constraints in the solver.

  22. def numberOfVariables: Int

    returns

    the number of variables in the solver.

  23. val numberOfVars: Int
    Attributes
    protected
  24. def objectiveValue: Option[Double]

    returns

    the objective value of the solution found by the solver

    Note

    The objective value may be the best feasible solution if optimality is not attained or proven.

  25. def setDoubleUnbounded(colId: Int): Unit

    Set bot upper and lower bounds to unbounded (infinite).

    Set bot upper and lower bounds to unbounded (infinite).

    colId

    position of the variable

  26. def solution: Array[Double]

    returns

    the solution found by the solver, for each variable

    Note

    the solution may be the best feasible solution found so far if optimality is not attained or proven.

  27. def solutionStatus: SolutionStatus

    returns

    the status of the solution found by the solver

  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from StrictLogging

Inherited from AnyRef

Inherited from Any

Ungrouped