# mip¶

## 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¶

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).

## Capacity expansion of power generation¶

Description: Models the extensive form of a deterministic multi-stage capacity expansion problem. In this model we can have multiple resources of the same type which have identical properties. The model can be further developed into a stochastic one.

## 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.

## Dual-Donor Organ Exchange problem¶

Description: Most transplants from living donors require only one donor for each procedure. There are, however, exceptions, including dual-graft liver transplantation, bilateral living-donor lobar lung transplantation, and simultaneous liver-kidney transplantation. For each of these procedures, grafts from two compatible living donors are transplanted. As such, these procedures are more involved from an organizational perspective than those with only one donor. Unfortunately, one or both of the donors can often be biologically incompatible with the intended recipient, precluding the transplantation.

## Employee Scheduling Optimization¶

Description: Employee scheduling model from the Analytical Decision Modeling course at the Arizona State University.

## Hospitals-Residents MIP¶

Description: hospitals-residents problem with ties problem solved with ampl and highs

## Magic sequences¶

Description: Solving magic sequences through reinforced formulations and constrained programming. Some comparison between models and solvers is done, and we look into the “Another solution” problem for these sequences.

## Optimization of an advertising campaign for launching a new product on the market¶

Description: The modern world is unthinkable without advertising. Advertising is the engine of progress.

## 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.

## Pricing and target-market¶

Description: Formulate a pricing optimization and target-market problem as a MILP.

## Solving a nonogram puzzle¶

Description: Model for solving nonogram puzzles autogenerated using nonogram.mod, nonogram.dat and nonogram.run.
Tags: ampl-only, mip

## Sudoku Generator¶

Description: Generate Sudoku boards with unique solution via iterative method and mip formulation.