Version: 8.0
A Faster, More Versatile Release

The recently released LINGO 8.0 includes a number of significant enhancements and new features. Several of the enhancements focus on finding better solutions to tough nonlinear problems.

New Global Solver
We are very excited about the new global solver added as part of this release. The global solver combines a series of range bounding (e.g., interval analysis and convex analysis) and range reduction techniques (e.g., linear programming and constraint propagation) within a branch-and-bound framework to find global solutions to non-convex Nonlinear Programs (NLPs). Rather than stopping after the first local optimum is found, the global solver will search until the global optimum is confirmed. The nonlinear and global license options are required in order to utilize the global optimization capabilities with LINGO.
Multistart Capability
When limited time makes searching for the global optimum prohibitive, the new Multistart feature can be a powerful tool for finding good solutions more quickly. This feature intelligently generates a set of candidate starting points in the solution space of NLPs and mixed integer NLPs. Then, the native NLP solver selects a subset of these candidate solutions to initialize a series of local optimization. For non-convex NLP models, the quality of the solution returned by the multistart solver will be superior to that of the general nonlinear solver. A user adjustable parameter controls the maximum number of multistarts to be performed. The nonlinear and global license options are required in order to utilize the multistart feature with LINGO.
Quadratic Recognition and Solver

Quadratic Programming (QP) models are a common class of nonlinear model that is encountered in applications such as financial portfolio analysis. The new QP recognition tool in this release of LINGO is a useful algebraic pre-processor that automatically determines if an arbitrary NLP is actually a quadratic model. QP models may then be passed to the faster quadratic solver, which is available as part of the barrier solver option.

Faster Dual Solver
The improved Dual Simplex solver in LINGO 8.0 delivers substantially better performance. On broad classes of problems, the new solver can provide speed improvements up to 300%. The solver is also even more robust due to improved handling of degenerate and numerically unstable models.
Improved Integer Solver
The new integer solver benefits from a number of enhancements that boost performance on many classes of problems. A partial list of new features include:
  • More advanced probing/pre-solving—including lifting clique
  • Special pre-solving of rows containing all binary variables
  • Additional cut generation
  • Faster cut generation
  • Improved rounding heuristic
  • New enumeration solver for pure binary models
  • Many new user controllable parameters
  • Improved reduced cost fixing and bound tightening within the tree
  • Improved performance on mixed integer QPs
Linearization Capability
The new Linearization capabilities of LINGO can dramatically improve performance on models with common nonsmooth functions. Linearization is a comprehensive reformulation tool that automatically converts many non-smooth functions and operators (e.g., @MAX and @ABS) to a series of linear, mathematically equivalent expressions. Many non-smooth models may be entirely linearized. This allows the linear solver to quickly find a global solution to what would have otherwise been an intractable problem.
Infeasible and Unbounded Analytical Tools
LINGO 8.0 includes a new set of tools that allow you to pinpoint what is causing a model to be infeasible or unbounded. A small portion of the original model is isolated as the source of the problem. This allows you to focus your attention on a subsection of the model in search of formulation or data entry errors. On infeasible models, an irreducibly inconsistent set of constraints (IIS) is reported. On unbounded models, an irreducibly unbounded set of columns (IUS) is reported.
New Decomposition Feature
Many large scale linear and mixed integer problems have constraint matrices that are totally decomposable into a series of independent block structures. A new feature in LINGO 8.0 tells the solver to check if a model can be broken into smaller independent models. If total decomposition is possible, it will solve the independent problems sequentially and report a solution for the original model. This may result in dramatic speed improvements.
Enhanced LINGO DLL
LINGO 8.0 has been re-engineered to be threadsafe for linear, integer, and quadratic models. This allows one instance of the program to simultaneously work on solving multiple models. This makes LINGO 8.0 ideal for multi-client and internet applications. Additionally, applications that call the LINGO DLL may now supply an error callback. LINGO notifies the error callback whenever it encounters an error processing a model. The error code and the associated text message are passed to the user supplied callback.