genopt.algorithm
Class GPSHookeJeeves

java.lang.Object
  extended by genopt.algorithm.Optimizer
      extended by genopt.algorithm.util.gps.ModelGPS
          extended by genopt.algorithm.GPSCoordinateSearch
              extended by genopt.algorithm.GPSHookeJeeves

public class GPSHookeJeeves
extends GPSCoordinateSearch

Class for minimizing a function using the Hooke-Jeeves Generalized Pattern Search algorithm.

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
 
Fields inherited from class genopt.algorithm.util.gps.ModelGPS
basDirMat, checkObjFun, EMPTY_SEARCH_SET, FAIMOV, NEGDIR, nMaxSteRed, POSDIR, SUCMOV
 
Fields inherited from class genopt.algorithm.Optimizer
done, EXCLUDING, FS, INCLUDING, LS, MAINITERATION, ORIGINAL, SUBITERATION, TRANSFORMED
 
Constructor Summary
GPSHookeJeeves(GenOpt genOptData)
          Constructor
GPSHookeJeeves(int meshSizeDivider, int initialMeshSizeExponent)
          Constructor used to run the algorithm in a hybrid algorithm for the last iterations.
 
Method Summary
private  Point[] explore(Point xBas, double delta)
          Makes the exploration search
protected  Point[] globalSearch(Point[] x, double delta)
          Method for the global search (this method returns always null.
 
Methods inherited from class genopt.algorithm.GPSCoordinateSearch
initializeBaseDirectionMatrix, localSearch
 
Methods inherited from class genopt.algorithm.util.gps.ModelGPS
add, checkObjectiveFunctionValue, getClosestEuclideanMeshPoint, getDelta, getF, getIndexLowestFunctionValue, getInitialDelta, getIterationNumber, getMaximumNumberOfStepReduction, getMinimumPoint, getNumberOfStepReduction, haveSufficientDecrease, report, reportMinimum, reportMinimum, run, setMaximumNumberOfStepReduction
 
Methods inherited from class genopt.algorithm.Optimizer
algorithmRequiresUsageOfStepNumber, appendToOutputListing, checkMaxIteration, ensureOnlyContinuousParameters, ensureOnlyDiscreteParameters, getAbsAccuracyFunction, getDimensionContinuous, getDimensionDiscrete, getDimensionF, getDimensionX, getDiscreteValueDouble0, getDx, getDx0, getF, getIndex0, getIndex0, getInputValueBoolean, getInputValueDouble, getInputValueDouble, getInputValueInteger, getInputValueInteger, getInputValueString, getInputValueString, getKindOfConstraint, getL, getLengthDiscrete, getMainIterationNumber, getMaximumThreadPoolSize, getMaxIterationNumber, getMode, getObjectiveFunctionName, getOutputPath, getPointerToEqualPoints, getRelAccuracyFunction, getSimulationNumber, getStepNumber, getU, getVariableNameContinuous, getVariableNameDiscrete, getX0, getX0, goToEndOfCommandFile, increaseStepNumber, increaseStepNumber, isFeasible, isNextToken, maxIterationReached, mustStopOptimization, print, println, replace, reportCurrentLowestPoint, resetStepNumber, roundCoordinates, run, setInfo, setMode, setNumberOfMatchingResults, setToFeasibleCoordinate, setToFeasibleCoordinate, setWarning, simulate, throwInputError, useStepNumber, writeStepNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GPSHookeJeeves

public GPSHookeJeeves(GenOpt genOptData)
               throws OptimizerException,
                      java.io.IOException,
                      java.lang.Exception,
                      InputFormatException
Constructor

Parameters:
genOptData - a reference to the GenOpt object.
Note: the object is used as a reference. Hence, the data of GenOpt are modified by this Class.
Throws:
OptimizerException - if an OptimizerException occurs or if the user required to stop GenOpt
SimulationInputException - if an error in writing the simulation input file occurs
java.lang.NoSuchMethodException - if a method that should be invoked could not be found
java.lang.IllegalAccessException - if an invoked method enforces Java language access control and the underlying method is inaccessible
InvocationTargetException - if an invoked method throws an exception
java.lang.Exception - if an I/O error in the simulation input file occurs
java.io.IOException
InputFormatException

GPSHookeJeeves

public GPSHookeJeeves(int meshSizeDivider,
                      int initialMeshSizeExponent)
               throws OptimizerException,
                      java.io.IOException,
                      java.lang.Exception,
                      InputFormatException
Constructor used to run the algorithm in a hybrid algorithm for the last iterations.

Parameters:
meshSizeDivider - the mesh size divider. If set to Integer.MAX_VALUE, then the value will be read from the command file
initialMeshSizeExponent - the initial mesh size exponent. If set to Integer.MAX_VALUE, then the value will be read from the command file
Throws:
OptimizerException
java.lang.Exception
java.io.IOException - if an I/O exception occurs
InputFormatException
Method Detail

globalSearch

protected Point[] globalSearch(Point[] x,
                               double delta)
                        throws SimulationInputException,
                               OptimizerException,
                               java.lang.NoSuchMethodException,
                               java.lang.IllegalAccessException,
                               java.lang.Exception
Method for the global search (this method returns always null.

Overrides:
globalSearch in class GPSCoordinateSearch
Parameters:
x - Sequence of previous iterates
delta - current mesh size
Returns:
the null pointer
Throws:
OptimizerException - if an OptimizerException occurs or if the user required to stop GenOpt
SimulationInputException - if an error in writing the simulation input file occurs
java.lang.NoSuchMethodException - if a method that should be invoked could not be found
java.lang.IllegalAccessException - if an invoked method enforces Java language access control and the underlying method is inaccessible
InvocationTargetException - if an invoked method throws an exception
java.lang.Exception - if an I/O error in the simulation input file occurs

explore

private final Point[] explore(Point xBas,
                              double delta)
                       throws SimulationInputException,
                              OptimizerException,
                              java.lang.NoSuchMethodException,
                              java.lang.IllegalAccessException,
                              java.lang.Exception
Makes the exploration search

Parameters:
xBas - base point for the exploration search
delta - current mesh size
Returns:
the sequence of points that have been evaluated in the local search.
Throws:
OptimizerException - if an OptimizerException occurs or if the user required to stop GenOpt
SimulationInputException - if an error in writing the simulation input file occurs
java.lang.NoSuchMethodException - if a method that should be invoked could not be found
java.lang.IllegalAccessException - if an invoked method enforces Java language access control and the underlying method is inaccessible
InvocationTargetException - if an invoked method throws an exception
java.lang.Exception - if an I/O error in the simulation input file occurs