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.
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
Improved performance on mixed integer QPs
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.