Volume 324
International Series in Operations Research & Management Science
Series Editor
Camille C. Price
Department of Computer Science, Stephen F. Austin State University, Nacogdoches, TX, USA
Editorial Board
Emanuele Borgonovo
Department of Decision Sciences, Bocconi University, Milan, Italy
Barry L Nelson
Department of Industrial Engineering & Management Sciences, Northwestern University, Evanston, IL, USA
Bruce W. Patty
Veritec Solutions, Mill Valley, CA, USA
Michael Pinedo
Stern School of Business, New York University, New York, NY, USA
Robert J. Vanderbei
Princeton University, Princeton, NJ, USA
Associate Editor
Joe Zhu
Foisie Business School, Worcester Polytechnic Institute, Worcester, MA, USA
Founding Editor
Frederick S. Hillier
Stanford University, Stanford, CA, USA
The book series International Series in Operations Research and Management Science encompasses the various areas of operations research and management science. Both theoretical and applied books are included. It describes current advances anywhere in the world that are at the cutting edge of the field. The series is aimed especially at researchers, advanced graduate students, and sophisticated practitioners.
The series features three types of books:
Advanced expository books that extend and unify our understanding of particular areas.
Research monographs that make substantial contributions to knowledge.
Handbooks that define the new state of the art in particular areas. Each handbook will be edited by a leading authority in the area who will organize a team of experts on various aspects of the topic to write individual chapters. A handbook may emphasize expository surveys or completely new advances (either research or applications) or a combination of both.
The series emphasizes the following four areas:
Mathematical Programming : Including linear programming, integer programming, nonlinear programming, interior point methods, game theory, network optimization models, combinatorics, equilibrium programming, complementarity theory, multiobjective optimization, dynamic programming, stochastic programming, complexity theory, etc.
Applied Probability: Including queuing theory, simulation, renewal theory, Brownian motion and diffusion processes, decision analysis, Markov decision processes, reliability theory, forecasting, other stochastic processes motivated by applications, etc.
Production and Operations Management: Including inventory theory, production scheduling, capacity planning, facility location, supply chain management, distribution systems, materials requirements planning, just-in-time systems, flexible manufacturing systems, design of production lines, logistical planning, strategic issues, etc.
Applications of Operations Research and Management Science: Including telecommunications, health care, capital budgeting and finance, economics, marketing, public policy, military operations research, humanitarian relief and disaster mitigation, service operations, transportation systems, etc.
This book series is indexed in Scopus.
More information about this series at https://link.springer.com/bookseries/6161
Raymond Bisdorff
Algorithmic Decision Making with Python Resources
From Multicriteria Performance Records to Decision Algorithms via Bipolar-Valued Outranking Digraphs
Logo of the publisher
Raymond Bisdorff
Luxembourg City, Luxembourg
ISSN 0884-8289 e-ISSN 2214-7934
International Series in Operations Research & Management Science
ISBN 978-3-030-90927-7 e-ISBN 978-3-030-90928-4
https://doi.org/10.1007/978-3-030-90928-4
The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2022
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
This book is dedicated to my colleague and dear friend, the late Prof. Marc Roubens.
Preface
The reader will find in this monograph a series of tutorials and advanced topics originally written over the last decade as documentation parts for the Digraph3 collection of Python modules. These programming resourceslike the outrankingDigraphs modulewere essentially used both for the computational verification of decision algorithms and for the preparation and illustration of a masters course on algorithmic decision theory taught at the University of Luxembourg from 2010 to 2020. Some resources, like the randomNumbers module, served for preparing and illustrating the lectures of a computational statistics course. Curious readers will also discover some resourcesthe arithmetics moduleused for preparing and illustrating a first semester course on discrete mathematics.
The Digraph3 Python programming resources are useful in the field of algorithmic decision theory and more specifically for the outranking approach of multiple-criteria decision aiding (MCDA). In this latter scientific field, we address essentially three kinds of usage.
First, we present algorithms and illustrate computing tools for solving either a multiple-criteria first choice selection or a dual last choice rejection problem. We also tackle the problem of how to list a set of items with multiple incommensurable performance criteria either from the best to the worst (ranking problem) or from the worst to the best (ordering problem). Finally, we present order-statistical algorithms for relative or absolute quantiles rating of multiple-criteria performance records.
It is necessary to mention that the Digraph3 resources do not provide a professional Python software library. The collection of Python modules I describe in this book was not built following any professional software development methodology. The design of classes and methods was kept as simple and elementary as was opportune for the author. Sophisticated and cryptic overloading of classes, methods and variables is more or less avoided all over. A simple copy, paste and ad hoc customisation development strategy was generally preferred. As a consequence, the Digraph3 modules keep a large part of independence. Furthermore, the development of the Digraph3 modules being spread over two decades, the programming style did evolve with growing experience and the changes and enhancement coming up with the ongoing new releases of the standard Python3 libraries.