https://github.com/airbus/discrete-optimization

Discrete Optimization is a python library to ease the definition and re-use of discrete optimization problems and solvers.

https://github.com/airbus/discrete-optimization

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 9 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Discrete Optimization is a python library to ease the definition and re-use of discrete optimization problems and solvers.

Basic Info
  • Host: GitHub
  • Owner: airbus
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 16.7 MB
Statistics
  • Stars: 62
  • Watchers: 3
  • Forks: 12
  • Open Issues: 5
  • Releases: 10
Created about 4 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

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 * domain independent dynamic programming * hybrid methods (CP and LP based Large Neighborhood Search)

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) and its variants (MRCPSP, MSRCPSP) * Graph Colouring Problem (GCP) * Maximum independent set (MIS) * Job shop scheduling problem (JSP) and its flexible variant (FJSP)

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).

We thank awesome optimization library or modeling language from different communities that are widely used through our library :

notably ortools, minizinc, deap, didp, gurobi

Installation

Quick version: shell 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 - https://github.com/MiniZinc/minizinc-benchmarks under the same license, - https://github.com/youngkd/MSPSP-InstLib for which we have the written authorization of the author.

Owner

  • Name: Airbus
  • Login: airbus
  • Kind: organization
  • Location: Toulouse

We design, manufacture and deliver industry-leading commercial aircraft, helicopters, military transports, satellites and launch vehicles

GitHub Events

Total
  • Create event: 4
  • Issues event: 3
  • Release event: 1
  • Watch event: 26
  • Issue comment event: 6
  • Push event: 76
  • Pull request review comment event: 1
  • Pull request event: 91
  • Pull request review event: 22
Last Year
  • Create event: 4
  • Issues event: 3
  • Release event: 1
  • Watch event: 26
  • Issue comment event: 6
  • Push event: 76
  • Pull request review comment event: 1
  • Pull request event: 91
  • Pull request review event: 22

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 600
  • Total Committers: 9
  • Avg Commits per committer: 66.667
  • Development Distribution Score (DDS): 0.365
Past Year
  • Commits: 195
  • Committers: 6
  • Avg Commits per committer: 32.5
  • Development Distribution Score (DDS): 0.436
Top Committers
Name Email Commits
Nolwen n****t@i****r 381
poveda_g g****a@a****m 130
Nolwen –****t@i****r 45
poveda_g g****a@g****m 25
armand-gautier a****r@a****m 10
g-poveda 5****a 4
Florent Teichteil-Koenigsbuch f****l@g****m 2
eadietz e****z@a****m 2
Hendrik W h****r@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 10
  • Total pull requests: 496
  • Average time to close issues: 5 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 0.6
  • Average comments per pull request: 0.08
  • Merged pull requests: 446
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 196
  • Average time to close issues: 7 days
  • Average time to close pull requests: 3 days
  • Issue authors: 4
  • Pull request authors: 3
  • Average comments per issue: 0.25
  • Average comments per pull request: 0.04
  • Merged pull requests: 174
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • nhuet (4)
  • g-poveda (3)
  • ohken322 (1)
  • dadleyAD (1)
  • frankharkins (1)
Pull Request Authors
  • nhuet (335)
  • g-poveda (136)
  • ArmandGautier (22)
  • derhendrik (2)
  • SoulPancake (1)
Top Labels
Issue Labels
enhancement (2) documentation (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,473 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 3
  • Total versions: 10
  • Total maintainers: 1
pypi.org: discrete-optimization

Discrete optimization library

  • Versions: 10
  • Dependent Packages: 1
  • Dependent Repositories: 3
  • Downloads: 1,473 Last month
Rankings
Downloads: 3.6%
Dependent packages count: 4.8%
Average: 5.8%
Dependent repos count: 9.0%
Maintainers (1)
Last synced: 11 months ago

Dependencies

pyproject.toml pypi
  • cpmpy >=0.9.9
  • deap >=1.3.1
  • deprecation *
  • matplotlib >=3.1
  • minizinc >=0.6.0
  • mip >=1.13
  • networkx >=2.5
  • numba >=0.50
  • numpy >=1.21
  • ortools >=8.0
  • pymzn >=0.18.3
  • scipy *
  • seaborn >=0.10.1
  • shapely >=1.7
  • sortedcontainers >=2.4
  • tqdm >=4.62.3
  • typing-extensions >=4.0
  • typing_extensions >=4.4
.github/workflows/build.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • ncipollo/release-action v1 composite
  • pypa/gh-action-pypi-publish release/v1 composite
docs/requirements.txt pypi
  • myst_parser *
  • sphinx *
  • sphinx_rtd_theme *