NEOS Server

Last updated

The NEOS Server is an Internet-based client-server application that provides free access to a library of optimization solvers. Its library of solvers includes more than 60 commercial, free and open source solvers, which can be applied to mathematical optimization problems of more than 12 different types, including linear programming, integer programming and nonlinear optimization.

Contents

The server is managed by the Wisconsin Institute for Discovery at the University of Wisconsin-Madison. Most of the solvers are hosted by the University of Wisconsin in Madison, where jobs run on a cluster of high-performance machines managed by the HTCondor software. A smaller number of solvers are hosted by partner organizations: Arizona State University, the University of Klagenfurt in Austria, and the University of Minho in Portugal. The server was developed in 1996 by the Optimization Technology Center of Argonne National Laboratory and Northwestern University.

Graphical depiction of the structure of the NEOS Server Overview of the NEOS Server.jpg
Graphical depiction of the structure of the NEOS Server

Structure

The NEOS (Network-Enabled Optimization System) project [1] was launched in at Argonne National Laboratory and Northwestern University to develop a method to share optimization software resources over the Internet. [2] [3] [4] [5] [6] The server went live in 1996, one of the first examples of software as a service.

The NEOS Server is an Internet-based client-server application that provides access to a library of optimization solvers. The server accepts optimization models described in modeling languages, programming languages, and problem-specific formats. Most of the linear programming, integer programming and nonlinear programming solvers accept input from AMPL and/or GAMS. Jobs can be submitted via a web page, email, XML RPC, Kestrel [7] or indirectly via third party submission tools SolverStudio for Excel, OpenSolver, Pyomo, JuMP (through the Julia package NEOS [8] ) and the R package rneos. NEOS uses the HTCondor software to manage the workload on a dedicated cluster of computers. [9]

Related Research Articles

Quadratic programming (QP) is the process of solving certain mathematical optimization problems involving quadratic functions. Specifically, one seeks to optimize a multivariate quadratic function subject to linear constraints on the variables. Quadratic programming is a type of nonlinear programming.

In mathematics, nonlinear programming (NLP) is the process of solving an optimization problem where some of the constraints or the objective function are nonlinear. An optimization problem is one of calculation of the extrema of an objective function over a set of unknown real variables and conditional to the satisfaction of a system of equalities and inequalities, collectively termed constraints. It is the sub-field of mathematical optimization that deals with problems that are not linear.

<span class="mw-page-title-main">AMPL</span>

AMPL is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing . It was developed by Robert Fourer, David Gay, and Brian Kernighan at Bell Laboratories. AMPL supports dozens of solvers, both open source and commercial software, including CBC, CPLEX, FortMP, MINOS, IPOPT, SNOPT, KNITRO, and LGO. Problems are passed to solvers as nl files. AMPL is used by more than 100 corporate clients, and by government agencies and academic institutions.

CUTEr is an open source testing environment for optimization and linear algebra solvers. CUTEr provides a collection of test problems along with a set of tools to help developers design, compare, and improve new and existing test problem solvers.

The TOMLAB Optimization Environment is a modeling platform for solving applied optimization problems in MATLAB.

Algebraic modeling languages (AML) are high-level computer programming languages for describing and solving high complexity problems for large scale mathematical computation. One particular advantage of some algebraic modeling languages like AIMMS, AMPL, GAMS, Gekko, MathProg, Mosel, and OPL is the similarity of their syntax to the mathematical notation of optimization problems. This allows for a very concise and readable definition of problems in the domain of optimization, which is supported by certain language elements like sets, indices, algebraic expressions, powerful sparse index and data handling variables, constraints with arbitrary names. The algebraic formulation of a model does not contain any hints how to process it.

nl is a file format for presenting and archiving mathematical programming problems. Initially, this format has been invented for connecting solvers to AMPL. It has also been adopted by other systems such as COIN-OR, FortSP, and Coopr.

BARON is a computational system for solving non-convex optimization problems to global optimality. Purely continuous, purely integer, and mixed-integer nonlinear problems can be solved by the solver. Linear programming (LP), nonlinear programming (NLP), mixed integer programming (MIP), and mixed integer nonlinear programming (MINLP) are supported. In a comparison of different solvers, BARON solved the most benchmark problems and required the least amount of time per problem.

AIMMS is a prescriptive analytics software company with offices in the Netherlands, United States and Singapore.

APOPT is a software package for solving large-scale optimization problems of any of these forms:

Optimization Toolbox is an optimization software package developed by MathWorks. It is an add-on product to MATLAB, and provides a library of solvers that can be used from the MATLAB environment. The toolbox was first released for MATLAB in 1990.

