genopt.algorithm
Class Optimizer.Smoothing

java.lang.Object
  extended by genopt.algorithm.Optimizer.Smoothing
Enclosing class:
Optimizer

private class Optimizer.Smoothing
extends java.lang.Object

Inner class for smoothing the cost function.


Field Summary
private  double[] ANewCot
          Coefficients for the Newton-Cotes integration formula
private  double[] Delta
          Half width of the length of the integration domain for each coordinate direction
private  java.util.TreeMap<Point,java.lang.Double[]> evaPoiF1
          The list with evaluated points and its function values after the first smoothing.
private  java.util.TreeMap<Point,java.lang.Double[]> evaPoiF2
          The list with evaluated points and its function values after the second smoothing.
private  int[] NumOfInt
          Number of integrations along the coordinate directions
private  int NumSupPoi
          Number of support points for the integration for each coordinate direction
 
Constructor Summary
Optimizer.Smoothing()
           
 
Method Summary
private  Point _evaluateSupportPoint(Point p)
          Evaluates a support point for the numerical approximation to the double integral
private  void _initializeRungeCotteCoefficients()
          Initializes the coefficients for the Runge-Cotte integration
 Point getF(Point x)
          Gets the objective function value and registers it into the data base
 Point getF1(Point x)
          Gets the function value of the smoothed cost function using one integration.
 Point getF2(Point x)
          Gets the function value of the smoothed cost function using double integration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Delta

private double[] Delta
Half width of the length of the integration domain for each coordinate direction


NumSupPoi

private int NumSupPoi
Number of support points for the integration for each coordinate direction


ANewCot

private double[] ANewCot
Coefficients for the Newton-Cotes integration formula


NumOfInt

private int[] NumOfInt
Number of integrations along the coordinate directions


evaPoiF1

private java.util.TreeMap<Point,java.lang.Double[]> evaPoiF1
The list with evaluated points and its function values after the first smoothing. Prior to evaluating the cost function, this list is checked whether the same point has already been evaluated, where equality is defined by the implementation of genopt.algorithm.util.math.Point.compareTo(java.lang.Object o)


evaPoiF2

private java.util.TreeMap<Point,java.lang.Double[]> evaPoiF2
The list with evaluated points and its function values after the second smoothing. Prior to evaluating the cost function, this list is checked whether the same point has already been evaluated, where equality is defined by the implementation of genopt.algorithm.util.math.Point.compareTo(java.lang.Object o)

Constructor Detail

Optimizer.Smoothing

public Optimizer.Smoothing()
                    throws OptimizerException,
                           java.io.IOException,
                           java.lang.Exception,
                           InputFormatException
Throws:
OptimizerException
java.io.IOException
java.lang.Exception
InputFormatException
Method Detail

_initializeRungeCotteCoefficients

private void _initializeRungeCotteCoefficients()
Initializes the coefficients for the Runge-Cotte integration


getF

public Point getF(Point x)
           throws SimulationInputException,
                  OptimizerException,
                  java.lang.NoSuchMethodException,
                  java.lang.IllegalAccessException,
                  java.lang.Exception
Gets the objective function value and registers it into the data base

Parameters:
x - the point being evaluated
Returns:
a clone of the point with the new function values stored
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
java.lang.reflect.InvocationTargetException - if an invoked method throws an exception
java.lang.Exception - if an I/O error in the simulation input file occurs

getF2

public Point getF2(Point x)
            throws SimulationInputException,
                   OptimizerException,
                   java.lang.NoSuchMethodException,
                   java.lang.IllegalAccessException,
                   java.lang.Exception
Gets the function value of the smoothed cost function using double integration.

Parameters:
x - the point being evaluated
Returns:
a clone of the point with the new function values stored
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
java.lang.reflect.InvocationTargetException - if an invoked method throws an exception
java.lang.Exception - if an I/O error in the simulation input file occurs

getF1

public Point getF1(Point x)
            throws SimulationInputException,
                   OptimizerException,
                   java.lang.NoSuchMethodException,
                   java.lang.IllegalAccessException,
                   java.lang.Exception
Gets the function value of the smoothed cost function using one integration.

Parameters:
x - the point being evaluated
Returns:
a clone of the point with the new function values stored
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
java.lang.reflect.InvocationTargetException - if an invoked method throws an exception
java.lang.Exception - if an I/O error in the simulation input file occurs

_evaluateSupportPoint

private Point _evaluateSupportPoint(Point p)
                             throws SimulationInputException,
                                    OptimizerException,
                                    java.lang.NoSuchMethodException,
                                    java.lang.IllegalAccessException,
                                    java.lang.Exception
Evaluates a support point for the numerical approximation to the double integral

Parameters:
p - the point being evaluated
Returns:
a clone of the point with the new function values stored
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
java.lang.reflect.InvocationTargetException - if an invoked method throws an exception
java.lang.Exception - if an I/O error in the simulation input file occurs