This tutorial is not intended as a guide to formulating models in AMPL. If you are not already familiar with AMPL, please consult .
The problem presented in equations (4)-(8) can be solved with IPOPT with the following AMPL model.
# tell ampl to use the ipopt executable as a solver # make sure ipopt is in the path! option solver ipopt; # declare the variables and their bounds, # set notation could be used, but this is straightforward var x1 >= 1, <= 5; var x2 >= 1, <= 5; var x3 >= 1, <= 5; var x4 >= 1, <= 5; # specify the objective function minimize obj: x1 * x4 * (x1 + x2 + x3) + x3; # specify the constraints s.t. inequality: x1 * x2 * x3 * x4 >= 25; equality: x1^2 + x2^2 + x3^2 +x4^2 = 40; # specify the starting point let x1 := 1; let x2 := 5; let x3 := 5; let x4 := 1; # solve the problem solve; # print the solution display x1; display x2; display x3; display x4;
The line, ``option solver ipopt;'' tells AMPL to use IPOPT as the solver. The IPOPT executable (installed in Section 2.4) must be in the PATH for AMPL to find it. The remaining lines specify the problem in AMPL format. The problem can now be solved by starting AMPL and loading the mod file:
$ ampl > model hs071_ampl.mod; . . .The problem will be solved using IPOPT and the solution will be displayed.
At this point, AMPL users may wish to skip the sections about interfacing with code, but should read Section 5 concerning IPOPT options, and Section 6 which explains the output displayed by IPOPT.
It is possible to solve AMPL problems with IPOPT directly from the command line. However, this requires a file in format .nl produced by ampl. If you have a model and data loaded in Ampl, you can create the corresponding .nl file with name, say, myprob.nl by using the Ampl command:
There is a small .nl file available in the IPOPT distribution. It is located at Ipopt/test/mytoy.nl. We use this file in the remainder of this section. We assume that the file mytoy.nl is in the current directory and that the command ipopt is a shortcut for running the ipopt binary available in the bin directory of the installation of IPOPT.
We list below commands to perform basic tasks from the Linux prompt.
ipopt mytoy 'print_options_documentation yes'
ipopt mytoy 'max_iter 2 print_level 4'
If many options are to be set, they can be collected in a file ipopt.opt that is automatically read by IPOPT if present in the current directory, see Section 5.