Replace data points based upon strategy
This function will replace data points from an OptionsMatlab output structure with data points from a second structure selected depending upon the specified strategy. The attribute used to select the data points may the value of the objective function, or the normalized Euclidian distance from the best point specified in STRUCTOUT.
STRUCTOUTEDIT = optimisationAppendDataPoints(STRUCTOUT, STRUCTOUT2,STRATEGY,STRUCTIN)
STRUCTOUTEDIT = optimisationAppendDataPoints(STRUCTOUT, STRUCTOUT2,STRATEGY,STRUCTIN,NUMPOINTS)
STRUCTOUTEDIT = optimisationAppendDataPoints(STRUCTOUT, STRUCTOUT2, STRATEGY, STRUCTIN) where STRUCTOUT and STRUCTOUT2 are results structure returned by OptionsMatlab containing data points in a field OBJTRC (and CONSTRC) or RSMTRC. STRATEGY is a string that specifies the strategy used to replace data points:
select_best |
selects data points from STRUCTOUT and STRUCTOUT2 depending upon the value of the objective function |
select_closest |
selects data points from STRUCTOUT and STRUCTOUT2 depending upon the normalized Euclidian distance from STRUCTOUT.VARS |
replace_worst |
replaces the worst NUMPOINTS data points from STRUCTOUT with the best points from STRUCTOUT2 depending upon the value of the objective function |
replace_furthest |
replaces the furthest NUMPOINTS data points from STRUCTOUT with the closest points from STRUCTOUT2 depending upon the normalized Euclidian distance from STRUCTOUT.VARS |
STRUCTIN is the OptionsMatlab input structure for the problem that was used to generate the data points. STRUCTOUTEDIT is the edited copy of STRUCTOUT.
Note that RSM results can only be copied from to a structure containing RSM results (RSMTRC). Also unconstrained data points cannot be copied to a structure containing constrained data.
Note that duplicate points are not detected and may occur in STRUCTOUTEDIT.
STRUCTOUTEDIT = optimisationAppendDataPoints(STRUCTOUT, STRUCTOUT2,STRATEGY,STRUCTIN,NUMPOINTS) where NUMPOINTS is an integer value that has alternative meanings depending upon the strategy. Where STRATEGY:
select_* |
NUMPOINTS is the number of data points in STRUCTOUTEDIT. If NUMPOINTS is not specified, or is empty ([]), it will default to STRUCTOUT.*TRC.NCALLS |
replace_* |
NUMPOINTS is the number of data points in STRUCTOUT replaced with points from STRUCTOUT2 |
These examples will demonstrate the alternative strategies to replace data points.
structin = createBeamStruct(2.8);
structin.NITERS = 10; %Do a DoE of ten points
structout = OptionsMatlab(structin)
structin2 = structin;
structin2.OMETHD = 4; %Do a GA of ten points
structout2 = OptionsMatlab(structin2)
In this example the best data points are selected from between structout and structout2.
structoutedit = optimisationReplaceDataPoints(structout, ...
structout2,'select_best',structin)
structoutedit.OBJTRC.OBJFUN
structoutedit.OBJTRC.VARS
In this example 15 data points are selected from between structout and structout2 depending upon their normalized Euclidian distance from structout.VARS.
structoutedit = optimisationReplaceDataPoints(structout, ...
structout2,'select_closest',structin,15)
structoutedit.OBJTRC.OBJFUN
structoutedit.OBJTRC.VARS
In this example the 5 worst data points from structout are replaced by the 5 best data points from structout2.
structoutedit = optimisationReplaceDataPoints(structout, ...
structout2,'replace_worst',structin,5)
structoutedit.OBJTRC.OBJFUN
structoutedit.OBJTRC.VARS
In this example the 5 data points from structout that are furthest from structout.VARS are replaced by the 5 closest points from structout2.
structoutedit = optimisationReplaceDataPoints(structout, ...
structout2,'replace_furthest',structin,5)
structoutedit.OBJTRC.OBJFUN
structoutedit.OBJTRC.VARS
optimisationCropDataPoints, optimisationAppendDataPoints
Copyright © 2007, The Geodise Project, University of Southampton