Simultaneous Equation ModelsTo predict outcomes of actions, you need models that encapsulate processesby Seth Grimescontinued from Page 1 Building ModelsAs 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:
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.
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:
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 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 ModelsThe 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. 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. RESOURCESA Modeling Language for Mathematical Programming: www.ampl.com The General Algebraic Modeling System: 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
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
| ||||||||||||||||||||||||||||||||