MINOS is a Fortran software package for solving linear and nonlinear mathematical optimization problems. MINOS may be used for linear programming, quadratic programming, and more general objective functions and constraints, and for finding a feasible point for a set of linear or nonlinear equalities and inequalities.

Parametric programming is a type of mathematical optimization, where the optimization problem is solved as a function of one or multiple parameters. Developed in parallel to sensitivity analysis, its earliest mention can be found in a thesis from 1952. Since then, there have been considerable developments for the cases of multiple parameters, presence of integer variables as well as nonlinearities.

Convex Over and Under ENvelopes for Nonlinear Estimation (Couenne) is an open-source library for solving global optimization problems, also termed mixed integer nonlinear optimization problems. A global optimization problem requires to minimize a function, called objective function, subject to a set of constraints. Both the objective function and the constraints might be nonlinear and nonconvex. For solving these problems, Couenne uses a reformulation procedure and provides a linear programming approximation of any nonconvex optimization problem.

Deterministic global optimization is a branch of numerical optimization which focuses on finding the global solutions of an optimization problem whilst providing theoretical guarantees that the reported solution is indeed the global one, within some predefined tolerance. The term "deterministic global optimization" typically refers to complete or rigorous optimization methods. Rigorous methods converge to the global optimum in finite time. Deterministic global optimization methods are typically used when locating the global solution is a necessity, when it is extremely difficult to find a feasible solution, or simply when the user desires to locate the best possible solution to a problem.

Artelys Knitro is a commercial software package for solving large scale nonlinear mathematical optimization problems.

Jorge Nocedal is an applied mathematician, computer scientist and the Walter P. Murphy professor at Northwestern University who in 2017 received the John Von Neumann Theory Prize. He was elected a member of the National Academy of Engineering in 2020.

The GEKKO Python package solves large-scale mixed-integer and differential algebraic equations with nonlinear programming solvers. Modes of operation include machine learning, data reconciliation, real-time optimization, dynamic simulation, and nonlinear model predictive control. In addition, the package solves Linear programming (LP), Quadratic programming (QP), Quadratically constrained quadratic program (QCQP), Nonlinear programming (NLP), Mixed integer programming (MIP), and Mixed integer linear programming (MILP). GEKKO is available in Python and installed with pip from PyPI of the Python Software Foundation.

Sven Leyffer is an American computational mathematician specializing in nonlinear optimization. He is a Senior Computational Mathematician in the Laboratory for Applied Mathematics, Numerical Software, and Statistics at Argonne National Laboratory.

References

  1. Savage, Sam (February 18, 2010). "NEOS Reaches New Milestone". redOrbit. Retrieved 19 April 2016.
  2. Czyzyk, Joseph; Owen, Jonathan H.; Wright, Stephen J. (1997). "Optimization on the Internet". OR/MS Today. 24 (5): 48–51.
  3. Czyzyk, Joseph; Mesnier, Michael P.; Moré, Jorge J. (1998). "The NEOS Server". IEEE Journal on Computational Science and Engineering. 5 (3): 68–75. doi:10.1109/99.714603.
  4. Dolan, Elizabeth D.; Fourer, Robert; Moré, Jorge J.; Munson, Todd S. (2002). "Optimization on the NEOS Server" (PDF). SIAM News. 35 (6): 8–9.
  5. Puget, JeanFrancois (April 7, 2015). "Computing the Really Optimal Tour Across the USA on the Cloud with Python". IBM developerWorks. Retrieved 19 April 2016.
  6. Gill, Philip E.; Murray, Walter; Saunders, Michael A.; Tomlin, John A.; Wright, Margaret H. (May 2008). "George B. Dantzig and systems optimization". Discrete Optimization. 5 (2): 151–158. CiteSeerX   10.1.1.601.2627 . doi:10.1016/j.disopt.2007.01.002.
  7. Dolan, Elizabeth D.; Fourer, Robert; Goux, Jean-Pierre; Munson, Todd S.; Sarich, Jason (2008). "Kestrel: An Interface from Optimization Modeling Systems to the NEOS Server" (PDF). INFORMS Journal on Computing. 20 (4): 525–538. doi:10.1287/ijoc.1080.0264.
  8. "NEOSServer.jl". GitHub . 30 July 2021.
  9. Ferris, Michael C.; Mesnier, Michael P.; Moré, Jorge J. (2000). "NEOS and Condor: Solving Nonlinear Optimization Problems over the Internet". ACM Transactions on Mathematical Software. 26: 1–18. CiteSeerX   10.1.1.52.7788 . doi:10.1145/347837.347842. S2CID   7286349.