
Makes the solving of stochastic, linear, nonlinear, quadratic, etc. integer optimization models quicker and more effective. It embeds in-built solvers, an environment for building and editing problems as well as a language for optimization models.
Lingo is a powerful modeling program that integrates features which can be used in a wide range of fields such as: mathematics, physics, economy, automatic control, finances, etc. It allows you to create various model types and generates accurate solutions for them. Lingo comes with its own modeling language and a comprehensive help manual.
As an Automatic Control and Computer Engineering graduate, I found Lingo to be an efficient alternative to other popular modeling applications such as MatLab. It uses few system resources (CPU, memory, etc.) and generates professional solutions for any type of model that the user provides. Lingo also includes its own sample models for various purposes. They include comments that help users understand each function or algorithm that is being used.
I should mention that Lingo is recommended for users that have advanced modeling knowledge. It requires at least basic understanding of modeling principles. By opening the integrated help manual, users can access detailed information regarding the program features. Also, it proves to be useful when it comes to learning about various functions and commands.
Students as well as professionals from many fields can use Lingo to create models and generate solution for various problems.
v14.0.1.65 [Mar 19, 2013]
- The Network Chart Type can display charts of networks. Multiple networks can be displayed on a single chart.
- You may now choose to have a model's underlying matrix displayed in a variety of orderings.
- For models with more than 10,000 variables or constraints, the speed of rendering of the display has been improved by several orders of magnitude.
- The INSERT function has been added, which allows the dynamic addition of set members to derived sets. This is handy for applications in which the definition of a set of objects is complicated.
- LINGO now supports callable procedures. Callable procedures are similar to CALC sections, however, unlike CALC sections, procedures may be called and executed multiple times.
- There is now a simple command, INTEGRAL( ), for computing the numerical integral of a function over an interval.
- The Beta-Binomial and Symmetric Stable distributions have been added to the list of supported distributions. Stochastic programming models may also specify random variables as having either a Beta-binomial or Symmetric Stable distribution. The Beta-Binomial is useful in Bayesian analysis involving the Binomial distribution, e.g., in designing sampling plans for new drug trials. The Symmetric Stable is sometimes used to model the movement of prices in financial markets.
- A number of functions have been added to convert dates to and from scalar time, where scalar time is defined as the number of seconds since midnight 1 Jan 2000. These functions are helpful when you need to perform date arithmetic in your models.
- It can take advantage of computers with multicore processors. The multicore extensions are of two types: concurrent and parallel. Concurrent algorithms run two or more different serial algorithms on multiple copies of the same model, using a separate thread for each algorithm, terminating as soon as the winner thread finishes. Parallel algorithms, on the other hand, parallelize computationally intensive portions of the serial algorithm to distribute the workload across multiple threads. Solvers with multicore extensions include Barrier, Global, Integer, Linear, Multistart and Stochastic.
- In addition to the solvers, LINGO's model generator has also been extended for multicore support. Model generation times for large models can be reduced up to as much as 50% when compared to previous releases.
- A Branch-and-Price solver with multicore support has been added for improved performance on problems with block structures. Detection of decomposition structures has also been improved in support of the Branch-and-Price solver.
- The solution finding heuristics have been improved significantly. Simple rounding and the feasibility pump now use bound propagation to improve the current path to a new feasible MIP solution. Multithreading can lead to speed improvements from 1.5 to 3.0 times on difficult problems using 4 threads rather than 1. For easy MIP problems, e.g., < 600 seconds, multithreading may give not much speedup.
- The Multistart solver has been improved significantly, achieving speed factors up to 2X compared to the previous version. The likelihood of getting the global optimum has also improved by 10-15% over a wide range of nonconvex models. Multithreading often leads to speed improvements from 2.0 to 3.0 times when using 4 threads. Speed improvements tend to improve as the model size and the number of multistarts increase.
- A parallel algorithm has been added for exploiting multicore machines.