PastelBelem8 / ADOPT.jl

This is the result of my master thesis on Multi-Objective Optimization. This repository is more focused towards Pareto-based optimization rather than SIngle-Objective optimization with preference articulation. We focus on time-consuming optimization routines and, as a result we focus on model-based methods to allow for faster convergence times. This is relevant for Architectural Design Optimization, which depends on time-intensive simulations (e.g. minutes, hours or even days to complete a single simulation).
GNU General Public License v3.0
0 stars 0 forks source link

Surrogate Based Optimization behaves strangely when multiple Surrogates are specified #24

Open PastelBelem8 opened 5 years ago

PastelBelem8 commented 5 years ago

Due to the way we implemented surrogates, i.e., by associating the sampling routines to each surrogate. We incurred a new problem: when we use these surrogates in the context of SBO (Surrogate Based Optimization), they might be using a smaller subset of variables instead of all the variables, which will yield to a mismatch in the correction, creation and validation routines. Also, the create! routine is poorly conceived as it determines the number of variables based on the number of unscalers, which might now always be the case, i.e., we might sometimes use a smaller subset of unscalers.

This issue is priority and requires all the attention.

PastelBelem8 commented 5 years ago

For solving this issue, we propose adding the information of the necessary variables to the Surrogate: variables_indices. By default, the surrogate will assume all variables are being used, which corresponds to the Colon (:) (we opt to provide the Colon default option to avoid having the user to specify the number of variables in the Surrogate constructor).

Advantages of the proposed solution:

Disadvantages of the proposed solution: