Skip to main content

PWAS/PWASp - Global and Preference-based Optimization with Mixed Variables using (P)iece(w)ise (A)ffine (S)urrogates

Project description

Global and Preference-based Optimization with Mixed Variables using Piecewise Affine Surrogates (PWAS/PWASp)

We propose a novel surrogate-based global optimization algorithm, called PWAS, based on constructing a piecewise affine surrogate of the objective function over feasible samples. We introduce two types of exploration functions to efficiently search the feasible domain via mixed integer linear programming (MILP) solvers. We also provide a preference-based version of the algorithm, called PWASp, which can be used when only pairwise comparisons between samples can be acquired while the objective function remains unquantified. For more details on the method, please read our paper Global and Preference-based Optimization with Mixed Variables using Piecewise Affine Surrogates.

Dependencies:

  • python 3
  • numpy
  • scipy
  • math
  • pulp
  • sklearn
  • pyDOE
  • cdd

Usage:

Examples of benchmark testing using PWAS/PWASp can be found in the examples folder:

  • mixed_variable_benchmarks.py: benchmark testing on constrained/unconstrained mixed-variable problems
    • Test results are reported in the paper
  • other_benchmarks.py: various NLP, MIP, INLP, MIP Benchmarks tested with PWAS/PWASp

Citation

Please cite our paper if you would like to use the code.

@article{ZB23,
    author={M. Zhu, A. Bemporad},
    title={Global and Preference-based Optimization with Mixed Variables using Piecewise Affine Surrogates},
    journal={arXiv preprint arXiv:2302.04686},
    year=2023
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pwasopt-0.0.1.tar.gz (42.1 kB view details)

Uploaded Source

Built Distribution

pwasopt-0.0.1-py3-none-any.whl (50.4 kB view details)

Uploaded Python 3

File details

Details for the file pwasopt-0.0.1.tar.gz.

File metadata

  • Download URL: pwasopt-0.0.1.tar.gz
  • Upload date:
  • Size: 42.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.4

File hashes

Hashes for pwasopt-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5d7675b47420a8961dac4accb4362f8a415bbdd6dc86001f53554055e0d2fdf8
MD5 c21a606514a47a96538c3441796805ea
BLAKE2b-256 134c75e09704a1a06b2e89b743325b7e1afd176eb7e042c661b7623cf07edcb2

See more details on using hashes here.

File details

Details for the file pwasopt-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: pwasopt-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 50.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.4

File hashes

Hashes for pwasopt-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47f34d616e98a7e4b8ff13d199f44946c2d3d345f63ae3d1f0479b2b4ef61735
MD5 4d4f0e802b987ad16c0d56d5ed63c2f0
BLAKE2b-256 be95349019d971150d62ea748366dc74688b861ddaae7793359f672f9bced666

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page