Skip to content

Adaptive optimization of black-box multi-objective optimization problems with binary constraints using machine learning.

License

Notifications You must be signed in to change notification settings

RaoulHeese/adasamp-pareto

Repository files navigation

Adaptive bayes-sampling for multi-criteria optimization (adasamp-pareto)

GitHub Actions Documentation Status MIT License

Adaptive optimization algorithm for black-box multi-objective optimization problems with binary constraints on the foundation of Bayes optimization. The algorithm aims to find the Pareto-optimal solution of

max [ y(x) ] s.t. f(x) = feasible

in an iterative procedure. Here, y(x) denotes the multi-dimensional goals and f(x) the binary feasibility of the problem (in the sense that certain design variables x lead to invalid goals). All technical details can be found in the paper "Adaptive Sampling of Pareto Frontiers with Binary Constraints Using Regression and Classification" (https://arxiv.org/abs/2008.12005).

Installation

Install via pip or clone this repository. In order to use pip, type:

$ pip install adasamp-pareto

Usage

The class AdaptiveSampler is used to define and solve a problem instance. Simple example:

from adasamp import AdaptiveSampler

# Create instance
sampler = AdaptiveSampler(func,       # Problem definition: function returns (goals Y, feasibility f)
                          X_limits,   # Design variable limits to search solution in
                          Y_ref,      # Reference point, has to be dominated by any goal Y
                          iterations, # Number of solver iterations
                          Y_model,    # Regression model to predict goals Y
                          f_model)    # Classification model to predict feasibility f

# Return the sampling suggestions X, the corresponding goals Y, and the corresponding feasibilities f.
X, Y, f = sampler.sample()

Demo notebooks can be found in the examples/ directory.

Documentation

Complete documentation is available: https://adasamp-pareto.readthedocs.io/en/latest.

📖 Citation

If you find this code useful in your research, please consider citing:

@misc{heesebortzCITE2020,
      title={Adaptive Sampling of Pareto Frontiers with Binary Constraints Using Regression and Classification},
      author={Raoul Heese and Michael Bortz},
      year={2020},
      eprint={2008.12005},
      archivePrefix={arXiv},
      primaryClass={stat.ML}
     }

This project is currently not under development and is not actively maintained.

About

Adaptive optimization of black-box multi-objective optimization problems with binary constraints using machine learning.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages