Contact: Dan Fylstra |
Backgrounder |
Two market-leading but very different products for Microsoft Excel -- Decisioneering's Crystal Ball 7.1 for simulation, and Frontline Systems' Premium Solver Platform 6.0 for optimization -- offer breakthrough performance compared to other products and to earlier versions of the same products. Both of them are "Powered by PSI Technology™." What is this technology, and how does it compare to the 25-year-old spreadsheet design paradigm implemented in Microsoft Excel?
PSI Technology is not just a faster version of a standard "spreadsheet engine." The core spreadsheet recalculator in Excel has been developed and refined by Microsoft engineers for more than 16 years. An "imitate and improve" strategy could never yield the 100-fold speedup seen in Crystal Ball 7.1. Instead, PSI Technology interprets a user's model -- the formulas on the spreadsheet -- in entirely new ways.
PSI Technology Assigns More Powerful Meanings to Users' Formulas
Microsoft Excel, like all spreadsheet programs, includes an "engine" or interpreter for spreadsheet formulas. It reads or "parses" user-written formulas such as =A1 + A2*A3 - SQRT(A4), and "interprets" this formula, whenever the user changes any of the numbers in A1 through A4, to calculate a new value for the spreadsheet cell. This is conventional spreadsheet recalculation, and it yields single numbers as values.
PSI is an acronym for Polymorphic Spreadsheet Interpreter. The word "polymorphic" has roughly the same meaning as it does in C++, Java, and similar object-oriented languages. Like Excel, the PSI interpreter reads or "parses" spreadsheet formulas, but it is capable of interpreting these formulas in many different ways, in effect "overloading" each operator and function with new and more powerful "meanings," that yield:
- Conventional number values, as in Excel
- Intervals such as [2, 4], computing in effect all possible values from 2 to 4
- Vectors of values, computing "gradients" or rates of change for all input assumptions simultaneously
- Arrays of values, computing values for all Monte Carlo trials simultaneously
and many other meanings not covered here. The last of these is used in Crystal Ball 7.1, and enables the PSI interpreter to run Monte Carlo simulations up to 100 times faster. Computation of gradients, and other higher level "meanings," is crucial to speed and accuracy in optimization, and is used in Frontline's Premium Solver Platform. Computation of intervals is a key technology for global optimization, an emerging area (both in Excel and in other kinds of software) where Frontline Systems has a market-leading position. There is much more to PSI Technology -- only 5 of 18 different "meanings" currently implemented in the technology are discussed in this Backgrounder. In effect, PSI Technology gets more useful results out of a spreadsheet model, while the Excel user does not have to learn a new language or do extra work.
PSI Technology Versus Spreadsheet "Compilers"
There are several "spreadsheet compiler" products available that are designed to speed up recalculation of Excel models, and "repackage" them as separate software components, by translating Excel formulas into another language -- for example machine code, Java bytecode, or C/C++ code. This approach is not new -- in fact Frontline Systems offered a spreadsheet compiler product called 3-2-1 Blastoff for Lotus 1-2-3 Release 2, more than 16 years ago, that yielded a 10-fold speedup in recalculating user models.
PSI Technology is fundamentally different, and more general than spreadsheet compilers. One of the 18 "meanings" currently implemented in the technology does have the effect of translating Excel formulas into several target languages such as C/C++. (Frontline is not yet offering this capability in a commercial product, but it may do so the future.) However, PSI Technology achieves a dramatic speedup of Monte Carlo simulation in Crystal Ball, and of optimization in the Premium Solver Platform, by interpreting Excel formulas at a higher level, without using its own "spreadsheet compiler" capabilities.
PSI Technology and the "Spreadsheet Paradigm"
The basic spreadsheet design paradigm -- that Frontline Systems CEO Dan Fylstra helped create in 1979, in the very first spreadsheet program, VisiCalc -- has not really changed in 25 years. Modern spreadsheets handle far larger models, have more built-in functions, and display richer typefaces, colors and graphics, but they still calculate numbers in the same way.
PSI Technology is "something new under the sun" in spreadsheets. It can enable spreadsheets to compete effectively with other software tools for quantitative analysis that have built-in facilities for some of the "meanings" that PSI Technology implements. And it can enable users to go beyond what-if analysis, to get more meaningful and useful results from the spreadsheet models that they labor to create.