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)
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)