450 likes | 587 Vues
This article explores the application of fuzzy decision-making systems to select the best shoes based on specific objectives and constraints. It illustrates how fuzzy objectives (e.g., attractiveness and comfort) and crisp constraints (e.g., size and budget) can be integrated into a MATLAB-based automated decision-making framework. The process involves defining multiple shoe options, grading them according to fuzzy and crisp criteria, and finally selecting the optimal choice based on the highest grade from the constraints and objectives.
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.)