Optimizers
Class LowDiscrepancySearch

java.lang.Object
  extended byOptimizers.Optimizer
      extended byOptimizers.LowDiscrepancySearch

public abstract class LowDiscrepancySearch
extends Optimizer

Extremely crude brute force optimizer. Searches a rectangular cube for the minimum of the function f=f(x) given by the abstract method Optimizer.f(double[]) by systematic "exhaustive" search along low discrepancy points in the cube.

Repeatedly rescales itself and moves the search focus to a shrinking cube around the current optimum. In consequence we lose the guarentee that we will get close to a global optimum. Use this only if nothing else works.


Constructor Summary
LowDiscrepancySearch(int n, double[] a, double[] b, int nPoints, boolean strict, boolean verbose)
           
 
Method Summary
 int get_nPoints()
          ACCESSORS
static void main(java.lang.String[] args)
          Test program.
 double[] search()
          .Searches the rectangular cube a_i<=x_i<=;b_i for a global minimum of the function Optimizer.f(double[]).
 
Methods inherited from class Optimizers.Optimizer
f
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LowDiscrepancySearch

public LowDiscrepancySearch(int n,
                            double[] a,
                            double[] b,
                            int nPoints,
                            boolean strict,
                            boolean verbose)
Parameters:
n - dimension of argument vector
a - search cube a_i<=x_i<=b_i
b - search cube a_i<=x_i<=b_i
strict - wether or not the solution must be in the search cube
Method Detail

get_nPoints

public int get_nPoints()
ACCESSORS


search

public double[] search()

.Searches the rectangular cube a_i<=x_i<=;b_i for a global minimum of the function Optimizer.f(double[]). Repeatedly rescales and centers the search rectangle to the current optimum each time dividing the number of search points by two.

If a strict search is specified the search remains in the original search cube otherwise it may wander out of the original region.

Specified by:
search in class Optimizer
Returns:
vector x minimizing f(x).

main

public static void main(java.lang.String[] args)

Test program.