diviner
Class MultiMetricDiviner

java.lang.Object
  extended by function.BasicScalarFunction
      extended by function.VariableDomainScalarFunction
          extended by diviner.BasicBoundConstrainedDiviner
              extended by diviner.ImprovementDiviner
                  extended by diviner.MultiMetricDiviner
All Implemented Interfaces:
BoundConstrainedDiviner, Computable, ScalarFunction, VariableBounds, VariableInputDimension

public class MultiMetricDiviner
extends ImprovementDiviner

Uses multiple figures of merit to compute 'goodness' of a point for sampling. Achieves this by containing a number of diviners and using the desired one at any stage. Cycles through the list of diviners each time the setTargetObjective(double) method is invoked. (Bit of a hack? Maybe not.)

Author:
dgorur

Field Summary
 
Fields inherited from class diviner.ImprovementDiviner
improvement, postMean, postStdDev, scaledImprovement
 
Fields inherited from class function.BasicScalarFunction
DEFAULT_BOUNDS, DEFAULT_DIM, VALUE_OUTSIDE_BOUNDS
 
Constructor Summary
MultiMetricDiviner()
          Default constructor.
 
Method Summary
 java.util.ArrayList<ImprovementDiviner> getDiviners()
          Returns the diviners.
 void init()
          Initialization method.
 double quickCompute(double[] x)
          Compute method without dimension checking.
 void setBounds(Hypercube bounds)
          Sets the bounds for this ScalarFunction.
 void setDiviners(java.util.ArrayList<ImprovementDiviner> diviners)
          Sets the diviners.
 void setObjectiveModel(ApproxModel approxModel)
          Sets the ApproxModel for this BoundConstrainedDiviner.
 void setTargetObjective(double obj)
          Sets the value of the target objective desired.
 
Methods inherited from class diviner.ImprovementDiviner
evaluatePosterior, getTargetObjective
 
Methods inherited from class diviner.BasicBoundConstrainedDiviner
getObjectiveModel
 
Methods inherited from class function.VariableDomainScalarFunction
getBounds, getInputDimension, setInputDimension
 
Methods inherited from class function.BasicScalarFunction
checkDimensions, compute, compute, compute, compute, compute, compute, getOutputDimension, isWithinBounds, makeBounds, quickCompute
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface function.ScalarFunction
compute, compute, compute, compute, quickCompute
 
Methods inherited from interface function.Computable
compute, compute, getBounds, getInputDimension, getOutputDimension, isWithinBounds
 

Constructor Detail

MultiMetricDiviner

public MultiMetricDiviner()
Default constructor.

Method Detail

getDiviners

public java.util.ArrayList<ImprovementDiviner> getDiviners()
Returns the diviners.

Returns:
the diviners.

setDiviners

public void setDiviners(java.util.ArrayList<ImprovementDiviner> diviners)
Sets the diviners.

Parameters:
diviners - An ArrayList of ImprovementDiviners.

init

public void init()
Description copied from class: BasicScalarFunction
Initialization method.

Specified by:
init in interface BoundConstrainedDiviner
Specified by:
init in interface ScalarFunction
Overrides:
init in class BasicBoundConstrainedDiviner

quickCompute

public double quickCompute(double[] x)
Description copied from class: BasicScalarFunction
Compute method without dimension checking. All subclasses must implement this method: it is the core method that defines the function.

Specified by:
quickCompute in interface ScalarFunction
Specified by:
quickCompute in class BasicScalarFunction
Parameters:
x - the given input.
Returns:
the output corresponding to the given input.

setBounds

public void setBounds(Hypercube bounds)
Description copied from interface: VariableBounds
Sets the bounds for this ScalarFunction.

Specified by:
setBounds in interface VariableBounds
Overrides:
setBounds in class VariableDomainScalarFunction
Parameters:
bounds - the given bounds.

setObjectiveModel

public void setObjectiveModel(ApproxModel approxModel)
Description copied from interface: BoundConstrainedDiviner
Sets the ApproxModel for this BoundConstrainedDiviner.

Specified by:
setObjectiveModel in interface BoundConstrainedDiviner
Overrides:
setObjectiveModel in class BasicBoundConstrainedDiviner
Parameters:
approxModel - the given ApproxModel.

setTargetObjective

public void setTargetObjective(double obj)
Description copied from class: ImprovementDiviner
Sets the value of the target objective desired.

Overrides:
setTargetObjective in class ImprovementDiviner
Parameters:
obj - desired value of objective.