genopt.algorithm.util.optimality
Class Perturber

java.lang.Object
  extended by genopt.algorithm.util.optimality.Perturber

public class Perturber
extends java.lang.Object

Class for checking the optimality condition of a point.
The optimality condition is checked by testing in each orthogonal direction of xL whether the function value increases or not.

This project was carried out at:

and supported by

GenOpt Copyright (c) 1998-2011, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.

Version:
GenOpt(R) 3.1.0 (December 8, 2011)

Author:
Michael Wetter

Field Summary
private static int COUEXPMAX
          counter how many times an expansion can be done
protected  int dim
          dimension of the independent variable
protected static java.lang.String LS
          System dependent line separator
private  Optimizer o
          reference to Optimizer Object
protected  boolean optimalPoint
          flag: true if xC is the optimal point, false otherwise
protected  Point xC
          point to be checked
protected  Point xL
          lowest point in the neighborhood of xC
 
Constructor Summary
Perturber(Optimizer opt)
          constructor for checking the optimality condition
 
Method Summary
 Point getOptimalPoint()
          gets the point with the lowest function value
 boolean gotOptimum()
          checks whether we have an optimum point
 void perturb(Point x, double stepFactor)
          checks the optimality condition in the transformed space by testing in each orthogonal direction of xL whether the function increases or not.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LS

protected static final java.lang.String LS
System dependent line separator


COUEXPMAX

private static final int COUEXPMAX
counter how many times an expansion can be done

See Also:
Constant Field Values

xC

protected Point xC
point to be checked


xL

protected Point xL
lowest point in the neighborhood of xC


o

private Optimizer o
reference to Optimizer Object


dim

protected int dim
dimension of the independent variable


optimalPoint

protected boolean optimalPoint
flag: true if xC is the optimal point, false otherwise

Constructor Detail

Perturber

public Perturber(Optimizer opt)
constructor for checking the optimality condition

Parameters:
opt - reference to the Optimizer object
Method Detail

perturb

public void perturb(Point x,
                    double stepFactor)
             throws OptimizerException,
                    java.lang.Exception
checks the optimality condition in the transformed space by testing in each orthogonal direction of xL whether the function increases or not.

Parameters:
x - point with lowest known objective function value
Note: The independent variable of the point has to be in the same mode as the Optimizer Object is while calling this function
stepFactor - factor with which the step size is multiplied for the test of the optimality condition
Throws:
OptimizerException
java.lang.Exception

getOptimalPoint

public Point getOptimalPoint()
gets the point with the lowest function value

Returns:
the optimal point

gotOptimum

public boolean gotOptimum()
checks whether we have an optimum point

Returns:
true if the checked point is a local minimum point,
false otherwise