If you use AmplNLReader.jl in your work, please cite using the format given in CITATION.bib.
At the Julia prompt,
pkg> add AmplNLReaderpkg> test AmplNLReaderFor 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.0There 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.