The solution that the NEOS Server provides is that of a general Internet-based client/server, providing a link between users and software applications. Any application that can be tweaked to read its expected input from one or more files and to write meaningful results to a single file can be automatically integrated into the NEOS Server. NEOS solvers are then available to users via all of the NEOS Server's interfaces. The user interfaces provided by NEOS are tailored to each particular solver based on information provided by the solver administrators, yet the interfaces still possess the same look and feel regardless of which solver the user is accessing. The advantages of this system are obvious in that users can freely browse the collection of solvers without having to learn how to use a new interface for each software application. Software developers bene t by easily adding their applications to a system that manages the complexities of client/server interactions for them.

In short, the NEOS Server handles interactions between a set of users and a set of solvers. A user submits formatted data to the NEOS Server through one of its interfaces. A solver reads its input from one or more les, processes the input, and outputs the results to a single le. For example, one solver may be a suite of Fortran code that minimizes an objective function. In this case the input could be a set of les containing the objective function and starting point source code, while the output could be a le containing the solution vector and other information associated with the solution process. The job of the NEOS Server is to connect the solver with the user's data and the user with the solver's results.

Optimisation models are widely adopted in a number of industrial sectors including finance, supply chain planning, agriculture, and energy distribution. Optimisation is used as an analytical engine for competitive advantage in these and other sectors. Further, the adoption of an optimisation solution often requires a investment in technology, time, and staff, typically available only in large organisations. Recently there is a growing requirement for the use of optimisation by a wide range of companies leading us to Optimisation Service Provision(OSP) which:

  • Allows the use of optimisation tools without the significant cost of an in-house optimisation solution.
  • Extends i) and ii) by providing training through an ASP service.
  • Provides vertical, generic and customisable end-user solutions for a number of industrial sectors.

OSP contributes to the community in two distinct ways. First, it extends the concept of ASP to include decision support applications. Second it includes training which is a critical factor for the use of optimisation by a wide user-base, that may not have the key expertise and/or resources to adopt optimisation for competitive advantage.

FortMP is a high performance, large scale optimisation solver, available for Windows, UNIX (Solaris) and Linux operating systems (other platforms available on request). FortMP is an extensible Optimisation system, available as a stand-alone solver, a callable library, or as a supporting solver with the MPL, AMPL, and OptiMax2000 mathematical programming system.

FortMP incorporates a suite of well known solution algorithms that have been carefully designed taking into consideration underlying data structures and modular processing components such that different features can interact well with each other. Research and development of the underlying algorithms started in the mid eighties. However, the computational algorithms and the software system have been constantly kept up to date with the developments that continue to take place in this field.

  • Linear programming problems are processed by sparse simplex (SSX) with both PRIMAL and DUAL variants. An interior point method (IPM) algorithm is also included which uses the PRIMAL-DUAL Logarithmic barrier method with predictor-corrector extensions. A powerful basis recovery (cross over) algorithm combines the speed of the IPM solution with the warm restart property of the SSX.
  • Mixed integer programs are solved by applying a branch and bound tree search method. By incorporating up to date cutting plane methods and integer preprocessing techniques the MIP solver engine is kept highly competitive and effective in solving discrete optimisation problems. The mixed integer programming feature can run under a single or multiple distributed memory parallel processors and performance can be tuned for both these platforms.

FortMP Stats in NEOS Server (2002-2006)

FortMP Cumulative Stats in NEOS Server (2002-2006)