Guide to the TechWeb Network

Intelligent Enterprise

Better Insight for Business Decisions

Intelligent Enterprise - Better Insight for Business Decisions
search Intelligent Enterprise
Advanced Search
RSS
Webcasts
Whitepapers
Subscribe
Home




February 16, 2001



Simultaneous Equation Models

To predict outcomes of actions, you need models that encapsulate processes

by Seth Grimes

continued from Page 1

Building Models

As I previously mentioned, a solvable, useful DSM generally consists of a system of equations. Systems of equations contain variables. Exogenous, or independent, variables originate outside the model; that is, the values of the variable are independent of the model. Conversely, an endogenous, or dependent, variable is defined within the model in terms of other variables. Frequently, you can partition models so that endogenous variables for which you solve one section of the model become exogenous variables in another section.

In a linear model, all relationships between variables are expressed without exponentiation, powers, logs, or differentiation, for example:

Profit = Revenue - Cost

A time-dependent or dynamic model, whether linear or nonlinear, includes observed or computed values of variables at multiple points in time:

Balance(time t) = Balance(time t-1) + In-
come(time t) - Payments(time t)

This equation includes a lagged term, Balance(time t-1). From the viewpoint of this lagged term, Balance(time t) is a leadingterm. We've all heard of "leading economic indicators," which are variables, such as the unemployment rate, whose values help predict the future values of other variables, such as the inflation rate.

Number Produced(time t) lesser than or equal to [capacity]

Number Sold(time t) lesser than or equal to Number
Produced(time t) + Si=1:t-1[Number
Produced(time i) - Number Sold(time i)]

The summation term represents unsold inventory. There is also an inherent (and simplistic) single-variable constraint, or bound: Payments cannot exceed the previous period's balance; that is:

Payments(time t) lesser than or equal to Balance(time t-1)

