amplpy#
AMPL - solve multiple models in parallel#
Description: Solve multiple AMPL models in parallel in Python with amplpy and the multiprocessing modules.
Author: Nicolau Santos (8 notebooks) <nicolau@ampl.com>
AMPL Bin Packing Problem with GCG#
Description: Dantzig-Wolfe decomposition for Bin Packing Problem with GCG
AMPL Capacitated p-Median Problem with GCG#
Description: Dantzig-Wolfe decomposition for Capacitated p-Median Problem with GCG
AMPL Christmas Model created by ChatGPT#
Description: Christmas model generated by ChatGPT
AMPL Development Tutorial 1/6 – Capacitated Facility Location Problem#
Description: This notebook marks the beginning of a six-part series.
AMPL Development Tutorial 2/6 – Stochastic Capacitated Facility Location Problem#
Description: This notebook continues our six-part series as the second installment.
AMPL Development Tutorial 3/6 – Benders Decomposition via AMPL scripting#
Description: In this third installment of our six-part series, we continue our exploration by addressing the complexities introduced by the stochastic programming formulation presented in part two.
AMPL Development Tutorial 4/6 – Benders Decomposition via PYTHON scripting#
Description: In this fourth installment of our six-part series, we advance our exploration by demonstrating how to adapt our AMPL script for use with AMPL’s Python API.
AMPL Development Tutorial 5/6 – Parallelizing Subproblem Solves in Benders Decomposition#
Notebooks > AMPL Development Tutorial 5/6 – Parallelizing Subproblem Solves in Benders Decomposition
Description: In the fifth installment of our six-part series, we delve deeper by showing how to evolve our Benders decomposition Python script from a serial execution to one that solves subproblems in parallel.
AMPL Development Tutorial 6/6 – Implementing Benders Decomposition with ampls#
Description: This concluding notebook in our six-part series delves into enhancing the efficiency of our decomposition algorithm by utilizing AMPL Solver Libraries (ampls).
AMPL Model Colaboratory Template#
Description: Basic notebook template for the AMPL Colab repository
Aircrew trainee scheduling with seniority constraints#
Description: Aircrew trainee scheduling with simpler seniority modeling
Tags: trainee-scheduling, aircrew-scheduling, employee-scheduling, seniority-constraints, seniority-ranking, preferential-bidding-system, multiple-objectives, lexicographic-optimization, amplpy
Author: Gleb Belov (7 notebooks) <gleb@ampl.com>
Containers scheduling#
Description: Scheduling model for harbor operations. It is a problem with dependences between containers, which should be dispatch the fastest possible. We are using the MP solver interfaces to model a complex system using techniques from Constraint Programming, such as indicator constraints, and logical or and forall operators. After the model is written, a couple instances are presented and Highs/Gurobi MIP solvers are used to tackle the problem.
Debugging Model Infeasibility#
Description: This notebook offers a concise guide on troubleshooting model infeasibility using AMPL’s presolve feature and other language capabilities.
Diet model with Google Sheets#
Description: Diet model using Google Sheets
Dynamic routing example#
Description: Example of interactive optimization with GUI using AMPL and Google Maps
Author: Christian Valente (5 notebooks) <ccv@ampl.com>
Efficient Frontier with Google Sheets#
Description: Efficient Frontier example using Google Sheets
Author: Christian Valente (5 notebooks) <ccv@ampl.com>
Employee Scheduling Optimization#
Description: Employee scheduling model from the Analytical Decision Modeling course at the Arizona State University.
Financial Portfolio Optimization with amplpy#
Description: Financial Portfolio Optimization with amplpy and amplpyfinance
Google Hashcode 2022#
Description: Google Hashcode 2022 Practice Problem
Hospitals-Residents MIP#
Description: hospitals-residents problem with ties problem solved with ampl and highs
Hydrothermal Scheduling Problem with Conic Programming#
Description: Hydrothermal Scheduling Problem using Second-Order Cones
Tags: amplpy, conic, second-order-cone, quadratic-cone, nonlinear-programming, scheduling, engineering, power-generation, geothermal-energy, hydropower
Author: Gleb Belov (7 notebooks) <gleb@ampl.com>
Introduction to Linear and Integer Programming#
Description: Basic introduction to linear programming and AMPL via a lemonade stand example
Introduction to Mathematical Optimization#
Description: Basic introduction to optimization and AMPL via unconstrained optimization
Jupyter Notebook Integration#
Description: Jupyter Notebook Integration with amplpy
Largest small polygon#
Description: lecture about models for the Largest Small Polygon Problem
Logistic Regression with amplpy#
Description: Logistic regression with amplpy using exponential cones
N-Queens#
Description: How can N queens be placed on an NxN chessboard so that no two of them attack each other?
Author: Gleb Belov (7 notebooks) <gleb@ampl.com>
NFL Team Rating#
Description: NFL Team Rating problem from the Analytical Decision Modeling course at the Arizona State University.
Network Linear Programs#
Description: Basic introduction to network linear programms and AMPL via max flow and shortest path problems
Optimal Power Flow with AMPL and Python - Bus Injection Model (BIM)#
Description: Optimal Power Flow
Author: Nicolau Santos (8 notebooks) <nicolau@ampl.com>
Optimal Power Flow with AMPL and Python - Bus Injection Model (BIM) with controllable-phase shifting transformers and tap-changing transformers#
Optimal Power Flow with AMPL and Python - DC Power Flow#
Description: Optimal Power Flow
Author: Nicolau Santos (8 notebooks) <nicolau@ampl.com>
Optimal Power Flow with AMPL and Python - conventional Power Flow#
Description: Optimal Power Flow
Author: Nicolau Santos (8 notebooks) <nicolau@ampl.com>
Optimal Power Flow with AMPL and Python - data management#
Description: Optimal Power Flow with AMPL, Python and amplpy
Author: Nicolau Santos (8 notebooks) <nicolau@ampl.com>
Optimization Methods in Finance: Chapter 3#
Description: Optimization Methods in Finance: Bond Dedication Problem.
Optimize your Christmas Tree to Global Optimality#
Description: Optimize the placement of ornaments on a christmas tree.
Optimizing the number of staff in a chain of stores#
P-Median problem#
Description: this notebook states the p-median problem with a simple example, and a MIP formulation in amplpy. The problem is parametrized with a class, so it is easier to sample and replicate experiments. A graphical solution is plotted.
Pattern Enumeration#
Description: Pattern enumeration example with amplpy
Pattern Generation#
Description: Pattern generation example with amplpy
Production Model: lemonade stand example#
Description: Basic introduction to AMPL’s indexed entities and the Pygwalker Python package via a lemonade stand example
Quick Start using Pandas dataframes#
Description: Quick Start using Pandas dataframes to load and retrieve data
Quick Start using lists and dictionaries#
Description: Quick Start using lists and dictionaries to load and retrieve data
Roll Cutting - Revision 1 & 2#
Description: Pattern tradeoff example with amplpy
Simple sudoku solver using logical constraints (with GUI)#
Description: Simple sudoku model with two formulations: as a Constraint Programming problem using the alldiff operator and as a MIP. Note that the CP formulation is more natural but it needs a solver supporting logical constraints or a MIP solver with automatic reformulation support (see [here](https://mp.ampl.com/) for more information).
Author: Christian Valente (5 notebooks) <ccv@ampl.com>
Solving simple stochastic optimization problems with AMPL#
Description: Examples of the Sample Average Approximation method and risk measures in AMPL
Author: Nicolau Santos (8 notebooks) <nicolau@ampl.com>
Sudoku Generator#
Description: Generate Sudoku boards with unique solution via iterative method and mip formulation.
Unit Commitment for Electrical Power Generation#
Description: This notebook illustrates the power generation problem using AMPL. The original version featured the Gurobi solver. By default, this notebook uses the HiGHS and CBC solvers.
amplpy setup & Quick Start#
Description: amplpy setup and quick start