If you use AmplNLReader.jl in your work, please cite using the format given in CITATION.bib.
At the Julia prompt,
pkg> add AmplNLReader
pkg> test AmplNLReader
For an introduction to the AMPL modeling language, see
- R. Fourer, D. M. Gay, and B. W. Kernighan, AMPL: A Mathematical Programming Language, Management Science 36, pp. 519-554, 1990.
- R. Fourer, D. M. Gay, and B. W. Kernighan, AMPL: A Modeling Language for Mathematical Programming, Duxbury Press / Brooks/Cole Publishing Company, 2003.
- D. Orban, The Lightning AMPL Tutorial. A Guide for Nonlinear Optimization Users, GERAD Technical Report G-2009-66, 2009.
Suppose you have an AMPL model represented by the model and data files mymodel.mod
and mymodel.dat
. Decode this model as a so-called nl
file using
ampl -ogmymodel mymodel.mod mymodel.dat
For example:
julia> using AmplNLReader
julia> hs33 = AmplModel("hs033.nl")
Minimization problem hs033.nl
nvar = 3, ncon = 2 (0 linear)
julia> print(hs33)
Minimization problem hs033.nl
nvar = 3, ncon = 2 (0 linear)
lvar = 1x3 Array{Float64,2}:
0.0 0.0 0.0
uvar = 1x3 Array{Float64,2}:
Inf Inf 5.0
lcon = 1x2 Array{Float64,2}:
-Inf 4.0
ucon = 1x2 Array{Float64,2}:
0.0 Inf
x0 = 1x3 Array{Float64,2}:
0.0 0.0 3.0
y0 = 1x2 Array{Float64,2}:
-0.0 -0.0
There is support for holding multiple models in memory simultaneously. This should be transparent to the user.
AmplNLReader.jl
currently focuses on continuous problems conforming to NLPModels.jl
.
AmplModel
objects support all methods associated to NLPModel
objects.
Please see the NLPModels.jl
documentation for more information.
The following table lists extra methods associated to an AmplModel
.
See Hooking your Solver to AMPL for background.
Method | Notes |
---|---|
write_sol(nlp, msg, x, y) |
Write primal and dual solutions to file |
- methods for LPs (sparse cost, sparse constraint matrix)
- methods to check optimality conditions.