Since 1979, LINDO Systems software has been a favorite of the business and educational communities alike.

LINDO Systems has dedicated itself to providing powerful, innovative optimization tools that are also flexible and easy to use. Projects currently under development will ensure LINDO System's reign as optimization software innovators. LINDO Systems has a long history of pioneering powerful optimization software tools. Below is a brief history of our products and their solver engines.

What s Best!

What'sBest! - First Optimization in Spreadsheets

The spreadsheet has become the modeling tool of choice for today's business problems. However, before the first copies of 1-2-3 or Excel had shipped, LINDO Systems debuted VINO, the predecessor to What'sBest!, as the first spreadsheet solver for the first popular spreadsheet, VisiCalc.

In 1985, LINDO Systems and General Optimization jointly completed development on the first release of What'sBest! for Lotus 1-2-3 Release 1a. What'sBest! soon became the first and only optimization package ever to win a PC Magazine prestigious Technical Excellence Award. What'sBest! received attention from such mainstream and computer publications as the Wall Street Journal and the New York Times.

What'sBest! has always specialized in tackling large scale, real world problems. By 1991, a utility company in England was using a customized version of What'sBest! to solve spreadsheet models in excess of 100,000 variables. In 1994, What'sBest! became the first spreadsheet add-in capable of solving large scale nonlinear models. Now, projects under development keep What'sBest! on the cutting edge of technology.


LINGO - First Nonlinear Programming Software

In 1988, LINGO became LINDO Systems first product to include a full featured modeling language. Users were able to utilize the modeling language to concisely express models using summations and subscripted variables.

In 1993, LINGO added a large scale nonlinear solver. It was unique in that the user did not have to specify which solver to use. LINGO would analyze the model and automatically engage the appropriate linear or nonlinear solver. Also unique to LINGO's nonlinear solver was the support of general and binary integer restrictions.

With the addition of the nonlinear solver, LINGO essentially replaced GINO as LINDO Systems premiere product for nonlinear optimization. GINO made its debut in 1984 and was the first ever nonlinear solver available on the PC platform.

In 1994, LINGO became the first modeling language software to be included in a popular management science text. In 1995, the first Windows release of LINGO was shipped. Today, LINDO Systems continues to develop faster, more powerful versions.

Lindo API

LINDO API - Premier Optimization Engine

For the new millennium in 2001, LINDO Systems released its first Application Programming Interface known as the LINDO API. Developers were able to access greater speed and algorithmic control with the LINDO API than they could with any other software previously offered by LINDO.

Unique to the LINDO API is its ability to solve many classes of models, including linear, nonlinear, integer, quadratic and second-order cones.

Also in 2001, the LINDO API was added to the Solver Suite bundle of products. LINDO, LINGO, What'sBest!, and the LINDO API were all bundled together for one economical low price.

Today, LINDO continues to develop the LINDO API to make it easier for users to create customized programs that call the LINDO solvers.

Solver Suite

In 1995, LINDO Systems released its first bundled suite of applications. The Solver Suite included introductory versions of our three primary products, LINDO, LINGO, and What'sBest!, and the bundled price offered a significant value. Users with commercial applications enjoyed the ability to fully investigate the different formulation styles used by each application. Today, many evaluate the Solver Suite before upgrading to a larger version of LINDO, LINGO or What'sBest!
Solver Suite
Also in 1995, educational licenses for the Solver Suite were made available at a price students could afford.

As more and more students today have their own computers, the Solver Suite has allowed many of them to run the software on their own machine rather than having to visit the universities computer lab. The Solver Suite is continually being updated to include the newest Windows releases of LINDO, LINGO and What'sBest!.

Ongoing Solver Development:

In 2000, LINDO Systems released its new Barrier solver and incorporated it as an option across their product line. Barrier solvers are also known as interior point solvers, because they navigate through the interior of a model feasible region. This is in contrast to more traditional simplex solvers, which move around the exterior of the region. LINDO's Barrier solver has proven to offer exceptional speed on large, linear models.

Also in 2000, LINDO released its Dual Simplex solver. This solver greatly improved performance of LINDO's integer solver in that the dual algorithm is superior for solving successive subproblems in a branch-and-bound tree. The Dual Simplex also offers exceptional performance when a model has a large number of constraints relative to variables.

