ecole  by ds4dm

Reinforcement learning environments for combinatorial optimization

created 5 years ago
348 stars

Top 80.9% on sourcepulse

GitHubView on GitHub
Project Summary

Ecole provides Reinforcement Learning environments for combinatorial optimization problems, targeting researchers and practitioners in the field. It exposes control problems within state-of-the-art solvers as Markov Decision Processes, allowing RL agents to learn policies for optimizing solver behavior, rather than directly predicting solutions. This approach leverages the power of existing solvers like SCIP while enabling learning-based enhancements.

How It Works

Ecole integrates with the SCIP solver, presenting its internal decision points (e.g., branching variable selection) as actions for an RL agent. The environment mimics the OpenAI Gym API, providing observations (e.g., bipartite graph representations of the problem state), available actions, and rewards. The core advantage lies in learning to guide a powerful, pre-existing solver, potentially achieving better performance or efficiency than traditional heuristics or end-to-end learned models.

Quick Start & Requirements

  • Install via Conda: conda install -c conda-forge ecole
  • Pip installation requires a C++17 compiler and a SCIP installation.
  • Official documentation and examples are available at doc.ecole.ai.

Highlighted Details

  • Mimics OpenAI Gym API for familiar RL workflow.
  • Integrates with the SCIP Mixed Integer Linear Programming solver.
  • Offers various environment configurations, reward functions, and instance generators.
  • Published on arXiv: 2011.06069.

Maintenance & Community

The project is not actively developed and is looking for a new home; only critical issues are being investigated. Discussions and help are available on Github Discussions.

Licensing & Compatibility

The license is not explicitly stated in the README, but related projects are MIT licensed. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The project is not actively maintained, posing a risk for future support and bug fixes. Pip installation requires significant build dependencies (C++17 compiler, SCIP).

Health Check
Last commit

3 months ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
10 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.