Session 5b
Decision Models -- Prof. Juran
2
OverviewEvolutionary Solver(Genetic Algorithm)• Advertising Example• Product Design Example
– Conjoint Analysis
Decision Models -- Prof. Juran
3
Nonlinear ProblemsSome nonlinear problems can be formulated in a linear fashion (i.e. some network problems). Other nonlinear functions can be solved with our basic methods (i.e. smooth, continuous functions that are concave or convex, such as portfolio variances).However, there are many types of nonlinear problems that pose significant difficulties.
Decision Models -- Prof. Juran
4
Nonlinear ProblemsThe linear solution to a nonlinear (say, integer) problem may be infeasible.The linear solution may be far away from the actual optimal solution.Some functions have many local minima (or maxima), and Solver is not guaranteed to find the global minimum (or maximum).
Decision Models -- Prof. Juran
5
3 Solvers• Simplex LP Solver• GRG Nonlinear Solver• Evolutionary Solver
Decision Models -- Prof. Juran
6
Radio Advertising ExampleMusic radio WABC has commercials of the following lengths (in seconds):
15, 15, 20, 25, 30, 35, 40, 57
The commercials must be assigned to 60-second breaks. What is the fewest number of breaks that are needed to air all of the commercials?
Decision Models -- Prof. Juran
7
Managerial Problem DefinitionDecision VariablesWhich commercials get assigned to which programming breaks.ObjectiveMinimize the total number of breaks.ConstraintsEvery advertisement must be aired.No break can be longer than 60 seconds.
Decision Models -- Prof. Juran
8
FormulationDecision VariablesDefine xi to be an integer variable identifying the break to which commercial i is assigned. For example, if commercial 1 is assigned to break 4, then x1 = 4.It should be clear that we won’t need any more than eight breaks, because there are only eight commercials. These eight x variables are the decision variables.
Decision Models -- Prof. Juran
9
Define yj to be a binary variable, such that yj = 0 if no commercials are assigned to break j, and yj = 1 if any commercials are assigned to break j. Define vij to be a binary variable such that vij = 1 if commercial i is assigned to break j, and vij = 0 otherwise.Define wi to be the duration of commercial i.
Formulation
Decision Models -- Prof. Juran
10
FormulationNote that the duration of break j is equal to
Let tj be the amount of “overtime” in break j. That is,
8
1iijivw
8
10 ,60max
iijij vwt
Decision Models -- Prof. Juran
11
FormulationObjectiveOur objective, then, is to:
Minimize Z =
where m is a “large number”.
8
1
8
1 jj
jj tmy
Decision Models -- Prof. Juran
12
FormulationThis is a good example of an advanced optimization trick: taking a constraint and building it into the objective function. It doesn’t really matter what value we use for m, as long as it is sufficiently large as to prevent any tj > 0. As it happens, in this problem m = 100 works fine.
Decision Models -- Prof. Juran
13
FormulationConstraintsFor all xi, 1≤ xi ≤ 8.For all xi, xi is an integer.For all yj, yj is binary.
Decision Models -- Prof. Juran
14
Solution Methodology123456789
101112131415161718192021222324252627
A B C D ELength of break (seconds) 60
Lengths of commercials Assignments of commercials to breaksCommercial Length Commercial Break
1 15 1 12 15 2 13 20 3 14 25 4 15 30 5 16 35 6 17 40 7 18 57 8 1
Information on breaksBreak Seconds Used? Amt over max
1 237 1 1772 0 0 03 0 0 04 0 0 05 0 0 06 0 0 07 0 0 08 0 0 0
Total "cost" 17701
=SUMIF($E$5:$E$12,A16,$B$5:$B$12)
=IF(B23>0,1,0)
=MAX(B23-$B$1,0)=SUM(C16:C23)+100*SUM(D16:D23)
Decision Models -- Prof. Juran
15
Solution MethodologyThe objective function is in B25, including a penalty of 100 units per second if any breaks go over 60 seconds.
The decision variables (xi) are in the range E5:E12 (in the spreadsheet shown, all commercials are assigned to break 1, so xi = 1 for all i).
The range B5:B12 contains the durations of each commercial (wi), and the range B16:B23 uses the Excel SUMIF function to calculate the duration of each commercial break.
Decision Models -- Prof. Juran
16
Solution MethodologyThe range C16:C23 keeps track of which breaks have any assignments (the yi variables), while the range D16:D23 keeps track of how much the breaks go over the maximum limit (the tj variables). Recall that the yi and tj variables are the basic ingredients of the productive function.
Notice how the use of the IF function in C16:C23 precludes the need to have an explicit binary constraint in Solver for the yi variables.
Decision Models -- Prof. Juran
17
Solution MethodologyThe standard simplex algorithm (Solver’s default method) won’t work on this problem. The GRG Nonlinear algorithm will make an honest effort, but is likely to give up without finding the optimal solution. This is because of our use of MAX, IF, and SUMIF functions, resulting in discontinuities in our productive function and constraints as functions of the decision variables.
However, the Evolutionary Solver, a genetic algorithm, can do a good job with a problem like this.
Decision Models -- Prof. Juran
18
Decision Models -- Prof. Juran
19
Solution MethodologyThe Evolutionary Solver operates in a completely different way from the other types. Instead of searching in a structured way guaranteed to reach the optimal solution, genetic algorithms operate somewhat like biological evolutionary processes, with some degree of randomness in the steps taken from one solution to the next.
In a finite period of time, the Evolutionary Solver is not guaranteed to find the optimal solution, but it will find very good solutions and try to improve upon them.
Decision Models -- Prof. Juran
20
Optimal Solution123456789
10111213141516171819202122232425
A B C D ELength of break (seconds) 60
Lengths of commercials Assignments of commercials to breaksCommercial Length Commercial Break
1 15 1 52 15 2 53 20 3 44 25 4 65 30 5 56 35 6 67 40 7 48 57 8 3
Information on breaksBreak Seconds Used? Amt over max
1 0 0 02 0 0 03 57 1 04 60 1 05 60 1 06 60 1 07 0 0 08 0 0 0
Total "cost" 4
Decision Models -- Prof. Juran
21
ConclusionsThe solution indicates that commercials 1, 2, and 5 should go in one break, 3 and 7 should go in another, 4 and 6 should go in another, and 8 should go by itself.
A reasonably bright person could solve this problem in their head, of course. The trick here was to set it up so that a computer could solve it, providing a method for the solution of much larger problems with the same basic structure.
Decision Models -- Prof. Juran
22
Product Design ExampleConjoint Analysis is a multivariate technique used specifically to understand how respondents develop preferences for products or services. It is based on the simple premise that consumers evaluate the value or utility of a product (real or hypothetical) by combining the utility provided by each attribute characterizing the product.-- Prof. Pradeep Chintagunta, Univ. of Chicago
Decision Models -- Prof. Juran
23
Conjoint AnalysisConjoint Analysis is a decompositional method. Respondents provide overall evaluations of products that are presented to them as combinations of attributes. These evaluations are then used to infer the utilities of the individual attributes comprising the products. In many situations, this is preferable to asking respondents how important certain attributes are, or to rate how well a product performs on each of a number of attributes.
Decision Models -- Prof. Juran
24
Conjoint AnalysisAfter determining the contribution of each attribute to the consumer’s overall evaluation, one could1.Define the product with the optimal combination of features2.Predict market shares of different products with different sets of features3.Isolate groups of customers who place differing importances on different features4.Identify marketing opportunities by exploring the market potential for feature combinations not currently available5.Show the relative contributions of each attribute and each level to the overall evaluation of the product
Decision Models -- Prof. Juran
25
Product Design Example
Decision Models -- Prof. Juran
26
Product Design ExampleAssume that a consumer's purchase decision on an electric razor is based on four attributes, each of which can be set at one of three levels (1, 2, or 3). Using conjoint analysis, our analysts have divided the market into five segments (labeled as customers 1, 2, 3, 4, and 5) and have determined the "part-worth" that each customer gives to each level of each attribute.
Decision Models -- Prof. Juran
27
We assume here that all customers within a particular segment view electric razors more or less the same in terms of which levels of which attributes constitute an attractive product. We also assume that customers in a segment conduct a sort of mathematical analysis (perhaps unconsciously) in which they weigh the various attributes of a product to come up with an overall value with respect to competing products.Conjoint analysis usually assumes the customer buys the product yielding the highest total part-worth.
Decision Models -- Prof. Juran
28
Part-Worths Levels Segment 1 Segment 2 Segment 3 Segment 4 Segment 5
1 (Slim) 1 1 1 4 4 2 (Wide) 1 1 4 3 4 Attribute 1
(Handle) 3 (Long) 2 4 3 3 3 1 (Rubber) 4 1 3 2 4 2 (Textured Plastic) 1 4 4 1 3 Attribute 2
(Grip) 3 (Smooth Plastic) 4 1 3 1 1 1 (Blue) 4 1 3 3 1 2 (Black) 1 4 4 3 1 Attribute 3
(Color) 3 (Red) 3 2 2 4 4 1 (Aloe) 4 4 3 4 4 2 (Lube) 2 2 2 2 3 Attribute 4
(Strip) 3 (None) 2 2 2 2 4
Decision Models -- Prof. Juran
29
For example, consider Segment 1 and these two products:
We assume that customers in Segment 1 will not buy Product B, because they value Product A at 1 + 4 + 4 + 4 = 13 and Product B at 1 + 1 + 1 + 2 = 5.
Razor A Razor B Attribute 1 (Handle) 1 (Slim) 2 (Wide) Attribute 2 (Grip) 1 (Rubber) 2 (Textured Plastic) Attribute 3 (Color) 1 (Blue) 2 (Black) Attribute 4 (Strip) 1 (Aloe) 2 (Lube)
Decision Models -- Prof. Juran
30
Razor A Razor B Levels Seg. 1 Levels Seg. 1
Attribute 1 1 (Slim) 1 1 (Slim) 1 (Handle) 2 (Wide) 1 2 (Wide) 1
3 (Long) 2 3 (Long) 2
Attribute 2 1 (Rubber) 4 1 (Rubber) 4 (Grip) 2 (Textured Plastic) 1 2 (Textured Plastic) 1
3 (Smooth Plastic) 4 3 (Smooth Plastic) 4
Attribute 3 1 (Blue) 4 1 (Blue) 4 (Color) 2 (Black) 1 2 (Black) 1
3 (Red) 3 3 (Red) 3
Attribute 4 1 (Aloe) 4 1 (Aloe) 4 (Strip) 2 (Lube) 2 2 (Lube) 2
3 (None) 2 3 (None) 2
Total 13 5
Decision Models -- Prof. Juran
31
Currently there is a single product in the market that sets all four attributes equal to 1 (call it Razor 0). We want to introduce two new types of electric razors, and capture as much of the market as possible. We want to design a two-product line that maximizes the number of market segments that will buy one of our two products. Assume that in the case of a tie, the consumer does not purchase our product.
Decision Models -- Prof. Juran
32
Managerial FormulationDecision VariablesWhich levels of each attribute to design into each of our two products.ObjectiveMaximize the number of customer segments who will buy one of our products.ConstraintsThere are only four attributes, each of which must be assigned to one of three existing levels for each product. (In other words, no product can have more or less than one level per attribute.)
Decision Models -- Prof. Juran
33
Formulation: PreliminariesThere are five customer segments, and we will index them from 1 to 5 with the subscript letter i.There are three products (the existing Razor 0, plus our Razors 1 and 2 to be designed), and we will index them from 1 to 3 with the subscript letter j.There are four product attributes, and we will index them from 1 to 4 with the subscript letter k.There are three possible levels for each attribute, and we will index them from 1 to 3 with the subscript letter l.
Decision Models -- Prof. Juran
34
Symbol Variable Description ijx A binary variable; 1 if segment i will buy product j,
0 otherwise. ijv The total “value” that segment i places on product j.
For our two products (j = 1, 2), 1ijx if jiij vv not products >
jkla A binary variable; 1 if product j has level l of attribute k, 0 otherwise. There are 12 of these per product; 36 total in this problem.
iklb The “value” placed by segment i on level l of attribute k.
There are 12 of these per segment; 60 total for this problem (as shown in the table on slide 27).
Decision Models -- Prof. Juran
35
Example: Using the example on slide 28, consider Segment 1’s evaluation of Razors A and B.For Razor A:
Av1
4
1
3
11
k lklAklba
3,4,13,4,3,2,13,2,2,2,12,2,1,2,11,2,3,1,13,1,2,1,12,1,1,1,11,1, ... bababababababa AAAAAAA 20...401041201011 004004004001 13
Decision Models -- Prof. Juran
36
For Razor B:
Bv1
4
1
3
11
k lklBklba
3,4,13,4,3,2,13,2,2,2,12,2,1,2,11,2,3,1,13,1,2,1,12,1,1,1,11,1, ... bababababababa BBBBBBB 20...401140201110 020010010010 5
Since , , and .
In English, customer segment 1 will buy Razor A and not buy Razor B.
BA vv 11 > 11 Ax 01 Bx
Decision Models -- Prof. Juran
37
FormulationDecision Variables We need to set 12 jkla variables (attribute levels) for each of our two products. Objective
Maximize Z =
5
1
2
1i jijx
Constraints
For each attribute k in product j,
3
11
ljkla
All jkla are binary.
Decision Models -- Prof. Juran
38
Solution Methodology1234567891011121314151617181920212223242526
A B C D E F G H I J K L M N O P QRazor 1 Attributes Number buying ours
Part-worths for segments 2Attribute Level 1 2 3 4 5Handle 2 Wide 1 1 4 3 4Grip 2 Textured Plastic 1 4 4 1 3 Maximums 13 11 14 13 13Color 2 Black 1 4 4 3 1 Buy ours? 0 1 1 0 0Strip 2 Lube 2 2 2 2 3Totals 5 11 14 9 11
Razor 2 Attributes Attribute LevelPart-worths for segments Handle Sgmt 1 Sgmt 2 Sgmt 3 Sgmt 4 Sgmt 5
Attribute Level 1 2 3 4 5 1 Slim 1 1 1 4 4Handle 3 Long 2 4 3 3 3 2 Wide 1 1 4 3 4Grip 3 Smooth Plastic 4 1 3 1 1 3 Long 2 4 3 3 3Color 3 Red 3 2 2 4 4 GripStrip 3 None 2 2 2 2 4 1 Rubber 4 1 3 2 4Totals 11 9 10 10 12 2 Textured Plastic 1 4 4 1 3
3 Smooth Plastic 4 1 3 1 1Razor 0 Attributes Color
Part-worths for segments 1 Blue 4 1 3 3 1Attribute Level 1 2 3 4 5 2 Black 1 4 4 3 1
Handle 1 Slim 1 1 1 4 4 3 Red 3 2 2 4 4Grip 1 Rubber 4 1 3 2 4 StripColor 1 Blue 4 1 3 3 1 1 Aloe 4 4 3 4 4Strip 1 Aloe 4 4 3 4 4 2 Lube 2 2 2 2 3Totals 13 7 10 13 13 3 None 2 2 2 2 4
=VLOOKUP($B5,$K$16:$Q$19,E$21+2)
=SUM(E4:E7)
=MAX(D26,D8,D17)=IF(D26<M5,1,0)
=SUM(M6:Q6)
Decision Models -- Prof. Juran
39
Solution MethodologyWe have used an elegant Excel trick to make the model more manageable, mainly through the use of VLOOKUP functions in the ranges D4:H7, D13:H16, and D22:H25. This lets us reduce the complete 5 x 12 matrix of iklb “part-worth” values (see slide 27) down to a 5 x 4 matrix relevant to the attribute levels actually used by a given product. This lets us collapse the 24 jkla decision variables down to 8 changing cells (B4:B7 and B13:B16). Instead of being binary, these are now integers between 1 and 3. The use of MAX and IF functions makes this a good problem for the Evolutionary Solver.
Decision Models -- Prof. Juran
40
Decision Models -- Prof. Juran
41
Optimal Solution1234567891011121314151617181920212223242526
A B C D E F G H I J K L M N O P QRazor 1 Attributes Number buying ours
Part-worths for segments 5Attribute Level 1 2 3 4 5Handle 1 Slim 1 1 1 4 4Grip 1 Rubber 4 1 3 2 4 Maximums 14 10 12 14 16Color 3 Red 3 2 2 4 4 Buy ours? 1 1 1 1 1Strip 1 Aloe 4 4 3 4 4Totals 12 8 9 14 16
Razor 2 Attributes Attribute LevelPart-worths for segments Handle Sgmt 1 Sgmt 2 Sgmt 3 Sgmt 4 Sgmt 5
Attribute Level 1 2 3 4 5 1 Slim 1 1 1 4 4Handle 3 Long 2 4 3 3 3 2 Wide 1 1 4 3 4Grip 1 Rubber 4 1 3 2 4 3 Long 2 4 3 3 3Color 1 Blue 4 1 3 3 1 GripStrip 1 Aloe 4 4 3 4 4 1 Rubber 4 1 3 2 4Totals 14 10 12 12 12 2 Textured Plastic 1 4 4 1 3
3 Smooth Plastic 4 1 3 1 1Razor 0 Attributes Color
Part-worths for segments 1 Blue 4 1 3 3 1Attribute Level 1 2 3 4 5 2 Black 1 4 4 3 1
Handle 1 Slim 1 1 1 4 4 3 Red 3 2 2 4 4Grip 1 Rubber 4 1 3 2 4 StripColor 1 Blue 4 1 3 3 1 1 Aloe 4 4 3 4 4Strip 1 Aloe 4 4 3 4 4 2 Lube 2 2 2 2 3Totals 13 7 10 13 13 3 None 2 2 2 2 4
Decision Models -- Prof. Juran
42
ConclusionsIt turns out that there is a line of two products that can capture all five segments!Razor 1, with attribute levels (1, 1, 3, 1), captures segments 4 and 5.Razor 2, with attribute levels (3, 1, 1, 1), captures segments 1, 2, and 3.
Decision Models -- Prof. Juran
43
SummaryEvolutionary Solver(Genetic Algorithm)• Advertising Example
– Integer and Binary tricks– Moving Constraints into the productive
Function– MAX, IF, SUMIF
• Product Design Example– Conjoint Analysis– VLOOKUP, MAX, IF