The SUMO toolbox  2018a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Public Attributes | List of all members
lrm Class Reference

The LRM candidate ranker. More...

Inheritance diagram for lrm:
Inheritance graph

Public Member Functions

function lrm (var varargin)
 Class constructor. More...
function getDesignType ()
function scoreCandidates (var points, var state)
 Scores candidate samples. More...
function initNewSamples (var state)
 Initialized when new samples arrive. More...
function score (var candidates, var state)
 Scores a set of candidate samples. More...
function scoreMinimize (var candidates, var state)
 Simply calls -CandidateRanker.score(candidates, state) More...
function setOrder (var order)
function getType ()
function getDimension ()
function instantiate (var inDim, var varargin)
function plotRanker (var state, var newsamples)

Public Attributes

var perpendicularToAxis
var power
var angleThreshold
var powerPointPlane
var isComplex
var inDim
var scalingFunction
var sortOrder
var debug
var debugSave
var debugPlot

Detailed Description

The LRM candidate ranker.

Compares the current best model with a linear interpolation (based on a Delaunay triangulation). The candidates samples are ranked based on the deviation of the model and the interpolation at their location. If there are several outputs, the average deviation of these outputs is taken. OPTIONS: 1) perpendicularToAxis: if true, the deviation between the two models will be calculated as simply the difference between the predicted values; else the deviation is taken as point-plane distance between the candidate sample and the hyperplane corresponding to the tesselation of the candidate sample 2) power: by default = 1, takes the deviation to this power as the LRM score 3) powerPointPlane: default = 1, the power to which the point-plane distance is raised 4) angleThreshold: default = 1.54, is a threshold for the angle between input space and the hyperplane of a tesselation. In some cases the hyperplanes of the tesselation can be (near) vertical although the problem itself show little dynamics (see Bird example). Setting this threshold reduces spurious samples being selected in such cases. Setting the threshold to pi/2 will allow any angle.

Constructor & Destructor Documentation

function lrm ( var  varargin)

Class constructor.

instance of the class

Member Function Documentation

function getDesignType ( )
function getDimension ( )
function getType ( )
function initNewSamples ( var  state)

Initialized when new samples arrive.

function instantiate ( var  inDim,
var  varargin 
function plotRanker ( var  state,
var  newsamples 
function score ( var  candidates,
var  state 

Scores a set of candidate samples.

candidatesmatrix of candidate samples
statecurrent state
Return values
scoresvector of scores (priorites)
dscoresderivatives of scores w.r.t. candidates
function scoreCandidates ( var  points,
var  state 

Scores candidate samples.

pointsmatrix of candidate samples to score
Return values
dvector of scores
function scoreMinimize ( var  candidates,
var  state 

Simply calls -CandidateRanker.score(candidates, state)

This is needed primarily for OptimizeCriterion, as multiple output arguments don't work with: func = -this.score(...)

candidatesmatrix of candidate samples
statecurrent state
Return values
scoresvector of -scores (lower is better)
dscoresderivatives of -scores w.r.t. candidates
function setOrder ( var  order)

Member Data Documentation

var angleThreshold
var debug
var debugPlot
var debugSave
var inDim
var isComplex
var perpendicularToAxis
var power
var powerPointPlane
var scalingFunction
var sortOrder

The documentation for this class was generated from the following file: