artofscience / SAOR

Sequential Approximate Optimization Repository
GNU General Public License v3.0
5 stars 1 forks source link

Simplification of setup mixed approximation #52

Closed artofscience closed 2 years ago

artofscience commented 3 years ago

The setup of a mixed approximation is rather lengthy currently. This issue addresses the simplification of the initialization of the mixed approximation.

Giannis1993 commented 3 years ago

@aatmdelissen has proposed the following structure for the initialization:

# Default initialize all to MMA, Taylor1
mix = Mixed(var_sets, resp_sets, default_intervening=MMA, default_approximation=Taylor1, default_movelimit=...)

# Specify a few sets
mix.set_group(0, 1, intervening=ConLin, approximation=Taylor2, ...)
mix.set_group(1, range(5), approximation=Taylor2)
mix.set_group(1, 2, intervening=Linear)

In this way a default uniform mixed scheme is initialized, and by using the set_group method, specific groups are altered. Intervening variables, approximation, and move limit should be able to set independently, e.g.:

# One variable set, three response sets
mix = Mixed(var_sets, resp_sets, default_intervening=MMA, default_approximation=Taylor1, default_movelimit=...)
mix.set_group(0, [0, 1], intervening=ConLin)
mix.set_group(0, 1, approximation=Taylor2)

Which results in (0,0 - ConLin, Taylor1) and (0,1 - ConLin, Taylor2) and (0,2 - MMA, Taylor1).

artofscience commented 2 years ago

Outdated with new outline