iterator
Class TwoStageRiskPerfAlgoBuilder<T extends BasicBoundConstrainedProblem,V extends MultiObjectiveDiviner,W extends NSGA2>

java.lang.Object
  extended by iterator.AbstractIterator
      extended by iterator.AbstractOptimizer<T>
          extended by iterator.AbstractPointOptimizer<T>
              extended by iterator.TwoStageRiskPerfAlgoBuilder<T,V,W>
All Implemented Interfaces:
DataListener, Iterable, LoggableIterator, RepeatableLoggableIterator
Direct Known Subclasses:
MultiPointRiskPerfAlgoBuilder

public class TwoStageRiskPerfAlgoBuilder<T extends BasicBoundConstrainedProblem,V extends MultiObjectiveDiviner,W extends NSGA2>
extends AbstractPointOptimizer<T>
implements RepeatableLoggableIterator

Sets up a two-stage optimization algorithm and solves it. Might have multifidelity problems, constrained problems, various kinds of diviners, etc., but the overall algorithm is the same. Uses the Java 'builder' pattern, which is standard for setting up a complex object and then using it. The best way to instantiate and use this class is by using the spring framework.

Author:
dgorur

Field Summary
 
Fields inherited from class iterator.AbstractOptimizer
doubleFormat, funEvalCount, logWriter
 
Fields inherited from class iterator.AbstractIterator
diagnosticString, iter
 
Constructor Summary
TwoStageRiskPerfAlgoBuilder()
           
 
Method Summary
protected  double[] computeNextPoint()
          NOTE: Does nothing!
 java.util.ArrayList<ApproxModel> getApproxModels()
          Returns the list of approximation models.
 W getAuxOptimizer()
          Returns the auxiliary optimizer.
 MultiObjectiveProblem getAuxProblem()
          Returns the auxiliary problem.
 int getCalibrationInterval()
           
 V getDiviner()
          Returns the diviner.
protected  int getFunEvalCount()
          Returns the number of function evaluations.
 TwoStageRiskPerfOptimizer<T,W> getMainOptimizer()
          Returns the main optimizer.
 int getMaxFunEval()
          Returns the maximum number of allowed function evaluations.
 T getProblem()
          Returns the main problem.
 int getRandomSeed()
          Returns the random seed.
 void init()
          Initialization routine
 boolean isTerminated()
          Returns true if termination criteria are satisfied.
protected  void printDiagnostics()
          Prints diagnostic output.
 void setApproxModels(java.util.ArrayList<ApproxModel> approxModels)
          Sets the list of approximation models.
 void setAuxOptimizer(W auxOptimizer)
          Sets the auxiliary optimizer.
 void setAuxProblem(MultiObjectiveProblem auxProblem)
          Sets the auxiliary optimization problem.
 void setCalibrationInterval(int calibrationInterval)
           
 void setDiviner(V diviner)
          Sets the diviner.
protected  void setFunEvalCount(int funEvalCount)
          Sets the number of function evaluations.
 void setMainOptimizer(TwoStageRiskPerfOptimizer<T,W> mainOptimizer)
          Sets the main optimizer.
 void setMaxFunEval(int maxFunEval)
          Sets the maximum number of allowed function evaluations.
 void setProblem(T mainProblem)
          Sets the problem.
 void setRandomSeed(int randomSeed)
          Sets the random seed.
 void singleIteration()
          Performs a single iteration.
protected  void update()
          Any updates that need to be performed at each iteration are encapsulated in this routine.
 
Methods inherited from class iterator.AbstractOptimizer
clear, dataAdded, dataAdded, dataRemoved, dataRemoved, getDataHandler, getLogFileName, iterate, setDataHandler, setLogFileName, updateDiagnostics, writeInitialRunLog
 
Methods inherited from class iterator.AbstractIterator
isVerbose, setVerbose
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface iterator.LoggableIterator
getLogFileName, setLogFileName
 
Methods inherited from interface iterator.Iterable
iterate
 

Constructor Detail

TwoStageRiskPerfAlgoBuilder

public TwoStageRiskPerfAlgoBuilder()
Method Detail

getApproxModels

public java.util.ArrayList<ApproxModel> getApproxModels()
Returns the list of approximation models.

Returns:
the list of approximation models.

getAuxOptimizer

public W getAuxOptimizer()
Returns the auxiliary optimizer.

Returns:
the auxiliary optimizer.

getAuxProblem

public MultiObjectiveProblem getAuxProblem()
Returns the auxiliary problem.

Returns:
the auxiliary problem.

getCalibrationInterval

public int getCalibrationInterval()

getDiviner

public V getDiviner()
Returns the diviner.

