Skip to main content

Discrete optimization library

Project description

Discrete Optimization

Discrete Optimization is a python library to ease the definition and re-use of discrete optimization problems and solvers. It has been initially developed in the frame of scikit-decide for scheduling. The code base starting to be big, the repository has now been splitted in two separate ones.

The library contains a range of existing solvers already implemented such as:

  • greedy methods
  • local search (Hill Climber, Simulated Annealing)
  • metaheuristics (Genetic Algorithms, NSGA)
  • linear programming
  • constraint programming
  • hybrid methods (LNS)

The library also contains implementation of several classic discrete optimization problems:

  • Travelling Salesman Problem (TSP)
  • Knapsack Problem (KP)
  • Vehicle Routing Problem (VRP)
  • Facility Location Problem (FLP)
  • Resource Constrained Project Scheduling Problem (RCPSP). Several variants of RCPSP are available
  • Graph Colouring Problem (GCP)

In addition, the library contains functionalities to enable robust optimization through different scenario handling mechanisms) and multi-objective optimization (aggregation of objectives, Pareto optimization, MO post-processing).

Installation

Quick version:

pip install discrete-optimization

For more details, see the online documentation.

Documentation

The latest documentation is available online.

Examples

Some educational notebooks are available in notebooks/ folder. Links to launch them online with binder are provided in the Notebooks section of the online documentation.

More examples can be found as Python scripts in the examples/ folder, using the different features of the library and showing how to instantiate different problem instances and solvers.

Contributing

See more about how to contribute in the online documentation.

License

This software is under the MIT License that can be found in the LICENSE file at the root of the repository.

Some minzinc models have been adapted from files coming from

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

discrete_optimization-0.3.2.tar.gz (940.8 kB view hashes)

Uploaded Source

Built Distribution

discrete_optimization-0.3.2-py3-none-any.whl (596.1 kB view hashes)

Uploaded Python 3

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