With Primal, Dual and Barrier linear solvers available, users were now able to choose among these three solvers to find one best suited to their particular linear models.

In 2003, LINDO introduced five more new groundbreaking solvers and techniques:

Global Solver - This solver provided the ability to confirm the mathematically proven global optimum on non-convex nonlinear models. The Global Solver combines a series of range bounding and range reducing techniques within a branch-and-bound framework to find guaranteed global solutions to non-convex, nonlinear models. Before the introduction of the global solver, traditional local-search solvers could easily get stuck at suboptimal, local solutions.

Linearization - LINDO was the first to offer this powerful feature as part of its product line. Linearization is a process whereby a model is scanned for any nonlinear operators that can be reformulated in an equivalent, but linear, manner.(An IF operator would be an example of a function that can be linearized.)When LINDO linearization module finds a linearizeable operator, it automatically reformulates it to eliminate the nonlinearity. In cases where a model can be entirely linearized, one can make use of the considerably faster and more robust linear solvers.

Model Debugger - This feature automatically traces down the source of problems in infeasible or unbounded models. A small portion of the original model is isolated as the root cause of the problem. This allows users to focus their attention on a small subsection of the model, greatly simplifying the search for formulation or data errors. 

Multistart Solver - This feature intelligently generates a set of candidate starting points in the solution space of nonlinear models and mixed-integer nonlinear models, and the native nonlinear solver selects from these starting points to perform a series of local optimizations. For non-convex models, the quality of the solution returned by the Multistart Solver will be superior to that of the default nonlinear solver.

Quadratic Recognition - LINDO's exclusive QP recognition tool is an algebraic pre-processor that automatically determines if an arbitrary nonlinear model is quadratic. If so, the model is automatically routed to the faster quadratic solver.

In 2005, LINDO released 64-bit versions of the LINDO API, allowing the solver to access memory beyond the 4GB limit of the existing 32-bit solver. This allowed users to tackle models with millions of variables and constraints. Additional improvements and enhancements in 2005 included: debugging of nonlinear and integer models; faster dual, integer and global solvers; and analytic derivatives for nonlinear models.

In 2009, the new Stochastic option was incorporated into the product line. In many cases, a portion of a model's inputs are subject to random or stochastic behavior. The Stochastic feature allows the incorporation of this uncertainty into optimization models. An arbitrary number of decision stages, not just two, are allowed, and you are not restricted just linear and integer models nonlinear models may incorporate stochastic properties as well. A comprehensive set of distributions are also supported, including Normal, Poisson, Chi-Square, Lognormal, Student's-t, etc., as well as the ability to generate arbitrary distributions. Correlation between random variables may also be induced.

In 2012, LINDO received the INFORMS Impact Prize for its work on Algebraic Modeling Languages. This prize is awarded biannually to an individual or team for contributions which have had widespread impact in the practice of operations research.

Still in 2012, LINDO  solvers have been enhanced to take advantage of computers with multicore processors to boost speed on a wide range of problems. Multicore extensions have been added to the Barrier, Global, Integer, Multistart and Stochastic solvers. 

Additionally, a new 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.

In 2015, our new heuristic algorithms help to find significantly better solutions for many models with knapsack constraints and block structures. 

In 2017 with LINGO 18, new chart functions (Gantt charts, stacked vertical bar, stacked horizontal bar) were introduced.

Also that year, Lindo API 12.0 Multi-Start NLP Solver started supporting a Target Value. Since then, users can specify a target value for the objective function. As soon as any multi-start thread achieves a specified target all threads stop.

In 2020 with Lindo API 13.0, a new Parameter Tuning Tool was introduced. The Parameter Tuning Tool helps determine the best parameter configurations for all model types (LP, MIP, NLP, and Stochastic) by performing several runs on a given set of models. Users can preselect the paraments to be adjusted or let LINDO API select them.

At the same time, LINDO products brought Support for Multiple Objective Optimization. For linear models, users can provide a prioritized list of objective functions, and LINDO API will perform Lexico/Pre-emptive priority optimization.

As you can see, LINDO has been a part of getting you the optimum since before the PC became such a large part of business. We are continuing to develop and test our optimization software every day to maintain our position as innovators in optimization modeling tools and give you the BEST!!!


Support: (312)988-9421 © 2024 LINDO Systems, Inc.
Contact us Privacy policy  |  Acknowledgements FAQ