Returns:
the diviner.

getMainOptimizer

public TwoStageRiskPerfOptimizer<T,W> getMainOptimizer()
Returns the main optimizer.

Returns:
the main optimizer.

getMaxFunEval

public int getMaxFunEval()
Description copied from class: AbstractOptimizer
Returns the maximum number of allowed function evaluations.

Overrides:
getMaxFunEval in class AbstractOptimizer<T extends BasicBoundConstrainedProblem>
Returns:
max function evaluations allowed.

getProblem

public T getProblem()
Returns the main problem.

Overrides:
getProblem in class AbstractOptimizer<T extends BasicBoundConstrainedProblem>
Returns:
the problem.

getRandomSeed

public int getRandomSeed()
Description copied from interface: RepeatableLoggableIterator
Returns the random seed.

Specified by:
getRandomSeed in interface RepeatableLoggableIterator
Returns:
the random seed.

init

public void init()
Description copied from interface: Iterable
Initialization routine

Specified by:
init in interface Iterable
Overrides:
init in class AbstractOptimizer<T extends BasicBoundConstrainedProblem>

isTerminated

public boolean isTerminated()
Description copied from interface: Iterable
Returns true if termination criteria are satisfied.

Specified by:
isTerminated in interface Iterable
Overrides:
isTerminated in class AbstractOptimizer<T extends BasicBoundConstrainedProblem>
Returns:
true when done.

setApproxModels

public void setApproxModels(java.util.ArrayList<ApproxModel> approxModels)
Sets the list of approximation models.

Parameters:
approxModels - the given list of approximation models.

setAuxOptimizer

public void setAuxOptimizer(W auxOptimizer)
Sets the auxiliary optimizer.

Parameters:
auxOptimizer - the given auxiliary optimizer.

setAuxProblem

public void setAuxProblem(MultiObjectiveProblem auxProblem)
Sets the auxiliary optimization problem.

Parameters:
auxProblem - the given auxiliary optimization problem.

setCalibrationInterval

public void setCalibrationInterval(int calibrationInterval)

setDiviner

public void setDiviner(V diviner)
Sets the diviner.

Parameters:
diviner - the given diviner.

setMainOptimizer

public void setMainOptimizer(TwoStageRiskPerfOptimizer<T,W> mainOptimizer)
Sets the main optimizer.

Parameters:
mainOptimizer - the given main optimizer.

setMaxFunEval

public void setMaxFunEval(int maxFunEval)
Description copied from class: AbstractOptimizer
Sets the maximum number of allowed function evaluations.

Overrides:
setMaxFunEval in class AbstractOptimizer<T extends BasicBoundConstrainedProblem>
Parameters:
maxFunEval - the given maxFunEval.

setProblem

public void setProblem(T mainProblem)
Sets the problem.

Overrides:
setProblem in class AbstractOptimizer<T extends BasicBoundConstrainedProblem>
Parameters:
mainProblem - the given problem.

setRandomSeed

public void setRandomSeed(int randomSeed)
Description copied from interface: RepeatableLoggableIterator
Sets the random seed.

Specified by:
setRandomSeed in interface RepeatableLoggableIterator
Parameters:
randomSeed - the given random seed.

singleIteration

public void singleIteration()
Description copied from interface: Iterable
Performs a single iteration.

Specified by:
singleIteration in interface Iterable
Overrides:
singleIteration in class AbstractPointOptimizer<T extends BasicBoundConstrainedProblem>

computeNextPoint

protected double[] computeNextPoint()
NOTE: Does nothing!

Specified by:
computeNextPoint in class AbstractPointOptimizer<T extends BasicBoundConstrainedProblem>
Returns:
the next design to be evaluated.
See Also:
AbstractPointOptimizer.computeNextPoint()

getFunEvalCount

protected int getFunEvalCount()
Description copied from class: AbstractOptimizer
Returns the number of function evaluations.

Overrides:
getFunEvalCount in class AbstractOptimizer<T extends BasicBoundConstrainedProblem>
Returns:
the number of function evaluations.

printDiagnostics

protected void printDiagnostics()
Description copied from class: AbstractIterator
Prints diagnostic output.

Overrides:
printDiagnostics in class AbstractIterator

setFunEvalCount

protected void setFunEvalCount(int funEvalCount)
Description copied from class: AbstractOptimizer
Sets the number of function evaluations.

Overrides:
setFunEvalCount in class AbstractOptimizer<T extends BasicBoundConstrainedProblem>
Parameters:
funEvalCount - the given number of evaluations.

update

protected void update()
Any updates that need to be performed at each iteration are encapsulated in this routine.