Invoke solvers on the NEOS server
from your local AMPL session
Remote solvers available
Remote AMPL with remote solvers Frequently Asked Questions
More about the NEOS Server
AMPL and the
AMPL users have the opportunity to compare alternative optimization methods for an application, by taking advantage of the large and growing collection of solvers for which AMPL interfaces are available. This opportunity can be more apparent than real, however, when considerable time and cost are required to separately obtain and install each solver to be tested.
To simplify the work of comparing and testing solvers, we have undertaken a project to make AMPL and solver resources available over the Internet, in collaboration with the NEOS Server project of the Argonne/Northwestern Optimization Technology Center. AMPL users can interact with the NEOS server in either of two ways:
Remote solvers available
The following solvers are currently available for use through either of
the AMPL Remote Access interfaces described below. For more
information, follow the links from the solver names to their entries in
Optimization Software Guide.
Remote AMPL with remote solvers
This facility lets you send an AMPL "job" to the NEOS Server's remote
computer. A job consists of an AMPL model file, plus optionally an
associated data file, plus optionally a "script" or "run file" of AMPL
commands. All computation is done on the remote computer, and AMPL
output resulting from the job is returned via your web browser and/or
an e-mail message.
When you submit a job, the NEOS Server starts up a copy of the AMPL processor, which reads and executes the commands in the run file (or executes "solve" if no run file is provided). The NEOS Server also executes the requested solver. AMPL's display or printing commands can be included in the run file to produce listings of results that are sent back along with other AMPL output.
To use this facility, follow a link below to consult the page of instructions for the solver in which you are interested. Solvers currently available are:
Local AMPL with remote solvers
In this mode of operation, you run your own copy of AMPL on your own
computer. Instead of specifying a solver installed on your computer or
local network, however, you invoke a NEOS Client program
to send your problem to a solver running on the NEOS Server's remote
computer. The results from the NEOS Server are returned through the
NEOS client to AMPL, where you can view and manipulate them locally in
the usual way. Thus you get all the benefits of using AMPL environment
to test solvers, without having to first obtain and install each
The NEOS Client is currently out of service while it is rewritten to use CORBA communications for greater stability and portability. Release of the new version is planned for Summer 2000.
Executables for other computing environments are under development. If you could make use of another form of executable, let us know by writing to firstname.lastname@example.org.
ampl: model steel.mod; ampl: data steel.dat; ampl: option solver neos_client; ampl: option neos_solver minos; ampl: option neos_client_oopt g; ampl: option send_suffixes 0; ampl: solve;When the solve command is given, the option solver tells AMPL to invoke NEOS Client, and the option neos_solver tells the NEOS Client to use MINOS as its remote solver. (The option neos_client_oopt is set to g to select ASCII format for the AMPL problem and solution files, since the default binary format is not yet supported by the NEOS Client.)
After the NEOS Client is invoked by solve, it establishes communication with the NEOS Server, sends the AMPL problem file to the remote solver, and waits until the AMPL solution file is sent back. Its progress is reported by messages like the following, but with machine.domain.net replaced by the internet location of your own computer:
machine.domain.net#0:c0:t2:p28356: Registered: 292 machine.domain.net#0:c0:t3:p28356: Problem 0 queued. machine.domain.net#0:c0:t4:p28356: Problem 0 started. machine.domain.net#0:c0:t5:p28356: Problem 0 solving. machine.domain.net#0:c0:t6:p28356: Problem 0 result. Done.The NEOS Client then disconnects from the NEOS Server and terminates its execution. Finally, the solve command completes its work by reading the solution file and displaying its usual solution summary:
machine.domain.net#0:c0:t0:p28356: Unregister sent. MINOS 5.4: optimal solution found. 2 iterations, objective 192000That's it! You can proceed to display or manipulate the solution or to do anything else that you would have done if the problem had been solved by a local copy of MINOS. Subsequent uses of the solve command will continue to invoke a remote solver, until you change the option solver or conclude the AMPL session.
Minor notes: The option setting send_suffixes 0 is needed to work around a temporary incompatibility involving only very new versions of AMPL. If the command option version shows your AMPL version to be earlier than 19980202, then you should be able to do without this setting.
To avoid having to set the AMPL options neos_client_oopt and send_suffixes at every session, you can instead define Unix environment variables having the same names and settings. AMPL copies all of the Unix environment settings each time a session is begun.
| option neos_solver donlp2;
|| option neos_solver lancelot;
|| option neos_solver loqo;
|| option neos_solver minos;
|| option neos_solver snopt;
You can pass directives to any of these solvers by assigning an appropriate directive string to the AMPL option consisting of the solver's name followed by _options. For example, to tell MINOS ... , you would execute the following AMPL command prior to solve:
option minos_options 'crash_option=0 scale=no';For summaries of directives for the available solvers, follow the links from their names in the listing above.
Frequently asked questions
stretto#0:c0:t0:p14022: Could not attach to neos server, exiting.If this message begins with a simple machine name (like stretto above) rather than a fully qualified machine name (such as stretto.iems.northwestern.edu) then you are encountering a technical problem with the NEXUS communications software employed by the neos_client program -- keep reading. Otherwise, the server may be down or may be failing for some reason. Please try again later, or report your problem to the NEOS staff.
You can circumvent the above-mentioned NEXUS technical problem by creating a file named .resource_database in your home directory. Place in this file a line of the form
machine domain=rest-of-domain-namewhere machine is the name of the computer on which you are running neos_client and rest-of-domain-name is all of the fully qualified machine name except the initial computer name. In the example above, this line would be
stretto domain=.iems..eduIf you use a network of computers that access the same home directory, you can put a line for each computer in your .resource_database file.
The NEOS Server uses the computational and algorithmic resources of OTC collaborators to provide optimization services via the Internet. Users are able to apply state-of-the-art optimization software to solve optimization problems without downloading and linking code. The Server thus demonstrates that the Internet can be used as a computational as well as an informational resource.
More about NEOS and its components may be found in the following articles:
The remote AMPL/remote solvers facility has been created by Jorge Moré (Argonne), with assistance from David Gay (Bell Laboratories) and Robert Fourer (Northwestern).
The local AMPL/remote solvers facility has been created by Jean-Pierre Goux (Northwestern) and Todd Munson (University of Wisconsin), with guidance from Robert Fourer (Northwestern), Jorge Moré (Argonne) and Jorge Nocedal (Northwestern).
Return to the AMPL home page.