Find your next solver
A curated index of Operations Research resources — solvers, courses, books, datasets, communities and more. Classified by type, topic and audience.
- Advanced modeling for discrete optimizationCourse
Course about advanced modeling for discrete optimization, covering topics such as debugging or predicates
- AMPLModeling language
Welcome to AMPL (A Mathematical Programming Language), a powerful and intuitive modeling language designed specifically for large-scale optimization problems. If you are new to modeling languages or AMPL, this page will guide you through what AMPL is, its benefits, and why it stands out in the landscape of programming and modeling languages.
- ArcadeTSPGame
An arcade-style TSP challenge game written for https://github.com/tunnuz/arcadetsp's 2018 Christmas Party, follow the in-game instructions.
- Basic modeling for discrete optimizationCourse
Course about basic modeling for discrete optimization with MiniZinc
- Beer GameGame
Learn supply chain principles through a visual simulation.
- Burrito Optimization GameGame
Web-based app that is intended to act as an entry point for data scientists and problem solvers who could benefit from optimization; the game teaches players why optimization is valuable and important, why it’s difficult (by showcasing the scaling and added complexity of optimization throughout round play), and why solvers and other optimization algorithms are essential in finding an optimal solution.
- Combinatorial Optimization: Algorithms and ComplexityBook
An introduction to algorithms and computational complexity to solve combinatorial optimization problems
- CVRP GameGame
A game to better understand how CVRP works.
- CVXPYModeling language
CVXPY is an open source Python-embedded modeling language for convex optimization problems. It lets you express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers.
- Discrete Optimization courseCourse
Course about discrete optimization covering a wide range of optimization techniques such as Constraint Programming, Local Search or Column Generation
- GAMSModeling language
GAMS is a modeling system for mathematical optimization that lets users formulate complex problems in a high-level language and run them with different commercial and open-source solvers. All solvers are packaged in a single distribution, making it easy to switch between them and giving customers one point of contact for licensing and support. It also has a Python interface -GAMSPy- for building and solving mathematical optimization models using the GAMS technology stack. It keeps the modeling concepts of GAMS (sets, parameters, variables, equations) but exposes them as Python classes and functions. This allows modelers to stay in the Python ecosystem while using mature GAMS solvers and workflows.
- Google OR-ToolsModeling language
Open source software suite for optimization, tuned for tackling the world's toughest problems in vehicle routing, flows, integer and linear programming, and constraint programming.
- Hands-On Mathematical Optimization with PythonBook
A gentle introduction to optimization with Python.
- Introduction to algorithmsBook
Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness.
- Introduction to Operations ResearchBook
An introduction to Operations Research with theory from Linear Programming to simulation, passing through Nonlinear Programming, Game Theory, Metaheuristics or Network flows, among others.
- JuMPModeling language
JuMP is a domain-specific modeling language for mathematical optimization embedded in Julia. JuMP makes it easy to formulate and solve a range of problem classes, including linear programs, integer programs, conic programs, semidefinite programs, and constrained nonlinear programs.
- Learn Graph TheoryGame
Interactive resources to learn Graph Theory.
- Learn ORGame
Interactive resources to learn OR.
- Lego ChallengeGame
The TLC is a simple constrained integer program turned into a game that you can play in a classroom with Legos. In each round of the game, your team acts as a boutique woodworking company who must decide which items to build and sell to the market. The goal is to decide how many of each type of item to build to maximize profits and beat other teams, where you are constrained by how many component pieces you have available.
- MiniZincModeling language
MiniZinc is a high-level constraint modelling language that allows you to easily express and solve discrete optimisation problems.
- MIPLearnSoftware
An extensible framework for solving discrete optimization problems using a combination of Mixed-Integer Linear Programming (MIP) and Machine Learning (ML). MIPLearn uses ML methods to automatically identify patterns in previously solved instances of the problem, then uses these patterns to accelerate the performance of conventional state-of-the-art MIP solvers such as CPLEX, Gurobi or XPRESS.
- Modern LP Book - DualityBook
A discussion about books focused on duality theory
- Operations Research: an introductionBook
A book covering the basics of Operations Research
- Optimization Games for the YoungGame
Developed to help spark an interest for mathematics in children and young adults. I use optimization concepts in the context of real-life problems as motivation. All you need are a printer to print the pages with the instructions and a pair of scissors to cut out the game pieces.
- Optimization via Relaxation and DecompositionBook
This book offers an up-to-date description of relaxation/approximation and decomposition techniques, demonstrating how their combined use efficiently solves large-scale optimization problems relevant to engineering, particularly in electrical, and industrial engineering, with a focus on energy.
- Optimizing with Column GenerationBook
An interesting book about Column Generation to tackle large-scale optimization problems
- optlangModeling language
Optlang is a Python package implementing a modeling language for solving mathematical optimization problems, i.e. maximizing or minimizing an objective function over a set of variables subject to a number of constraints. Optlang provides a common interface to a series of optimization tools, so different solver backends can be changed in a transparent way.
- OR from 0 to 1Course
7-day free email course to kickstart in Operations Research.
- Ponder This!Game
Seems some of us can't see a problem without wanting to take a crack at solving it. Does that sound like you? Good. Forge ahead and ponder this month's problem. We'll post a new one every month, and allow a month for you to submit solutions (we may even publish submitted answers, especially if they're correct).
- PuLPModeling language
An LP modeler written in Python
- Puzzles and GamesGame
A comprehensive guide to mathematical modeling with more than 140 games as case studies.
- PyomoModeling language
Python-based, open-source optimization modeling language with a diverse set of optimization capabilities.
- PyOptInterfaceModeling language
PyOptInterface is an open-source Python library to provide a unified API to construct and solve optimization models with various optimizers.
- RWTHx: Mathematical Optimization for EngineersCourse
Course about all things mathematical optimization: unconstrained, LP, NLP, MIP, Global optimization, Dynamic optimization, ML for optimization, and optimization under uncertainty.
- Slick Oil GameGame
Deliver 100 barrels to the customer at the lowest cost. Select wells and refineries to choose volume flowing on pipe-lines.
- Solving algorithms for discrete optimizationCourse
Course about solving discrete optimization problems with different techniques: Constraint Programming, Mixed Integer Programming and Local Search
- The Cutting PlaneGame
Learn about cutting planes in an adictive way.
- The Knapsack GameGame
A game to play the Knapsack to learn how to solve it.
- TSP ChallengeGame
Another game with map visualizations for the TSP.
- TSP GameGame
Solve the TSP in a visual way from the Productions and Operations Management (Universitat Wein).