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 13.0 includes a number of significant enhancements and new features.
Support of Chance-Constrained Programs:
In chance-constrained programming (CCP), one or more sets of constraints are allowed to be violated with a specified probability. CCP is useful when certain resources or demands are random. A solution that satisfies all possible outcomes can be prohibitively expensive, or even impossible. Allowing certain constraints to be violated with low probability can be a reasonable and practical strategy.
Stochastic Solver Improvements:
New Probability Distributions:
Over 65 new functions related to the PDF, CDF and inverse CDF of probability distributions.
MIP Solver Improvements:
Significant improvements in root node heuristics for quickly finding good, integer-feasible solutions.
Improved identification of special structures in certain classes of models, as in multi-period models, and the ability to exploit this structure to achieve significant reductions in solve times.
Specify Variable Branching Priority:
You may now use the @PRIORITY function to specify a branching priority for integer variables.
Global Solver Improvements:
Improved heuristics for finding a good, feasible solution quickly.
Constraints may now be flagged as being convex, in cases where the constraint's complexity makes it impossible for the global solver to automatically determine convexity. This speeds the proof of global optimality.
Improved ability to identify constraints that can be reformulated as conic (i.e., second-order cone) constraints and thus be solved by the faster conic solver.
Improved ability for efficiently handling polynomial terms. Improved bounds for non-convex quadratic terms using SDP and eigenvalue reformulations.
Improved Charting Feature:
The charting capability has been extensively updated: In addition to bar, line and pie charts, LINGO now supports the following chart types: bubble, contour, curve, histogram, radar, scatter and surface.
Multiple attributes may be displayed in a single chart, with each drawn in a different color.
Charts may be displayed in either two or three dimensions.
Use sets from a model to label axes and/or legends.
Display charts programmatically from LINGO's scripting language using the @CHART command.
Permuted Matrix Displays:
You may now choose to have a model's underlying matrix displayed in permuted format, where the rows and columns are automatically permuted to place the matrix into mostly lower-triangular form. If a matrix is mostly lower triangular, then, in general, the model should prove easier to solve. This is opposed to a model that contains a high degree of simultaneity that can't be permuted into lower triangular form.
New LINGO Programming Interface Functions:
The LINGO API supports new function calls for retrieving variable values on the fly in the callback function, as well as a function to load a license directly from a string. Improved Model Encryption:
In the past, LINGO has allowed API users to encrypt a model using the HIDE command. The encryption algorithm has been significantly strengthened, and encrypted model fragments may also be merged into a single model at runtime.
More File Types Supported/MPI Translator:
Models stored in LINDO System's low level MPI format may now be loaded into LINGO and automatically translated into high level LINGO syntax.
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.