diviner
Class RiskPerfTradeDiviner

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

public class RiskPerfTradeDiviner
extends ImprovementDiviner

BoundConstrainedDiviner that returns mean - k*stdDev. This can be thought of as a statistical lower bound. Note the sign of k: a positive value indicates that values returned will be lower than the mean. Note: since the variable targetObjective is being misused this way, the variable improvement is not usable. This implementation also treats its ApproxModel as if it were a Gaussian Process regression.

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
RiskPerfTradeDiviner()
           
 
Method Summary
 double getK()
          Returns the tradeoff factor between mean predictions and uncertainty.
 double quickCompute(double[] x)
          Compute method without dimension checking.
 void setK(double k)
          Sets the tradeoff factor between mean and standard deviation.
 
Methods inherited from class diviner.ImprovementDiviner
evaluatePosterior, getTargetObjective, setTargetObjective
 
Methods inherited from class diviner.BasicBoundConstrainedDiviner
getObjectiveModel, init, setObjectiveModel
 
Methods inherited from class function.VariableDomainScalarFunction
getBounds, getInputDimension, setBounds, 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.VariableBounds
setBounds
 
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

RiskPerfTradeDiviner

public RiskPerfTradeDiviner()
Method Detail

getK

public double getK()
Returns the tradeoff factor between mean predictions and uncertainty.

Returns:
the k.

setK

public void setK(double k)
Sets the tradeoff factor between mean and standard deviation.

Parameters:
k - the given k.

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.