450 likes | 582 Views
Fuzzy Systems ToolBox, Mark Beale and Howard Demuth. 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
E N D
FuzzySystems ToolBox, Mark Beale and Howard Demuth 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.)
FuzzySystems 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)
FuzzySystems 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];
FuzzySystems 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.
FuzzySystems 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!
FuzzySystems 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!
FuzzySystems 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.
FuzzySystems 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]));
FuzzySystems 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
FuzzySystems 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?
FuzzySystems 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 importanceg = [2.0 1.0 1.7];
FuzzySystems 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);
FuzzySystems 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
FuzzySystems 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
FuzzySystems 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#2 Objective #3 Objective #1 Objective #2 Objective #3 1.0 2.0 1.3 0.5 1.0 0.588 0.769 1.7 1.0
FuzzySystems ToolBox, Mark Beale and Howard Demuth 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)))’;
FuzzySystems 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);
FuzzySystems 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.3540 -0.1770 - 0.3066i -0.1770 + 0.3066i % -0.5821 -0.2911 + 0.5041i -0.2911 - 0.5041i % d = 3.0011 0 0 % 0 -0.0006 + 0.0577i 0 % 0 0 -0.0006 - 0.0577i
FuzzySystems 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
“comfort might be three times as important as looks” • i = [ 1.0 3.]; • calculate pairwise matrix, using imp2pc • p = imp2pc(i) • Calculate hedge value, using pc2hed • h = pc2hed(p) = 1 0.3333 3 1 FuzzySystems ToolBox, Mark Beale and Howard Demuth Importance to Hedge: Example = 0.5 1.5
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 FuzzySystems ToolBox, Mark Beale and Howard Demuth Importance to Hedge: Example
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. FuzzySystems ToolBox, Mark Beale and Howard Demuth Perron Decision Making
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 FuzzySystems ToolBox, Mark Beale and Howard Demuth Perron Decision Making: Example
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” FuzzySystems ToolBox, Mark Beale and Howard Demuth Zimmerman-Zysno Decision Making
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.” FuzzySystems 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 FuzzySystems 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. FuzzySystems ToolBox, Mark Beale and Howard Demuth Zimmerman-Zysno Decision Making (Cont.)
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! FuzzySystems ToolBox, Mark Beale and Howard Demuth Fuzzy Decision Making
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.” FuzzySystems 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); FuzzySystems 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 FuzzySystems 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 FuzzySystems ToolBox, Mark Beale and Howard Demuth Application: Pricing Decision
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 FuzzySystems 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 FuzzySystems 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] FuzzySystems ToolBox, Mark Beale and Howard Demuth Personal Decision: Choosing a Car
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. FuzzySystems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company
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. FuzzySystems 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 FuzzySystems 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 FuzzySystems 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 FuzzySystems 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) FuzzySystems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.)
FuzzySystems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.)
FuzzySystems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.)
FuzzySystems ToolBox, Mark Beale and Howard Demuth Application: Selecting a Marketing Company (Cont.)