Skip to content

or-fusion/pao

Repository files navigation

Documentation Status

Actions Status Pyomo Checks codecov

GitHub contributors Merged PRs Issue stats Project Status: Active - The project has reached a stable, usable state and is being actively developed.

PAO Overview

PAO is a Python-based package for Adversarial Optimization. PAO extends the modeling concepts in Pyomo to enable the expression and solution of multi-level optimization problems. The goal of this package is to provide a general modeling and analysis capability, and application exemplars serve to illustrate PAO's general capabilities.

This package was derived from the capabilities in pyomo.bilevel and pyomo.dualize, which are now deprecated.

PAO is available under the BSD License, see the LICENSE.txt file.

Documentation

Installation

PyPI PyPI version PyPI downloads

pip install pao

Testing

PAO is currently tested with the following Python implementations:

  • CPython: 3.7, 3.8, 3.9

Testing

  • pip install nose coverage

  • Simple tests

    • nosetests .
  • Tests with coverage

    • nosetests --with-xunit --with-coverage --cover-xml .
    • coverage report -m

Getting Help

Developers

By contributing to this software project, you are agreeing to the following terms and conditions for your contributions:

  1. You agree your contributions are submitted under the BSD license.
  2. You represent you are authorized to make the contributions and grant the license. If your employer has rights to intellectual property that includes your contributions, you represent that you have received permission to make contributions and grant the required license on behalf of that employer.