ARCHIVES - LINGO 9.0
Enhancements Increase Speed and Flexibility
The new release of LINGO includes a wide range of solver enhancements that improve performance and robustness and a number of new features that make expressing and solving models easier and more flexible.
Faster Linear Solver
- The Dual Simplex solver has been extended to include a two-phase implementation. This enhancement has resulted in speed improvements of 50% to 250% on a wide a range of Linear problems.
Enhanced Barrier Solver
- Significant enhancements in this release include improved exploitation of sparsity and better handling of dense columns, dynamic scaling of quadratic models, and improved exploitation of individual hardware platforms.
Improved Integer Solver
- Enhancements boost speed on broad classes of integer problems and improve efficiency. Memory management of branch-and-bound tree has been made more efficient. The Mixed Integer Programming presolver has been made faster on models with many continuous variables. Probing now occurs during branch-and-bound rather than just during presolve. Branching strategies have been extended to exploit decomposition structure for dramatic improvements on MIP models with strong block structure
Improved Global Solver
- The Globalsolver is substantially faster and more robust due to a number of majorenhancements. The nonlinear/nonsmooth solution heuristic has beenenhanced to find better solutions faster and with more precision. The cutgeneration in the convex relaxation and the global branch-and-bound scheme have beenimproved. A new convexified SLP cutting plane strategy has been added to generatemore precise cuts and greatly tighten bounds. A number of enhancementsimprove performance on nonlinear integer models. The numerical stability hasbeen increased around undefined points. Support has been added for a numberof new nonlinear functions.
Enhanced Nonlinear Solver
- The NLP solver has been redesigned to improve solution speed. Extensions to the base GRG method, such as preprocessing, several new crash options, efficient exploitation of linearity, expanded sequential linear programming (SLP) and a sequential quadratic programming (SQP) components make the NLP solver more efficient on a wide range of models.
- The completely redesigned presolver is often successful in achieving a significantly higher level of model reduction resulting in reduced solution times. The presolver's capabilities have been expanded to include nonlinear models with linear coefficients. As a result, many nonlinear and quadratic models will solve more quickly.
Improved Analytical Tools for Infeasible Models
- LINGO can more quickly isolate portions of the formulation that cause models to be infeasible. The enhancements improve stability of the overall analysis and lead to reduced run times especially for large and degenerate infeasible problems.
More Efficient Linear and Nonlinear Presolving
- The Presolver helps reduce the size of original model in an effort to shorten the solution time. With this release the Presolver was completely redesigned to be more efficient, and support was expanded to include nonlinear and quadratic models.
Full Support for Models in LINDO Syntax
- Support has been added for models using LINDO's traditional syntax. Users that prefer LINDO's simple straightforward syntax style can now use LINGO to build and solve models.
Improved and Faster Generated Model Display
LINGO's model generation feature can be an invaluable tool in checking the formulation. The generator's support has been expanded to include both linear and nonlinear models, and speed has been increased to at least twice as fast on large models.
Expanded Report Writing Capabilities
- A number of new functions have been added that greatly improve report writing capabilities. You can now format and write out complex expressions, format the display of numeric operators, return the name of a variable, and much more.
New Ability to Perform Computations on Input Data
- External data often needs "massaging" before it is useful in building a specific model. LINGO now allows you to perform these calculations without passing them on to the actual solver, thereby resulting in more efficient models. Furthermore, it now allows you to have running computations, i.e., you may break the computation of a variable down into several steps, thereby improving model readability.
New Examples of Calling LINGO From Different Programming Environments
- Users interested in creating their own optimization applications have more examples to choose from. Sample interface code has been included for Delphi, C# .NET, VB .NET, Visual Basic, Visual C++, Visual Java, Excel and FORTRAN.
New and Improved Arithmetic Functions
New functions have been added to LINGO's extensive list of functions. Functions have been added to calculate the product of variables, modulo, square root, square, and exponentiation. Handling of the IF function has been improved to allow arithmetic errors (e.g., division by zero) the false branch of the statement.
New Solver Parameter and Strategy Options
- Users have control over a wider set of solver parameters and strategies. This can allow the user to tailor settings to a particular problem structure to boost performance. A new option allows the user to specify how derivatives are computed for nonlinear models; choices include finite differences and forward and backward analytical derivatives. Users can control the degree to which fixed variables are substituted out of the formulation passed to the solver. Users can turn on or off basis crossover in the Barrier solver; the basis crossover process converts a non-basic barrier solver solution to a basic (i.e., corner point) solution. Users can control the level of aggressive crashing techniques used on nonlinear models; crashing is a heuristic process designed to find a good starting point for a model. LINGO 9.0 now allows the user to control all of the parameters available in LINDO API. This makes dozens of new parameters available to the user.