MinimizerLP

scalation.optimization.linear_opt.MinimizerLP
trait MinimizerLP

The MinimizerLP trait sets the pattern for optimization algorithms for solving Linear Programming (LP) problems of the form:

minimize c x subject to a x <= b, x >= 0

where a is the constraint matrix b is the limit/RHS vector c is the cost vector

Classes mixing in this trait must implement an objective function objF an iterative method (solve) that searches for improved solutions x-vectors with lower objective function values.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Simplex2P

Members list

Value members

Abstract methods

def objF(x: VectorD): Double

The objective function, e.g., c x.

The objective function, e.g., c x.

Value parameters

x

the coordinate values of the current point

Attributes

def solve(): VectorD

Run the simplex algorithm starting from an initial BFS and iteratively find a non-basic variable to replace a variable in the current basis so long as the objective function improves. Return the optimal solution vector.

Run the simplex algorithm starting from an initial BFS and iteratively find a non-basic variable to replace a variable in the current basis so long as the objective function improves. Return the optimal solution vector.

Attributes

Concrete methods

def check(x: VectorD, y: VectorD, f: Double): Boolean

Determine whether the current solution is correct.

Determine whether the current solution is correct.

Value parameters

f

the minimum value of the objective function

x

the primal solution vector x

y

the dual solution vector y

Attributes

Abstract fields

protected val checker: CheckLP

Concrete fields

protected val EPSILON: Double