IntegerTabuSearch

scalation.optimization.IntegerTabuSearch
class IntegerTabuSearch(f: VectorI => Double, g: VectorI => Double, maxStep: Int)

The IntegerTabuSearch class performs tabu search to find minima of functions defined on integer vector domains z^n. Tabu search will not re-visit points already deemed sub-optimal.

minimize f(x) subject to g(x) <= 0, x in Z^n

Value parameters

f

the objective function to be minimize (f maps an integer vector to a double)

g

the constraint function to be satisfied, if any

maxStep

the maximum/starting step size (make larger for larger domains)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Types

type Vec_Func = (VectorI, Double)

Value members

Concrete methods

def fg(x: VectorI): Double

The objective function f re-scaled by a weighted penalty, if constrained.

The objective function f re-scaled by a weighted penalty, if constrained.

Value parameters

x

the coordinate values of the current point

Attributes

def minNeighbor(x_f0: Vec_Func, i: Int, step: Int): Vec_Func

Find a minimal neighbor of the current point x that is a distance step away. Let x be the current point with y being a step down and x being a step up in dimension i. Recurse to handle all of the dimensions.

Find a minimal neighbor of the current point x that is a distance step away. Let x be the current point with y being a step down and x being a step up in dimension i. Recurse to handle all of the dimensions.

Value parameters

i

the i-th dimension or coordinate (facilitates recursion)

step

examine points that are this far away

x_f0

the current pair (the point and its functional value)

Attributes

Solve the minimization problem by repeatedly moving to a minimal neighbor until there is no improvement.

Solve the minimization problem by repeatedly moving to a minimal neighbor until there is no improvement.

Value parameters

x

the starting point for the search

Attributes