Source code for Meta Learning-assisted Constraint Relaxation for Constrained Black-Box Optimization.
This repository contains the MeCO controller, its action-controlled constrained optimizer, CEC2017 constrained benchmark problems, and several baseline black-box optimizers.
meco.py: DDQN-based MeCO controller.meco_opt.py: optimizer used by MeCO.constraint_optimization_problem.py: CEC2017 constrained benchmark problems.bbo/: baseline optimizers (SHADE,SHADE_E,SHADE_DEB,SACOBRA, and optionalCMAES).leave_one_out.py: leave-one-out training and testing script.
Python 3.10+ with:
pip install numpy scipy torchCMAES additionally requires:
pip install cmaesTrain on 27 CEC2017 functions and test on one held-out function:
python leave_one_out.py --test-fun 1Run all 28 held-out settings:
python leave_one_out.py --all-testsResults are written to outputs/leave_one_out/.