Solving a model requires iterative methods (which I won't go into) that vary the values of decision variables to maximize or minimize, depending on the problem, the value of an objective function. We sometimes call this solution procedure "optimizing the model." The objective function depends on your goals: A pre-IPO dot-com might seek to maximize market penetration, ignoring profit, while a mature company might seek to maximize profit. A monopoly may raise prices to maximize profit, but a company in a competitive market might first optimize its prices to reach its marketshare goal and then, constraining the prices, maximize profit by controlling costs. The decision variable in all my examples might be the Number Produced, presumably a controllable quantity.

The variables in my illustration are indexed by time and represent data vectors. Indexes, whether time, location, product, or some other set of values, could be thought of as dimensions in a dimensional data model. The observed values of exogenous variables would be the facts, and the endogenous variables would be the measures. You might therefore think that OLAP tools could handle DSMs, but in practice they are limited to problems with orthogonal (uncorrelated) dimensions and relatively simple measures.

Using Models

The first step in approaching an optimization problem is to decide the type of model to apply. I referred earlier to linear models and time-dependent, or dynamic, models. There are several other categories. Nonlinear models may include polynomial expressions, differential equations, exponents, logarithms, trigonometric functions, and other functions in variables and coefficients.

Mixed integer programming involves models with decision variables and constraints that may be limited to integer values. In integer programming, a special case, all decision variables and constraints are integers. Binary, or 0/1, variables are special integer variables useful in representing yes/no or on/off conditions. Variations of integer programming, in which variable values are limited to finite sets, are widely used in network design, planning, scheduling, and routing.

Complementarity problems force equality on one of the constraints. Finally, stochastic models include error or uncertainty terms defined by probability distributions.

The next steps are to code the model and choose the solver. Several excellent software tools exist that solve a variety of simultaneous-equation models. If your problem is small, use the solver available in your spreadsheet program, since you're already familiar with the spreadsheet interface. But if you have a larger problem and you're not forced to use a particular solver, choose one that includes or can be associated with a declarative modeling language featuring algebraic constraint and computational statements. A solver meeting those criteria will insulate the end user from low-level coding.

For low-level coding, you have a choice of languages to use, including the General Algebraic Modeling System (GAMS) and A Modeling Language for Mathematical Programming (AMPL). GAMS, in the vendor's words, is "a high-level modeling system for mathematical programming problems." GAMS handles many types of models more complex than linear models - in particular, nonlinear, constrained nonlinear, mixed integer, mixed integer nonlinear, and mixed complementarity modeling problems. Similarly AMPL, developed at Bell Laboratories, is "a comprehensive and powerful algebraic modeling language for linear and nonlinear optimization problems, in discrete or continuous variables."

The following solvers are representative and general-purpose. All but one work with algebraic modeling languages.

First, IBM's Optimization Solutions and Library (OSL) suite comprises optimization applications and a function library integrated with AMPL and GAMS. Ilog Inc. similarly integrates its Cplex solvers with AMPL and GAMS and provides the Ilog Solver for other types of constrained optimization problems as part of the Ilog Optimization Suite. Ilog otherwise specializes in control (rules-based) tools that integrate into realtime, operational systems.

Several years ago at the International Monetary Fund, I worked with Intex Solutions Inc.'s Troll, a system that originated more than 30 years ago from MIT work that also spawned the Oracle Express OLAP tool, Lucent's Strategist OLAP tools, and Wefa's Aremos econometric package. Troll was designed for econometric analysis and uses its own modeling language. It is perhaps the most capable tool on the market for truly large, nonlinear systems with thousands of equations. It has special strengths in its ability to handle time-based models that incorporate forward-looking estimates.

Other vendors to check out include Waterloo Maple Inc. and Wolfram Research Inc. (creator of Mathematica). SAS Institute Inc. is also worth mentioning: Its procedures designed for operations research and econometrics have very broad abilities to represent and solve models. However, even the recently released SAS version 8 continues the longstanding SAS approach of relying on an awkward pastiche of "DATA steps," Fortran-like procedural programming and macro code that has distilled the worst practices found in Unix shell scripting and parameterized procedure calls. SAS is a great tool if you're intimately familiar with the SAS environment or have a compelling reason to use it, such as a need for its rich statistical capabilities.



Rate This Article

Comments:

Optional e-mail address:

Decision-support models can help you move beyond the merely descriptive capabilities of mainstream analytical tools. Modeling systems can help you predict the outcome of alternative scenarios, allowing you to optimize inputs and streamline processes. With a little research you will likely find several approaches and candidate tools to match any given real-world decision-support problem. Adding modeling to your analytic portfolio will pay off by helping you know not only "what?" but also "how?" and "what if?" - knowledge that is essential to your efficiency and profitability.



Seth Grimes(grimes@altaplana.com) is a principal of Alta Plana Corp., a Washington, D.C.-based consultancy specializing in large-scale analytic computing systems.



Author's note: This is my inaugural Intelligent Enterprise Decision Support column. I'm planning to focus my Decision Support writing on modeling and computational problems - I plan to cover modeling and forecasting time-based data and computational engines for large-scale DSS in subsequent columns - with occasional detours into other areas. I'll be writing a column every third issue, so I welcome feedback on my choice of topics and the level of technical depth at which I write.


RESOURCES

A Modeling Language for Mathematical Programming: www.ampl.com

The General Algebraic Modeling System:

www.gams.com

IBM Optimization Solutions and Library:

www6.software.ibm.com/es/oslv2/features/ Welcome.htm

ILOG: www.ilog.com

Intex Solutions (TROLL): www.intex.com/homepage/Troll.htm

Mathematica, Wolfram Research: www.mathematica.com

Mathematica examples: library.wolfram.com/examples

SAS Institute: www.sas.com

Waterloo Maple: www.maplesoft.com







IE Weekly Newsletter
Subscribe to the newsletter
    Email Address







techweb
Online Communities TechWebInformationWeekLight ReadingIntelligent EnterprisebMightyNetwork ComputingDark ReadingDigital LibraryWall Street & Technology
Byte & SwitchNo JitterInternet EvolutionLight Reading's Cable Digital NewsContentinopleUnStrungBank Systems & TechnologyAdvanced TradingInsurance & Technology
Face-to-Face Events
InteropWeb 2.0 ExpoWeb 2.0 SummitVoiceConBlack HatCSISoftwareEntrprise 2.0 ConferenceGTEC
Mobile Business Expo
InformationWeek 500 ConferenceBuy Side Trading XchangeBuy Side Trading SummitBank Executive SummitInsurance Executive SummitTelcoTVEthernet ExpoOptical Expo
Magazines  
InformationWeekWall Street & TechnologyInsurance & TechnologyBank Systems & TechnologyAdvanced TradingMSDNTechNetSmart EnterpriseThe Architecture JournalDatabase Magazine
 
Research & Analyst Services  
Heavy ReadingInformationWeek ReportsInformationWeek Analytics