AMPL: A Modeling Language for Mathematical Programming by Robert Fourer, David M. Gay, and Brian W. Kernighan
Written by the creators of AMPL, this book is a complete guide for modelers at all levels of experience.
Begin with a tutorial on widely used linear programming models and expand through a more detailed tutorial exposition of all of AMPL’s features.
Advanced chapters cover network, nonlinear, piecewise-linear, and integer programming; database and spreadsheet interactions; and command scripts.
Most chapters include exercises for study or classroom use. Extensive examples show how each feature is used in meaningful contexts.
Chapter Downloads ↓
The introduction provides an overview of AMPL, its purpose as a high-level modeling language for mathematical programming, and how it simplifies the process of expressing and solving optimization problems.
Introduces linear programming through production models, demonstrating profit maximization under resource constraints
Explores cost minimization problems, such as the diet problem, emphasizing the formulation of input-based models.
Discusses models for optimizing transportation and assignment tasks, focusing on efficient resource allocation.
Covers techniques for constructing complex models by integrating multiple components and constraints.
Introduces the use of sets and indexing in AMPL to structure and simplify model formulation.
Expands on simple sets by exploring compound sets and advanced indexing methods for more intricate models.
Details the declaration and use of parameters and expressions to define model data and relationships.
Delves into the core components of linear programs, including variable definitions, objective functions, and constraints.
Explains methods for inputting and managing data within AMPL models to ensure accuracy and flexibility.
Demonstrates how to connect AMPL models to external databases for dynamic data retrieval and storage.
Provides an overview of AMPL’s modeling commands to control model execution and solution processes.
Covers commands for displaying and interpreting model results and outputs effectively.
Introduces scripting capabilities in AMPL for automating model tasks and workflows.
Discusses how AMPL interfaces with various solvers to find optimal solutions to models.
Focuses on modeling and solving network-based linear programming problems.
Explores columnwise model formulations and their applications in optimization.
Examines the formulation and solution of piecewise-linear programming models.
Introduces nonlinear programming concepts and their implementation in AMPL.
Discusses the modeling of complementarity problems within the AMPL framework.
Covers the formulation and solution of integer linear programming models.
The appendix includes detailed reference materials, such as syntax summaries, solver-specific notes, and additional resources to support readers in effectively utilizing AMPL for diverse modeling tasks.
AMPL is committed to democratizing optimization software for non-commercial settings. Get the full AMPL system with industry leading solvers for free use in Academia.