{"id":53046,"url":"https://github.com/ebrahimpichka/awesome-optimization","name":"awesome-optimization","description":"A curated list of mathematical optimization courses, lectures, books, notes, libraries, frameworks and software.","projects_count":148,"last_synced_at":"2026-07-16T12:00:21.266Z","repository":{"id":204601588,"uuid":"712233221","full_name":"ebrahimpichka/awesome-optimization","owner":"ebrahimpichka","description":"A curated list of mathematical optimization courses, lectures, books, notes, libraries, frameworks and software.","archived":false,"fork":false,"pushed_at":"2026-05-18T21:03:21.000Z","size":108,"stargazers_count":706,"open_issues_count":0,"forks_count":73,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-06-28T03:00:21.030Z","etag":null,"topics":["awesome","awesome-list","combinatorial-optimization","convex-optimization","discrete-optimization","integer-linear-programming","integer-programming","linear-optimization","linear-programming","mathematical-modelling","mathematical-optimization","mathematical-programming","operations-research","optimization","stochastic-optimization"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ebrahimpichka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-31T04:06:32.000Z","updated_at":"2026-06-25T17:47:46.000Z","dependencies_parsed_at":"2026-04-06T23:00:21.398Z","dependency_job_id":null,"html_url":"https://github.com/ebrahimpichka/awesome-optimization","commit_stats":null,"previous_names":["ebrahimpichka/awesome-optimization"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ebrahimpichka/awesome-optimization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrahimpichka%2Fawesome-optimization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrahimpichka%2Fawesome-optimization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrahimpichka%2Fawesome-optimization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrahimpichka%2Fawesome-optimization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebrahimpichka","download_url":"https://codeload.github.com/ebrahimpichka/awesome-optimization/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrahimpichka%2Fawesome-optimization/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35542951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-14T17:49:07.388Z","updated_at":"2026-07-16T12:00:21.266Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["**Solvers, Tools, and Libraries**","**Books and Lecture notes**","**Other Resources**","**Video Lectures and Courses**","Solvers, Tools, and Libraries"],"sub_categories":["Solvers","Tools and Libraries","Dynamic Programming and Reinforcement Learning","Convex Optimization","Events, Societies, and Conferences","Discrete, Combinatorial, and Integer Optimization","Operations Research","Constraint Programming","Optimization Algorithms","Continuous Optimization","Stochastic Optimization and Control","Bayesian Optimization","**Operations Research**","Combinatorial Optimization","**Combinatorial Optimization**","Stochastic Optimization","**Solvers**","Code Repositories","Conferences","Meta-heuristics","Communities and Forums"],"readme":"# Awesome Optimization Courses\n\nWelcome to the \"Awesome Optimization\" repository! This repository contains a curated list of (mostly) free and open educational resources for mathematical optimization.\n\nThis list tries to cover vast topics in math. opt. i.e. 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.\n\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://pichka.notion.site/Optimization-e851635437934a8eaad479d84593d3a4\" target=\"_blank\"\u003e \u003cimg src=\"https://simpleicons.vercel.app/notion/000000\" alt=\"Notion icon\" width=\"20\" height=\"20\"/\u003e \u003c/a\u003e [**Notion** version](https://pichka.notion.site/Optimization-e851635437934a8eaad479d84593d3a4) \n\n\u003c/div\u003e\n\n## Table of Contents\n1. [**Video Lectures and Courses**](#video-lectures-and-courses)\n    1. [Convex Optimization](#convex-optimization)\n    2. [Discrete, Combinatorial, and Integer Optimization](#discrete-combinatorial-and-integer-optimization)\n    3. [Operations Research](#operations-research)\n    4. [Meta-heuristics](#meta-heuristics)\n    5. [Dynamic Programming and Reinforcement Learning](#dynamic-programming-and-reinforcement-learning)\n    6. [Constraint Programming](#constraint-programming)\n    7. [Continuous Optimization](#continuous-optimization)\n    8. [Stochastic Optimization and Control](#stochastic-optimization-and-control)\n2. [**Books and Lecture Notes**](#books-and-lecture-notes)\n    1. [Convex Optimization](#convex-optimization)\n    2. [Bayesian Optimization](#bayesian-optimization)\n    3. [Operations Research](#operations-research)\n    4. [Meta-heuristics](#meta-heuristics)\n    5. [Dynamic Programming and Reinforcement Learning](#dynamic-programming-and-reinforcement-learning)\n    6. [Constraint Programming](#constraint-programming)\n    7. [Combinatorial Optimization](#combinatorial-optimization)\n    8. [Stochastic Optimization](#stochastic-optimization)\n3. [**Solvers, Tools, and Libraries**](#solvers-tools-and-libraries)\n    1. [Licensed/Commercial Solvers](#licensedcommercial-solvers)\n    2. [Free Solvers](#free-solvers)\n    3. [Tools and Libraries](#tools-and-libraries)\n4. [**Other Resources**](#other-resources)\n    1. [Communities and Forums](#communities-and-forums)\n    2. [Events, Societies, and Conferences](#events-societies-and-conferences)\n    3. [Code Repositories](#code-repositories)  \n5. [**Contribution Guidelines**](#contribution-guidelines)\n\n\n\n## **Video Lectures and Courses**\n\n### Convex Optimization\n\n- **Stanford EE364A: Convex optimization I** by [Stephen Boyd](https://web.stanford.edu/~boyd/): [[2023 version on YouTube]](https://www.youtube.com/playlist?list=PLoROMvodv4rMJqxxviPa4AmDClvcbHi6h) | [[Course Website]](https://web.stanford.edu/class/ee364b/)\\\nConcentrates on recognizing and solving convex optimization problems that arise in engineering. Convex sets, functions, and optimization problems. Basics of convex analysis. Least-squares, linear and quadratic programs, semidefinite programming, minimax, extremal volume, and other problems. Optimality conditions, duality theory, theorems of alternative, and applications. Interiorpoint methods. Applications to signal processing, control, digital and analog circuit design, computational geometry, statistics, and mechanical engineering. **Old version (2008) of the course** on [[YouTube]](https://www.youtube.com/playlist?list=PL3940DD956CDF0622) | [[Stanfored website]](https://see.stanford.edu/Course/EE364A) | [[edX]](https://www.edx.org/learn/engineering/stanford-university-convex-optimization)\n\n- [**Stanford EE364b: Convex optimization II**](https://see.stanford.edu/Course/EE364B) by [Stephen Boyd](https://web.stanford.edu/~boyd/): [[YouTube]](https://www.youtube.com/playlist?list=PL3940DD956CDF0622) | [[Course Website]](https://web.stanford.edu/class/ee364a/) | [[edX]](https://www.edx.org/learn/engineering/stanford-university-convex-optimization)\\\nContinuation of Convex Optimization I. Subgradient, cutting-plane, and ellipsoid methods. Decentralized convex optimization via primal and dual decomposition. Alternating projections. Exploiting problem structure in implementation. Convex relaxations of hard problems, and global optimization via branch \u0026 bound. Robust optimization. Selected applications in areas such as control, circuit design, signal processing, and communications. Course requirements include a substantial project.\n\n- [**CMU: Convex Optimization (Fall 2018)**](https://www.stat.cmu.edu/~ryantibs/convexopt-F18/): ([YouTube](https://www.youtube.com/watch?v=Di9f47LAzHQ\u0026list=PLRPU00LaonXQ27RBcq6jFJnyIbGw5azOI\u0026index=1)) by [Ryan Tibshirani](https://www.stat.cmu.edu/~ryantibs/index.html)\n    - [Fall 2019](https://www.stat.cmu.edu/~ryantibs/convexopt/)\n    - [Fall 2016](https://www.stat.cmu.edu/~ryantibs/convexopt-F16/) ([YouTube](https://www.youtube.com/playlist?list=PLjbUi5mgii6AVdvImLB9-Hako68p9MpIC))\n    \n- [**Convex Optimization**](https://www.youtube.com/playlist?list=PL-DDW8QIRjNOVxrU2efygBw0xADVOgpmw) by [Ahmad Bazzi](https://github.com/therealbazzi) (YouTube Playlist) + [**CVXPy tutorials**](https://www.youtube.com/playlist?list=PL-DDW8QIRjNONCZifAG-DwNppBKwmHGab)\n\n- [**Convex Optimization - NPTEL**](https://www.youtube.com/playlist?list=PLbMVogVj5nJQHFqfiSdgaLCCWvDcm1W4l) by Joydeep Dutta\n\n\n### Discrete, Combinatorial, and Integer Optimization\n\n- [**U Wisconsin-Madison: Integer Optimization - ISyE/Math/CS 728**](https://www.youtube.com/playlist?list=PLeO_PhASIA0NtvLCAZXLC8HACOgVD9Y32) by [Alberto Del Pia](https://sites.google.com/site/albertodelpia/)\n    - Spring 2023: [Syllabus](https://drive.google.com/file/d/1w_wjiIPJfSnnWddMzWqP9w-daEXKaV8h/view?usp=sharing) | [Slides](https://drive.google.com/file/d/1sbiCvWwMF4z5Kpkl4KDMUS8GF_fUnbyl/view?usp=sharing) | [YouTube](https://www.youtube.com/playlist?list=PLeO_PhASIA0Ot69TqANAnNxoykHGOQp2Y) | [Website](https://sites.google.com/site/albertodelpia/teaching?authuser=0)\n    - Spring 2020: [YouTube](https://www.youtube.com/playlist?list=PLeO_PhASIA0NlDNF9y-SsgVEYcvAMj2CY)\n\n- [**A Second Course in Algorithms (Stanford CS261, Winter 2016)**](https://www.youtube.com/playlist?list=PLEGCF-WLh2RJh2yDxlJJjnKswWdoO8gAc) by [Tim Roughgarden](https://timroughgarden.org/)\n\n- [**Combinatorial Optimization Course**](https://www.youtube.com/playlist?list=PLXsmhnDvpjORcTRFMVF3aUgyYlHsxfhNL) by [Constantine Caramanis](https://caramanis.github.io/) at UT Austin\n\n- [**CSE 550: Combinatorial Optimization and Intractability**](https://www.youtube.com/playlist?list=PLR43j5akmIB-RNWAO5Z3rxFfNfIcS7aM4) by [Joshua J. Daymude](https://jdaymude.github.io/) from Arizona State University\n\n- [**U Warwick: MA252 Combinatorial Optimization**](https://www.youtube.com/playlist?list=PLtxJg53s2o0PqIAEphtjIaqXTouaWYR0j) by [Jonathan Noel](https://www.math.uvic.ca/~noelj/)\n\n- **Coursera: Discrete optimization (series)** - The University of Melbourne\n    - [Discrete Optimization](https://www.coursera.org/learn/discrete-optimization) ([YouTube version](https://www.youtube.com/playlist?list=PLNMgVqt8MREx6Nex1Q9003vrZem-JXNvX))\n    - [Basic Modeling for Discrete Optimization](https://www.coursera.org/learn/basic-modeling)\n    - [Advanced modeling for discrete optimization](https://www.coursera.org/learn/advanced-modeling)\n    - [Solving algorithms for discrete optimization](https://www.coursera.org/learn/solving-algorithms-discrete-optimization)\n\n- [**Discrete Optimization, MSRI Berkeley**](https://www.youtube.com/playlist?list=PLtU6Nuep3htmdTfJnYo3q5E-hCzqEOhsN) by [Shmuel Onn](https://sites.google.com/view/shmuel-onn/)\n\n- [**Texas A\u0026M: ISEN 668: Integer Programming (partial)**](https://www.youtube.com/playlist?list=PLY9yf2-4yyeTkReuVzK2QJzmmjXSNBdAj) by [Sergiy Butenko](https://engineering.tamu.edu/industrial/profiles/sbutenko.html)\n\n- [**U Illinois - Urbana Champaign: IE511 - Integer Programming**](https://www.youtube.com/@jamesdavis7328/playlists) by [James Davis](http://www.jamesmariodavis.com/)\n\n- [**Overview of Linear and Mixed Integer Programming YouTube Series**](https://www.youtube.com/playlist?list=PLaoe2MTbJBvpFPyMMSOB-WrHofdHo3e74) by Mike Wagner\n\n\n\n### Operations Research\n\n- [**Penn State: Math484 Linear Programming - Summer 2020**](https://www.youtube.com/playlist?list=PLbxFfU5GKZz2-4Y3YwRFVVDEMlmxYfY6y) by [Wen Shen](https://science.psu.edu/math/people/wxs27)\n    - 2016 version: [YouTube](https://www.youtube.com/playlist?list=PLbxFfU5GKZz1Tm_9RR5M_uvdOXpJJ8LC3)\n\n- [**U Wisconsin-Madison: Linear Optimization - ISyE/Math/CS/Stat 525**](https://www.youtube.com/playlist?list=PLeO_PhASIA0Ot69TqANAnNxoykHGOQp2Y) (Fall 2021) by [Alberto Del Pia](https://sites.google.com/site/albertodelpia/) \n\n- [**Texas A\u0026M: ISEN 622: Linear Programming**](https://www.youtube.com/playlist?list=PLY9yf2-4yyeTeRnUIiROr_ojkjuQkLx2b) by [Sergiy Butenko](https://engineering.tamu.edu/industrial/profiles/sbutenko.html)\n\n- [**Colorado State U: Math 510 - Linear Programming and Network Flows**](https://www.youtube.com/playlist?list=PLDndWhwv4Ujo10_a2T4R4Uqng1nduvfu1) (Fall 2020) by [Henry Adams](https://people.clas.ufl.edu/henry-adams/)\n\n- [**Linear Programming YouTube Series**](https://www.youtube.com/playlist?list=PLTrfnl2vPj4qMNHvLuu0tNJefmuHjZ-K3) by [Shokoufeh Mirzaei](https://www.cpp.edu/faculty/smirzaei/index.shtml)\n\n- [**Advanced Operations Research - NPTEL**](https://www.youtube.com/playlist?list=PL004010FEA702502F) by G. Srinivasan\n\n- **Coursera: Operations Research (series)** - National Taiwan University\n    - [Operations Research (1): Models and applications](https://www.coursera.org/learn/operations-research-modeling) \n    - [Operations Research (2): Optimization algorithms](https://www.coursera.org/learn/operations-research-algorithms)\n    - [Operations Research (3): Theory](https://www.coursera.org/learn/operations-research-theory)\n    \n- [**Optimization Techniques/Operation Research Playlist**](https://www.youtube.com/playlist?list=PLLtQL9wSL16ioUvHckGCkoWq_CIvyUI0p) by MathPod Channel\n\n- **Operations Research I \u0026 II** by Dedy Suryadi\n    - [OR I (YouTube)](https://www.youtube.com/@coverCell/playlists?view=50\u0026shelf_id=2)\n    - [OR II (YouTube)](https://www.youtube.com/@coverCell/playlists?view=50\u0026shelf_id=1)\n\n### Meta-heuristics\n\n- [**Metaheuristics Graduate Course**](https://youtu.be/bOM-M2yXdpc?si=kKNmZRu1zMNAcUJa) - by Helena Ramalhinho Lourenço - Universitat Pompeu Fabra\n\n- [**Evolutionary Computation for Single and Multi-Objective Optimization**](https://youtube.com/playlist?list=PLwdnzlV3ogoWyi7exLIe26JhueiVQXq_S\u0026si=2xEfIXFWbUIpXDN8) - by Deepak Sharma - NPTEL IIT Guwahati\n\n- [**Introduction to Metaheuristics**](https://youtube.com/playlist?list=PLN4kTzLXGGgWNf4CDyoZZOsjOCftW5ej6\u0026si=R7Bbc9o8CRNh5wGn) - by Luis R. Izquierdo\n\n- [**CPAIOR 2020 Master Class: Metaheuristics**](https://youtu.be/4x8YrqJ2spo?si=cSmwGCShlaMNbdpF)\n\n### Dynamic Programming and Reinforcement Learning\n\n- [**Dynamic Programming Lectures**](https://youtube.com/playlist?list=PLmH30BG15SIqgS8N1TLhSQV1jwiB7ufxI\u0026si=cP1pgbZ-uVUuczL3) by Dimitri Bertsekas\n\n- [**UC Berkeley CS 285: Deep Reinforcement Learning - Fall 2022**](https://youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9\u0026si=Pr6zVj-XMcrw67cU)\n    - [Course website](https://rail.eecs.berkeley.edu/deeprlcourse/)\n    - [Fall 2021 version](https://youtube.com/playlist?list=PL_iWQOsE6TfXxKgI1GgyV1B_Xa0DxE5eH\u0026si=fcMsOQPKcKlhM0lM)\n\n- [**Stanford CS234: Reinforcement Learning — Winter 2019**](https://youtube.com/playlist?list=PLoROMvodv4rOSOPzutgyCTapiGlY2Nd8u\u0026si=q6aWPR1Ad9P4llbO) - by [Emma Brunskill](https://cs.stanford.edu/people/ebrun/)\n    - [Course website](https://web.stanford.edu/class/cs234/index.html)\n\n- [**Reinforcement/Deep Learning Lecture Series 2021**](https://youtube.com/playlist?list=PLqYmG7hTraZDVH599EItlEWsUOsJbAodm\u0026si=2GbhHsHsFRLtQC1o) - by DeepMind x UCL\n    - [2018 version](https://youtube.com/playlist?list=PLqYmG7hTraZBKeNJ-JE_eyJHZ7XgBoAyb\u0026si=X05Z8ANwCF9EraDi)\n\n\n### Constraint Programming\n\n- [**An Introduction To Constraint Programming**](https://www.youtube.com/watch?v=1FJy-ubE7UE) - Jacob Allen\n\n- [**CPAIOR 2020 Master Class: Constraint Programming**](https://www.youtube.com/watch?v=lmy1ddn4cyw)\n\n- [**EdX: Constraint Programming**](https://www.edx.org/learn/computer-programming/universite-catholique-de-louvain-constraint-programming) course - UCLouvain (LouvainX):\\\nUnderstand the constraint programming paradigm. Design and implement a modern constraint programming library. Model using the constraint programming. Extend the solver with new global constraints. Design custom and black-box searches. Approach Scheduling and Vehicle Routing problems with constraint programming.\n\n\n### Optimization Algorithms \n\n- [**Optimization Algorithms**](https://www.youtube.com/playlist?list=PLXsmhnDvpjORzPelSDs0LSDrfJcqyLlZc) by [Constantine Caramanis](https://caramanis.github.io/) at UT Austin\n    - [additional lectures](https://www.youtube.com/watch?v=bzIQ6hoHIps\u0026list=PLXsmhnDvpjOQqH7PtB2tjCv8FXsuavp3B)\n- [**Optimization Methods for Machine Learning and Engineering (KIT Winter Term 20/21)**](https://www.youtube.com/playlist?list=PLdkTDauaUnQpzuOCZyUUZc0lxf4-PXNR5) by Julius Pfrommer\n    - [slides and recordings](https://drive.google.com/drive/folders/1WWVWV4vDBIOkjZc6uFY3nfXvpaOUHcfb?usp=sharing)\n\n- [**Dimitri Bertsekas's Videos**](https://www.youtube.com/@dimitribert/playlists) on Dynamic Programming, Reinforcement Learning, etc.\n\n### Continuous Optimization\n\n- **Mathified YouTube Channle**\n    1. [Unconstrained Optimization Lecture](https://www.youtube.com/playlist?list=PL3377D4EECFC5AF70)\n    2. [Constrained Optimization Lecture I](https://www.youtube.com/playlist?list=PL2960304D950AA0A8)\n    3. [Constrained Optimization Lecture II](https://www.youtube.com/playlist?list=PL01FC2355E504D3D8)\n\n- [**Arizona Math Camp: Optimization**](https://www.youtube.com/playlist?list=PLcjqUUQt__ZE0ZSTNRyBIgLJ5obPHdmxC)\\\nLocal and global optimization. Unconstrained and constrained optimization. Solution function and value function. Implicit Function Theorem. Envelope Theorem. KKT conditions. Kuhn-Tucker Theorem.\n\n- [**Optimization - NPTEL**](https://www.youtube.com/playlist?list=PLbMVogVj5nJT8iTaUR8FoWBuJy0vs-Z3C) by A. Goswami \u0026 Debjani Chakraborty\n\n### Stochastic Optimization and Control\n\n- [**Basic Course on Stochastic Programming**](https://www.youtube.com/playlist?list=PLo4jXE-LdDTSmKVxiE130o1KebekNk00R) from Instituto de Matemática Pura e Aplicada\n\n- [**Stochastic Programming**](https://www.youtube.com/playlist?list=PL9U0RhCnVfG7KMhOHPyRFlYZJ68dHeoEt) by Anthony Papavasiliou\n\n- [**CTU Prague: Optimal and robust control**](https://www.youtube.com/playlist?list=PLMLojHoA_QPmRiPotD_TnfdUkglTexuqm)\n\n- [**CMU Robotic Exploration Lab: Optimal Control 2022**](https://www.youtube.com/playlist?list=PLZnJoM76RM6Iaf59ICcU9-DzztGZvK_52)\n\n\n\n## **Books and Lecture notes**\n\n### Convex Optimization\n- *Convex Optimization* by Boyd and Vandenberghe - [PDF](https://web.stanford.edu/~boyd/cvxbook/)\n- *Convex Optimization Theory* by Dimitri P. Bertsekas - [PDF](https://web.mit.edu/dimitrib/www/Convex_Theory_Entire_Book.pdf)\n\n### Bayesian Optimization\n- *Bayesian Optimization In Action* by Quan Nguyen - [Amazon](https://www.amazon.com/Bayesian-Optimization-Action-Quan-Nguyen/dp/1633439070)\n- *Experimentation for Engineers* by David Sweet - [Amazon](https://www.amazon.com/Tuning-Up-testing-Bayesian-optimization/dp/1617298158)\n\n### Operations Research\n\n- *Operations Research An Introduction* by Hamdy A. Taha - [Pearson](https://www.pearson.com/en-us/subject-catalog/p/operations-research-an-introduction/P200000003221)\n- *Introduction to Operations Research* by Frederick Hillier and Gerald Lieberman - [McGraw Hill](https://www.mheducation.com/highered/product/introduction-operations-research-hillier-lieberman/M9781259872990.html)\n- *Julia Programming for Operations Research* by Changhyun Kwon - [PDF](https://juliabook.chkwon.net/book) - [code](https://github.com/chkwon/jpor_codes)\n- *Mathematical Programming and Operations Research: Modeling, Algorithms, and Complexity. Examples in Python and Julia*. Edited by Robert Hildebrand - [PDF](https://github.com/open-optimization/open-optimization-or-book/blob/master/MathematicalProgrammingandOperationsResearch.pdf)\n- *A First Course in Linear Optimization* by Jon Lee - [PDF](https://www.solvermax.com/downloads/lee-linearoptimization4.pdf)\n- *Decomposition Techniques in Mathematical Programming* by Conejo , Castillo , Mínguez , and García-Bertrand - [Springer](https://link.springer.com/book/10.1007/3-540-27686-6)\n- *Algorithms for Optimization* by Mykel J. Kochenderfer and Tim A. Wheeler - [PDF](https://algorithmsbook.com/optimization/files/optimization.pdf)\n- *Model Building in Mathematical Programming* - Introductory modeling book by H. Paul Williams - [Wiley]((https://www.wiley.com/en-ie/Model+Building+in+Mathematical+Programming,+5th+Edition-p-9781118443330))\n\n### Meta-heuristics\n\n- *Metaheuristics* by Patrick Siarry - [Springer (open access)](https://link.springer.com/book/10.1007/978-3-319-45403-0)\n\n- *Essentials of Metaheuristics* by Sean Luke - [link](https://cs.gmu.edu/~sean/book/metaheuristics/)\n\n- *Handbook of Metaheuristics* by Michel Gendreau and Jean-Yves Potvin - [Springer (open access)](https://link.springer.com/book/10.1007/978-1-4419-1665-5)\n\n- *An Introduction to Metaheuristics for Optimization* by Bastien Chopard , Marco Tomassini - [Springer (open access)](https://link.springer.com/book/10.1007/978-3-319-93073-2)\n\n- *Metaheuristic and Evolutionary Computation: Algorithms and Applications* by Hasmat Malik, Atif Iqbal, Puneet Joshi, Sanjay Agrawal, and Farhad Ilahi Bakhsh - [Springer (open access)](https://link.springer.com/book/10.1007/978-981-15-7571-6)\n\n- *Clever Algorithms: Nature-Inspired Programming Recipes* by Jason Brownlee - [GitHub](https://github.com/clever-algorithms/CleverAlgorithms)\n\n- *Metaheuristics: from design to implementation* by El-Ghazali Talbi - [Wiley](https://www.wiley.com/en-us/Metaheuristics%3A+From+Design+to+Implementation+-p-9780470278581#:~:text=Description,-A%20unified%20view\u0026text=This%20book%20provides%20a%20complete,design%2C%20routing%2C%20and%20scheduling.)\n\n\n### Dynamic Programming and Reinforcement Learning\n\n- Various tiltes on *Dynamic Programming, Optimal Control and Reinforcement Learning* by Dimitri Bertsekas. - [List](http://www.athenasc.com/index.html)\n\n- *Reinforcement Learning: An Introduction (2nd Edition)* by Richard Sutton and Andrew Barto - [PDF](http://incompleteideas.net/book/RLbook2020.pdf)\n\n- *Decision Making Under Uncertainty: Theory and Application* by Mykel J. Kochenderfer - [PDF](https://web.stanford.edu/group/sisl/public/dmu.pdf)\n\n- *Algorithms for Decision Making* by Mykel J. Kochenderfer, Tim A. Wheeler, and Kyle H. Wray - [PDF](https://algorithmsbook.com/files/dm.pdf)\n\n### Constraint Programming\n\n- *Handbook of Constraint Programming* by Francesca Rossi, Peter van Beek and Toby Walsh - [Amazon](https://www.amazon.com/dp/0444527265)\n\n- *A Tutorial on Constraint Programming* by Barbara M. Smith (University of Leeds) - [PDF](https://www.dcs.gla.ac.uk/~pat/cpM/papers/95_14.pdf)\n\n### Combinatorial Optimization\n- *Combinatorial Optimization: Algorithms and Complexity* by by Christos H. Papadimitriou and Kenneth Steiglitz - [Amazon](https://www.amazon.com/Combinatorial-Optimization-Algorithms-Complexity-Computer-ebook/dp/B00C8UQZAO)\n- *Combinatorial Optimization: Theory and Algorithms* by Bernhard Korte and Jens Vygen - [Springer](https://link.springer.com/book/10.1007/978-3-662-56039-6)\n- *A First Course in Combinatorial Optimization* by Jon Lee - [Amazon](https://www.amazon.com/Combinatorial-Optimization-Cambridge-Applied-Mathematics/dp/0521010128)\n\n### Stochastic Optimization\n\n- *Lectures on Stochastic Programming Modeling and Theory* (SIAM) - by  Shapiro, Dentcheva, and Ruszczynski - [PDF](https://bpb-us-w2.wpmucdn.com/sites.gatech.edu/dist/4/1470/files/2021/03/SPbook.pdf)\n- *Introductory Lectures on Stochastic Optimization* by John C. Duchi - [PDF](https://web.stanford.edu/~jduchi/PCMIConvex/Duchi16.pdf)\n\nCheck out [**More of Prof. Bertsekas's Books**](https://www.mit.edu/~dimitrib/books.htm)\n\n## **Solvers, Tools, and Libraries**\n\n### Solvers\n\n#### Licensed/Commercial Solvers\n\n- [BARON](https://minlp.com/baron-solver) - The Optimization Firm\n- [CPLEX](https://www.ibm.com/analytics/cplex-optimizer) - IBM\n- [Gurobi](https://www.gurobi.com/) - Gurobi\n- [FICO Xpress](https://www.fico.com/en/products/fico-xpress-optimization) - FICO\n- [LocalSolver](https://www.localsolver.com/) - LocalSolver\n- [Knitro](https://www.artelys.com/solvers/knitro/)  - Artelys\n- [Mosek](https://www.mosek.com/) - Mosek\n- [Concorde](http://www.math.uwaterloo.ca/tsp/concorde.html) - UWaterloo\n\n#### Free Solvers\n\n- [CBC](https://projects.coin-or.org/Cbc) - COIN-OR Branch and Cut\n- [GLPK](https://www.gnu.org/software/glpk/) - GNU Linear Programming Kit\n- [HiGHS](https://highs.dev/) - High Performance Software for Linear Optimization\n- [lp_solve](http://lpsolve.sourceforge.net/) - (Mixed Integer) Linear Programming solver\n- [SCIP](https://www.scipopt.org/) - Solving Constraint Integer Programs\n- [DIDP](https://didp.ai) - Domain-Independent Dynamic Programming\n\n#### Benchmarks\n\n- [Hans Mittelmann's Benchmarks](https://plato.asu.edu/bench.html)\n- [Packrift Packaging Optimization Benchmark Corpus](https://packrift.github.io/packaging-optimization-benchmark-corpus/) - Public benchmark corpus for ecommerce packaging fit, void-fill, unit economics, QA, and marketplace-prep checks across Packrift SKU scenarios.\n\n### Tools and Libraries\n\n- [**Google OR-Tools**](https://developers.google.com/optimization/) | [examples](https://developers.google.com/optimization/examples) | [repository](https://github.com/google/or-tools)\n- [**or-tools-wasm**](https://github.com/Axelwickm/or-tools-wasm) - Multithreaded Typescript/Wasm build of Google OR-Tools.\n- [**COIN-OR**](https://www.coin-or.org/) | [repository](https://github.com/coin-or/)\n- [**MiniZinc**](https://www.minizinc.org/) - Constraint modeling language.\n- [**GAMS**](https://www.gams.com/) - High-level modeling system.\n- [**AMPL**](https://www.ampl.com/) - Algebraic modeling language, both linear/integer and constraint programming.\n- [**JuMP**](https://jump.dev/) - Open source modeling language for **Julia**.\n- [**OpEn**](https://alphaville.github.io/optimization-engine/) - Code generation for embedded nonconvex optimization; written in **Rust** with interfaces in **Python**, **C/C++**, and other languages/frameworks.\n- [**Pyomo**](http://www.pyomo.org/) - Open source modeling library for **Python**.\n- [**PuLP**](https://coin-or.github.io/pulp/) - Open source modeling library for **Python**.\n- [**PyOptInterface**](https://github.com/metab0t/PyOptInterface) - Efficient modeling interface for mathematical optimization in **Python**.\n- [**Scipy Optimize**](https://docs.scipy.org/doc/scipy/tutorial/optimize.html)\n\n\n## **Other Resources**\n\n### Communities and Forums\n- [**OR Stack exchange**](https://or.stackexchange.com/)\n    - [Related question to this repo](https://or.stackexchange.com/questions/869/what-are-good-reference-books-for-introduction-to-operations-research)\n- [**Subreddit on OR (r/Operations Research)**](https://www.reddit.com/r/OperationsResearch/)\n- [**OR Discord server**](https://discord.gg/ubz3DMeWJm)\n- [**Discrete Optimization Talks (DOTs) Discord server**](https://discord.gg/fV47SKT)\n- **Google OR tools** [Discord](https://groups.google.com/forum/#!forum/or-tools-discuss) and [Discussion forum](https://discord.gg/ENkQrdf)\n\n### Events, Societies, and Conferences\n- [**Mathematical Optimization Society**](https://www.mathopt.org/) - international organization dedicated to the promotion and the maintenance of high professional standards in the subject of mathematical optimization.\n- [**Mixed Integer Programming Society**](https://www.mixedinteger.org/)\n- [**INFORMS**](https://www.informs.org/) - Institute for Operations Research and the Management Sciences.\n- [**Discrete Optimization Talks (DOTs)**](https://talks.discreteopt.com/) - virtual seminar series.\n- [**CPAIOR**](https://cpaior.org/) - Integration of Constraint Programming, Artificial Intelligence, and Operations Research.\n- [**CP Conference**](https://www.a4cp.org/events/cp-conference-series) - Principles and Practice of Constraint Programming.\n- [**CORS**](https://www.cors.ca/?q=content/cors-annual-conferences) - Canadian Operational Research Society\n- [**CO@Work**](https://co-at-work.zib.de/) - Optimization course with a focus on computational aspects, industrial applications and networking (2024, 2020, 2015, 2009, 2005)\n\n### Code Repositories\n- [Open Optimization](https://github.com/open-optimization):\\\na platform for sharing and collaborating on open educational resources for optimization related courses.\n- [Introduction to Linear Programming with Python](https://github.com/benalexkeen/Introduction-to-linear-programming):\\\nIntroduction to Linear Programming with Python\n- [cvxpy](https://github.com/cvxpy/cvxpy):\\\nA Python-embedded modeling language for convex optimization problems.\n- [MIPLearn](https://github.com/ANL-CEEESA/MIPLearn):\\\nFramework for solving discrete optimization problems using a combination of Mixed-Integer Linear Programming (MIP) and Machine Learning (ML)\n- [or-gym](https://github.com/hubbs5/or-gym):\\\nnvironments for OR and RL Research\n- [ecole](https://github.com/ds4dm/ecole):\\\nExtensible Combinatorial Optimization Learning Environments\n- [pyconcorde](https://github.com/jvkersch/pyconcorde):\\\nPython wrapper around the Concorde TSP solver\n- [BOTorch](https://github.com/pytorch/botorch):\\\nBayesian optimization in PyTorch\n- [EvoTorch](https://github.com/nnaisense/evotorch):\\\nAdvanced evolutionary computation library built directly on top of PyTorch, created at NNAISENSE.\n- [TorchOpt](https://github.com/metaopt/torchopt):\\\nefficient library for differentiable optimization built upon PyTorch.\n- [qqa](https://github.com/Yuma-Ichikawa/QQA4CO):\\\nGPU-parallel **Quasi-Quantum Annealing** toolkit for QUBO and Ising combinatorial optimisation in PyTorch, with PI-GNN / CPRA neural backends, a Simulated Annealing baseline, a 17-class problem catalogue and a Streamlit dashboard. Released on PyPI as `qqa`.\n\n## **Contribution Guidelines**\n\nWe welcome contributions to this repository. If you have a course or resource that you'd like to add, please follow these guidelines:\n\n1. Make a pull request, adding the course to the relevant section with a brief description and a link to the resource.\n2. Use a consistent format for entries to maintain readability.\n\nThank you for your contributions to making this repository a valuable resource for optimization enthusiasts in the academic community!\n\n### TODO\n\n1. **add missing topics**\n    - numerical optimization/methods\n    - bayesian optimization\n2. add github repos\n3. complete solver/software list\n4. add short description\n5. better fomatting\n    - tables instead of bullets\n    \n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/ebrahimpichka%2Fawesome-optimization/projects"}