LINGO is a comprehensive tool designed to make building and solving Linear, Nonlinear (convex & nonconvex/Global), Quadratic, Quadratically Constrained, Second Order Cone, Stochastic, and Integer optimization models faster, easier and more efficient. LINGO provides a completely integrated package that includes a powerful language for expressing optimization models, a full featured environment for building and editing problems, and a set of fast built-in solvers. The recently released LINGO 15.0 includes a number of significant enhancements and new features.
Native Apple Mac Support
LINGO's user interface has been entirely rewritten to offer native support for the Macintosh.
Faster Solutions on Linear Models with Improved Simplex Solver
Simplex LP algorithm improvements boost speed and robustness. Primal Simplex Solver averages 90% faster and Dual Simplex Solver averages 45% faster.
Better Performance on Integer Models
Improved solution times across broad classes of IP models from enhancements due to improved knapsack related cuts, superior default node selection rules, and branching variable selection rule options.
Expanded Capabilities of Efficient Solution of Quadratic Problems
If you work with covariance matrices, you'll appreciate the ability to impose Positive Definiteness (POSD) as a constraint. If estimating a covariance matrix for a portfolio, a constraint may be added to force the matrix to be positive semi-definite (a property required of any covariance matrix). Also, new reformulation capabilities give improved performance on quadratic portfolio models with semi-continuous variables (e.g. min-buy quantities) and cardinality (upper limit on assets) constraints. The Quadratic repair feature can improve performance on not quite convex QP’s.
New preprocessing for linear programs significantly reduces coefficient density of certain dense matrices. This can significantly improve performance on models such as production planning with many periods.
Improved Nonlinear Solver
Upgraded default settings provide performance improvements overall on nonlinear models. Faster processing of long (1000’s of terms) nonlinear expressions in nonlinear models.
Faster Model Generation
Additional multithreaded code added to model generator to improve generation times on large models.
Easy model expression
One of LINGO's most powerful features is its mathematical modeling language. LINGO's modeling language lets you express your problems in a natural manner very similar to standard mathematical notation. LINGO allows you to do things such as quickly express a series of similar constraints in a single compact statement. Your models are compact and easy to read.
When building models, you typically find there are one or more sets of related objects (e.g., sets of factories, customers, vehicles, or employees). Often if a constraint applies to one member of a set, then a constraint of the same form also applies to each of the other set members. Rather than requiring that you express an individual constraint for each set member, LINGO allows you to express the entire group of constraints in one concise statement. Taking advantage of sets is the foundation of LINGO's modeling language, the fundamental building block of the program's most powerful capabilities. LINGO even allows you to express common sets implicitly, such as days of the week or months of the year.
LINGO's modeling language can help you drastically cut your model development time. Very large models can often be efficiently expressed with LINGO in less than a single page. The modeling language's similarity to standard mathematical notation makes it very easy to read. Models are easier for the developer to maintain and for colleagues to read and understand.
Using LINGO, you can easily make your model "scalable". This means the dimensions of your model can change without requiring changes to your expression of the problem. For example, suppose you are finding the cheapest way to supply a product from several different warehouses to several different customers. If the number of warehouses or customers change, many modeling packages would require significant changes to the problem's formulation. However, with LINGO, your problem formulation needs no modification. You can simply change the size of your data files and LINGO takes care of the rest.
LINGO's modeling language includes an extensive library of mathematical, probability and financial functions. You can also create user defined functions for LINGO to use. LINGO accepts generalised expressions including those with parentheses and variables on the right-hand side. LINGO allows you to have meaningful variable names up to 32 characters.
Manage data in a variety of forms
Gathering the model's data and getting it in an appropriate format can be a frustrating and time consuming task, but with LINGO you can manage your data in a variety of convenient forms. LINGO lets you keep your data:
In an Excel or Lotus spreadsheet file.
In a database such as Access, Oracle, DB/2, Paradox, SQL Server etc.
In a separate text file in list or table form.
Stored with the model expression.
Entered by the user when the model is run.
By providing a wide variety of data options, LINGO provides you with maximum flexibility and convenience. By allowing you to separate your expression of the problem from the data, LINGO models are easier to read and modify, and there is less chance of errors. It also makes prototyping problems on a smaller data set easy. Once you are comfortable with the model, you can easily swap in a larger set of data or several different data sets to investigate different scenarios.
LINGO's flexibility even makes creating reports easy. In addition to being able to read data from spreadsheets and databases, LINGO can also write solution information to these formats. This means that, rather than forcing you to learn some built-in report generator, you can simply output the solution to your application of choice for building reports and analysing the output.
LINGO is available with three state of the art solvers for linear models.
Primal and Dual Simplex Solvers
The base version includes the Primal and Dual Simplex solvers, which incorporate numerous enhancements for maximum speed and robustness. Pricing options, for instance, include partial pricing and Devex. You have the option to choose the best pricing strategy based upon problem characteristics.
The optional Barrier solver provides an alternative means of solving linear models. The Barrier option utilises a barrier or interior point method to solve linear models. Unlike the Simplex solvers that move along the exterior of the feasible region, the Barrier solver moves through the interior space to find the optimum. Depending upon the size and structure of a particular model, the Barrier solver may be significantly faster than the Simplex solvers and can provide exceptional speed on large linear models, particularly on sparse models with more than 5,000 constraints or highly degenerate models. The Barrier licence option is required to utilise the Barrier solver.
For models with general and binary integer restrictions, LINGO includes an integer solver that works in conjunction with the linear, nonlinear, and quadratic solvers. For linear models, the integer solver includes preprocessing and dozens of constraint "cut" generation routines that can greatly improve solution times on large classes of integer models.
LINGO includes a number of ways to find locally or globally optimal solutions to nonlinear models.
General Nonlinear Solver
For nonlinear programming models, the primary underlying technique used by LINGO's optional nonlinear solver is based upon a Generalised Reduced Gradient (GRG) algorithm. However, to help get to a good feasible solution quickly, LINGO also incorporates Successive Linear Programming (SLP). The nonlinear solver takes advantage of sparsity for improved speed and more efficient memory usage. The Nonlinear licence option is required to solve nonlinear models.
Local search solvers are generally designed to search only until they have identified a local optimum. If the model is non-convex, other local optima may exist that yield significantly better solutions. Rather than stopping after the first local optimum is found, the Global solver will search until the global optimum is confirmed. The Global solver converts the original non-convex, nonlinear problem into several convex, linear subproblems. Then, it uses the branch-and-bound technique to exhaustively search over these subproblems for the global solution. The Nonlinear and Global licence options are required to utilise the global optimisation capabilities.
When limited time makes searching for the global optimum prohibitive, the Multistart solver can be a powerful tool for finding good solutions more quickly. This intelligently generates a set of candidate starting points in the solution space. Then, the general nonlinear solver intelligently selects a subset of these to initialise a series of local optimisations. For non-convex nonlinear models, the quality of the solution returned by the multistart solver will be superior to that of the general nonlinear solver. The Nonlinear and Global license options are required to utilise the multistart capabilities.
In addition to solving linear and mixed integer models, with the Barrier option LINGO can automatically detect and solve models in which the objective function and/or some constraints include quadratic terms. By taking advantage of the quadratic structure, LINGO can solve these models much more quickly than using the general nonlinear solver. LINGO can even handle quadratic models with binary and general integer restrictions. These quadratic capabilities make LINGO suitable for applications such as portfolio optimisation problems, constrained regression problems, and certain classes of difficult logistics problems (e.g., layout problems, fixed-charge-network problems with quadratic objectives). The Quadratic solver is included in the Nonlinear licence option.
Preprocessing and User Control
Preprocessing routines are included in all solvers. The Linear and Nonlinear solvers include scaling and model reduction techniques. Scaling procedures can improve speed and robustness on numerically difficult models. Model reduction techniques can often make models solve faster by analysing the original formulation and mathematically condensing it into a smaller problem. The Integer solver includes extensive preprocessing and cut generation routines.
LINGO is designed so the user has as much control over the input to the solvers as possible. When the Solve routine is initiated, LINGO analyses the problem and considers internal parameters set by the user to achieve optimal performance for your particular problem.
LINGO's linearisation capabilities can dramatically improve performance on models with common nonsmooth functions. The feature can automatically convert many nonsmooth functions and operators (e.g., max and absolute value) to a series of linear, mathematically equivalent expressions. Many nonsmooth models may be entirely linearised. This allows the linear solver to quickly find a global solution to what would have otherwise been and intractable problem.
Key Benefits of LINGO
Easy Model Expression
LINGO will help you cut your development time. It lets you formulate your linear, nonlinear and integer problems quickly in a highly readable form. LINGO's modeling language allows you to express models in a straightforward intuitive manner using summations and subscripted variables -- much like you would with pencil and paper. Models are easier to build, easier to understand, and, therefore, easier to maintain.
Convenient Data Options
LINGO takes the time and hassle out of managing your data. It allows you to build models that pull information directly from databases and spreadsheets. Similarly, LINGO can output solution information right into a database or spreadsheet making it easier for you to generate reports in the application of your choice.
LINGO is available with a comprehensive set of fast, built-in solvers for Linear, Nonlinear (convex & nonconvex/Global), Quadratic, Quadratically Constrained, Second Order Cone, Stochastic, andInteger optimization. You never have to specify or load a separate solver, because LINGO reads your formulation and automatically selects the appropriate one.
Extensive Documentation and Help
LINGO provides all of the tools you will need to get up and running quickly. You get the LINGO User Manual (in printed form and available via the online Help), which fully describes the commands and features of the program. Also included with super versions and larger is a copy of Optimization Modeling with LINGO, a comprehensive modeling text discussing all major classes of linear, integer and nonlinear optimization problems. LINGO also comes with dozens of real-world based examples for you to modify and expand.