Skip to content

AMPL A Modeling Language for Mathematical Programming

Spend $50 to get a free movie!

ISBN-10: 0534388094

ISBN-13: 9780534388096

Edition: 2nd 2003 (Revised)

Authors: Robert Fourer, David M. Gay, Brian W. Kernighan

List price: $127.95
Blue ribbon 30 day, 100% satisfaction guarantee!
Out of stock
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

AMPL is a language for large-scale optimization and mathematical programming problems in production, distribution, blending, scheduling, and many other applications. Combining familiar algebraic notation and a powerful interactive command environment, AMPL makes it easy to create models, use a wide variety of solvers, and examine solutions. Though flexible and convenient for rapid prototyping and development of models, AMPL also offers the speed and generality needed for repeated large-scale production runs. This book, written by the creators of AMPL, is a complete guide for modelers at all levels of experience. It begins with a tutorial on widely used linear programming models, and…    
Customers also bought

Book details

List price: $127.95
Edition: 2nd
Copyright year: 2003
Publisher: Brooks/Cole
Publication date: 11/12/2002
Binding: Hardcover
Pages: 540
Size: 7.75" wide x 9.75" long x 1.25" tall
Weight: 2.354
Language: English

Production Models: Maximizing Profits
A two-variable linear program
The two-variable linear program in AMPL
A linear programming model
The linear programming model in AMPL
The basic model
An improved model
Catching errors
Adding lower bounds to the model
Adding resource constraints to the model
AMPL interfaces
Diet and Other Input Models: Minimizing Costs
A linear program for the diet problem
An AMPL model for the diet problem
Using the AMPL diet model
Generalizations to blending, economics and scheduling
Transportation and Assignment Models
A linear program for the transportation problem
An AMPL model for the transportation problem
Other interpretations of the transportation model
Building Larger Models
A multicommodity transportation model
A multiperiod production model
A model of production and transportation
Simple Sets and Indexing
Unordered sets
Sets of numbers
Set operations
Set membership operations and functions
Indexing expressions
Ordered sets
Predefined sets and interval expressions
Compound Sets and Indexing
Sets of ordered pairs
Subsets and slices of ordered pairs
Sets of longer tuples
Operations on sets of tuples
Indexed collections of sets
Parameters and Expressions
Parameter declarations
Arithmetic expressions
Logical and conditional expressions
Restrictions on parameters
Computed parameters
Randomly generated parameters
Logical parameters
Symbolic parameters
Linear Programs: Variables, Objectives and Constraints
Linear expressions
Specifying Data
Formatted data: the data command
Data in lists
Lists of one-dimensional sets and parameters
Lists of two-dimensional sets and parameters
Lists of higher-dimensional sets and parameters
Combined lists of sets and parameters
Data in tables
Two-dimensional tables
Two-dimensional slices of higher-dimensional data
Higher-dimensional tables
Choice of format
Other features of data statements
Default values
Indexed collections of sets
Initial values for variables
Reading unformatted data: the read command
Database Access
General principles of data correspondence
Examples of table-handling statements
Reading data from relational tables
Reading parameters only
Reading a set and parameters
Establishing correspondences
Reading other values
Writing data to relational tables
Writing rows inferred from the data specifications
Writing rows inferred from a key specification
Reading and writing the same table
Reading and writing using two table declarations
Reading and writing using the same table declaration
Indexed collections of tables and columns
Indexed collections of tables
Indexed collections of data columns
Standard and built-in table handlers
Using the standard ODBC table handler
Using the standard ODBC table handler with Access and Excel
Built-in table handlers for text and binary files
Modeling Commands
General principles of commands and options
Setting up and solving models and data
Entering models and data
Solving a model
Modifying data
The let command
Modifying models
Removing or redefining model components
Changing the model: fix, unfix; drop, restore
Relaxing integrality
Display Commands
Browsing through results: the display command
Displaying sets
Displaying parameters and variables
Displaying indexed expressions
Formatting options for display
Arrangement of lists and tables
Control of line width
Suppression of zeros
Numeric options for display
Appearance of numeric values
Rounding of solution values
Other output commands: print and printf
The print command
The printf command
Related solution values
Objective functions
Bounds and slacks
Dual values and reduced costs
Other display features for models and instances
Displaying model components: the show command
Displaying model dependencies: the xref command
Displaying model instances: the expand command
Generic synonyms for variables, constraints and objectives
Resource listings
General facilities for manipulating output
Redirection of output
Output logs
Limits on messages
Command Scripts
Running scripts: include and commands
Iterating over a set: the for statement
Iterating subject to a condition: the repeat statement
Testing a condition: the if-then-else statement
Terminating a loop: break and continue
Stepping through a script
Manipulating character strings
String functions and operators
String expressions in AMPL commands
Interactions with Solvers
Activities of the presolve phase
Controlling the effects of presolve
Detecting infeasibility in presolve
Retrieving results from solvers
Solve results
Solver statuses of objectives and problems
Solver statuses of variables
Solver statuses of constraints
AMPL statuses
Exchanging information with solvers via suffixes
User-defined suffixes: integer programming directives
Solver-defined suffixes: sensitivity analysis
Solver-defined suffixes: infeasibility diagnosis
Solver-defined suffixes: direction of unboundedness
Defining and using suffixes
Alternating between models
Named problems
Defining named problems
Using named problems
Displaying named problems
Defining and using named environments
Network Linear Programs
Minimum-cost transshipment models
A general transshipment model
Specialized transshipment models
Variations on transshipment models
Other network models
Maximum flow models
Shortest path models
Transportation and assignment models
Declaring network models by node and arc
A general transshipment model
A specialized transshipment model
Variations on transshipment models
Maximum flow models
Rules for node and arc declarations
node declarations
arc declarations
Interaction with objective declarations
Interaction with constraint declarations
Interaction with variable declarations
Solving network linear programs
Columnwise Formulations
An input-output model
Formulation by constraints
A columnwise formulation
Refinements of the columnwise formulation
A scheduling model
Rules for columnwise formulations
Piecewise-Linear Programs
Cost terms
Fixed numbers of pieces
Varying numbers of pieces
Common two-piece and three-piece terms
Penalty terms for "soft" constraints
Dealing with infeasibility
Reversible activities
Other piecewise-linear functions
Guidelines for piecewise-linear optimization
Forms for piecewise-linear expressions
Suggestions for piecewise-linear models
Nonlinear Programs
Sources of nonlinearity
Dropping a linearity assumption
Achieving a nonlinear effect
Modeling an inherently nonlinear process
Nonlinear variables
Initial values of variables
Automatic substitution of variables
Nonlinear expressions
Pitfalls of nonlinear programming
Function range violations
Multiple local optima
Other pitfalls
Complementarity Problems
Sources of complementarity
A complementarity model of production economics
Complementarity for bounded variables
Complementarity for price-dependent demands
Other complementarity models and applications
Forms of complementarity constraints
Working with complementarity constraints
Related solution values
Generic synonyms
Integer Linear Programs
Integer variables
Zero-one variables and logical conditions
Fixed costs
Zero-or-minimum restrictions
Cardinality restrictions
Practical considerations in integer programming
AMPL Reference Manual
Lexical rules
Set members
Indexing expressions and subscripts
Built-in functions
Strings and regular expressions
Piecewise-linear terms
Declarations of model entities
Set declarations
Cardinality and arity functions
Ordered sets
Intervals and other infinite sets
Parameter declarations
Check statements
Variable declarations
Defined variables
Constraint declarations
Complementarity constraints
Objective declarations
Suffix notation for auxiliary values
Suffix declarations
Standard data format
Set data
Parameter data
Database access and tables
Command language overview
Options and environment variables
Redirection of input and output
Printing and display commands
Reading data
Modeling commands
The solve command
The solution command
The write command
Auxiliary files
Changing a model: delete, purge, redeclare
The drop, restore and objective commands
The fix and unfix commands
Named problems and environments
Modifying data: reset, update, let
Examining models
The show command
The xref command
The expand command
Generic names
The check command
Scripts and control flow statements
The for, repeat and if-then-else statements
Stepping through commands
Computational environment
The shell command
The cd command
The quit, exit and end commands
Built-in timing parameters
Imported functions
AMPL invocation