Title: Modeling and Analysis
1CHAPTER 5
2Modeling and Analysis
- Major DSS component
- Model base and model management
- CAUTION - Difficult Topic Ahead
- Familiarity with major ideas
- Basic concepts and definitions
- Tool--influence diagram
- Model directly in spreadsheets
3Modeling and Analysis
- Structure of some successful models and
methodologies - Decision analysis
- Decision trees
- Optimization
- Heuristic programming
- Simulation
- New developments in modeling tools / techniques
- Important issues in model base management
4Modeling and Analysis Topics
- Modeling for MSS
- Static and dynamic models
- Treating certainty, uncertainty, and risk
- Influence diagrams
- MSS modeling in spreadsheets
- Decision analysis of a few alternatives (decision
tables and trees) - Optimization via mathematical programming
- Heuristic programming
- Simulation
- Multidimensional modeling -OLAP
- Visual interactive modeling and visual
interactive simulation - Quantitative software packages - OLAP
- Model base management
55.2 Modeling for MSS
- Key element in most DSS
- Necessity in a model-based DSS
- Can lead to massive cost reduction / revenue
increases
6Good Examples of MSS Models
- DuPont rail system simulation model (opening
vignette) - Procter Gamble optimization supply chain
restructuring models (case application 5.1) - Scott Homes AHP select a supplier model (case
application 5.2) - IMERYS optimization clay production model (case
application 5.3)
7Major Modeling Issues
- Problem identification
- Environmental analysis
- Variable identification
- Forecasting
- Multiple model use
- Model categories or selection (Table 5.1)
- Model management
- Knowledge-based modeling
8(No Transcript)
95.3 Static and Dynamic Models
- Static Analysis
- Single snapshot
- Dynamic Analysis
- Dynamic models
- Evaluate scenarios that change over time
- Time dependent
- Trends and patterns over time
- Extend static models
105.4 Treating Certainty, Uncertainty, and Risk
- Certainty Models
- Uncertainty
- Risk
115.5 Influence Diagrams
- Graphical representations of a model
- Model of a model
- Visual communication
- Some packages create and solve the mathematical
model - Framework for expressing MSS model relationships
- Rectangle a decision variable
- Circle uncontrollable or intermediate variable
- Oval result (outcome) variable intermediate or
final - Variables connected with arrows
- Example (Figure 5.1)
12(No Transcript)
13Analytica Influence Diagram of a Marketing
Problem The Marketing Model (Figure
5.2a)(Courtesy of Lumina Decision Systems, Los
Altos, CA)
14Analytica Price Submodel (Figure 5.2b)(Courtesy
of Lumina Decision Systems, Los Altos, CA)
15Analytica Sales Submodel (Figure 5.2c)(Courtesy
of Lumina Decision Systems, Los Altos, CA)
165.6 MSS Modeling in Spreadsheets
- Spreadsheet most popular end-user modeling tool
- Powerful functions
- Add-in functions and solvers
- Important for analysis, planning, modeling
- Programmability (macros)
- (More)
17- What-if analysis
- Goal seeking
- Simple database management
- Seamless integration
- Microsoft Excel
- Lotus 1-2-3
- Excel spreadsheet static model example of a
simple loan calculation of monthly payments
(Figure 5.3) - Excel spreadsheet dynamic model example of a
simple loan calculation of monthly payments and
effects of prepayment (Figure 5.4)
185.7 Decision Analysis of Few Alternatives(Decisi
on Tables and Trees)
- Single Goal Situations
- Decision tables
- Decision trees
19Decision Tables
- Investment example
- One goal maximize the yield after one year
- Yield depends on the status of the economy
- (the state of nature)
- Solid growth
- Stagnation
- Inflation
20Possible Situations
- 1. If solid growth in the economy, bonds yield
12 stocks 15 time deposits 6.5 - 2. If stagnation, bonds yield 6 stocks 3 time
deposits 6.5 - 3. If inflation, bonds yield 3 stocks lose 2
time deposits yield 6.5
21View Problem as a Two-Person Game
- Payoff Table 5.2
- Decision variables (alternatives)
- Uncontrollable variables (states of economy)
- Result variables (projected yield)
22Table 5.2 Investment Problem Decision Table
Model
- States of Nature
- Solid Stagnation Inflation
- Alternatives Growth
- Bonds 12 6 3
- Stocks 15 3 -2
- CDs 6.5 6.5 6.5
23Treating Uncertainty
- Optimistic approach
- Pessimistic approach
24Treating Risk
- Use known probabilities (Table 5.3)
- Risk analysis compute expected values
- Can be dangerous
25Table 5.3 Decision Under Risk and Its Solution
- Solid Stagnation Inflation Expected
- Growth Value
- Alternatives .5 .3 .2
- Bonds 12 6 3 8.4
- Stocks 15 3 -2 8.0
- CDs 6.5 6.5 6.5 6.5
26- Decision Trees
- Other methods of treating risk
- Simulation
- Certainty factors
- Fuzzy logic
- Multiple goals
- Yield, safety, and liquidity (Table 5.4)
27Table 5.4 Multiple Goals
- Alternatives Yield Safety Liquidity
- Bonds 8.4 High High
- Stocks 8.0 Low High
- CDs 6.5 Very High High
28Table 5.5 Discrete vs. Continuous Probability
Distribution
- Daily Discrete Continuous
- Demand Probability
- 5 .1 Normally distributed with
- 6 .15 a mean of 7 and a
- 7 .3 standard deviation of 1.2
- 8 .25
- 9 .2
295.8 Optimization via Mathematical Programming
- Linear programming (LP)
- Used extensively in DSS
- Mathematical Programming
- Family of tools to solve managerial problems in
allocating scarce resources among various
activities to optimize a measurable goal
30LP Allocation Problem Characteristics
- 1. Limited quantity of economic resources
- 2. Resources are used in the production of
products or services - 3. Two or more ways (solutions, programs) to use
the resources - 4. Each activity (product or service) yields a
return in terms of the goal - 5. Allocation is usually restricted by
constraints
31LP Allocation Model
- Rational economic assumptions
- 1. Returns from allocations can be compared in a
common unit - 2. Independent returns
- 3. Total return is the sum of different
activities returns - 4. All data are known with certainty
- 5. The resources are to be used in the most
economical manner - Optimal solution the best, found algorithmically
32Linear Programming
- Decision variables
- Objective function
- Objective function coefficients
- Constraints
- Capacities
- Input-output (technology) coefficients
Line
33Lindo LP Product-Mix ModelDSS in Focus 5.4
- ltlt The Lindo Model gtgt
- MAX 8000 X1 12000 X2
- SUBJECT TO
- LABOR) 300 X1 500 X2 lt 200000
- BUDGET) 10000 X1 15000 X2 lt 8000000
- MARKET1) X1 gt 100
- MARKET2) X2 gt 200
- END
34- ltlt Generated Solution Report gtgt
-
- LP OPTIMUM FOUND AT STEP 3
- OBJECTIVE FUNCTION VALUE
- 1) 5066667.00
- VARIABLE VALUE REDUCED COST
- X1 333.333300 .000000
- X2 200.000000 .000000
35- ROW SLACK OR SURPLUS DUAL PRICES
- LABOR) .000000 26.666670
- BUDGET) 1666667.000000 .000000
- MARKET1) 233.333300 .000000
- MARKET2) .000000 -1333.333000
- NO. ITERATIONS 3
36- RANGES IN WHICH THE BASIS IS UNCHANGED
-
- OBJ COEFFICIENT RANGES
- VARIABLE CURRENT ALLOWABLE ALLOWABLE
- COEF INCREASE DECREASE
- X1 8000.000 INFINITY 799.9998
- X2 12000.000 1333.333 INFINITY
- RIGHTHAND SIDE RANGES
- ROW CURRENT ALLOWABLE ALLOWABLE
- RHS INCREASE DECREASE
- LABOR 200000.000 50000.000 70000.000
- BUDGET 8000000.000 INFINITY 1666667.000
- MARKET1 100.000 233.333 INFINITY
- MARKET2 200.000 140.000 200.000
-
37Lingo LP Product-Mix Model DSS in Focus 5.5
- ltlt The Model gtgtgt
- MODEL
- ! The Product-Mix Example
- SETS
- COMPUTERS /CC7, CC8/ PROFIT, QUANTITY,
MARKETLIM - RESOURCES /LABOR, BUDGET/ AVAILABLE
- RESBYCOMP(RESOURCES, COMPUTERS) UNITCONSUMPTION
- ENDSETS
- DATA
- PROFIT MARKETLIM
- 8000, 100,
- 12000, 200
- AVAILABLE 200000, 8000000
38- UNITCONSUMPTION
- 300, 500,
- 10000, 15000
- ENDDATA
- MAX _at_SUM(COMPUTERS PROFIT QUANTITY)
- _at_FOR( RESOURCES( I)
- _at_SUM( COMPUTERS( J)
- UNITCONSUMPTION( I,J) QUANTITY(J)) lt
AVAILABLE( I)) - _at_FOR( COMPUTERS( J)
- QUANTITY(J) gt MARKETLIM( J))
- ! Alternative
- _at_FOR( COMPUTERS( J)
- _at_BND(MARKETLIM(J), QUANTITY(J),1000000))
39- ltlt (Partial ) Solution Report gtgt
- Global optimal solution found at step 2
- Objective value
5066667. - Variable Value Reduced Cost
- PROFIT( CC7) 8000.000 0.0000
- PROFIT( CC8) 12000.00 0.0000
- QUANTITY( CC7) 333.3333 0.0000
- QUANTITY( CC8) 200.0000 0.0000
- MARKETLIM( CC7) 100.0000 0.0000
- MARKETLIM( CC8) 200.0000 0.0000
- AVAILABLE( LABOR) 200000.0 0.0000
- AVAILABLE( BUDGET) 8000000. 0.0000
40- UNITCONSUMPTION( LABOR, CC7) 300.00 0.00
- UNITCONSUMPTION( LABOR, CC8) 500.00 0.00
- UNITCONSUMPTION( BUDGET, CC7) 10000. 0.00
- UNITCONSUMPTION( BUDGET, CC8) 15000. 0.00
- Row Slack or Surplus Dual Price
- 1 5066667. 1.000000
- 2 0.0000000 26.66667
- 3 1666667. 0.0000000
- 4 233.3333 0.0000000
- 5 0.0000000 -1333.333
415.9 Heuristic Programming
- Cuts the search
- Gets satisfactory solutions more quickly and less
expensively - Finds rules to solve complex problems
- Finds good enough feasible solutions to complex
problems - Heuristics can be
- Quantitative
- Qualitative (in ES)
42When to Use Heuristics
- 1. Inexact or limited input data
- 2. Complex reality
- 3. Reliable, exact algorithm not available
- 4. Computation time excessive
- 5. To improve the efficiency of optimization
- 6. To solve complex problems
- 7. For symbolic processing
- 8. For making quick decisions
43Advantages of Heuristics
- 1. Simple to understand easier to implement and
explain - 2. Help train people to be creative
- 3. Save formulation time
- 4. Save programming and storage on computers
- 5. Save computational time
- 6. Frequently produce multiple acceptable
solutions - 7. Possible to develop a solution quality measure
- 8. Can incorporate intelligent search
- 9. Can solve very complex models
44Limitations of Heuristics
- 1. Cannot guarantee an optimal solution
- 2. There may be too many exceptions
- 3. Sequential decisions might not anticipate
future consequences - 4. Interdependencies of subsystems can influence
the whole system - Heuristics successfully applied to vehicle routing
45Heuristic Types
- Construction
- Improvement
- Mathematical programming
- Decomposition
- Partitioning
46Modern Heuristic Methods
- Tabu search
- Genetic algorithms
- Simulated annealing
47Genetic algorithm
- A simple function of one variable.
- Def
- fx
- Find the range of x
- To find such that
- f( ) f(x), for all x -12
48Genetic algorithm (Cont.)
- A simple function of one variable.
- The zeros of the first derivative f
- f(x)
- tan( ) -10 px
- ? Solutions
-
49Genetic algorithm (Cont.)
- Representation
- x use a binary vector as a chromosome.
- How many bits are required?
- Assumption that it is six places after the
decimal point. - Size range 3 1000000 ( the length of x six
places after the decimal point) - lt 3000000 lt ? 22 bits are required
50Genetic algorithm (Cont.)
- Representation
- How to mapping? ( two steps)
- Convert the binary string lt gt from
the base 2 to base 10. -
- Find a corresponding real number x.
-
- PS -1.0 is the left boundary, and 3 is the
length of - the domain.
51Genetic algorithm (Cont.)
- Initial population
- Create a population of chromosomes.
- Count the required of bits then each is a binary
vector of the bits. - All these bits for each chromosome are
initialized randomly.
52Genetic algorithm (Cont.)
- Evaluation function
- eval(v) f(x) , the chromosome v represents the
real value x. - Rating potential solutions in terms of their
fitness. - Ex
v1 (1000101110110101000111) v2
(1000101110110101000111) v3 (1000101110110101000
111)
x1 0.637179 x2 -0.958973 x3 1.627888
eval(v1) f(x1) 1.586345 eval(v2) f(x2)
0.078878 eval(v3) f(x3) 2.250650 ?best
53Genetic algorithm (Cont.)
- Genetic operators
- Mutation
- Alter one or more positions in a chromosome with
a probability equal to the mutation rate. - Ex
- v3' (1110100000111111000101), x3' 1.721638
- f(x3') -0.082257 ? significant decrease.
54Genetic algorithm (Cont.)
- Genetic operators
- Crossover
f(v2) f(-0.998113) 0.940865 f(v3)
f(1.666028) 2.459245 Better evaluation
55Parameters Population size pop_size
50 Probability of crossover pc 0.25 Probability
of mutation pm 0.01 Experimental results 145
generation, evaluation function 2.850227 Vmax
(1111001101000100000101) 1.850773 xmax
1.85 e and f (xmax) is slightly larger than 2.85
56The structure of an evolution program
57A simple (iterated) Hillclimber
procedure iterated hillclimber begin t ? 0
repeat local ? FALSE select a current
string vc at random evaluate vc repeat
select 30 new strings in the neighborhood
of vc by flipping single bits of vc
select the string vn from the set of new
strings with the largest value of
objective function f if f(vc) lt f(vn)
then vc ? vn else local ? TRUE
until local t ? t l until t
MAX end
58procedure simulated annealing begin t ? 0
initialize temperature T select a current
string vc at random evaluate vc repeat
repeat select a new string vn
in the neighborhood of vc by
flipping a single bit of vc if f(vc) lt
f(vn) then vc ? vn else if
random0, 1 lt exp(f(vn) - f(vc))/T
then vc ? vn until
(termination-condition) thermal equilibrium
. T ? g(T, t) t ? t l until
(stop-criterion) end
Simulated annealing
59Scatter/Tabu search
605.10 Simulation
- Technique for conducting experiments with a
computer on a model of a management system - Frequently used DSS tool
61Major Characteristics of Simulation
- Imitates reality and capture its richness
- Technique for conducting experiments
- Descriptive, not normative tool
- Often to solve very complex, risky problems
62Advantages of Simulation
- 1. Theory is straightforward
- 2. Time compression
- 3. Descriptive, not normative
- 4. MSS builder interfaces with manager to gain
intimate knowledge of the problem - 5. Model is built from the manager's perspective
- 6. Manager needs no generalized understanding.
Each component represents a real problem
component - (More)
63- 7. Wide variation in problem types
- 8. Can experiment with different variables
- 9. Allows for real-life problem complexities
- 10. Easy to obtain many performance measures
directly - 11. Frequently the only DSS modeling tool for
nonstructured problems - 12. Monte Carlo add-in spreadsheet packages
(_at_Risk)
64Limitations of Simulation
- 1. Cannot guarantee an optimal solution
- 2. Slow and costly construction process
- 3. Cannot transfer solutions and inferences to
solve other problems - 4. So easy to sell to managers, may miss
analytical solutions - 5. Software is not so user friendly
65Simulation Methodology
- Model real system and conduct repetitive
experiments - 1. Define problem
- 2. Construct simulation model
- 3. Test and validate model
- 4. Design experiments
- 5. Conduct experiments
- 6. Evaluate results
- 7. Implement solution
66Simulation Types
- Probabilistic Simulation
- Discrete distributions
- Continuous distributions
- Probabilistic simulation via Monte Carlo
technique - Time dependent versus time independent simulation
- Simulation software
- Visual simulation
- Object-oriented simulation
675.11 Multidimensional Modeling
- Performed in online analytical processing (OLAP)
- From a spreadsheet and analysis perspective
- 2-D to 3-D to multiple-D
- Multidimensional modeling tools 16-D
- Multidimensional modeling - OLAP (Figure 5.6)
- Tool can compare, rotate, and slice and dice
corporate data across different management
viewpoints
68Entire Data Cube from a Query in PowerPlay
(Figure 5.6a)(Courtesy Cognos Inc.)
69Graphical Display of the Screen in Figure 5.6a
(Figure 5.6b) (Courtesy Cognos Inc.)
70Environmental Line of Products by Drilling Down
(Figure 5.6c) (Courtesy Cognos Inc.)
71Drilled Deep into the Data Current Month, Water
Purifiers, Only in North America (Figure 5.6d)
(Courtesy Cognos Inc.)
72Visual Spreadsheets
- User can visualize models and formulas with
influence diagrams - Not cells--symbolic elements
735.12 Visual Interactive Modeling (VIS) and Visual
Interactive Simulation (VIS)
- Visual interactive modeling (VIM) (DSS In Action
5.8) - Also called
- Visual interactive problem solving
- Visual interactive modeling
- Visual interactive simulation
- Use computer graphics to present the impact of
different management decisions. - Can integrate with GIS
- Users perform sensitivity analysis
- Static or a dynamic (animation) systems (Figure
5.7)
74Generated Image of Traffic at an Intersection
from the Orca Visual Simulation Environment
(Figure 5.7)(Courtesy Orca Computer, Inc.)
75Visual Interactive Simulation (VIS)
- Decision makers interact with the simulated model
and watch the results over time - Visual interactive models and DSS
- VIM (Case Application W5.1 on books Web site)
- Queueing
765.13 Quantitative Software Packages-OLAP
- Preprogrammed models can expedite DSS programming
time - Some models are building blocks of other models
- Statistical packages
- Management science packages
- Revenue (yield) management
- Other specific DSS applications
- including spreadsheet add-ins
775.14 Model Base Management
- MBMS capabilities similar to that of DBMS
- But, there are no comprehensive model base
management packages - Each organization uses models somewhat
differently - There are many model classes
- Within each class there are different solution
approaches - Some MBMS capabilities require expertise and
reasoning
78Desirable Capabilities of MBMS
- Control
- Flexibility
- Feedback
- Interface
- Redundancy reduction
- Increased consistency
79MBMS Design Must Allow the DSS User to
- 1. Access and retrieve existing models.
- 2. Exercise and manipulate existing models
- 3. Store existing models
- 4. Maintain existing models
- 5. Construct new models with reasonable effort
80- Modeling languages
- Relational MBMS
- Object-oriented model base and its management
- Models for database and MIS design and their
management
81SUMMARY
- Models play a major role in DSS
- Models can be static or dynamic
- Analysis is under assumed certainty, risk, or
uncertainty - Influence diagrams
- Spreadsheets
- Decision tables and decision trees
- Spreadsheet models and results in influence
diagrams - Optimization mathematical programming
- (More)
82- Linear programming economic-based
- Heuristic programming
- Simulation - more complex situations
- Expert Choice
- Multidimensional models - OLAP
- (More)
83- Quantitative software packages-OLAP (statistical,
etc.) - Visual interactive modeling (VIM)
- Visual interactive simulation (VIS)
- MBMS are like DBMS
- AI techniques in MBMS
84???????
85???-1??????
86???-2??????
87??????????
- ???????
- ????? (?max)
- ???????(W)
- A.W ?max.W
88???????????
89????????
- ???max?W???
- ?????( C.I.)
- C.I. ????,????0.1,????
90????
91The structure of an evolution program
92A simple (iterated) Hillclimber
procedure iterated hillclimber begin t ? 0
repeat local ? FALSE select a current
string vc at random evaluate vc repeat
select 30 new strings in the neighborhood
of vc by flipping single bits of vc
select the string vn from the set of new
strings with the largest value of
objective function f if f(vc) lt f(vn)
then vc ? vn else local ? TRUE
until local t ? t l until t
MAX end
93procedure simulated annealing begin t ? 0
initialize temperature T select a current
string vc at random evaluate vc repeat
repeat select a new string vn
in the neighborhood of vc by
flipping a single bit of vc if f(vc) lt
f(vn) then vc ? vn else if
random0, 1 lt exp(f(vc) - f(vn))/T
then vc ? vn until
(termination-condition) thermal equilibrium
. T ? g(T, t) t ? t l until
(stop-criterion) end
Simulated annealing
94Scatter/Tabu search
95Genetic algorithm
- A simple function of one variable.
- Def
- fx
- Find the range of x
- To find such that
- f( ) f(x), for all x -12
96Genetic algorithm (Cont.)
- A simple function of one variable.
- The zeros of the first derivative f
- f(x)
- tan( ) -10 px
- ? Solutions
-
97Genetic algorithm (Cont.)
- Representation
- x use a binary vector as a chromosome.
- How many bits are required?
- Assumption that it is six places after the
decimal point. - Size range 3 1000000 ( the length of x six
places after the decimal point) - lt 3000000 lt ? 22 bits are required
98Genetic algorithm (Cont.)
- Representation
- How to mapping? ( two steps)
- Convert the binary string lt gt from
the base 2 to base 10. -
- Find a corresponding real number x.
-
- PS -1.0 is the left boundary, and 3 is the
length of - the domain.
99Genetic algorithm (Cont.)
- Initial population
- Create a population of chromosomes.
- Count the required of bits then each is a binary
vector of the bits. - All these bits for each chromosome are
initialized randomly.
100Genetic algorithm (Cont.)
- Evaluation function
- eval(v) f(x) , the chromosome v represents the
real value x. - Rating potential solutions in terms of their
fitness. - Ex
v1 (1000101110110101000111) v2
(1000101110110101000111) v3 (1000101110110101000
111)
x1 0.637179 x2 -0.958973 x3 1.627888
eval(v1) f(x1) 1.586345 eval(v2) f(x2)
0.078878 eval(v3) f(x3) 2.250650 ?best
101Genetic algorithm (Cont.)
- Genetic operators
- Mutation
- Alter one or more positions in a chromosome with
a probability equal to the mutation rate. - Ex
- v3' (1110100000111111000101), x3' 1.721638
- f(x3') -0.082257 ? significant decrease.
102Genetic algorithm (Cont.)
- Genetic operators
- Crossover
-
f(v2) f(-0.998113) 0.940865 f(v3)
f(1.666028) 2.459245 Better evaluation
103Parameters Population size pop_size
50 Probability of crossover pc 0.25 Probability
of mutation pm 0.01 Experimental results 145
generation, evaluation function 2.850227 Vmax
(1111001101000100000101) 1.850773 xmax
1.85 e and f (xmax) is slightly larger than 2.85