by Robert Fourer, David M. Gay, and Brian W. Kernighan
A complete introduction to mathematical optimization with AMPL: A Mathematical Programming Language written by the founders of AMPL Optimization
Written for modelers at all levels of experience – support for beginners.
Begin with linear programming models and expand through detailed tutorials 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.