Catalog PyPI
PACKAGE EXPLORERView in registry

adasamp-pareto

PyPI

Adaptive bayes-sampling for multi-criteria optimization

Versions collected1
Direct dependencies5From release 1.1
Last observed20 Oct, 19:09 UTC

README

Version 1.1 documentation
***********************************************************************
adasamp-pareto: adaptive bayes-sampling for multi-criteria optimization
***********************************************************************

.. image:: https://github.com/RaoulHeese/adasamp-pareto/actions/workflows/tests.yml/badge.svg 
    :target: https://github.com/RaoulHeese/adasamp-pareto/actions/workflows/tests.yml
    :alt: GitHub Actions
	
.. image:: https://readthedocs.org/projects/adasamp-pareto/badge/?version=latest
    :target: https://adasamp-pareto.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status	
	
.. image:: https://img.shields.io/badge/license-MIT-lightgrey
    :target: https://github.com/RaoulHeese/adasamp-pareto/blob/main/LICENSE
    :alt: 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

.. math::

   max [ y(x) ] s.t. f(x) = feasible
   
in an iterative procedure. Here, :math:`y(x)` denotes the multi-dimensional goals and :math:`f(x)` the binary feasibility of the problem (in the sense that certain design variables :math:`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:

.. code-block:: sh

    $ pip install adasamp-pareto
	
**Usage**

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

.. code-block:: python

  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:

.. code-block::

    @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}
         }
	

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.16 Sept 20225

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
raoulheese/cadasamp-pareto

Shared repository data · GitHub

License detected in repository
Not collected

Repository

PENDING
raoulheese/adasamp-pareto

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:09 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:de6e7336101c8e99088cb4203de0febd1bcf2c6a5637816f8c9058c64980f599