ebook img

Multiple Criteria Decision Aid. Methods, Examples and Python Implementations PDF

179 Pages·2018·2.076 MB·english
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Multiple Criteria Decision Aid. Methods, Examples and Python Implementations

Jason Papathanasiou • Nikolaos Ploskas Multiple Criteria Decision Aid Methods, Examples and Python Implementations 123 JasonPapathanasiou NikolaosPloskas DepartmentofBusinessAdministration CarnegieMellonUniversity UniversityofMacedonia Pittsburgh,PA,USA Thessaloniki,Greece ISSN1931-6828 ISSN1931-6836 (electronic) SpringerOptimizationandItsApplications ISBN978-3-319-91646-0 ISBN978-3-319-91648-4 (eBook) https://doi.org/10.1007/978-3-319-91648-4 LibraryofCongressControlNumber:2018942889 MathematicsSubjectClassification:90,90C29,90C70,90C90 ©SpringerInternationalPublishingAG,partofSpringerNature2018 Foreword I am particularly happy to write this foreword, for several reasons. First, I appre- ciate the work done by Jason Papathanasiou and Nikolaos Ploskas to propagate multicriteriadecisionaidinclasses,tomakestudentsthinkabouttheconsequences oftheirdecisions,andtopromotetheuseofmulticriteriamethodsinactualdecision problems.InspiredbythefamousquotebytheFrenchwriterandpoliticianAndré Malraux, I am sure that the twenty-first century will be ethical or it will not be. Indeed,ethicsisessentialforthesurvivalofourworld.Decisionsshapeourfuture. Decisions are often difficult to make. Decisions can be good or bad. Decisions have often been poorly made, especially during the last decades. Today, we can observe the resulting crises all around the world. Many decisions are bad because theyrelyonasingle,ofteneconomic(costorprofit)criterion.Theycanbemadeon a qualitative basis (experience, expertise, etc.) or using unicriterion optimization models and methods. Anyway, they usually fail because they are shortsighted and biased: they do not take into account all the stakeholders, all the objectives that are essential for our future. As a crucial example, achieving sustainable development is impossible with a unicriterion approach. It calls for a multicriteria approach encompassing economic as well as social and environmental objectives. Multicriteriadecisionaidcanhelpustoachievebetter,moresustainabledecisions. Thisbookisanimportantsteptowardamorewidespreaduseofmulticriteriamodels andmethods. A second point is that the authors do not focus on a single method but rather reviewdifferentmulticriteriamethods.Itisimportanttounderstandthatthereexists noidealmulticriteriadecision-makingmethod.Insteadmanydifferentmethodshave beenproposedoverthelast50years.Eachofthemhasadvantagesandlimits.Each ofthemismakingspecificassumptionsaboutthetypeofthedecisionproblemand about the preferences of the decision makers. Choosing the “right” method also dependsontheproblemathand:theavailabilityofdata,thequalityofdata,thetype andnumberofdecisionmakers,therequirementsofthedifferentstakeholders,etc. Alltheseparametershaveanimpactonthechoiceofanappropriatemethod.With thisinmind,theauthorspresenttheprinciplesandthecharacteristicsofsixfamilies ofmethods.Thissetofmethodsisnotexhaustive;otherinterestingmethodsexistas well.However,thechoicethattheyhavemadereflectsthedifferenttypesofmethods currentlyavailableasgoodaspossible. TOPSIS and VIKOR are two compensatory aggregation methods that have been widely used during the recent years. They are simple to use and rather straightforwardtounderstand.PROMETHEEisawell-knownoutrankingmethod. It allows for partial compensation between criteria and has many extensions including among others advanced sensitivity analysis tools and the GAIA visual descriptivemodel.Itthusprovidesdecisionmakerswithamuchricherinformation attheexpenseofamorecomplexpreferencemodeling.TheSIRmethodisanother interesting extension of PROMETHEE. On the other hand, AHP is quite different as it is designed to work with qualitative input data and it is based on a very specific pairwise comparison principle. Many people have been critical about the theoreticalbasisofAHP.Yet,itisoneofthemostwidelyusedmulticriteriadecision aid methods. Finally, goal programming methods are based on the mathematical programmingmodel.Theyareanappropriatechoicewhendecisionsarerelatedto decisionvariableswhosebestvaluesshouldbedeterminedunderasetofconstraints. The lecture of this book will provide the reader with a quite good overview of existingmulticriteriadecision-makingmethodsandwithguidelinesforselectingan appropriate method for each decision problem. It is helpful for the practitioner as wellasfortheresearcherwishingtocomparedifferentapproachesandmethods. Finally, the authors provide reusable Python computer code for each of the methodspresentedinthebook.Theavailabilityofcomputersolutionsisessentialfor theuseofmulticriteriamethods.WhenIstartedworkingonmulticriteriamethods back in the 1980s, people had to rely on programming mainframe computers to implementmethods.Itwasdifficult,timeconsuming,andonlypossibleforpeople withconfirmedcomputerskills.Interactionwasverylimitedandcomputergraphics were nearly nonexistent. The advent of personal computers started a new era. Around1990,interactivecomputersoftware,suchasthePROMCALCimplementa- tionofPROMETHEE,appeared.Theymadeitpossibleforindividualuserswithout programming skills to apply multicriteria decision aid methods in actual decision processes.Progressively,moreapplicationsappearedandmethodsevolvedbasedon thefeedbackfromactualapplications.Attheturnofthecentury,graphicalinterfaces becamewidelyavailableandmoreadvanced,anduser-friendlysoftwareappeared, boosting even more the use of multicriteria methods. Today, most multicriteria methods are supported by specific software such as Visual PROMETHEE or Expert Choice (for AHP). Practitioners have powerful tools available to perform comprehensiveanddetailedanalysis.However,thesespecializedpiecesofsoftware do not make it easy to perform comparisons between different methods, to adapt methodstospecialdecisionproblems,ortotestnewdevelopmentsorextensionsof the methods. The Python code provided by the authors is an elegant and original solutiontotheseshortcomings.Itisopensource,canbemodifiedeasily,andrelies on a modern and easy-to-learn language available on multiple platforms. Only moderate computer skills are necessary to take advantage of it. Students will be able to use it to better understand the inner works of the methods and to develop moreadvancedprojects.Practitionerswillhaveawaytoadaptthemethodstotheir specific needs. Researchers will have the basis for analyzing the characteristics of themethods,forvalidatingtheoreticalexperiences,orfordevelopingnewmodules ormethods. In the compact format of this book, the authors manage to transmit essential informationneededtolearn,understand,andapplymulticriteriadecisionaid.They also provide interested readers with the means to practice, to test, and to validate theiracquiredknowledge. Πολλές ευχαριστίες στους Ιάσωνα και Νικόλαο για αυτό το υπέροχο βιβλίο! (ManythankstoJasonandNikolaosforthiswonderfulbook!) Brussels,Belgium BertrandMareschal May2017 Preface The Multiple Criteria Decision Aid (MCDA) discipline is growing rapidly as the numberofpublicationsintheliteraturesoaredduringtherecentyears.Itissuccess- fullyappliedinallkindsofscientificdomainsandnumerousMCDAmethodologies exist with an even larger number of variations available. The rationale behind this book is something that the authors were able to identify at a quite early stage on theirengagementinthefieldofMCDA.Andthatisthat,asalreadysaid,thereisa lotofresearchavailableintheliterature;howevermuchofitisdifficulttointerpret or be exploited by the nonexpert researcher, practitioner, or academic. This is an applied field of research and people need to be able to fully understand each step ofthemethodologiesandimplementthemeasily,coherently,andmoreimportantly correctly. ThemainfeatureofthisbookisthepresentationofavarietyofMCDAmethods. This book includes the thorough theoretical and computational presentation of six MCDAmethods: • TOPSIS • VIKOR • PROMETHEE • SIR • AHP • GoalProgramming The novelty of this book is that the presentation of each method is focused on threeaspects: • Initially, the theoretical background is presented for each method including variantsthathavebeenproposedintheliterature. • Secondly,athoroughnumericalexampleispresentedforeachmethod. • Finally,aPythoncodeispresentedtofullycoverthepresentationofeachmethod. The Python implementations that are presented in this book are as simple as possible. This book is addressed to students, scientists, and practitioners. Students will learnvariousMCDAmethodsthroughillustrativeexamples,whiletheywillbeable tosolvetheexamplesusingthePythoncodesgiveninthisbook.Thisbookcovers thoroughly a course on Multicriteria Decision Analysis whether or not Python is used.Scientistsandpractitionerswillhaveabookintheirlibrarythatpresentsmany differentMCDAmethodsandtheirvariants. The book is organized in six chapters. A simple, yet important method in the MCDA pantheon is presented in the first chapter, namely TOPSIS. The following chapter is about a very similar method called VIKOR, a method that recently has gained much popularity. The algorithms in both cases have a number of distinctstepsandvariousothertechniquesthatcanbeusedtomodifytheclassical versions of the methods, which are also naturally presented. The fuzzy variations areincludedtoo,aswellasthegroupdecision-makingextensions.Thethirdchapter focuses on PROMETHEE, a well-known member of the outranking family of methods.PROMETHEEIandIIarefullyanalyzedandthenthetextproceedswith PROMETHEE V as well as short references to the GAIA method and the group decision-making PROMETHEE procedure. SIR is next, a method that integrates both TOPSIS and PROMETHEE ideas and could be actually considered as a generalization of PROMETHEE. This is a relative new member of the MCDA portfolio, but the authors feel that SIR could in time make a difference. A book about MCDA cannot be complete if it does not include the AHP method. Despite itssomewhatcontroversialstatuswithinthebroaderMCDAcommunity,AHPhas proven to be a very popular method, perhaps the most popular. This is a reason enough for the authors to include a chapter on AHP in this volume including a discussiononthevariationsandsomeshortcomingsofthemethod.Thefinalchapter is about goal programming, which is based actually on the linear programming principles; the classical approach is complemented in this book by the weighted, lexicographic, and Chebyshev versions. Appendix includes the revised Simos methodforthecalculationoftheweightsassociatedwiththecriteriainanMCDA model, a sometimes rather difficult step during the model formulation. Important methodologies(likeELECTRE,MAUT,ANP,andmultipleobjectiveprogramming) are not included and the authors fully acknowledge this shortcoming; if all goes well,thisisexpectedtoberectifiedinafuture,secondeditionofthepresentvolume. VarioussoftwarepackagesexistformanyMCDAmethods,bothproprietaryand free.Inallthechaptersofthisbook,codeisprovidedforeachandeverystepofthe procedures,andthisisalsoreadilyavailableonthebookwebsite.Theprogramming languageusedisPython,amodernlanguagewithanumerousandrobustuserbase. The authors assume a basic knowledge of programming principles and especially of the Python language by the reader; however, they have tried to keep the code as simple as possible. Early on, they decided that important capabilities of the languageliketheobject-orientedprogrammingfeatures,decoratorsoriterators,are not actually important for the purpose of this book. This is a book intended not only for computer science specialists but also for researchers from every field of science that need tools in order to model first and then solve a particular problem thattheyneedtotackleusinganMCDAmethod.Pythoniswellsuitedforthistask; the authors pondered at the beginning of this endeavor using another fully object- orientedprogramminglanguagelikeJava,butthiswouldneedlesslycomplicatethe code. The code is kept as simple as possible but is not simplistic; it is divided in modules and the reader is indeed required to have some knowledge of Python anditsparticularanduniquefeatures.Commentsareincludedinthecode,aswell as commentary on the main text and this combined with the ability of Python to produce very clearly defined and readable code should result in easily read, understood,andappliedcodelistings.Moreover,thereadersareverywelcomeand actually are encouraged to use, modify, and extend the code to better suit their particulardemands. All of the Python packages included in the book are free and open source as is thelanguageitself;thiswasanotherprerequisitefirmlysetbytheauthorsearlyon. Thereisnoproprietarycodeanywhere;theideaisthateveryoneinterestedshouldbe abletousethecodeinthisbookwithoutrestrictions.ThePythonpackagesincluded andnecessaryforsomeofthecodelistingsinthisbookare: • graphviz:alibraryforcreatingandrenderinggraphdrawings • Matplotlib:alibraryusedforplottingtheresultsoftheMCDAmethods • PuLP: an open-source Python-based linear programming solver that allows the usertooptimizemathematicalprogrammingmodels • Pyomo:anopen-sourcecollectionofPythonsoftwarepackagesforformulating optimizationmodels Theauthorswouldliketothankthepublisher’steamfortheirhelpandpatience during this endeavor and Professor Bertrand Mareschal for agreeing to write the foreword to this book. They also hope that the international research community will find the book interesting and of high standards. For any mistakes in the text the authors, of course, acknowledge exclusive and full responsibility. All codes andaccompaniedmaterialofthisbookcanbedownloadedfromhttps://github.com/ springer-math/Multiple-Criteria-Decision-Aid/. Thessaloniki,Greece JasonPapathanasiou Pittsburgh,PA,USA NikolaosPloskas April2017 Contents 1 TOPSIS........................................................................ 1 1.1 Introduction............................................................. 1 1.2 Methodology............................................................ 2 1.2.1 NumericalExample ........................................... 4 1.2.2 PythonImplementation ....................................... 6 1.2.3 RankReversal ................................................. 12 1.3 FuzzyTOPSISforGroupDecisionMaking .......................... 14 1.3.1 Preliminaries:ElementsofFuzzyNumbersTheory......... 14 1.3.2 FuzzyTOPSISMethodology ................................. 16 1.3.3 NumericalExample ........................................... 20 1.3.4 PythonImplementation ....................................... 22 References..................................................................... 28 2 VIKOR........................................................................ 31 2.1 Introduction............................................................. 31 2.2 Methodology............................................................ 32 2.2.1 NumericalExample ........................................... 35 2.2.2 PythonImplementation ....................................... 38 2.3 FuzzyVIKORforGroupDecisionMaking........................... 40 2.3.1 Preliminaries:TrapezoidalFuzzyNumbers.................. 40 2.3.2 FuzzyVIKORMethodology.................................. 42 2.3.3 NumericalExample ........................................... 45 2.3.4 PythonImplementation ....................................... 46 References..................................................................... 54 3 PROMETHEE ............................................................... 57 3.1 Introduction............................................................. 57 3.2 Methodology............................................................ 58 3.2.1 NumericalExample ........................................... 65 3.2.2 PythonImplementation ....................................... 71 3.2.3 VisualDecisionAid:TheGAIAMethod .................... 77 3.3 PROMETHEEGroupDecisionSupportSystem ..................... 78 3.4 PROMETHEEV ....................................................... 80 3.4.1 NumericalExample ........................................... 85 3.4.2 PythonImplementation ....................................... 86 References..................................................................... 87 4 SIR............................................................................. 91 4.1 Introduction............................................................. 91 4.2 Methodology............................................................ 91 4.2.1 NumericalExample ........................................... 98 4.2.2 PythonImplementation ....................................... 101 References..................................................................... 107 5 AHP............................................................................ 109 5.1 Introduction............................................................. 109 5.2 Methodology............................................................ 110 5.2.1 NumericalExample ........................................... 114 5.2.2 PythonImplementation ....................................... 117 5.2.3 RankReversal ................................................. 124 References..................................................................... 127 6 GoalProgramming .......................................................... 131 6.1 Introduction............................................................. 131 6.2 ClassicalGoalProgramming........................................... 132 6.2.1 NumericalExample ........................................... 138 6.2.2 PythonImplementation ....................................... 143 6.3 WeightedGoalProgramming.......................................... 146 6.3.1 NumericalExample ........................................... 148 6.3.2 PythonImplementation ....................................... 149 6.4 LexicographicGoalProgramming..................................... 151 6.4.1 NumericalExample ........................................... 152 6.4.2 PythonImplementation ....................................... 155 6.5 ChebyshevGoalProgramming ........................................ 158 6.5.1 NumericalExample ........................................... 159 6.5.2 PythonImplementation ....................................... 161 References..................................................................... 163 Appendix:RevisedSimos ....................................................... 165 A.1 Introduction............................................................. 165 A.2 Methodology............................................................ 165 A.2.1 NumericalExample ........................................... 167 A.2.2 PythonImplementation ....................................... 168 References..................................................................... 169 Index............................................................................... 171

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.