Opened 3 weeks ago

Last modified 10 days ago

#2745 new feature request

Implement EGO

Reported by: bwerth Owned by: bwerth
Priority: medium Milestone: HeuristicLab 3.3.15
Component: Algorithms Version: branch
Keywords: EGO, Surrogate Cc:


Implement Efficient Global Optimization(EGO)

In many engineering optimization problems, the number of function evaluations is severely limited by time or cost. These problems pose a special challenge to the field of global optimization, since existing methods often require more function evaluations than can be comfortably afforded. One way to address this challenge is to fit response surfaces to data collected by evaluating the objective and constraint functions at a few points. These surfaces can then be used for visualization, tradeoff analysis, and optimization. In this paper, we introduce the reader to a response surface methodology that is especially good at modeling the nonlinear, multimodal functions that often occur in engineering. We then show how these approximating functions can be used to construct an efficient global optimization algorithm with a credible stopping rule. The key to using response surfaces for global optimization lies in balancing the need to exploit the approximating surface (by sampling where it is minimized) with the need to improve the approximation (by sampling where prediction error may be high). Striking this balance requires solving certain auxiliary problems which have previously been considered intractable, but we show how these computational obstacles can be overcome.


Change History (4)

comment:1 Changed 3 weeks ago by bwerth

r14735 created new branch folder

comment:2 Changed 3 weeks ago by bwerth

r14736 moved folder to correct place

comment:3 Changed 3 weeks ago by bwerth

r14741 migrated EGO from Connected Vehicles to its own branch, several modifications/simplifications along the way

comment:4 Changed 10 days ago by bwerth

r14768 fixed pausing and stopping and namespaces; Added MaximalDatasetSize and rudimentary ISurrogateAlgorithm-interface

Note: See TracTickets for help on using tickets.