Optimizers
Class DownhillSimplex

java.lang.Object
  extended byOptimizers.Optimizer
      extended byOptimizers.DownhillSimplex

public abstract class DownhillSimplex
extends Optimizer

Downhill simplex optimizer as described in NR.


Constructor Summary
DownhillSimplex(double[] x, double delta, int nStep, boolean verbose)
          Initial simplex has vertices x, x+delta*e_j.
 
Method Summary
static void main(java.lang.String[] args)
          Test program.
 double[] search()
          SEARCH FOR THE MINIMUM
 
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

DownhillSimplex

public DownhillSimplex(double[] x,
                       double delta,
                       int nStep,
                       boolean verbose)
Initial simplex has vertices x, x+delta*e_j.

Parameters:
x - starting point (initial simplex built around it)
delta - size of initial simplex
nStep - number of steps
Method Detail

search

public double[] search()
SEARCH FOR THE MINIMUM

Specified by:
search in class Optimizer
Returns:
the minimizing vector x.

main

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

Test program. Very nasty test function which consists of three very narrow valleys intersecting at right angles. The amoeba must crawl along each valley minimizing each variable separately. Takes a huge number of steps. Note how 100000 steps is not enough.