Decision-Making Systems • Fuzzy Objectives and Crisp Constraints – Fuzzy Objectives • “My new shoes should be as pretty as possible.” • “My new shoes should be as comfortable as possible” – Crisp Constraint • “My new shoes absolutely must not be smaller than my feet.” (Crisp Statement.) • “My new shoes absolutely must not cost more than I have with me.” (Crisp Statement.) Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Decision-Making Systems – Objectives are typically fuzzy sets (different candidates meet objectives to varying degrees) • Each shoe can be graded by observing and wearing them! – Constraints can be represented by crisps sets (candidates are either adequate or not) Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Decision-Making Systems: Example - MATLAB – Automated Decision • Define possible options – 5 shoes to choose » shoeS = 1:5; • Describe the constraints – “My new shoes absolutely must not be smaller than my feet.” » toosmallG = [0 1 0 0 0]; – “My new shoes absolutely must not cost more than I have with me.” » toomuchG = [0 0 0 0 1]; Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Decision-Making Systems: Example - MATLAB – Automated Decision (Continued) • Obtain grades for each objective – looking at the shoes and trying them on » looksG = [0.7 1.0 0.4 0.7 0.5]; » ComfortG = [0.4 0.0 0.8 0.6 0.9]; • Grade each objective using the constraints and Objectives » constraintG = not(or(toosmallG,toomuchG)); » =[ 1 0 1 1 0] » the first, third, and fourth shoes meet all the constraints. Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Decision-Making Systems: Example - MATLAB – Automated Decision (Continued) • Find objective grade – averaging their grades » for looks and comfort » objectiveG = mean([looksG; comfortG]) » = [ 0.55 0.50 0.60 0.65 0.70 ] » Shoe five is the best, highest grade! Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Decision-Making Systems: Example - MATLAB – Automated Decision (Continued) • Find the final grades – Shoe Grades » Taking the intersection of the constraint and objective grades » shoeG = and([constraintG; objectiveG]); » = 0.55 0.00 0.60 0.65 0.00 » Shoe 2 and shoe 5 did not satisfy the constraints • Finalize the decision – Pick the best shoe from the highest grade » Shoe = highestgrade(shoeS,shoeG) » = 4 -----> shoe number 4 is picked! Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Objectives with Different Importance – Not all objectives are equally important! • Hedging – Making objectives more or less restrictive to differentiate among various importance. Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Objectives with Different Importance (Cont.) – “The shoe should be somewhat attractive but very comfortable” • objectiveG = mean([somewhat(lookG) ; very(comfortG)]) ; Or • objectiveG = mean(hedge([looksG; comfortG], [0.5; 2])); Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Objectives with Different Importance (Cont.) • • • • • • • • • • Shoes = 1:5; toosmallG = [ 0 1 0 0 0 ]; toomuchG = [ 0 0 0 0 1]; looksG = [ 0.7 1.0 0.4 0.7 0.5]; comfortG = [ 0.4 0.0 0.8 0.6 0.9]; constraintG = not (or (toosmallG, toomuchG)); objectiveG = mean(hedge([looksG; comfortG], [0.5; 2])); shoeG = and([constraintG; objectiveG]); Shoe = highestgrade(shoeS,shoeG) = 3 ---> shoe 3, the more comfortable shoe, is picked Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Paired Comparison weighting • Use hedges to emphasize the importance of objectives - How? – Estimate each hedge value, or – Estimate the importance of the objectives and calculate hedge values from those estimates. » i.e. taken in pairs, which of the two objectives is more important and to what extent? Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Paired Comparison weighting (Cont.) • Example: a decision must be made using 3 criteria having importance 2.0, 1.0, and 1.7 from the interval [0:10] Create an array containing relative importance g = [2.0 1.0 1.7]; Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Paired Comparison weighting (Cont.) Create a pairwise comparison matrix by executing the following function: function [p] = imp2pc(g) [gr,gc] = size(g); x = ones(gc,1)*g; p = x'-x+1; i = find(p < 1); pt = p'; p(i) = 1 ./ pt(i); Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Paired Comparison weighting (Cont.) %g = [2.0 1.0 1.7] function [p] = imp2pc(g) [gr,gc] = size(g); %Get size x = ones(gc,1)*g; %Square matrix, x= % 2.0000 1.0000 1.7000 % 2.0000 1.0000 1.7000 % 2.0000 1.0000 1.7000 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Paired Comparison weighting (Cont.) p = x'-x+1; % p = 1.0000 2.0000 1.3000 0 1.0000 0.3000 0.7000 1.7000 1.0000 i = find(p < 1); % i = [2,3,8]’ pt = p'; % pt= 1.0000 0 0.7000 2.0000 1.0000 1.7000 1.3000 0.3000 1.0000 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Paired Comparison weighting (Cont.) p(i) = 1 ./ pt(i); %p = 1.0000 2.0000 1.3000 0.5000 1.0000 0.5882 0.7692 1.7000 1.0000 % g = [2.0 1.0 1.7]; Pairwise comparison matrix: Objective #1 Objective #1 1.0 Objective #2 0.5 Objective #3 0.769 Objective#2 2.0 1.0 1.7 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Objective #3 1.3 0.588 1.0 Pairwise Comparison to Hedge Algorithm (O’Hagan) • Obtain eigenvectors and eigenvalues of pairwise matrix, p (nxn) – [v,d] = eig(p); • Determine largest eigenvalue and its corresponding eigenvectors – e = diag(d); – i = find(e== max(e)); • Calculate normalize hedge value – h= (n*v(: ,i) / sum(v(: ,i)))’; Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Pairwise Comparison to Hedge Algorithm (O’Hagan) • The MATLAB function function [h,t] = pc2hed(p) [m,n] = size(p); [v,d] = eig(p); e = diag(d); i = find(e == max(e)); i1 = i(1); h = (m * v(:,i1) ./ sum(v(:,i1)))'; t = e(i); Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Pairwise Comparison to Hedge Algorithm (O’Hagan) function [h,t] = pc2hed(p) [m,n] = size(p); % m=3 n=3 [v,d] = eig(p); % d – eigenvalues, v - eigenvectors % v = -0.7320 0.7320 0.7320 % % -0.1770 - 0.3066i -0.2911 + 0.5041i -0.1770 + 0.3066i -0.2911 - 0.5041i % d = 3.0011 0 0 % % -0.0006 + 0.0577i 0 0 -0.0006 - 0.0577i -0.3540 -0.5821 0 0 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Pairwise Comparison to Hedge Algorithm (O’Hagan) e = diag(d); % e = [ 3.0011 -0.0006 + 0.0577i -0.0006 - 0.0577i]’ i = find(e == max(e)); % i =1 i1 = i(1); h = (m * v(:,i1) ./ sum(v(:,i1)))'; % h = [1.3164 0.6367 1.0469] t = e(i); % t = 3.0011 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Importance to Hedge: Example • “comfort might be three times as important as looks” – i = [ 1.0 3.]; • calculate pairwise matrix, using imp2pc – p = imp2pc(i) = 1 3 0.3333 1 • Calculate hedge value, using pc2hed – h = pc2hed(p) = 0.5 1.5 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Importance to Hedge: Example • • • • • • Shoes = 1:5; toosmallG = [ 0 1 0 0 0 ]; toomuchG = [ 0 0 0 0 1]; looksG = [ 0.7 1.0 0.4 0.7 0.5]; comfortG = [ 0.4 0.0 0.8 0.6 0.9]; constraintG = not (or (toosmallG, toomuchG)); • i =[ 1.0 3.0]; %Emphasize comfort • h = imp2hed(i); %Calculate hedge value • objectiveG = mean(hedge([looksG; comfortG], h )); • shoeG = and([constraintG; objectiveG]); • Shoe = highestgrade(shoeS,shoeG) • = 3 ---> shoe 3, the more comfortable shoe, is picked Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Perron Decision Making • Treats importances and grades in the same way – Obtain Perron importances • Calculate hedge value for importances – Obtain Perron grades • hedge value from grades – Combine grades and importances by multiplying the Perron importances by the Perron grades and normalizing the result. Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Perron Decision Making: Example – i = [ 1.0 3.0]; – h = imp2hed(I) • = 0.5 1.5 – h2 = imp2hed([looksG; comfortG]) • = 1.0217 1.3036 0.7922 1.0217 0.8607 • 0.8640 0.6468 1.1894 1.0128 1.2870 – ShoeG = normh(h*h2) • = 0.7653 0.6871 0.9235 0.8599 1.000 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Zimmerman-Zysno Decision Making • Defined “Compensatory AND” – Acts as a generalization of the algebraic sum [ora] and product [anda] , i.e. • andc(c,g1,g2) = anda(g1,g2)^(1-c) * ora(g1,g2)^c • WHERE c = 0 . . 1; and • c = 1 mean “high optimism”, • c = 0 mean “low optimism” Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Zimmerman-Zysno Decision Making (Cont.) • An optimism level of 1.0 is like saying – “the criterion with the highest grade is most important” • An optimism level of 0.0 is like saying – “ we need to cover all bases.” Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Zimmerman-Zysno Decision Making (Cont.) • Example – Assume two criterion for three alternatives • G = [0.3 0.9 0.4 ; 0.4 0.1 0.5] • = 0.3 0.9 0.4 • 0.4 0.1 0.5 – Try optimism level of 0.0 • X = andc(0.0, G) = 0.12 0.09 0.2 • The third alternative is best because its grades have high and fairly uniform values Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Zimmerman-Zysno Decision Making (Cont.) • Example – Assume two criterion for three alternatives • G = [0.3 0.9 0.4 ; 0.4 0.1 0.5] • = 0.3 0.9 0.4 • 0.4 0.1 0.5 – Try optimism level of 1.0 • X = andc(1.0, G) = 0.58 0.91 0.7 • The second alternative is preferred because its list of objectives contains one high value that dominates. Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Fuzzy Decision Making • All techniques discussed so far will do a good job on an arbitrary decision-making system. • Picking the right technique, however, can maximize the correspondence between how a decision-making system operates and your intuitions about how it should operate! Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Pricing Decision • Several legitimate and often contradictory objectives must be combined – President: “The price should be large” – Salesman: “The price should be small” – Marketing person : “The price absolutely must be ending in 99.” – Manufacturing person: “The price should be greater than the manufacturing cost” – Marketing person : The price should be less than our competitor’s price.” Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Pricing Decision • • • • • • • • • • • • priceS = minprice:maxprice; obj1G = large(priceS); obj2G = small(priceS); obj3G = (rem(priceS,100) ==99)*0.5+0.5; %grade = 0.5 unless 99 =1 obj4G = greater(priceS,mancost); obj5G = less(comprice); objG = [obj1G; obj2G; obj3G; obj4G; obj5G;] importances = [10 8 3 10 6]; Hedges = imp2hed(importantces); hedgeG = hedge(objG, hedges); priceG = mean(hedgeG); Price = highestgrade(priceS, priceG); Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Pricing Decision • Example Decision-Making system for price Setting – Please answer the following questions about your product. • • • • What is a minimum price for the product? 150 What is a maximum price for the product? 1000 What is its manufacturing cost? 85 What is the competitor’s price? 700 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Pricing Decision • Please rate the importance of each objective. – Objective 1: “The price must be high for our shareholders.” • How important is objective 1? [1-10] 9 – Objective 2: “The price must be low to encourage sales.” • How important is objective 2? [1-10] 6 – Objective 3: “The price must end in 99.” • How important is objective 3? [1-10] 7 – Objective 4: “The price must exceed manufacturing cost.” • How important is objective 4? [1-10] 10 – Objective 5: “The price should beat our competitors.” • How important is objective 5? [1-10] 6 • The final results: -----> The final price is : 699 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Personal Decision: Choosing a Car • SAATY DECISION -MAKING SCRIPT – Please answer the following questions: • • • • • How many criteria? 4 What is criteria 1? High safety What is criteria 2? Low maintenance What is criteria 3? Low cost What is criteria 4? High gas mileage • • • • Important rating for high safety? [0-10] 10 Important rating for Low maintenance? [0-10] 8 Important rating for Low cost? [0-10] 6 Important rating for High gas mileage? [0-10] 5 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Personal Decision: Choosing a Car • SAATY DECISION -MAKING SCRIPT (Cont.) • • • • How many alternatives? 3 What is alternative 1? Car A What is alternative 2? Car B What is alternative 3? Car C • high safety rating for car A? [0-10] 10 • high safety rating for car B? [0-10] 7 • high safety rating for car C? [0-10] 8 • Low maintenance rating for car A? [0-10] 8 • Low maintenance rating for car B? [0-10] 9 • Low maintenance rating for car C? [0-10] 6 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Personal Decision: Choosing a Car • SAATY DECISION -MAKING SCRIPT (Cont.) • low cost rating for car A? [0-10] 7 • low cost rating for car B? [0-10] 9 • low cost rating for car C? [0-10] 7 • high gas mileage rating for car A? [0-10] 6 • high gas mileage rating for car B? [0-10] 9 • high gas mileage rating for car C? [0-10] 6 – Final Grades: • Car A 0.327578 • Car B 0.472612 (Max) • Car C 0.215683 [Min] Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company • An industrious person has independently created software product and now has to choose between two marketing options: – #1 - A small marketing company that can be hired to do the sales, product shipping, and billing. The author, however, would remain responsible for the cost of advertisements, technical support, enhancements, etc. – #2 - A larger, well-established company that would handle all marketing, sell, shipping, billing, and first level-tech. Support. The author would responsible for second-level user questions and product enhancement. Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.) • List of some of the concerns the author might have: – – – – – – The author’s percentage of profit, The marketing company’s responsibility for Technical support, The marketing company’s financial stability, The marketing company’s experience in selling similar products, The marketing company’s long term commitment to the author, The marketing company’s responsiveness to author concerns. Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.) • SAATY DECISION -MAKING SCRIPT – Please answer the following questions: • • • • • • • How many criteria? 6 What is criteria 1? profit What is criteria 2? responsibility What is criteria 3? stability What is criteria 4? experience What is criteria 5? commitment What is criteria 6? Responsiveness Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.) • SAATY DECISION -MAKING SCRIPT (Cont.) • • • • • • Important rating for profit? [0-10] 7 Important rating for responsibility? [0-10] 6 Important rating for stability? [0-10] 8 Important rating for experience? [0-10] 3 Important rating for commitment? [0-10] 9 Important rating for responsiveness? [0-10] 9 • How many alternatives? 2 • What is alternative 1? Small Company • What is alternative 2? Large Company Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.) • SAATY DECISION -MAKING SCRIPT (Cont.) • • • • • • • • profit rating for Small Company? [0-10] 3 profit rating for Large Company? [0-10] 7 responsibility rating for Small Company? [0-10] 4 responsibility rating for Large Company? [0-10] 8 stability rating for Small Company? [0-10] 5 stability rating for Large Company? [0-10] 9 experience rating for Small Company? [0-10] 3 experience rating for Large Company? [0-10] 5 Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.) • SAATY DECISION -MAKING SCRIPT (Cont.) • • • • commitment rating for Small Company? [0-10] 8 commitment rating for Large Company? [0-10] 4 responsiveness rating for Small Company? [0-10] 8 responsiveness rating for Large Company? [0-10] 4 • Final Grades: – Small Company 0.01277 (Min) – Large Company 0.04801 (Max) Fuzzy Systems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.) Grades For Each Criteria 1 0.9 0.8 0.7 Grade 0.6 0.5 0.4 0.3 0.2 0.1 0 1 1.2 1.4 Alternative Fuzzy Systems ToolBox, Mark Beale and Howard Demuth 1.6 1.8 2 Application: Selecting a Marketing Company (Cont.) Hedged Grades For Each Criteria 1 0.9 0.8 0.7 Grade 0.6 0.5 0.4 0.3 0.2 0.1 0 1 1.2 1.4 1.6 Alternatives Fuzzy Systems ToolBox, Mark Beale and Howard Demuth 1.8 2 Application: Selecting a Marketing Company (Cont.) Final Grades 1 0.9 0.8 0.7 Grade 0.6 0.5 0.4 0.3 0.2 0.1 0 1 1.2 1.4 1.6 Alternatives Fuzzy Systems ToolBox, Mark Beale and Howard Demuth 1.8 2