genopt.algorithm.util.linesearch
Class ModelFiniteIntervalSearcher

java.lang.Object
  extended by genopt.algorithm.Optimizer
      extended by genopt.algorithm.util.linesearch.ModelFiniteIntervalSearcher
Direct Known Subclasses:
Fibonacci, GoldenSection

public abstract class ModelFiniteIntervalSearcher
extends Optimizer

Abstract class for doing a one-dimensional minimization in a finite interval.
To do the optimization, a unimodal interval of the parameter being varied must be specified. The interval is given by the lower and upper bound of the parameter specified in the command file.

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
protected  IntervalDivider id
          The IntervalDivider that performs the line search
 
Fields inherited from class genopt.algorithm.Optimizer
done, EXCLUDING, FS, INCLUDING, LS, MAINITERATION, ORIGINAL, SUBITERATION, TRANSFORMED
 
Constructor Summary
ModelFiniteIntervalSearcher(GenOpt genOptData)
          Constructor
 
Method Summary
protected  void initialize()
          Initializes the IntervalDivider instance
 int run(Point xIni)
          Runs the optimization process until a termination criteria is satisfied
 
Methods inherited from class genopt.algorithm.Optimizer
algorithmRequiresUsageOfStepNumber, appendToOutputListing, checkMaxIteration, checkObjectiveFunctionValue, ensureOnlyContinuousParameters, ensureOnlyDiscreteParameters, getAbsAccuracyFunction, getDimensionContinuous, getDimensionDiscrete, getDimensionF, getDimensionX, getDiscreteValueDouble0, getDx, getDx0, getF, getF, getIndex0, getIndex0, getInputValueBoolean, getInputValueDouble, getInputValueDouble, getInputValueInteger, getInputValueInteger, getInputValueString, getInputValueString, getKindOfConstraint, getL, getLengthDiscrete, getMainIterationNumber, getMaximumThreadPoolSize, getMaxIterationNumber, getMinimumPoint, getMode, getObjectiveFunctionName, getOutputPath, getPointerToEqualPoints, getRelAccuracyFunction, getSimulationNumber, getStepNumber, getU, getVariableNameContinuous, getVariableNameDiscrete, getX0, getX0, goToEndOfCommandFile, increaseStepNumber, increaseStepNumber, isFeasible, isNextToken, maxIterationReached, mustStopOptimization, print, println, replace, report, reportCurrentLowestPoint, reportMinimum, 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
 

Field Detail

id

protected IntervalDivider id
The IntervalDivider that performs the line search

Constructor Detail

ModelFiniteIntervalSearcher

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

Parameters:
genOptData - The GenOpt object.
Note: the object is used as a reference. Hence, the datas of GenOpt are modified by this Class.
Throws:
OptimizerException - if algorithm is used for problems with more than 1 independent variable, or if independent variable does not have a lower and upper bound
java.io.IOException - if an I/O exception occurs
java.lang.Exception - if an exception occurs
Method Detail

initialize

protected void initialize()
                   throws java.lang.Exception,
                          InputFormatException,
                          OptimizerException
Initializes the IntervalDivider instance

Throws:
OptimizerException
java.lang.Exception
InputFormatException
OptimizerException

run

public int run(Point xIni)
        throws OptimizerException,
               java.lang.Exception
Runs the optimization process until a termination criteria is satisfied

Specified by:
run in class Optimizer
Parameters:
xIni - initial point
Returns:
-1 if the maximum number of iteration is exceeded
+1 if the required accuracy is reached
Throws:
java.lang.Exception
OptimizerException
InputFormatException - if an InputFormatException 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
java.lang.reflect.InvocationTargetException - if an invoked method throws an exception