Math Programming Language
Developed by Bell Laboratories of Lucent Technologies, AMPL is an award-winning
mathematical programming language system. With AMPL, users can expedite
prototyping and model deployment, and facilitate system management and maintenance.
AMPL is particularly suited for OR professionals who analyze various decision
problems and design decision support systems. Model development is accomplished
extremely quickly with--it is a matter of hours, rather than the weeks or
months required using traditional methods.
Features Include:
-
Portability among popular UNIX workstations
-
Easy-to-use user interface
-
Variety of problem types (e.g., linear, integer, network, etc.)
-
Flexible mathematical functions
-
Direct interface to SOPT without creating MPS files.
|
|
To purchase the AMPL book, go to AMPL 2nd Edition
|
Supported Plaforms:

AMPL can be used stand-alone, or as a subroutine library or DLL.
Purchasing AMPL
If you would like to purchase AMPL, please download the
AMPL order form, and fax it to us with your signature. Upon receiving
your order form, we will send you the software. Note that the software
installation requires that you agree with the license contract. You can
download the license agreement by clicking
AMPL License Agreement.
Example Transportation Problem
Corresponding AMPL Code
###
### AMPL Model: Transportation Problem
###
### Set Definition
set supply_location;
set demand_location;
### Parameter Definition
param ship_cost {supply_location, demand_location};
param supply_amt (supply_location};
param demand_amt {demand_location};
### Variable Definition
var X {supply_location, demand_location} >= 0.0;
### Objective Function
minimize costs: sum {s in supply_location, d in demand_location}
ship_cost[s,d] * X[x,d];
### Constraints
supply_limit {s in supply_location}:
sum {d in deman_location} X[s,d] <= supply_amt[s];
demand_limit {d in demand_location}:
sum {s in supply_location} X[s,d] >= demand_amt[d];
### Data Section
data;
set supply_location := Atlanta Chicago;
set demand_location := New_York Houston Denver LA;
param supply_amt :=
Atlanta 500.0
Chicago 750.0;
param demand_amt :=
New_York 400.0
Houston 150.0
Denver 250.0
LA 450.0;
param ship_cost : New_York Houston Denver LA :=
Atlanta 15.0 12.0 18.0 25.0
Chicago 18.0 17.0 11.0 16.0;
### End Statement
end;
|
|