Chapter 3: Exploring and Exploiting a Surrogate

Because our surrogate model is only an approximation of the true function we wish to optimize, it is prudent to enhance the accuracy of the model using further function calls (infill or update points), in addition to the initial sampling plan. We may wish to improve the accuracy solely in the region of the optimum predicted by the surrogate to obtain an accurate optimal value quickly: local exploitation. We may, however, be unsure of the global accuracy of the surrogate and employ an infill strategy which enhances the general accuracy of the model: global exploration. In this chapter we consider each of these avenues in turn, before looking at methods which combine both schools of thought.

To get started, download the Matlab toolbox and try one of the examples.

The Matlab code below searches the a Kriging model of the ‘Branin function’ created on the Chapter 2 page. It then runs the Branin function at this infill point and adds it to the observed data, ready to rebuild the model for another search (these processes would normally be run inside a loop)

% maximise expected improvement
ModelInfo.Option=‘NegLogExpImp’;
[OptVar,OptFun]=ga(@predictor,k,[],[],[],[],zeros(1,k),ones(1,k));
% add infill point
ModelInfo.X=[ModelInfo.X;OptVar];
ModelInfo.y(end+1)=branin(ModelInfo.X(end,:));

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s