sk-surya / awesome-optimization

A curated list of awesome mathematical optimization courses, lectures, books, notes, libraries, frameworks and software.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Optimization Courses

Welcome to the "Awesome Optimization Courses" repository! This is a curated list of (mostly) free and open educational resources for mathematical optimization.

This list tries to cover topics on discrete and combinatorial optimization, operations research, linear and nonlinear programming, integer programming, constraint programming, convex optimization, continuous optimization, or unconstrained optimization, you'll find valuable resources here to enhance your understanding of these subjects.

Table of Contents

  1. Video Lectures and Courses
    1. Convex Optimization
    2. Discrete, Combinatorial, and Integer Optimization
    3. Operations Research
    4. Constraint Programming
    5. Continuous Optimization
    6. Stochastic Optimization and Control
  2. Books and Lecture Notes
  3. Other resources
  4. Contribution Guidelines

Video Lectures and Courses

Convex Optimization

Discrete, Combinatorial, and Integer Optimization

Operations Research

Constraint Programming

Optimization Algorithms

Continuous Optimization

Stochastic Optimization and Control

Books and Lecture notes

Convex Optimization:

  • Convex Optimization by Boyd and Vandenberghe - PDF
  • Convex Optimization Theory by Dimitri P. Bertsekas - PDF

OR:

  • Operations Research An Introduction by Hamdy A. Taha - Pearson
  • Introduction to Operations Research by Frederick Hillier and Gerald Lieberman - McGraw Hill
  • Julia Programming for Operations Research by Changhyun Kwon - PDF - code
  • Mathematical Programming and Operations Research: Modeling, Algorithms, and Complexity. Examples in Python and Julia. Edited by Robert Hildebrand - PDF
  • A First Course in Linear Optimization by Jon Lee - PDF
  • Decomposition Techniques in Mathematical Programming by Conejo , Castillo , Mínguez , and García-Bertrand - Springer
  • Algorithms for Optimization by Mykel J. Kochenderfer and Tim A. Wheeler - PDF
  • Model Building in Mathematical Programming - Introductory modeling book by H. Paul Williams - Wiley

CP:

  • Handbook of Constraint Programming by F. Rossi, Peter van Beek and Toby Walsh - Amazon

Combinatorial Optimization:

  • Combinatorial Optimization: Algorithms and Complexity by by Christos H. Papadimitriou and Kenneth Steiglitz - Amazon
  • Combinatorial Optimization: Theory and Algorithms by Bernhard Korte and Jens Vygen - Springer
  • A First Course in Combinatorial Optimization by Jon Lee - Amazon

Stochastic Optimization:

  • Lectures on Stochastic Programming Modeling and Theory (SIAM) - by Shapiro, Dentcheva, and Ruszczynski - PDF
  • Introductory Lectures on Stochastic Optimization by John C. Duchi - PDF

Check out More of Prof. Bertsekas's Books

Other

Tools and Libraries

Licensed/Commercial Solvers

Repositories

  • Open Optimization:
    a platform for sharing and collaborating on open educational resources for optimization related courses.
  • Introduction to Linear Programming with Python:
    Introduction to Linear Programming with Python
  • cvxpy:
    A Python-embedded modeling language for convex optimization problems.
  • MIPLearn:
    Framework for solving discrete optimization problems using a combination of Mixed-Integer Linear Programming (MIP) and Machine Learning (ML)
  • or-gym:
    nvironments for OR and RL Research
  • ecole:
    Extensible Combinatorial Optimization Learning Environments
  • pyconcorde:
    Python wrapper around the Concorde TSP solver
  • BOTorch:
    Bayesian optimization in PyTorch
  • EvoTorch:
    Advanced evolutionary computation library built directly on top of PyTorch, created at NNAISENSE.
  • TorchOpt:
    efficient library for differentiable optimization built upon PyTorch.

Conferences

  • CPAIOR - Integration of Constraint Programming, Artificial Intelligence, and Operations Research.
  • CP Conference - Principles and Practice of Constraint Programming.
  • INFORMS - Institute for Operations Research and the Management Sciences.
  • CORS - Canadian Operational Research Society

Contribution Guidelines

We welcome contributions to this repository. If you have a course or resource that you'd like to add, please follow these guidelines:

  1. Make a pull request, adding the course to the relevant section with a brief description and a link to the resource.
  2. Use a consistent format for entries to maintain readability.

Thank you for your contributions to making this repository a valuable resource for optimization enthusiasts in the academic community!

TODO

  1. add books and lecture notes
  2. add github repos & code
  3. add solver/software list
  4. add short description
  5. better fomatting

About

A curated list of awesome mathematical optimization courses, lectures, books, notes, libraries, frameworks and software.