Skip to content

Bilkent-CYBORG/VOPy

Repository files navigation

VOPy: A Framework for Black-box Vector Optimization

Test Workflow Coverage Status Documentation Status License

What is VOPy?

VOPy is an open-source Python library built to address noisy black-box vector optimization problems, where the user preferences are encoded with a cone order.

Overview of the dependencies, core modules, and built-in algorithms of VOPy

What to do with VOPy?

VOPy includes several pre-implemented algorithms, models, orders, and problems from the literature for black-box vector optimization, allowing users to select and utilize components based on their specific needs. Specifically, you can:

  • Use existing black-box vector optimization methods for new problems
  • Benchmark novel algorithms with the state-of-the-art
  • Utilize a wide range of existing tools in black-box vector optimization

How To Start?

Visit our website to see tutorials, examples and API references on how to use VOPy.

Setup

Installation using pip:

pip install vopy

Latest (Unstable) Version

To upgrade to the latest (unstable) version, run

pip install --upgrade git+https://github.com/Bilkent-CYBORG/VOPy.git

Manual installation (for development)

If you are contributing a pull request, it is best to perform a manual installation:

git clone https://github.com/Bilkent-CYBORG/VOPy.git
cd VOPy
mamba env create --name vopy --file environment.yml  # To setup a proper development environment
pip install -e .

For all development requirements, see requirements.txt or environment.yml.

Further, installing the pre-commit hooks are highly encouraged.

# Inside the package folder
pre-commit install

Citing

If you use VOPy, please cite the following paper:

@article{yildirim2024vopy,
  title={{VOPy}: A Framework for Black-box Vector Optimization},
  author={Yıldırım, Yaşar Cahit and Karagözlü, Efe Mert and Korkmaz, İlter Onat and Ararat, Çağın and Tekin, Cem},
  journal={arXiv preprint arXiv:2412.06604},
  year={2024}
}

License

VOPy is under MIT license.