Skip to main content

Extensible Combinatorial Optimization Learning Environments. This is a fork of the original package ecole

Project description

⚠️ Warning ⚠️

  • This is a fork of the package ecole

Ecole logo

Ecole

Test and deploy on Github Actions

Ecole (pronounced [ekɔl]) stands for Extensible Combinatorial Optimization Learning Environments and aims to expose a number of control problems arising in combinatorial optimization solvers as Markov Decision Processes (i.e., Reinforcement Learning environments). Rather than trying to predict solutions to combinatorial optimization problems directly, the philosophy behind Ecole is to work in cooperation with a state-of-the-art Mixed Integer Linear Programming solver that acts as a controllable algorithm.

The underlying solver used is SCIP, and the user facing API is meant to mimic the OpenAI Gym API (as much as possible).

import ecole

env = ecole.environment.Branching(
    reward_function=-1.5 * ecole.reward.LpIterations() ** 2,
    observation_function=ecole.observation.NodeBipartite(),
)
instances = ecole.instance.SetCoverGenerator()

for _ in range(10):
    obs, action_set, reward_offset, done, info = env.reset(next(instances))
    while not done:
        obs, action_set, reward, done, info = env.step(action_set[0])

Documentation

Consult the user Documentation for tutorials, examples, and library reference.

Discussions and help

Head to Github Discussions for interaction with the community: give and recieve help, discuss intresting envirnoment, rewards function, and instances generators.

Installation

Conda

Conda-Forge version Conda-Forge platforms
conda install -c conda-forge ecole

All dependencies are resolved by conda, no compiler is required.

Pip wheel (binary)

Currently unavailable.

Pip source

PyPI version
Building from source requires:
pip install ecole

Other Options

Checkout the installation instructions in the documentation for more installation options.

Use It, Cite It

Ecole publication on Arxiv

If you use Ecole in a scientific publication, please cite the Ecole publication

@inproceedings{
    prouvost2020ecole,
    title={Ecole: A Gym-like Library for Machine Learning in Combinatorial Optimization Solvers},
    author={Antoine Prouvost and Justin Dumouchelle and Lara Scavuzzo and Maxime Gasse and Didier Ch{\'e}telat and Andrea Lodi},
    booktitle={Learning Meets Combinatorial Algorithms at NeurIPS2020},
    year={2020},
    url={https://openreview.net/forum?id=IVc9hqgibyB}
}

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

ecole_fork-0.9.4.tar.gz (1.9 MB view details)

Uploaded Source

File details

Details for the file ecole_fork-0.9.4.tar.gz.

File metadata

  • Download URL: ecole_fork-0.9.4.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for ecole_fork-0.9.4.tar.gz
Algorithm Hash digest
SHA256 b14f4380ef32e549d48ce3ff417085185a89c978343f64a4e761e40a4039da3b
MD5 62481f26814d71d4d0bd1a9bfa9a9e88
BLAKE2b-256 8c8db8c1e245260f98cba8ed0309c61ff532199ef3ec2ac95c58c18c1710ebde

See more details on using hashes here.

Supported by

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