English

not defined

no text concepts found

MONOGRAFIES DE L’INSTITUT D’INVESTIGACIÓ EN INTEL·LIGÈNCIA ARTIFICIAL Number XXXII Institut d’Investigació en Intel·ligència Artificial Consell Superior d’Investigacions Cientı́fiques Computationally Manageable Combinatorial Auctions for Supply Chain Automation Andrea Giovannucci Foreword by Juan Antonio Rodriguez-Aguilar and Jesus Cerquides 2008 Consell Superior d’Investigacions Cientı́fiques Institut d’Investigació en Intel·ligència Artificial Bellaterra, Catalonia, Spain. Series Editor Institut d’Investigació en Intel·ligència Artificial Consell Superior d’Investigacions Cientı́fiques Foreword by Juan Antonio Rodriguez-Aguilara and Jesus Cerquidesb Institut d’Investigació en Intel·ligència Artificial Consell Superior d’Investigacions Cientı́fiques b Departament de Matemàtica Aplicada y Anàlisi Universitat de Barcelona a Volume Author Andrea Giovannucci Institut d’Investigació en Intel·ligència Artificial Consell Superior d’Investigacions Cientı́fiques Institut d’Investigació en Intel·ligència Artificial Consell Superior d’Investigacions Cientı́fiques c 2008 by Andrea Giovannucci NIPO:653-08-087-X ISBN:978-84-00-08666-4 Dip. Legal: B-30348-2008 All rights reserved. No part of this book may be reproduced in any form or by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher. Ordering Information: Text orders should be addressed to the Library of the IIIA, Institut d’Investigació en Intel·ligència Artificial, Campus de la Universitat Autònoma de Barcelona, 08193 Bellaterra, Barcelona, Spain. I dedicate this piece of life to my father Alberto, my mother Carla, and my brother Marco. Contents Foreword xix Abstract xxi Acknowledgements 1 2 3 xxiii Introduction 1.1 A hypothesis for the future: Wikinomics . . . . . . . . . 1.2 With the feet in the air & the head on the ground . . . . . 1.3 Supply Chain and Supply Chain Management . . . . . . 1.4 The Problem . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Optimising make-or-buy decisions . . . . . . . . 1.4.2 Optimising make-or-buy-or-collaborate decisions 1.5 Contributions . . . . . . . . . . . . . . . . . . . . . . . 1.6 Dissertation Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . 1 . 3 . 6 . 7 . 7 . 13 . 17 . 20 Mathematical Background 2.1 Linear and Integer Programming . . . . . . 2.1.1 Linear Programming . . . . . . . . 2.1.2 Integer Programming . . . . . . . . 2.2 Multi-sets . . . . . . . . . . . . . . . . . . 2.2.1 Operations on Multisets . . . . . . 2.3 Petri Nets . . . . . . . . . . . . . . . . . . 2.3.1 Reachability . . . . . . . . . . . . 2.3.2 The state equation . . . . . . . . . 2.3.3 State equation and reachability . . . 2.4 Preliminaries on binary relations and graphs 2.4.1 Relations . . . . . . . . . . . . . . 2.4.2 Graphs and Paths . . . . . . . . . . 2.4.3 Order relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 23 23 24 26 27 27 31 32 33 34 35 36 37 Related Work 39 3.1 Auctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.1.1 Taxonomy of Auctions . . . . . . . . . . . . . . . . . . . . . . 40 ix 3.2 . . . . . . . . . . . . . . . . . . 41 42 42 43 44 45 46 47 49 MUCRAtR 4.1 Beyond Combinatorial Auctions . . . . . . . . . . . . . . . . . . . . 4.2 The problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Communicating the RFQ . . . . . . . . . . . . . . . . . . . . 4.2.2 Selecting the optimal decision . . . . . . . . . . . . . . . . . 4.3 A first attempt: Place/Transition Nets . . . . . . . . . . . . . . . . . 4.3.1 Modelling the internal production structure . . . . . . . . . . 4.3.2 Incorporating Bids . . . . . . . . . . . . . . . . . . . . . . . 4.4 Weighted Place Transition Nets . . . . . . . . . . . . . . . . . . . . . 4.4.1 WPTNSs and WPTNs . . . . . . . . . . . . . . . . . . . . . 4.4.2 Dynamics of WPTNs . . . . . . . . . . . . . . . . . . . . . . 4.5 Representing auction outcomes with WPTNs . . . . . . . . . . . . . 4.5.1 The Transformability Network Structure . . . . . . . . . . . . 4.5.2 The Auction Net . . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Constrained Maximum Weight Occurrence Sequence Problem 4.6 The Winner Determination Problem . . . . . . . . . . . . . . . . . . 4.7 Solving the WDP by means of IP . . . . . . . . . . . . . . . . . . . . 4.7.1 Solving the CMWOSP by means of IP . . . . . . . . . . . . . 4.7.2 The IP Formulation in practise . . . . . . . . . . . . . . . . . 4.7.3 Comparison with a traditional MUCRA IP solver . . . . . . . 4.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 51 55 56 57 58 58 62 65 66 67 71 71 72 74 75 77 77 79 81 81 Mixed Multi unit Combinatorial Auctions 5.1 Beyond CAs for Supply Chain Formation 5.2 The problem . . . . . . . . . . . . . . . . 5.3 Bidding Language . . . . . . . . . . . . . 5.3.1 Supply Chain Operation . . . . . 5.3.2 Valuations . . . . . . . . . . . . . 5.3.3 Atomic Bids . . . . . . . . . . . 5.3.4 Combinations of Bids . . . . . . 5.3.5 Representing Quantity Ranges . . 5.3.6 Expressive Power . . . . . . . . . 5.3.7 Examples of Bids . . . . . . . . . 5.4 Winner Determination . . . . . . . . . . 5.4.1 Informal Definition . . . . . . . . 5.4.2 Formal Definition . . . . . . . . . . . . . . . . . . . . . . 83 84 87 89 90 93 95 95 96 97 98 100 101 101 3.3 3.4 4 5 Combinatorial Auctions . . . . . . . . . . . . . . . . . 3.2.1 Mechanism Design . . . . . . . . . . . . . . . 3.2.2 Bidding Languages . . . . . . . . . . . . . . . 3.2.3 Winner Determination Problem . . . . . . . . 3.2.4 Test Suites . . . . . . . . . . . . . . . . . . . Supply Chain Scheduling and Supply Chain Formation 3.3.1 Supply Chain Scheduling and Planning . . . . 3.3.2 Supply Chain Formation . . . . . . . . . . . . Conclusions . . . . . . . . . . . . . . . . . . . . . . . x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 5.6 6 7 8 5.4.3 Mechanism Design . . . . . . . . . . . . . . . . . . . . . . . . 104 Subsumed Auction Models . . . . . . . . . . . . . . . . . . . . . . . . 105 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Solving the MMUCA Winner Determination Problem 6.1 Mapping MMUCA to WPTN . . . . . . . . . . . . . . 6.1.1 The intuitions behind the mapping . . . . . . . 6.1.2 Representing Bids . . . . . . . . . . . . . . . 6.1.3 The Mixed Auction Net . . . . . . . . . . . . 6.1.4 Expressing the MMUCA WDP as a CMWOSP 6.1.5 Solving the MMUCA WDP with IP . . . . . . 6.1.6 Advantages of the mapping to CMWOSP . . . 6.2 Solving the WDP on Cyclic Mixed Auction Nets . . . 6.2.1 Modifying the representation . . . . . . . . . . 6.2.2 The general IP formulation . . . . . . . . . . . 6.3 Computational Complexity . . . . . . . . . . . . . . . 6.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 112 112 115 119 122 131 133 135 137 139 142 142 Connected Component-based Solver 7.1 Motivation and Example . . . . . . . . . . . . . . . . . . . . 7.2 SCO Dependencies and Solution Template . . . . . . . . . . . 7.2.1 The SCO Dependency Graph (SDG) . . . . . . . . . . 7.2.2 Computing the equivalence classes . . . . . . . . . . . 7.2.3 Order Enforcing Function . . . . . . . . . . . . . . . 7.2.4 Partial Sequences . . . . . . . . . . . . . . . . . . . . 7.3 The improved IP formulation . . . . . . . . . . . . . . . . . . 7.3.1 The Model . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Eliminating some Equations . . . . . . . . . . . . . . 7.3.3 The CMWOSP-based solver is a special case of CCIP 7.3.4 CCIP amounts to DIP when the SDG is connected . . 7.4 Equivalence between solvers DIP and CCIP . . . . . . . . . . 7.4.1 Subsequences . . . . . . . . . . . . . . . . . . . . . . 7.4.2 Reordering Sequences . . . . . . . . . . . . . . . . . 7.4.3 Order Fulfilling Sequences . . . . . . . . . . . . . . . 7.4.4 Properties of partial sequences of SCOs . . . . . . . . 7.4.5 Equivalence between solvers . . . . . . . . . . . . . 7.4.6 Proof of theorem 7.1 . . . . . . . . . . . . . . . . . . 7.4.7 Proof of theorem 7.2 . . . . . . . . . . . . . . . . . . 7.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 146 153 153 157 157 159 161 162 164 167 168 168 168 170 172 172 176 177 183 184 Empirical Evaluation 8.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 The Artificial Data Set Generator . . . . . . . . . . . . . 8.2.1 Bid Generator Requirements . . . . . . . . . . . 8.2.2 An Algorithm for Artificial Data Set Generation 8.3 Empirical Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 187 188 188 193 198 xi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 9 8.3.1 DIP versus CCIP . . . . . . . . . . . . . . . . . . . . . . . . . 198 8.3.2 Performances of the CMWOSP-based solver . . . . . . . . . . 200 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Conclusions and Future Work 9.1 Conclusions . . . . . . . . . . . . . . 9.1.1 Make-or-Buy Decisions . . . 9.1.2 Make-Or-Buy-Or-Collaborate 9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 203 203 207 212 A OPL models of the MMUCA WDP solvers 215 A.1 The CMWOSP-based Solver . . . . . . . . . . . . . . . . . . . . . . . 215 A.2 The DIP solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 A.3 The CCIP Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 xii List of Figures 1.1 Apple pie production flow. . . . . . . . . . . . . . . . . . . . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 Example of a Place Transition Net. . . . . . . . Example of a Place Transition Net Structure. . . Place Transition Net of figure 2.1 after firing t1 . Example of a Graph . . . . . . . . . . . . . . . A graph and the corresponding SCCs . . . . . . The strict order ≺ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 29 31 36 37 38 4.1 4.2 4.3 4.4 4.5 4.6 4.7 PTNS associated to example 4.1. . . . . . . . . . . . . . P T NI associated to example 4.1. . . . . . . . . . . . . P T NE . Incorporating bids into the P T NI of figure 4.2. WPTNS associated to example 4.1. . . . . . . . . . . . . WPTN associated to example 4.1. . . . . . . . . . . . . Incorporating bids into the WPTN of figure 4.5. . . . . . Auction Net of the MUCRAtR in example 4.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 60 62 66 68 69 72 5.1 TNS associated to example 5.1. . . . . . . . . . . . . . . . . . . . . . . 90 6.1 6.2 6.3 6.4 6.5 6.6 Example of an SCO represented as a transition in a WPTN. Example of bids in a MMUCA represented as a WPTN. . . Bids on bundles of SCOs. . . . . . . . . . . . . . . . . . . XOR of atomic bids . . . . . . . . . . . . . . . . . . . . . XOR-of-OR of atomic bids . . . . . . . . . . . . . . . . . Example of a MMUCA in form of WPTN. . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 113 116 118 134 136 7.1 7.2 7.3 7.4 Graphical representation for the SCOs in bids in equations 7.1 to 7.8 A PTN structure, the corresponding SDG, SCC, and Order Relation. J(z̃) is forwardly swapped with J(m̃) in g. . . . . . . . . . . . . . Part of the SDG of example 7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 155 173 174 8.1 8.2 8.3 8.4 Components of a car engine. . . . . . . . . . . . . Market SCOs for a car’s engine. . . . . . . . . . . Modules of the bid generator and their interaction. . Comparison between DIP and CCIP. . . . . . . . . . . . . . . . . 190 191 193 199 xiii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8.5 8.6 Number of instances solved within the time limit (4800 sec.). . . . . . . 200 Experiments with acyclic network topologies (reduced time scale). . . . 201 xiv List of Tables 1.1 1.2 Summary of unfulfilled requirements. . . . . . . . . . . . . . . . . . . 12 Requirements associated to make-or-buy-or-collaborate decisions. . . . 17 4.1 4.2 4.3 4.4 4.5 4.6 Summary of requirements for the make-or-buy decision problem. Request for quotes for different scenarios. . . . . . . . . . . . . Execution of a manufacturing operation on P T NI . . . . . . . . Applying the firing sequence J = hB1 , makedoughi. . . . . . Cost of executing a manufacturing operation on a WPTN. . . . . Applying the firing sequence J = hB1 , makedoughi. . . . . . 5.1 5.2 Requirements associated to the make-or-buy-or-collaborate problem. . . 85 Requirements associated to the make-or-buy-or-collaborate problem. . . 109 6.1 Resume of the IP formulation of solver DIP. . . . . . . . . . . . . . . . 141 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14 7.15 Example of solution found by solver DIP. . . . . . . . . . . . . . . . . Solutions equivalent to the solution in table 7.1 with same relative order. Solutions equivalent to the solutions in table 7.1 with different order. . . Solutions equivalent to the solutions in table 7.3 pushing t1 ahead. . . . Solutions equivalent to the solutions in table 7.3 pushing t2 ahead. . . . Assigning positions to t0 within a solution sequence. . . . . . . . . . . Positions within the solution sequence assigned a-priori to SCOs. . . . . Positions assigned a-priori without constraints. . . . . . . . . . . . . . Interchanging the positions of t1 and t0 . . . . . . . . . . . . . . . . . . D-bounded enforcing function for example 7.1. . . . . . . . . . . . . . Partial sequence fulfilling (K ′ ) and not fulfilling (K ′ ) S in table 7.10. . Resume of the IP formulation of solver CCIP. . . . . . . . . . . . . . . Example of solution found by solver DIP. . . . . . . . . . . . . . . . . Examples of S-fulfilling (K ′ ) and not S-fulfilling (K ′′ ) reordering of K. Resume of the IP formulation of solver CCIP. . . . . . . . . . . . . . . 8.1 Artificial generator parameter values. . . . . . . . . . . . . . . . . . . . 198 9.1 9.2 Requirements of to the make-or-buy problem. . . . . . . . . . . . . . . 204 Requirements of the make-or-buy-or-collaborate problem. . . . . . . . 207 xv . . . . . . . . . . . . . . . . . . . . . . . . 53 57 61 64 69 70 148 148 149 150 150 151 152 153 156 158 161 164 168 170 178 xvi Nomenclature δ The overall number of SCOs mentioned anywhere in the bids with their multiplicities, page 102 ℓ Length of a valid solution sequence for a MMUCA, page 124 NG The set of multisets over the set G, page 102 D The multiset of the overall SCOs submitted by all bidders with their multiplicities, page 101 Dij The multiset of SCOs offered in bid Bidij , page 101 Iijk The input multiset of the SCO tijk , page 120 M Marking in a PTN, page 30 Mm The multiset indicating the resources available to the auctioneer at the m − th step of a production process, page 102 Oijk The output multiset of the SCO tijk , page 120 Uin The multiset indicating an auctioneer’s initial stock, page 102 Uout The multiset indicating an auctioneer’s final requirements, page 102 Σ It represents an allcation sequence, i.e. a sequence of SCOs, page 102 Bidij The j − th bid submitted by the i − th bidder, page 101 CT A vector representing the function CF S , page 77 CF S Cost associated to a firing sequence on a WPTN, page 68 G The set of goods at auction, page 102 Mk A vector representing a marking Mk , page 77 pij The valuation associated to bid Bidij , page 101 P T NE Place Transition Net representing bids and internal production structure, page 63 xvii P T NI Place Transition Nets representing an auctioneer’s internal production structure, page 60 T The set of the overall SCOs submitted by all the bidders disregarding their multiplicities, page 102 tijk The k − th SCO in the j − th bid submitted by the i − th bidder, page 101 DIP Direct Integer Programming, page 138 CCIP Connected Component Integer Programming, page 145 Auction Net WPTN representing the MUCRAtR decision space, page 72 CA Combinatorial Auction, page 41 CMWOSP Constrained Maximum Weight Occurrence Sequence Problem, page 74 ILP Integer Linear Programming. An optimisation technique, page 24 IP Integer Programming. See ILP, page 24 MMUCA Mixed Multi-unit Combinatorial Auction, page 104 MUCA Multiunit Combinatorial Auctions, page 41 MUCRA Multiunit Combinatorial Reverse Auctions, page 41 MUCRAtR Multi-unit Combinatorial Reverse Auction with transformability Relationships among goods, page 51 OR OR Bidding Language, page 42 PN Petri Nets, page 27 PTN Place Transition Nets, page 28 PTNS Place Transition Net Structure, page 28 SCC Strongly Connected Component, page 36 SCF Supply Chain Formation, page 47 SCO Supply Chain Operation, page 90 TNS Transformability Network Structure, page 54 WDP Winner Determination Problem, page 43 WPTN Weighted Place Transition Net, page 67 WPTNS Weighted Place Transition Net Structure, page 66 XOR XOR Bidding Language, page 42 xviii Foreword Nowadays we are witnessing an important transformation of the way organizations operate to fulfill their objectives. We are moving from monolithic structures to collaborative structures whose components tend to reduce their sizes. This means that we are moving toward the paradigm of virtual organizations. In this setting, the ability to quickly and efficiently collaborate to design, develop, produce and sell a new product has become a key competitive advantage. In this environment, enterprises face critical strategic decisions on whether to collaborate with other firms to complete some tasks across its supply chain. In this setting there is a need for an increased automation across the supply chain. Indeed, static and vertical integrated supply chains are quickly giving way to more flexible value chains composed of partners that can be assembled in real time to meet unique requirements. This thesis is the result of a pioneer work on automating the process of collaborative supply chain network formation. At this aim, it proposes a novel combinatorial auction model, the so-called Mixed Multi-Unit Combinatorial Auction, that supports not only to trade and exchange goods but also to trade and exchange manufacturing operations. This model has achieved international recognition, has opened a new line of research in our institute and shows a high potential for industrial application. We have been lucky to work with Andrea Giovannucci along these years. Our collaboration has been very fruitful and enjoyable both scientifically and personally. Thanks to his enthusiasm, generosity, friendliness, ambition for knowledge and team making capabilities, Andrea has been the PhD student every advisor would like to work with. We wish the reader an experience as pleasant as the one we had while advising the author. The supervisors Juan Antonio Rodrı́guez Aguilar and Jesús Cerquides xix xx Abstract The need for automating the process of supply chain formation is motivated by the advent of Internet technologies supporting B2B and B2C negotiations: the speed at which market requirements change has dramatically increased. In this scenario enterprises must become flexible in the process of product customisation and order fulfilment. This can be only achieved if the supply chain formation process is agile, and thus the need for automation. The main goal of this dissertation is to provide computationally efficient marketbased auction mechanisms for automating the process of optimal supply chain partner selection. This is achieved by means of two progressive, non-trivial extensions of combinatorial auctions (CA). On the one hand, we extend CAs to determine optimal outsourcing strategies. Thus, we provide computational means, via the so-called Multi-unit Combinatorial Auctions with Transformation Relationships (MUCRAtR), for an enterprise to optimise its makeor-buy decisions across the supply chain, namely to decide whether to outsource some production processes or not. At this aim, we add a new dimension to the goods at auction. A buyer can express its internal production and cost structure. Firstly, we introduce such information in the winner determination problem (WDP) so that an auctioneer/buyer can assess what goods to buy, from whom, and what internal operations to perform in order to obtain the required resources. In this way, an auctioneer can build his supply chain minimising its costs. Secondly, since the decision problem faced by the auctioneer is extremely hard, we also provide a formal framework to analyse the computational properties of the WDP and to facilitate the classification of WDPs, and hence to provide guidance for developing efficient solution algorithms. On the other hand, we propose a novel CA, the so-called Mixed Multi-unit Combinatorial Auction (MMUCA), that automates the process of collaborative supply chain network formation. The outcome of such a new auction is the coordinated plan of a totally integrated supply chain (the selection of a set of supply chain partners along with the ordered set of operations that each partner must perform). We manage to provide computational means to optimise make-or-buy-or-collaborate decisions, and therefore to tightly link sourcing, outsourcing, and collaboration strategies. In this context, make, buy, and collaborate mean that a stakeholder of the supply chain decides whether to perform a set of services or operations by himself (make), to outsource them (buy), or to perform them in collaboration with other stakeholders (collaborate). A MMUCA allows agents to bid for bundles of goods to buy, to sell, and for bundles of (manufacturing) xxi operations across the supply chain. One such operation can be regarded as a step in a production process, and thus winner determination in a MMUCA amounts to choosing the sequence in which the winning bids must be implemented while minimising total cost. Furthermore, we introduce a bidding language for MMUCAs and analyse the corresponding WDP. Finally, we succeed in providing very efficient optimisations to the MMUCA WDP, based on a formal analysis of its topological structure, which can found their practical application to actual-world scenarios. xxii Acknowledgements Innanzitutto grazie a tutta la mia famiglia, Carla, Alberto e Marco, per tutto il loro appoggio sia affettivo che economico in questo lungo e tortuoso viaggio che é stato il mio dottorato. Ai miei nonni, zii, zie e cugini che indirettamente hanno contribuito alla mia educazione e cultura. A mis directores Jesús y Juan Antonio por lo que me han enseñado, no sólo desde el punto de vista profesional y técnico, sino también humano y moral. Gracias por su amistad y comprensión a lo largo de los momentos dificı́les que he tenido durante estos años. Thanks a lot to Ulle Endriss for his unsubstitutable help and contribution to the core of my PhD. In particular, thanks for his help in ideating and subsequently formalising the MMUCA auction and the associated bidding language. A mi novia Ana, por el infinito apoyo moral y afectivo y por haber aguantado a un novio fantasma a lo largo de algunos meses. Gracias también a Arnau, Charo, y Cristina por el cariño y las enseñanzas que me han proporcionado. A Claudio Baccigalupo y Manuel Atencia por sus cuidadosas revisiones y sus inestimables consejos. En general, un agradecimiento a todo el IIIA, por la ayuda ocasional pedida y concedida en algunos temas difı́ciles. Por el trato profesional y amistoso recibidos. Gracias en particular a Carles Sierra, Adrián Perrau (Eidrien), Félix Bou, Pedro Meseguer, Ramón López de Mántaras, Lluı́s Godo, Enric Plaza, Dani Pollack, José Luis y Tito Cruz. Gracias a Bruno Rossell y Meritxell Vinyals por al ayuda en el desarrollo del software empleado en mis tesis y por los experimentos contenidos en esta tesis. Many thanks to Gopal, Nick, Raj, Luke, Michelle, Sebastian, Xanna, Jiggar and more people from Southampton. Thanks to their help, friendship, support and teaching I enjoyed a wonderful experience in Southampton. Grazie a tutti i miei amici italiani, senza i quali non sarei arrivato ad essere la persona che sono. Grazie per le lunghe chiacchierate, per le avventure vissute, e per essermi sempre stati vicini anche nella distanza. Grazie a Max, Francesca, Seve, Perrito, Ele, Michi, Checco Totti Abele, Andrea Calvi, e molti altri insostituibili amici. Gracias a todos mis amigos de Barcelona, por aguantar a un amigo inexistente durante algunos meses. Gracias también por la ayuda, los consejos, la amistad incondicionada que siempre me han proporcionado. Gracias a Lorenzo, Manu, Sofı́a, Adrián, Tito, Francesca, Pablo, Becky, Nolwenn, Perrito, Juan Antonio, Jesus, Jordi, Ana, Marcos, Helena, Javier (maestro), y muchos mas. xxiii Este trabajo ha sido parcialmente financiado por los proyectos de investigación (grants 2006-5-0I-099, TIN-2006-15662-C02-01, TIC-2003-08763-C02-01 and TIP2003-08763-C02-01) y por una beca I3P (I3P-BDP2003 o BEC.09.01.04/05-164). xxiv Chapter 1 Introduction The main goal of this dissertation is to provide computationally efficient market-based auction mechanisms for automating the process of optimal supply chain partner selection. This is achieved by means of two progressive, non-trivial extensions of combinatorial auctions (CA). On the one hand, we extend CAs to determine optimal outsourcing strategies. Thus, we aim at providing a useful tool to optimise make-or-buy decisions across the supply chain. On the other hand, we propose a novel CA that automates the process of collaborative supply chain network design, planning1, and formation. The outcome of such a new auction is the coordinated plan of a totally integrated supply chain (the selection of a set of supply chain partners along with the ordered set of operations that each partner must perform). Analogously, in the latter case we aim at providing a useful tool to optimise make-or-buy-or-collaborate decisions, and therefore to tightly link sourcing, outsourcing, and collaboration strategies. In this context, make, buy, and collaborate mean that a stakeholder of the supply chain decides whether to perform a set of services or operations by himself (make), to outsource them (buy), or to perform them in collaboration with other stakeholders (collaborate). This chapter is organised as follows. In section 1.1 we explain why some think that our economy is undergoing profound changes in the next years. In section 1.2, we go back to reality and explain what is currently changing in our economy and what is required to adapt to such changes. In section 1.3 we recall some concepts and terminology related to supply chain management. In section 1.4, we specify and thoroughly exemplify the problems we cope with in this PhD thesis. In section 1.5 we highlight the contributions of this dissertation with respect to the state-of-the-art. Finally, in section 1.6, we elaborate on the structure of this dissertation. 1.1 A hypothesis for the future: Wikinomics In his recent article, Burkeman (Burkeman, 2005) summarises and discusses the eyeopening new book of Don Tapscott called WIKINOMICS: How Mass Collaboration Changes Everything (Tapscott and Williams, 2006). According to Don Tapscott, a guru 1 We remark that supply chain planning consists in assessing who will do what and when in a supply chain. 1 2 Chapter 1. Introduction of the Web, “we have barely begun to imagine how the Internet will change the way we live and work”. We are living a revolution that is undermining the very basis of traditional economy. In his article, Burkeman recalls three examples of this transformation from the Wikinomics book: • Self-Organisers: China’s flourishing motorbike industry is not composed of big organised firms hiring thousand of employees and outsourcing tasks to small subcontractors. Instead, a myriad of smaller companies collaborate and self-organise in order to share risks and profits. Their representatives meet in tea-shops or in on-line places and jointly plan a product, to which they contribute with the service they are best at. Even the final assembly is a service. A “self-organised system of design and production” has emerged. • Prosumers: when amateurs began to hack the computerised parts at the heart of the Lego Mindstorm range (Shaeffer, 2007), the company initially threatened to sue them. Then, perceiving the wind of change, Lego started to encourage them to be prosumers, consumers that have an active role in the design of a product. This lead to an increased satisfaction of customers without harming the enterprise profit. • The new gold rush: the Gold mine at the Red Lake in Ontario, owned by Goldcorp, was in a terrible crisis in 1999. When the chief executive Rob McEwen heard a talk about Linus Torvald, the inventor of Linux, he came up with a revolutionary idea. If developers collaboratively code on the Web, why not share the mining activity on the web? Then, he put Goldcorp secret geological data on the web and set a 575,000 $ prize to reward the discovery of new gold veins in Red Lakes’s mine. Around 80 valid targets were identified and the company value turned from $100m to $9bn. Those three cases above aim at showing that the collaborative structure, recently emerged in social and collaborative networks as Wikipedia (Lih, 2003) and Sourceforge (SourceForge, S.F., 2007), could be far more radical and change the way we think about manufacturing. In his book, Tapscott introduces his revolutionary idea of “wikinomics”, an idea that originates in a work that dates back to 1937 (Coase, 1937). At that time, Ronald Coase, a Nobel prize economist, noticed something odd in capitalism. Capitalism predicates the free market and exchange. If capitalist theory was correct American or British people should do business among them as individuals in an open market, and not organise themselves in firms, as it happens. The motivation (Coase, 1937) is that making things requires collaboration, and that finding and linking up all the people who need to collaborate costs money. Companies emerge when it is cheaper gathering people, materials, and tools under the same roof, rather than going out looking for the best deal every time a few hours’ work is required. However, the Internet is radically lowering the cost of collaborating. Consequently, big companies are doomed to reduce their size in order to leave space to more agile and flexible collaborative structures. A symptom of this new collaborative reorganisation is that, for instance, large companies, from media outlets to clothes shops, are trying to make profit by incorporating final customers in the creation of their products. However, Wikinomics forecasts a further 1.2. With the feet in the air & the head on the ground 3 radical revolution: it is not given that the company will stay in the driving seat at all. Quoting Tapscott: “We are talking about a new means of production. Collaboration can occur at an astronomical scale, so if you can create an encyclopedia with a bunch of people, could you create a mutual fund, a motorcycle?”. Tapscott is not the only one prohetising a wiki future. For instance, Laubaucher and Malone (Laubacher and Malone, 2003) claim that “The most radical new organisational form, the virtual corporation, involves small firms and free-lancers, or even e-lancers — electronically connected free-lancers, who post their qualifications and find assignments on the Internet — joining forces on a temporary basis, working together on a project, then disbanding when the work is completed. Virtual corporations of this sort have long characterised film production and construction and are increasingly prevalent in the most dynamic and fastest-growing sectors of the economy — computers and telecommunications, entertainment, biotechnology.” Other terms employed to indicate analogous concepts are virtual corporation, virtual organisation (Mowshowitz, 2002), and extended enterprise (Dyer, 2000). 1.2 With the feet in the air & the head on the ground The provocative title quotes The Pixies’ song Where is my mind. It aims at highlighting the fact that wikinomics is a far goal. However, any revolution takes its time to entirely develop, and probably several intermediate steps are required to approach the new economy envisaged by Tapscott and Couse. Then, in this section we stay with the head on the ground and we analyse what is going on in the business world now. We will summarise what is changing and why. At the same time we will comment on the requirements that originate from such changes. We are witnessing an important transformation of the firm organisational structure. Today’s business world is experiencing a progressive disintegration of the traditional vertical integrity2 of the enterprises’ organisational structure. This is witnessed by a heavy increment in the use of outsourcing. Quoting Greaver (Greaver, 1999), “Outsourcing is the act of transferring some of an organisation’s recurring internal activities and decision rights to the outside providers, as set forth in a contract”. Outsourcing is one of the success keys of western economies and is widely employed. Indeed, a recent on-line news (DMReview.com online news, 2005) about outsourcing claims that, “According to a newly released IDC study, the worldwide BPO (Business Process Outsourcing) market is vibrant and brimming with opportunity. The comprehensive BPO report finds that worldwide BPO spending will experience a five-year compound annual growth rate (CAGR) of 10.9 percent, growing from $382.5 billion in 2004 to $641.2 billion in 2009. This forecast covers eight BPO markets: human resources, procurement, finance & accounting, customer service, logistics, sales & marketing, product engineering, and training”. Another on-line news (DMReview.com online news, 2006) says that “According to a newly released IDC study, the business outsourcing market progressed positively in 2005, experiencing a 33 percent increase in the volume of deals signed. [...]. Small and mid-size deals are fuelling growth. Underlying this trend is 2 In microeconomics and management the term vertical integration describes the degree to which a firm owns its upstream suppliers and its downstream buyers. 4 Chapter 1. Introduction an increase in the share of new deals versus extensions and renewals, which indicates that a growing number of new organisations are buying into the business outsourcing model. [...]. Manufacturing, financial services, and government verticals registered the strongest adoption of business outsourcing overall”. The trend is quite clear. We are moving from vertically integrated structures to collaborative structures whose components tend to reduce their sizes (Lucking-Reiley and Spulber, 2001; Hammer, 2001). This means that we are slowly moving towards the paradigm of virtual enterprises. This is a symptom endorsing the Wikinomics theory. Such transformation is due to many factors. Firstly, today’s business environment is getting tougher and tougher. Indeed, nowadays customers are increasingly demanding better and innovative goods, as well as progressively more customised products. This new situation entails some implicit production requirements and constraints like timeliness, convenience, responsiveness, quality, and reliability. Moreover, ever lower prices are imposed by a fierce market competition. Secondly, the rapid pace of innovation has entailed a shorter product and technology life cycle (for instance, the PC or phone industries where new models are introduced each 3 to 9 months), and an increased uncertainty in supply and demand. Notice that the presence of technology, in particular the Internet, has also made the work of modern organisations placeless. This has forced an increased specialisation of the operational activities across an organisation. Thirdly, we are experiencing a worldwide increment in competition (hypercompetition). We are fastly moving from a best-in-class to a best-in-world paradigm, barriers are dropping quickly, competition is just one click away from any customer. Companies that recently were in separate fields now compete in the same narrow market (for instance, Apple with the iPod efficiently entered into the MP3 player market). Finally, we are witnessing a rapid commoditisation of goods3, due to the rapid price decline and to the increased pressure for improved performances. Thus, the ability to quickly and efficiently design, develop, produce and sell a new product has become a key competitive advantage. That is why the structural integrity of organisations is breaking down; the traditional vertically integrated organisations, controlling as many of the production factors as possible, is being quickly replaced by better focused and more specialised organisations. An increased number of capable service providers, the pressure deriving from the hypercompetitivity, and the pervasive presence of technology impose a new strategic vision. As a result, new supply chain management (Simchi-Levi et al., 2000) strategies are emerging, like strategic outsourcing (Quinn and Hillmer, 1995; Greaver, 1999; Corbett, 2004) and collaborative supply chain network design (Viswanadham, 2002). Notice that the intersection between portions of supply chains of different firms is often non empty. For instance, original equipment manufacturers (OEM) are typical in rapidly chaining markets. The term original equipment manufacturer (OEM) refers to a company that sells a manufacturing component to another company, that in turn resells it as its own, usually as a part of a larger product. 3 In essence, commoditisation occurs as a good or service becomes undifferentiated across its supply base by the diffusion of the intellectual capital necessary to acquire or produce it efficiently. As such, many products which formerly carried premium margins for market participants have become commodities, such as generic pharmaceuticals and silicon chips (Schrage, 2007). 1.2. With the feet in the air & the head on the ground 5 In this environment, the selection of the right business partners is critical, which are quickly moving from the role of suppliers, manufacturers, customers, to the role of collaborators. Hence, many enterprises now face critical make-or-buy-or-collaborate strategic decisions across their supply chain: different types of actors, as component suppliers, contract manufacturers, service purchasers, logistic providers, and final customers have to be efficiently integrated into the supply chain. In particular, one of the main objectives of current supply chain management (Simchi-Levi et al., 2000) is to integrate as much as possible the back-end of the supply chain (its production and manufacturing portion) to the front-end (the final customer). Another fundamental requirement stemming from the business environmental changes explained above is a need for an increased automation across the supply chain. Indeed, static and vertically integrated supply chains are quickly giving way to more flexible value chains composed of partners that can be assembled in real time to meet unique requirements. This phenomenon is being accelerated by the Internet, that lowered the communication barriers transforming a game that was firm against firm into a game that is supply chain network against supply chain network (Viswanadham, 2002). A spectrum of possible solutions is possibly needed by enterprises. On the one extreme, companies must make decisions about whether to outsource part of their production processes (buy/make decisions) in business environments characterised by myriads of possible partners (lower barriers caused an increment in competition). On the other extreme of the spectrum, virtual enterprises may need agile decision support systems (DSSs) that allow them to automatically form self-organising supply chains. Indeed, we do believe that nowadays firms, or group of firms, require DSSs that allow them to nimbly and automatically select strategic business partners. With this goal, those DSSs should allow firms to: • automate the process of partner selection, optimising critical make-or-buy decisions across the supply chain (i.e. trading off decisions of internal vs external production) with myriads of potential partners. Clearly this entails a tight integration of the procurement and outsourcing strategies. • decide whether to collaborate with other firms to complete some tasks across its supply chain. In this case companies need to automate make-or-buy-orcollaborate critical decisions across the supply chain with myriads of potential partners. • automate the process of collaborative supply chain network design and planning with a large number of potential partners. In particular, the decision support should allow them to self-organise by allowing to: – integrate and coordinate all the supply chain stakeholders; – include component suppliers, contract manufacturers, logistic providers and final customers into the supply chain design process; – optimise the overall performance of the supply chain (i.e. not a local optimisation); Chapter 1. Introduction 6 – easily support mass customisation4; and – integrate potential suppliers and final customers into new product developments. Obviously, decisions like the ones considered above can emerge as long as the supply chain stakeholders collaborate and share information like capacity, schedule, and cost structures. However, full transparency and collaboration is rather unlikely. Then, all the previous requirements should come with the possibility to share only part of a stakeholder’s internal information, without being forced to reveal every piece of critical production information. With the above-mentioned requirements fulfilled, competitive companies could easily cope with a wide range of difficult business decisions: from the selection of optimal, tightly connected procurement, outsourcing, and collaboration strategies, to the formation of virtual enterprises. In the next section, we briefly introduce the definition of supply chain and we provide some terminology that will be useful in the remaining of the chapter. 1.3 Supply Chain and Supply Chain Management According to (Simchi-Levi et al., 2000), “In a typical supply chain, raw materials are procured and items are produced at one or more factories, shipped to warehouses, for intermediate storage, and then shipped to retailers and customers. [...] The supply chain, consists of suppliers, manufacturing centers, warehouses, distribution centers, and retail outlets.”. Supply chain management (SCM) “is a set of approaches utilised to efficiently integrate suppliers, manufacturers, warehouses, and stores, so that merchandise is produced and distributed at the right quantities, to the right locations, and at the right time, in order to minimise system-wide costs while satisfying service level requirements” (Simchi-Levi et al., 2000). One of the core objectives of the supply chain is to perform a global optimisation across the supply chain. But many features of the way businesses are run today prevent this from happening: the uncertainty underlying the supply, the demand, the transportation time, the vehicles and the tools breakdowns. Furthermore the various stakeholders across the supply chain locally maximise their utility disregarding the performances of the other elements within the supply chain. In fact, the different components often have even conflicting objectives. Traditional SCM deals with all these problems acting on different aspects of control: distribution network configuration, supply contracts, distribution strategies, supply chain integration and strategic partnering, inventory control, outsourcing and procurement strategies, information technology and DSSs, etc. In particular, aspects relevant to our work are: (1) outsourcing and procurement strategies considered in the first part of this dissertation; and 4 According to (Simchi-Levi et al., 2000) “mass customisation involves the delivery of a wide variety of customised goods or services quickly and efficiently at low cost”. 1.4. The Problem 7 (2) supply chain integration and strategic partnering, considered in the second part of the PhD thesis. Since our work mainly focuses on outsourcing issues, in what follows we provide some basic related terminology. Different operational aspects of the supply chain can be outsourced. More specifically, we classify the types of possible supply chain partners into four categories: • component suppliers, also called providers, that supply raw or intermediate goods across the supply chain; • contract manufacturers, that provide services or manufacturing operations across the supply chain; • service purchasers, that require services or manufacturing operations across the supply chain; • logistic providers, in charge of the transportation, distribution, and storage of raw, intermediate or manufactured goods; and • final customers, at the end of the supply chain, be them either retailers, or, in the new Internet era, final clients. In this dissertation we narrow the focus of the investigation to the collaboration of component suppliers, contract manufacturers, service purchasers, and final customers. We deem necessary the incorporation of the logistic portion into the problem. However, in this dissertation the collaboration with logistic providers is left out, and will be thoroughly discussed as a path of future work in chapter 9. Therefore, in this dissertation we assume that logistics are negotiated independently. 1.4 The Problem Once outlined in section 1.2 the requirements originating from the vertiginous changes in today’s business world, we focus on the requirements that we tackle in this dissertation. In particular, we present two motivating examples concerning the main issues we intend to face in this thesis: the problem of efficiently solving make-or-buy and makeor-buy-or-collaborate decisions across the supply chain. Both examples consider an imaginary company devoted to produce and sell apple pies called Grandma & co. The examples, along with the emerging implicit requirements, are thoroughly presented in sections 1.4.1 and 1.4.2. 1.4.1 Optimising make-or-buy decisions The first example aims at making explicit the requirements regarding the automation of make-or-buy decisions. Chapter 1. Introduction 8 Example 1.1. Consider a company, named Grandma & co, devoted to produce and sell apple pies. The internal production structure of the company, i.e. the way apple pies are prepared, is presented in figure 1.1. Each circle represents a raw, intermediate or manufactured good. Squares connecting goods represent manufacturing operations. An arc connecting a good to an operation indicates that the good is an input to the operation, whereas an arc connecting an operation to a good indicates that the good is an output of the operation. Then, butter, sugar, and flour are input goods to the Make Dough operation, whereas dough is an output good of the Make Dough operation. The labels on the arcs connecting input goods to operations, and the labels on the arcs connecting output goods to operations indicate the units required of each input good to perform an operation and the units generated per output good respectively. In our example, the preparation of two units of dough requires one unit of butter, three units of sugar, and two units of flour. Each operation has an associated cost every time it is carried out. We label each operation with a cost. In our example, the Make Dough operation costs 5 e . butter 1 e5 sugar 3 2 2 Make Dough 2 dough 4 Baking 4 flour 1 Make Filling 8 apples e6 4 2 filling Apple Pies e 14 2 marga rine Figure 1.1: Apple pie production flow. Consider that the marketing department at Grandma & co forecasts that two hundred apple pies will be sold within a month. Therefore, the company starts an automated sourcing (Minahan et al., 2002) process to acquire the basic ingredients needed for producing pies, namely butter, sugar, flour, apples, and margarine. However, the production management staff decides to test a new sourcing process. Instead of limiting the procurement to basic ingredients, they decide to incorporate in the sourcing process intermediate and final goods as well, namely dough, filling, and apple pies in figure 1.1. More precisely, the production management wonders whether 1.4. The Problem 9 to outsource part of its production process. In fact, the executive staff noticed that more and more specialised enterprises are entering the organic food market. Since Grandma & co is a well-known brand for pies, it decides that in order to reduce costs, it could be suitable to negotiate and collaborate with those new brands. As an additional constraint, the production management knows that strong complementarities among the negotiated goods exist on the supplier side. For instance, suppliers often sell margarine and butter as indivisible bundles. Thus, it is required that those complementarities are taken into account. Grandma & co realises that it faces a decision problem: shall it buy the required ingredients and internally produce apple pies, or buy already-made apple pies (outsource all its production), or opt for a mixed purchase and buy some ingredients for internal production and some already-made apple pies? This concern is reasonable since the cost of ingredients plus preparation costs may eventually be higher than the cost of already-made apple pies. Grandma & co must take a decision among many possible mutually exclusive options: • buy all the basic ingredients to internally produce all the pies; • buy from suppliers all the pies and resell them under its name; • buy already-made dough and filling from suppliers , and bake itself the cake; • prepare part of the dough and part of the filling, and buy the rest from suppliers; • buy part of the pies from suppliers and produce the rest itself; • and so on. Grandma & co is interested in quantitatively assessing what to buy and from whom, as well as what to produce in house. Such assessment depends on many factors: (1) the market cost of the basic ingredients (butter, sugar, flour, apples, and margarine); (2) the market cost of dough, filling, and pies; (3) the stock goods at Grandma & co; (4) the finally required goods (the sales forecast); (5) the cost for performing at Grandma & co the operations Make Dough, Make Filling, and Baking (the internal cost structure); (6) the number of units of each good either produced or required for each operation (the internal production structure); and (7) the complementarity relationships among goods holding on the suppliers’ side. Chapter 1. Introduction 10 Hence, Grandma & co requires a complex decision support system along with a negotiation mechanism that helps it in detecting which is the revenue maximising buying configuration and the internal operations to perform in order to obtain the finally required goods. It is easy to understand from the example that the procurement and outsourcing decisions are tightly linked. Notice that there is a mutual dependency among the outsourcing opportunity, the ingredients’ market prices (as Dough, Apples,etc.) and other factors. This kind of dependencies must be absolutely captured by any proposed solution. The literature on procurement has introduced combinatorial reverse auctions to deal with the problem of complementarities among goods on the bidders’ side. In the following section we briefly recall some knowledge about electronic sourcing and combinatorial auctions. The procurement phase In the everyday business world, the sourcing process of goods and services usually involves complex negotiations. With the advent of the Internet, a plethora of commercial products to electronically support this process (e-sourcing tools) have started to be commercialised by a significant number of vendors (e.g. Ariba, Emptoris, Perfect, and iSOCO to name a few5 ). Thus, e-sourcing tools have become an established part of the business landscape (Team, 2001). Reverse6 auctions are at the heart of most of these tools as the mechanism for buying companies to automate their negotiations with the qualified providers in their supply chains. Although reverse auctions are certainly valuable to swiftly negotiate with providers, combinatorial (reverse) auctions may lead to more efficient allocations whenever complementarities among the goods at auction hold, as argued in (Sandholm, 2002). A combinatorial (reverse) auction (Cramton et al., 2006) is an auction where bidders can sell (buy) entire bundles of goods in a single transaction. Although computationally very complex, selling (buying) items in bundles has the great advantage of eliminating the risk for a bidder of not being able to obtain (sell) complementary items at a reasonable cost (price) in a follow-up auction (think of a combinatorial auction for a pair of shoes, as opposed to two consecutive single-item auctions for each of the individual shoes). In particular, connected with the introduction of combinatorial auctions are bidding languages (Nisan, 2006) and the winner determination problem (WPD) (Lehmann et al., 2006). Winner determination is the problem, faced by the auctioneer, of choosing what goods to award to which bidder so as to maximise its revenue. The winner determination for combinatorial auctions is a complex computational problem. In particular, it has been shown that the WDP is NP-complete (Rothkopf et al., 1998). Bidding is the process of transmitting one’s valuation function over the set of goods at offer to the auctioneer (or rather some valuation function — the bidders are of course not required to reveal their true valuation —). 5 We refer the reader to (Bartels et al., 2005) for an analysis of e-sourcing tools. auction is called direct when the auctioneer aims at selling goods, whereas we talk about reverse auction when the auctioneer is interested in buying goods. 6 An 1.4. The Problem 11 Since Grandma & co aims at dealing with the case in which complementarities among goods hold at the bidder’s side, combinatorial auctions is for sure the more suitable sourcing method. Then, in order to cope with Grandma & co’s problem, we employ combinatorial auctions. Anyway, combinatorial auctions cannot be directly employed for the problem explained in example 1.1 due to some intrinsic limitations. To the best of our knowledge, no author directly dealt with the make-or-buy decision problem employing reverse combinatorial auctions. On the one hand, combinatorial reverse auctions solve the problem of procurement when complementarities among goods exist on the supplier side. On the other hand, operations research has studied the best make-or-buy decisions based on past production information, sell forecast, providers’ offers, etc (Aissaoui et al., 2007)7 . However, nobody embedded the decision problem into the procurement problem when complementarities among goods hold, nobody analysed the procurement decisions in conjunction with the outsourcing decisions in a combinatorial scenario. Then, in what follows, we analyse the requirements associated with the make-or-buy decision problem that are not fulfilled by combinatorial auctions, and we discuss the extensions required in order to deal with such decision problem. Combinatorial Auction limitations Say that Grandma & co opts for running a combinatorial reverse auction (Sandholm et al., 2002) with qualified providers for the procurement of all the required goods. Unfortunately, traditional combinatorial reverse auctions cannot be applied to solve such a problem for three reasons. Firstly, because of expressiveness limitations, namely an auctioneer (Grandma & co) cannot express: • its internal manufacturing operations along with the producer/consumer relationships holding among them (for instance, in figure 1.1, the output of Make Dough is an input of Baking); • the relationships between the manufacturing operations and the auctioned goods (for instance, in figure 1.1, the input to the Make Dough operation is three units of sugar, two units of flour and one unit of butter, whereas its output is two units of dough); • the relationships between the received bids and the internal manufacturing operations; • the requirements sent to bidders. This is clarified by observing that even though the final requirements of Grandma & co are two hundred apple pies, multiple request configurations fulfil such outcome, for instance: – two hundred already-made apple pies – the basic ingredients plus in-house production of two hundred apple pies 7 For a general review on decision support to supply chain management refer to (Erenguc et al., 1999). Chapter 1. Introduction 12 How can Grandma & co formally describe its requirements? What should be the requirements sent to bidders? In fact, the optimal requirements depends on the received offers, and therefore cannot be stated a priori. • the cost associated to performing each internal operation or a set of internal operations. The second problem is that the outcome of a combinatorial auction only provides information about what goods to buy and from whom. However, the information about which internal manufacturing operations to perform and the order in which the auctioneer has to perform them (in the example of figure 1.1, the auctioneer cannot perform the Baking operation before Make Dough or Make Filling) is not provided. Table 1.1 summarises the requirements stemming from the make-or-buy decisions that are not supported by any state-of-the art solution. TYPE Expressiveness LIMITATION (1) internal manufacturing operations and the producer/consumer relationships among them (2) specification of an auctioneer’s final requirements (3) relationships among the manufacturing operations, the auctioned goods, and the received bids (4) specification of an auctioneer’s internal cost structure WDP (5) information about which in-house operations to perform and in which order Table 1.1: Summary of unfulfilled requirements. Although combinatorial auctions help set the market price of each good, they do not incorporate the notion of internal manufacturing operations. This is why all the above-mentioned difficulties arise. Summarising, Grandma & co requires an extended combinatorial reverse auction that provides: (1) a formal language to quantitatively express, analyse, and communicate its internal production structure and requirements; and (2) an efficient cost minimising winner determination solver that not only assesses which goods to buy and from whom, but also the sequence of internal manufacturing operations needed to obtain the finally required goods. 1.4. The Problem 13 1.4.2 Optimising make-or-buy-or-collaborate decisions In what follows, we further increase the complexity of the scenario illustrated in example 1.1. Besides component suppliers, Grandma & co brings contract manufacturers, service purchasers, and final customers into the auction. We clarify what we stated above by means of the following example. Example 1.2. Consider again the example of Grandma & co. The revolutionary production management (PM) staff decides that, besides all the goods , Grandma & co will negotiate all the operations along its supply chain. Thus, it invites to the auction suppliers of goods, suppliers of manufacturing operations (as Make Dough or Baking), and final customers/buyers of the final product (apple pies). Since Grandma & co is often asked to perform some service operations (as Baking for instance) for other companies, it decides to bring into the auction service purchasers as well. Summarising, Grandma & co, acting as auctioneer, receives offers from four types of bidders, namely: (1) component suppliers: bidders that offer goods (for instance, two hundreds units of flour and a hundred units of sugar for 800 e ); (2) contract manufacturers: bidders that offer manufacturing operations (for instance, perform the operation Make Dough at 4 e ); (3) service purchasers: bidders that require manufacturing operations (for instance, willing to pay e 42 for having the operation Make Filling done seven times); and (4) final customers: bidders that ask for goods (for instance, two hundred units of apple pies for 2400 e ). Resorting to example 1.2, in what follows we clarify what we intend for makeor-buy-or-collaborate decisions. Say that there is a contract manufacturer that is very able to efficiently and cheaply perform the Baking operation, i.e. at a cost of e 10. However, it performs very poorly the Make Filling and the Make Dough operations. In such a case, the way to optimally produce apple pies for both firms is to collaborate: i.e Grandma & co will be in charge of buying the basic ingredients to subsequently transform them into Dough and Filling, whereas the other firm of the Baking operation. Together they can offer a more competitive price. Observe that it might be the case that Grandma & co acts as a pure intermediary for some or all the operations. Eventually, someone might perform the Baking operation and someone else might require the Baking operation. In this case the operation is performed by a bidder for another bidder, and Grandma & co acts just as an intermediary that makes profit by connecting the service provider and asker. From example 1.2, we see that more stakeholders, besides component suppliers, have to be brought into the negotiation. In particular, we need to incorporate contract manufacturers, service purchasers, and final customers. Hence, it is compulsory to introduce a unified formal language for describing all the possible types of operations that supply chain stakeholder can negotiate upon. We classify such operations in four types: 14 Chapter 1. Introduction (1) Supply of manufacturing, assembly, disassembly operations. For instance, the cost of assembling a personal computer given a mother board, a CPU, two memory units and a hard drive costs e 12. This type of operation will typically describe services offered by contract manufacturers. (2) Demand of manufacturing, assembly, disassembly operations. For instance, a bidder is willing to pay 5e to have his PC assembled given that he provides the components (e.g. a mother board, a CPU, two memory units and an hard drive). (3) Supply of goods. For instance, a supplier offers 100 units of RAM memories and 100 units of CPUs at e 4000. This type of operation will typically describe services offered by component suppliers. (4) Demand of goods. For instance, a customer is willing to pay e 5000 for 20 PCs. This will typically describe operations associated to final customers. We will refer to any of the possible operations mentioned above with the term supply chain operation (SCO). Grandma & co faces a decision problem more complex than the one explained in section 1.4.1. Although the use of combinatorial reverse auctions may allow Grandma & co to improve its supply chain, there are further limitations that prevent its use: (1) Even though combinatorial auctions allow to express offers or requests on bundles of goods, there exists no language to express offers or requests of manufacturing operations across the supply chain. Furthermore, along the lines of expressive commerce (Sandholm, 2006a)8 , it is desirable to provide bidders with a language rich enough to compactly express several possible offer alternatives. (2) Besides complementarities among goods, further relationships must be taken into account. Those relationships link all the stakeholders of a supply chain by means of producer/consumer relationships. For instance, there is a producer/consumer relationship between any producer or supplier of dough and any supplier of the Baking operation since dough is requested to perform the Baking operation (see figure 1.1). Those relationships have only been partially taken into account by current combinatorial auction models despite being present in most real-world scenarios. In fact, the inputs and outputs of a production process are strongly connected since a manufacturer may risk: • to produce unsold goods, thus losing money; and • to fail to produce already sold goods when no able to obtain the required inputs, thus losing credibility on the market. Hence, a supply chain can be regarded as an intricate network of suppliers, manufacturers (entities transforming input goods into output goods at a certain cost), and consumers interacting in a complex way. The complementarities arising 8 Expressive commerce is a new sourcing paradigm in which supply and demand are expressed in greater detail than in traditional electronic commerce. A subsequent optimisation allows to discover the most profitable alternatives. 1.4. The Problem 15 in the scenario of example 1.2 are different from the ones we do find in CAs. They arise because of the preconditions and postconditions of manufacturing processes: precedences and dependencies along the supply chain must be taken into account. Hence, whilst in CAs the complementarities can be simply represented as relationships among goods, in supply chains the complementarities involve not only goods, but also interrelated manufacturing relationships across several levels of the supply chain. (3) Similarly to the case discussed in section 1.4.1, the outcome of a combinatorial auction does not provide an ordered sequence of supply chain operation to perform. However, an auctioneer must know the sequence of operations to perform in order to make its supply chain operate. The most significant attempt to deal with the shortcomings exposed above has been undertaken by Walsh et. al (Walsh et al., 2000). Although they mainly focus on analysing the problem of distributed supply chain formation (SCF), in which no auctioneer is leading the formation process, the underlying problem is similar to a certain degree. Quoting Walsh et al. (Walsh and Wellman, 2003), “Supply Chain Formation is the process of determining the participants in a supply chain, who will exchange what with whom, and the terms of the exchanges”. They define a new type of auction, the combinatorial auction for supply chain formation, which deals with scenarios in which multiple agents must form a supply chain. In order to cope with some of the above-mentioned combinatorial auction limitations, Walsh et al. (Walsh et al., 2000) introduce the notion of task dependency network (TDN). TDNs offer the means to express: • offers on bundles of goods; • demands of bundles of goods; and • offers on a single manufacturing operation (with only one output product and multiple input components). Furthermore, TDNs well describe the production complementarities we highlighted in point (2) of the combinatorial auctions shortcomings listed above, which is the possibility of expressing producer/consumer relationships. Nonetheless, although TDNs are indeed valuable to model SCF, further requirements must be addressed to fully support automated negotiations across the supply chain. In fact, Walsh et al. (Walsh et al., 2000) mainly focus on game theoretical and economical issues, and do not elaborate on computational and expressiveness issues. Hence, due to some intrinsic limitations, TDNs cannot cope with all the requirements we exposed above. In particular, the requirements associated to the make-or-buy-orcollaborate decision problem that TDNs do not support are the following: (1) the ability to represent all possible supply chain network topologies (TDNs only supports acyclic networks); (2) the possibility to express complementarities among supply chain operations (for instance, if Make Dough and Make Filling share some machine, they can be cheaper if offered together) ; Chapter 1. Introduction 16 (3) the possibility for bidders to require supply chain operations (TDNs only allow to offer them); (4) the possibility to express resource sharing (for instance, an oven is a resource that can be shared); (5) the possibility to express minimum/maximum capacity constraints on the number of times each supply chain operation can be performed (for instance, in presence of economies of scale9 there is a critical number of operations that drastically reduce the price of a manufacturing process); (6) the possibility to express any type of manufacturing operation (for instance, TDNs only allow operations with a single output); (7) providing a coordinated scheduling plan among the supply chain stakeholders; (8) solving Make-or-Buy-or-Collaborate decisions (i.e. not only supply chain formation problems); (9) the ability to specify the configuration an auctioneer aims to end up with (the sales forecast for Grandma & co). Then, although TDNs are indeed valuable to model SCF, further requirements (regarding expressiveness and computability) must be addressed to fully support automated supply chain network design and planning. As to expressiveness requirements, we shall need: (1) to support a wide range of supply chain topologies beyond acyclic nets; (2) to provide bidders with means for expressing several types of preferences over supply chain operations; (3) the configuration to end up with (i.e. the sale forecast); As to computational requirements, we must ensure; (1) that the outcome of the optimisation problem is not only the set of winning bids, but also a coordinated and integrated plan of all the supply chain stakeholders; (2) the computational tractability of supply chain network design and planning while preserving optimality. This is an important requirement since, as explained in section 1.2, myriads of agents could potentially participate. In table 1.2 we list the requirements associated to the make-or-buy-or-collaborate decision problem that are not currently supported by any state of the art methodology or tool. Summarising, Grandma & co needs: 9 Economies of scale characterise a production process in which an increase in the scale of the firm causes a decrease in the long run average cost of each unit. 1.5. Contributions TYPE Expressiveness 17 REQUIREMENTS (1) support any supply chain topology (2) provide bidders with a language for expressing several types of preferences over supply chain operations (3) configuration to end up with (4) compute the scheduled sequence of supply chain operations to perform Computational (5) computational tractability of supply chain network planning while preserving optimality Table 1.2: Requirements associated to make-or-buy-or-collaborate decisions. (1) a language for expressing the offers/requests of the different actors involved in the auction. This language should be able to represent demands and offers of supply chain operation, and should be expressive enough to overcome the shortcomings of TDNs. (2) a scalable winner determination solver that not only assesses the supply chain partners that maximise the auctioneer’s revenue, but also provides an integrated coordination/scheduling plan for the emerging supply chain. That is, it should provide information about the synchronised sequence of supply chain operations that must be performed. In the previous two sections, we introduced the requirements connected with the solution of make-or-buy and of make-or-buy-or-collaborate decisions. In the following section we will outline the approach we employed to fulfil such requirements. 1.5 Contributions In this dissertation we contribute with two generalisations of combinatorial auctions providing support to the make-or-buy and make-or-buy-or-collaborate decision problems. In the first part of this dissertation we present an extension to combinatorial auctions that we shall refer to as Multi-Unit Combinatorial Reverse Auction with Transformability Relationships Among Goods (MUCRAtR). MUCRAtR automates make-or-buy decision problems in scenarios characterised by combinatorial preferences. This new auction type provides an auctioneer with a framework to optimise its outsourcing and procurement strategy. In particular, it allows an auctioneer: 18 Chapter 1. Introduction • to formally express its internal production structure; and • to automatically and efficiently assess which goods to buy and from whom, along with the sequence of internal operations to perform in order to obtain some required resources. In order to provide a language to express the internal production structure of an auctioneer, we extend Petri Nets (refer to section 2.3 or to (Murata, 1989)), a well-known graphical and formal tool to analyse discrete dynamical systems. We call such extended model Weighted Place Transition Nets (WPTNs). The semantics of WPTNs naturally captures: • the producer/consumer relationships holding among manufacturing operations; and • the relationships among goods at auction, auctioneer’s internal operations, and bids. Next, in order to provide a formal definition to the auctioneer’s decision problem, we define a new optimisation problem on WPTNs, the Constrained Maximum Weighted Occurrence Sequence Problem (CMWOSP). The resulting optimisation problem perfectly captures the nature of the auctioneer’s decision problem. We anticipate that the newly introduced optimisation framework allows to import a wide body of analysis methods from Petri Nets theory and apply them to our decision problem, thus providing methods and tools for its analysis. Subsequently, in order to practically solve the auctioneer’s decision problem, we exploit analysis methods imported from Petri Nets theory and manage to provide an efficient Integer Linear Programming (ILP) (Hillier and Lieberman, 1986) formulation of the problem. However, this formulation only works when an auctioneer’s internal production structure is acyclic. That is, there are no cycles in a production process. In the second part of the dissertation we present another extension of combinatorial auctions, namely Mixed Multi-Unit Combinatorial Auctions (MMUCA), that allows to deal with make-or-buy-or-collaborate decisions. This new auction type provides an auctioneer with an automatic method to optimally select supply chain partners. Our contribution develops along three dimensions: (1) Bidding Language. We provide a novel language that allows agents to express a range of preferences over complementary operations across the supply chain. We build this language by extending and generalising previous languages for Combinatorial Auctions. In particular, we introduce the notion of supply chain operation (SCO). The notion of SCO encompasses several types of operations across the supply chain. Then, we provide bidders an expressive language to trade SCOs. (2) Winner Determination Problem. We provide a definition of the auctioneer’s decision problem that selects, among the received bids, the revenue-maximising ordered sequence of SCOs to perform. More precisely, this definition, besides fulfilling the semantics of the newly introduced bidding language, provides a 1.5. Contributions 19 sequence of SCOs that is feasible. A feasible sequence guarantees that every SCO can be performed whenever the preceding SCOs in the sequence are run. Moreover, the definition of WDP also allows to specify the quantity of goods initially available (the stock), and the quantity of goods the auctioneer aims to end up with. (3) Winner Determination Problem Solvers. We provide three different ILP-based solvers to deal with the practical solution of the WDP for MMUCA. (a) We succeed in mapping the auctioneer decision problem to a CMWOSP (analogously to the case of MUCRAtR). In this way, we can import a body of analysis tools. In this case as well, by relying on these analysis tools, we obtain a very efficient way of solving the decision problem. Nonetheless, this method can only be applied when the supply chain operations do not form a cycle within the production process (acyclic supply chain network). We shall refer to this as the CMWOSP-based solver. (b) Afterwards, we show that limiting the supply chain network to be acyclic prevents MMUCA’s application to many significant scenarios. Thus, we provide a new Integer Linear Programming solver, called DIP, that solves the winner determination problem in the general case. (c) Although very general, the introduced method is computationally hard to solve, and therefore hinders the applicability of MMUCA to small-size and middle-size scenarios. In order to overcome such a problem, we introduce a new solver, called CCIP, that exploits some domain specific knowledge to reduce the search space. Finally, we provide two empirical evaluations. The first one empirically quantifies the scalability gain provided by the CCIP solver with respect to the DIP solver in terms of computational time and size of solvable instances. The second one assesses the performances of the CMWOSP-based solver. We test such methods on acyclic instances and then we compare the obtained results with the results for DIP and CCIP of the former experiment. Finally, we claim that MMUCA generalises and extends a wide range of auction types, namely: • single-unit direct, reverse and double auctions (Krishna, 2002); • multi-unit direct, reverse, and double auctions (Krishna, 2002); • multi-unit combinatorial (Sandholm et al., 2002); direct, reverse and double auctions • MUCRAtR (the first contribution of this dissertation); and • Combinatorial Auctions (Walsh and Wellman, 2003). for Supply Chain Formation Therefore, all the results that we can derive for MMUCA can be directly applied to the above-listed auction types. Chapter 1. Introduction 20 1.6 Dissertation Outline The remaining of this dissertation is organised as follows. Chapter 2. We provide some background knowledge on Integer Programming (IP), Place Transition Nets, order and graph theory. This chapter is needed for understanding the concepts developed in chapters 3, 4, 6, and 7. Chapter 3. We put in context our work with respect to the state of the art. Our work is placed at the intersection of two sub-areas, combinatorial auctions and supply chain management. Thus, firstly we introduce auctions and combinatorial auctions. In particular we elaborate on bidding languages, winner determination problem and test suites. Next, we explore some aspects related to supply chain management. In particular, the problem of centralised supply chain formation and centralised supply chain scheduling and planning are thoroughly described. Chapter 4. We present Multi-unit combinatorial auctions with transformability relationships among goods (MUCRAtR). This is an extension to Combinatorial Auctions that allows to solve the make-or-buy decision problem. In this chapter, we also introduce Weighted Place Transition Nets (WPTN) and we define a new optimisation problem on them, the Constrained Maximum Weighted Occurrence Sequence Problem (CMWOSP). Finally, we show that the CMWOSP on acyclic nets can be solved by means of IP. The material contained in this chapter has been published in: • Giovannucci, A., Rodriguez-Aguilar, J. A. and Cerquides, J. Auctioning substitutable goods. Volume 131 of Lecture Notes in Artificial Intelligence, pages 381– 388. • Giovannucci, A., Rodrı́guez-Aguilar, J. and Cerquides, J. Multi-unit combinatorial reverse auctions with transformability relationships among goods. Proc. Workshop on Internet and Networking Economics (WINE 2005), pages 858–867. Volume 3828/2005 of Lecture Notes in Computer Science. Springer-Verlag. • Giovannucci, A., Rodrı́guez-Aguilar, J. and Cerquides, J. Multi-unit combinatorial reverse auctions with substitutability relationships among goods. Proc. of the first Networking and electronic commerce research conference (NAEC 2005), pages 324–337. Riva del Garda, Italy, 2005. • Giovannucci, A., Rodriguez-Aguilar, J. A. and Cerquides, J. Benefits of combinatorial auctions with transformability relationships. Proc. of the 17th european conference on artificial intelligence (ECAI 2006), pages 717–718. Riva del Garda, Italy, 7/2006. • Giovannucci, A., Rodriguez-Aguilar, J. A. and Cerquides, J. Savings in combinatorial auctions through transformation relationships. In O. Sheory and M. Fasli, editors, The TADA AMEC joint workshop at aamas 2006 trading agent design and analysis & agent mediated electronic commerce VII, Lecture Notes 1.6. Dissertation Outline 21 in Computer Science. Hakodate, Japan, 5/2006, pages 17–30, volume 4452/2007 of Lecture Notes in Computer Science. • Giovannucci, A., Rodriguez-Aguilar, J. A. and Cerquides, J. Auctioning transformable goods. Proc. of the fifth international joint conference on autonomous agents and multi-agent systems (AAMAS 2006), pages 893–895. Hakodate, Japan, 5/2006. Chapter 5. We provide a further extension of combinatorial auctions, the Mixed Multiunit Combinatorial Auction (MMUCA). By means of MMUCA, an auctioneer can automate make-or-buy-or-collaborate decisions. In particular, we provide an expressive bidding language and a definition of the winner determination problem for MMUCA. The material contained in this chapter has been published in: • Cerquides, J., Endriss, U., Giovannucci, A. and Rodriguez-Aguilar, J. A. Bidding languages and winner determination for mixed multi-unit combinatorial auctions. Proc. of the 20th intl. joint conferences on artif. intelligence (IJCAI 2007), pages 1221–1226. Hyderabad, India, 1/2007. Chapter 6. Analogously to chapter 4, we provide a mapping of the MMUCA WDP to CMWOSP. With this purpose we introduce the Mixed Auction Net, a WPTN that compactly represents the whole search space associated to the MMUCA WDP. We show the equivalence between the MMUCAs WDP and a CMWOSP on the Mixed Auction Net. As a consequence of this mapping, we obtain an IP formulation of the WDP for a wide class of supply chain network topologies (acyclic). After showing that the hypothesis that the underlying supply chain is acyclic sometimes may not hold, we introduce a general IP model of the MMUCA WDP that deals with any network topologies, namely the DIP. DIP is built applying a direct mapping of the definition of the WDP to IP. The result is a solver that can find a solution to any instance of WDP. The material explained in this chapter has been published in: • Giovannucci, A., Rodriguez-Aguilar, J., Cerquides, J. and Endriss, U. Winner determination for mixed multi-unit combinatorial auctions via petri nets. Twentieth International Conference on Autonomous Agents and Multi Agent Systems (AAMAS 2007). Hawaai, USA, 5/2007. To appear. Chapter 7. We present the CCIP, an IP formulation of the MMUCA WDP that boosts DIP. The new model exploits the precedence relationships among the SCOs to enforce an a-priori ordering of the solution. In this way, we can prune a great part of the search space. In this chapter we formally prove that CCIP is correct. Chapter 8. The aim of this chapter is to empirically evaluate and compare the solvers presented in chapters 6 and 7. For this purpose, firstly we describe the state-of-theart methodology for generating an MMUCA benchmark (Vinyals, 2007b). Then, we 22 Chapter 1. Introduction perform some preliminary experiments to compare the performances in terms of CPU time of the three solvers. Chapter 9. We draw some conclusions and thoroughly describe paths to future research. Chapter 2 Mathematical Background In this chapter we introduce some technical background knowledge in order to ease the understanding of this dissertation. In section 2.1 we summarise what Integer Programming is, why it is useful for our purposes, and we argue on its pros and cons. Next, in section 2.2 we briefly recall what multisets are, and we discuss some of their properties. Next, in section 2.3, we thoroughly describe Petri Nets (PNs), and in particular Place Transition Nets (PTNs), a formalism for analysing and simulating discrete dynamical systems. Finally, in section 2.4, we summarise some properties of graphs and binary relations from the perspective of order theory. 2.1 Linear and Integer Programming In this section we introduce some basic concepts regarding linear and integer programming. Both are widely employed for solving complex optimisation problems. The former can solve bigger problems (in terms of decision variables) but is limited in its expressiveness (only linear function can be employed), whereas the latter is more complex but allows to solve a wider class of problems. 2.1.1 Linear Programming Linear programming has been considered one of the technological breakthroughs of the mid-20th century (Hillier and Lieberman, 1986). This standard tool has saved thousands or even millions of dollars to companies that have employed it. At the heart of linear programming lies the problem of “allocating limited resources among competing activities in the best possible (i.e optimal) way.” (Hillier and Lieberman, 1986). In particular, linear programming helps in determining the level of each resource that is allocated to each activity. This pattern applies to several real-world problems such as allocation of production facilities to products, portfolio selection, shipping partners selection, etc. Linear programming employs mathematical models to represent the abovementioned problems. In particular, the adjective linear illustrates the fact that only 23 Chapter 2. Mathematical Background 24 linear functions can be employed to model problems. The word programming is intended as semantically equivalent to planning. Hence, linear programming “involves the planning of activities to obtain an optimal result, i.e., a result that reaches the specified best goal among all the feasible alternatives.” (Hillier and Lieberman, 1986). A very interesting characteristic of linear programming is that there exists a very efficient solution method called the Simplex Method (Papadimitriou and Steiglitz, 1982). In particular, the simplex method can be applied to problems of enormous size. Notice that it has been shown that linear programming is in the class of the polynomial algorithms (Papadimitriou and Steiglitz, 1982). In what follows we present an example of linear programming model. Example 2.1. A farmer has a piece of farm land, say A square kilometres large, to be planted with either wheat or barley or some combination of the two. The farmer has a limited permissible amount F of fertiliser and P of insecticide which can be used, each of which is required in different amounts per unit area for wheat (F1 , P1 ) and barley (F2 , P2 ). Let S1 be the selling price of wheat, and S2 the price of barley. If we denote the area planted with wheat and barley by x1 and x2 respectively, then the optimal number of square kilometres to plant with wheat vs barley can be expressed as a linear programming problem: maximise S1 x1 + S2 x2 revenue bound or objective function (2.1) subject to x1 + x2 ≤ A F1 x1 + F2 x2 ≤ F limit on total area limit on fertiliser (2.2) (2.3) P1 x1 + P2 x2 ≤ P x1 ≥ 0, x2 ≥ 0 limit on insecticide cannot plant a negative area (2.4) (2.5) The linear program in example 2.1 can be directly solved by commercial or free solvers, like ILOG CPLEX (ILOG, 2007), LINDO (Lindo Systems Inc., 2007) (commercial), and GLPK (Makhorin, 2001) (free). The reader can understand the reasons of the tremendous impact of linear programming in recent decades: even knowing little of the technical details it is possible to solve massive and highly complex optimisation problems. 2.1.2 Integer Programming One key limitation of linear programming is the fact that variables are allowed to take on any fractional value. In some circumstances, this does not constitute a great problem. For instance, if the result of the optimisation is that we have to build 400.5 bicycles, rounding the result to 400 does not change the result a lot. Instead, if the result is to employ 2.5 Boeing airplanes to perform a shipping, the rounding to 2 or 3 air planes is not an easy decision. Moreover, in some problems the solution makes sense only if some variables take on an integer value. Whenever the only deviation from a linear programming approach is the fact the variables can only hold integer values, we have the so called Integer Programming. 2.1. Linear and Integer Programming 25 The modelling language underlying Integer Programming is exactly equivalent to the one of linear programming, except that some variables are constrained to be integer. In particular, if all the variables involved in a problem have to be integer, then we talk about pure integer programming, whereas if both integer and fractional variables are allowed we talk about mixed integer programming. Other problems for which the use of integer programming is fundamental are the problems involving interrelated “yes-or-no decisions”. For instance, should we make an investment? Should we buy a new truck? And so on. In what follows we present an example of integer program. It explains how to model the knapsack problem (Kellerer et al., 2004). Example 2.2 (Knapsack problem). Given a set of items, each with an associated cost and value, the knapsack problem consists in determining the subset of items to include in a collection so that the total cost is less than a given limit and the total value is as large as possible. It is a very typical combinatorial problem, and can be easily expressed by means of integer programming. Say that there are n items. Each item is indexed by i ∈ [1, n]. Then, say that each item i has associated the value vi and the cost ci . The problem is thus finding the set of items that costs less than a constant C and maximises the value. In order to model this decision we assign a variable xi to each item i. xi takes on value 1 if item i is selected and 0 otherwise. Then, the function that we have to maximise is the value associated to the selected items, namely: n X xi vi (2.6) i=1 this is called the objective function of the integer program. Additionally, we have to make sure that the cost of the selected items does not exceed the permitted cost C. Then, the following constraint must hold: n X xi ci ≤ C (2.7) i=1 These are called the side constraints of the integer program. In the previous example the decision variables can only take on values 0 or 1 (it would make no sense accepting 0.33 of an item). All the problems sharing this feature are called binary integer programming problems and the corresponding variables are called binary variables. Analogously to linear programming, a lot of software packages are available to solve integer linear programming problems as well. For instance, Excel (Microsoft, 2007), ILOG CPLEX (ILOG, 2007), LINDO (Lindo Systems Inc., 2007) are commercial solvers, whereas GLPK (Makhorin, 2001) is a free solver. The case presented in example 2.2 is very simple. However, integer programming models are often very difficult to formalise, since many different type of decision variables and constraints are required. Modelling languages are useful for easing the implementation of such complex models. There exist a few modelling languages, 26 Chapter 2. Mathematical Background the most famous being AMPL (Fourer et al., 1989), MathProg (Makhorin, ), and OPL (Van Hentenryck, 1999). For a survey on modelling languages refer to (Kallrath, 2004). Solving Integer Programming Problems It may be tempting to think that Integer Programming problems are easier to solve than Linear Programming problems. In fact, one could argue that since the decision variables can only hold few values instead of real values the search space is reduced, that only a finite number of solutions have to be enumerated. It is possible to demonstrate that this argument is not valid: solving integer programming problems is much more difficult than solving linear programming problems in most cases (Papadimitriou and Steiglitz, 1982)1 . For this reason, most algorithms for solving Integer Programming incorporate the simplex method as a solution step. We will not get into those details, for a detailed treatment of the subject refer to (Papadimitriou and Steiglitz, 1982) and (Hillier and Lieberman, 1986). The only aspect we aim at highlighting is that the two factors determining the computational hardness of an integer programming problem instance are (Hillier and Lieberman, 1986): (1) the number of integer decision variables; and (2) any special structure in the problems. Current solution methods and commercial solvers can deal with problems ranging from hundreds to thousands of decision variables. The structure of the problem can sometimes make smaller problems much more difficult to solve than bigger ones. In general, reducing the number of constraints can help as well, although with a minor effect. We briefly mention that huge instances of integer programming can not be solved optimally. For this reason, meta-heuristics have been recently employed to solve those huge problems non-optimally. Even if they can not guarantee any bound on their performances, they usually perform quite well. For a review on meta-heuristics refer to (Blum and Roli, 2003). 2.2 Multi-sets A multi-set (Blizard and File, 1988; Syropoulos, ) is an extension to the notion of set, considering the possibility of multiple appearances of the same element. An example of multiset is2 A = {a, a, a, b, b, c}. In general, a multi-set A over a set X is a function A : X → N mapping X to the cardinal numbers. In the example above X = {a, b, c}. For any x ∈ X, A(x) ∈ N is called the multiplicity of x. For instance, in the example above, the cardinality of the element a is 3 (A(a) = 3). 1 There are some particular problems having a special structure that makes them as easy as a linear program. 2 Henceforth we employ calligraphic letters to indicate multi-sets. 2.3. Petri Nets 27 There are different ways of denoting multisets. We will show them by means of the three representations below: • A = {a, a, a, b, b, c} • A = {(a, 3), (b, 2), (c, 1)} • A = {3′ a + 2′ b + 1′ c} An element x ∈ X belongs to the multi-set A if A(x) 6= 0 and we write x ∈ A. We denote the set of multi-sets over X by NX . The total number of elements in a multiset, including the repetitions is the cardinality associated to the multiset. The cardinality of multisets is denoted in the same way as in the case of sets. For instance, |A| = 6 in the example above. 2.2.1 Operations on Multisets In what follows we list the operations between multisets. Given two multisets A, B ∈ NX , we have the following operations or relations among them: • sum: A(x) ⊎ B(x) = A(x) + B(x) ∀x ∈ X • intersection: A(x) ∩ B(x) = min(A(x), B(x)) ∀x ∈ X • union: A(x) ∪ B(x) = max(A(x), B(x)) ∀x ∈ X • subset:A(x) ⊆ B(x) → A(x) ≤ B(x) ∀x ∈ X 2.3 Petri Nets In this section we introduce and describe carefully the Petri Nets formalism. Petri Nets are a powerful mathematical and graphical tool for the description of discrete distributed systems. Petri Nets (PNs) were firstly introduced in 1962 by Karl Adam Petri in his seminal dissertation ((Petri, 1966) in English and (Petri, 1962) in German). In particular PNs are suitable for describing systems in which parallelism, concurrency, and synchronisation play an important role. For a very good review on Petri nets, refer to (Murata, 1989). Petri Nets can provide some distinctive advantages with respect to other approaches (Reisig, 1985) like finite state machines: • Causal dependencies or independence among the different components of the system can be explicitly represented. • They allow to describe a system that is not inherently sequential. • They can represent different levels of abstraction without having to change the description language. These abstraction levels range from the representation of a single bit in a PC to the representation of the PC in its environment within the same framework. Chapter 2. Mathematical Background 28 p1 •• 2 t1 2 p2 1 p3 • Figure 2.1: Example of a Place Transition Net. • They provide a set of formal tools useful to analyse and describe discrete dynamical systems. For instance, it is possible to verify several system properties as deadlock avoidance, boundedness, etc. I will not get into the details of all those properties. We only remark that a vast amount of analysis tools (Murata, 1989) are available for Petri nets. Thus, everything that is modelled by means of Petri nets can directly employ all those tools. An example of Petri net is shown in figure 2.1. A PN is a bipartite graph: it has place nodes, transition nodes, and directed arcs connecting places to transitions and transitions to places. The places connected to a transition by means of input arcs are called the input places of the transition, and the ones connected by outgoing arcs from the transition are the output places of the transition. Places contain tokens. The graphical representation of a PTNS is composed of the following graphical elements: places are represented as circles, transitions are represented as rectangles, arcs connect places to transitions or transitions to places, and an arc expression function E labels arcs with values. Different classes of Petri Nets exist. A survey of the different existing types of Petri nets is made in (Bernardinello and de Cindio, 1992). In this work, three levels of Petri nets are identified: (1) Level 1 nets whose places can contain at most one token; (2) Level 2 nets whose places can contain more than one token; and (3) Level 3 nets whose tokens are labelled by a type (tokens of different type within the same place can be distinguished). We will focus on a particular level 2 net called Place Transition Net (PTN). Place/Transition Nets are Petri Nets characterised by multiple tokens in the same place and arc weights3 . More formally, following (Murata, 1989), Definition 2.1 (Place/Transition Net Structure). A Place/Transition Net Structure (PTNS) is a tuple N = (P, T, A, E) such that: 3 Actually, there should be a limit on the capacity of each place in term of contained tokens. However, it is not crucial in our work and we can set it to infinite. 2.3. Petri Nets 29 (1) P is a set of places; (2) T is a finite set of transitions such that P ∩ T = ∅; (3) A ⊆ (P × T ) ∪ (T × P ) is a set of arcs; (4) E : A → N+ is an arc expression function (it represents the weights associated to the arcs, standing for the number of input/output tokens consumed/produced by the transition). Furthermore, we have that t• = {p ∈ P | (t, p) ∈ A} are the output places of t, and that • t = {p ∈ P | (p, t) ∈ A} are the input places of t. p1 2 t1 2 p2 1 p3 Figure 2.2: Example of a Place Transition Net Structure. Example 2.3. In figure 2.2 we illustrate a PTNS defined as: (1) P = {p1 , p2 , p3 } is the set of places; (2) T = {t1 } is the set of transitions; (3) A = {(p1 , t1 ), (t1 , p2 ), (t1 , p3 )} is the set of arcs; (4) E(p1 , t1 ) = 2; E(t1 , p2 ) = 1; E(t1 , p3 ) = 2; is the arc expression function. Moreover, the input and output places of t1 are: t•1 = {p2 , p3 } • t1 = {p1 } (2.8) (2.9) A distribution of tokens over the set of places is called a marking, and it stands for the state of the Petri net. Definition 2.2 (Marking). A marking M : P → N of a PTNS is a multiset over P . M(p) = k means that place p ∈ P contains k tokens for marking M. 30 Chapter 2. Mathematical Background Example 2.4. The marking M0 of figure 2.1 is M0 (p1 ) = 2 M0 (p2 ) = 0 (2.10) (2.11) M0 (p3 ) = 1 (2.12) or equivalently, employing the notation for multisets, we can represent marking in a more compact form: M0 = 2 ′ p1 + 1 ′ p3 (2.13) A PTNS S with a given initial marking M0 is called a Place/Transition Net (PTN) and is noted (S, M0 ). Given a marking M, we say that a transition is enabled if all its input places contain at least as many tokens as required by the the transition’s input arcs. If the transition is enable it can fire consuming tokens of the input places and producing tokens in the output places. Intuitively, a transition is enabled if enough tokens are present in its input places. In what follows we state more formally the concepts of enabled transition and firing of a transition. A transition t ∈ T is said to be enabled if each input place p of t is marked with at least E(p, t) tokens, where E(p, t) represents the weight of the arc connecting p to t. More formally, Definition 2.3 (Enabled Transition). Given a marking M, a transition t ∈ T is enabled iff: M(p) ≥ E(p, t) ∀p ∈• t (2.14) Example 2.5. For instance in figure 2.1 transition t1 is enabled in marking M0 since E(p1 , t1 ) = 2 and M0 (p1 ) = 2, thus M0 (p1 ) ≥ E(p1 , t1 ). An enabled transition may or may not fire. If it fires, it changes the current marking to a new marking by removing tokens from the input places and putting tokens into the output places. More formally Definition 2.4 (Firing of an enabled transition). The firing of an enabled transition t removes E(pi , t) tokens from each input place pi and adds E(t, po ) tokens to each output place po . The firing of a transition t changes marking Mk−1 to a marking Mk . The new marking can be computed employing the following equation4: Mk (p) = Mk−1 (p) + Z(t, p) ∀p ∈ •t ∪ t• (2.15) where Z(t, p) = E(t, p) − E(p, t). In this case we write Mk−1 [t > Mk for denoting that the firing of transition t changes the Mk−1 marking into the Mk marking. 4 Henceforth, for simplicity, we implicitly assume that E(p, t) = 0 if (p, t) 6∈ A and E(t, p) = 0 if (t, p) 6∈ A. 2.3. Petri Nets 31 Example 2.6. Consider figure 2.1, the firing of t1 in marking M0 leads to marking M1 = 1′ p2 + 3′ p3 . We illustrate in figure 2.3 the state of the PTN of figure 2.1 after that t1 fires. p1 2 t1 2 • p2 1 p3 ••• Figure 2.3: Place Transition Net of figure 2.1 after firing t1 . 2.3.1 Reachability An important property we are interested in is whether we can reach a particular state of a PTN departing from a given initial state. This leads to the definition of reachability. Reachability is a fundamental concept that will be widely employed in this dissertation. In this section, we will introduce several concepts related to reachability. Intuitively, given an initial marking M0 , and a final marking Md , the reachability problem consists in deciding if there exists a sequence of firings leading from M0 to Md . The firing of an enabled transition changes the token distribution (marking) in a net according to the firing rule of definition 2.4. Then, a sequence of firings will result in a sequence of markings. Definition 2.5 (Reachability). A marking Mn is reachable from a marking M0 in a PTN structure S if there exists a sequence of firings that transforms M0 into Mn . M0 is called the start marking, while Mn is called the end marking. All the markings reachable from M0 in a PTN Structure S are noted as R(S, M0 ), and are called the reachable set of a PTN. Definition 2.6. (Firing Sequence) Given a PTN structure S and a marking M0 , a firing or occurrence sequence J : N → T is a sequence of transitions: J = ht1 , t2 , . . . , tn i that changes the marking M0 into the marking Mn . In this case we write M0 [J > Mn as a shorthand to represent that the firing sequence J leads from M0 to Mn . Chapter 2. Mathematical Background 32 Notice that in a firing sequence all the transitions must be enabled and fire with the order established by the very same sequence. It can be shown that the start and end markings are related by the following equation: X ∀p ∈ P Mn (p) = M0 (p) + Z(t, p). (2.16) t∈J Definition 2.7. The firing count multi-set associated to a firing or occurrence sequence J is a multiset KJ ∈ NT such that the multiplicity of each transition stands for the number of times it appears in the firing sequence. That is: KJ (t) = |J −1 (t)| ∀t ∈ T (2.17) where |J −1 (t)| is the number of times transition t is fired in the firing sequence J. 2.3.2 The state equation In this section we aim at providing an algebraic representation of Petri nets. Such representation will allow us to compactly represent the reachability set in some cases. For a Petri Net N with r transitions and n places, the incidence matrix A = [aij ] − + is an r × n matrix of integers. Each entry is given by aij = a+ ij − aij , where aij = E(ti , pj ) stands for the weight of the arc connecting the ti transition to its output place pj , and a− ij = E(pj , ti ) stands for the weight of the incoming arc connecting place pj to transition ti . Example 2.7. In the example of figure 2.2, the incidence matrix is: a− = [2 0 0] + a = [0 1 2] A = −2 1 2 (2.18) (2.19) (2.20) − It is straightforward that a+ ij , aij , and aij represent the number of tokens added to, removed from, and changed in place j when transition i fires once. Notice that in this new representation a transition ti is enabled in a marking M iff a− ij ≤ M(pj ) j = 1, 2, . . . , n Example 2.8. In the example of figure 2.1, transition t1 is enabled in marking M0 since a− 11 = 2 ≤ M0 (p1 ). In order to obtain an algebraic representation of a Petri net, we can represent a marking Mk as an n × 1 column vector Mk such that the j − th entry of Mk represents the number of tokens present in place pj after the k − th firing in some firing sequence 2.3. Petri Nets 33 (Mk [j] = Mk (pj )). For instance, the markings of the nets in figures 2.1 and 2.3 can be represented as 2 M0 = 0 1 and 0 M1 = 1 3 Finally, we define the firing vector uk as an r × 1 column vector of r − 1 zeros and one nonzero entry. By setting a a 1 in the i − th position (uk [i] = 1), we indicate that transition ti fires at the k-th firing. We can now express equation (2.15) in matrix form: Mk = Mk−1 + AT uk k = 1, 2, ... (2.21) Example 2.9. The state equation associated to the firing of transition t1 , transforming the PTN in figure 2.1 into the one in figure 2.3, is: 2 −2 0 M1 = M0 + AT u1 = 0 + 1 · 1 = 1 (2.22) 1 2 3 u1 [1] takes on value 1 because transition t1 is fired once. Say that Mn is reachable from M0 via the firing sequence J = ht1 , t2 , . . . , tn i. We represent the transitions in J by means of their firing vectors hu1 , u2 , . . . , un i. Then, by applying recursively equation (2.21), we obtain: Mn = M0 + n X T T A · uk = M0 + A k=1 n X uk = M0 + AT KJ (2.23) k=1 where KJ is an r × 1 vector representing the firing count multiset KJ , defined in equation (2.17), namely: KJ [i] = KJ (ti ) = |J −1 (ti )| ∀i ∈ [1, r] (2.24) KJ is the firing count vector associated to the firing sequence J. 2.3.3 State equation and reachability All the results that we report from here to the end of the chapter are taken from (Murata, 1989). Say that Md is reachable from M0 , then there exists a firing sequence hu1 , u2 , ..., ud i bringing from M0 to Md . Therefore, a necessary condition on reachability can be expressed in terms of a matrix equation: 34 Chapter 2. Mathematical Background Theorem 2.1. If Md is reachable from M0 , then the following equation has a nonnegative integer solution x: Md = M0 + AT x (2.25) Pd where x = k=1 uk is the r × 1 column vector of non-negative integers we called firing count vector. Notice that the i − th entry of vector x encodes the number of times a transition ti must be fired to transform M0 into Md . Equation (2.25) is called the State Equation, since it describes the states that a Petri net would reach if the transitions encoded in x were fired. However, notice that not all the states encoded by the state equation are actually reachable. That means that there may exist solutions to equation (2.25) that are not reachable states of a Petri net. However, it can be shown that sometimes all the states reachable by a Petri net are described by the state equation. In particular, this happens when the net is acyclic. Before defining the concept of acyclicity, we have to explain what is a cycle. Since a Petri Net is a bipartite graph, a cycle in a Petri net is a sequence of Definition 2.8. A directed cycle in a Petri Net Structure (P, T, A, E) is a sequence of places and transitions hp1 , t1 , p2 , t2 , . . . , pn , tn , p1 i such that ∀i ∈ [1, n] (pi , ti ) ∈ A and (ti , pi+1 ) ∈ A. Definition 2.9 (Acyclicity). A PTNS is said to be acyclic if it does not contain any directed circuit. In (Murata, 1989), it is shown that in an acyclic Petri Net, the condition expressed by theorem 2.1 is not only necessary, but also sufficient. Theorem 2.2. In an acyclic PTNS, Md is reachable from M0 iff the following equation has a non-negative integer solution in x: Md = M0 + AT x (2.26) That is, if there exists a solution to equation (2.26), a firing sequence reaching Md from M0 is guaranteed to exist, and x represents its firing count vector. Moreover, Murata further extends the class of Petri nets for which the condition is still sufficient. These particular nets (trap-circuit and syphon-circuit nets) have special topologies with particular types of circuits. For such nets, the state equation represents all the reachable states if the initial marking M0 satisfies some constraints. Further efforts have been made for extending the validity of the state equation to more classes of Petri nets (Tarek and Lopez-Benitez, 2004). 2.4 Preliminaries on binary relations and graphs In this section we recall some definitions about binary relations, graphs, and order relations. In section 2.4.1 we will recall binary relations and some of their properties. In 2.4. Preliminaries on binary relations and graphs 35 section 2.4.2 we will recall the definition of directed graphs, directed acyclic graph, and we will summarise some concepts and properties related to graphs. In section 2.4.3 we recall some concepts related to order relations, and we connect them to graphs. All the definitions and theorems contained in this section are taken from (Cormen, 2001), where the interested reader can find the the corresponding proofs. 2.4.1 Relations In this section we will recall what a binary relation is along with the properties of such relations that we are interested in. A binary relation R on two sets A and B is a subset of the Cartesian product A × B. If (a, b) ∈ A × B we write aRb and we say that a is in relation with b. We say that R is a binary relation on A if it is a subset of A × A. Example 2.10. The less than is a binary relation defined on N as follows {(a, b) ∈ N × N : a < b} (2.27) There are special features that are particularly important for binary relations. Thus, a binary relation R ⊆ A × A is: • reflexive: if ∀a ∈ A aRa. For instance, “=” and “≤” are reflexive on A, while “<” is not. • symmetric: if aRb ⇒ bRa. For instance, the “=” relation is symmetric, while “≤” is not. • transitive: aRb and bRc implies aRc. For instance, “=” is transitive. • antisymmetric: if aRb and bRa then a = b. For instance, “≤” is antisymmetric. Equivalence classes A binary relation that is reflexive, symmetric and transitive is called an equivalence relation. For instance, “=” is an equivalence relation, whereas “<” is not. If R is an equivalence relation on a set A, then for all a ∈ A we denote with [a] the set of element in relation with a, and we call it the equivalence class of a. A well known result about equivalence classes is Theorem 2.3 (An equivalence relation is the same as a partition). The equivalence classes of any equivalence relation R on a set A form a partition of A, and any partition of A determines an equivalence relation on A for which the sets in the partition are the equivalence class. Chapter 2. Mathematical Background 36 2.4.2 Graphs and Paths In this section, we introduce the definition of graph, path in a graph, and strongly connected components of a graph. A directed graph G is a pair (V, E), where V is a finite set, and E ⊆ V × V is a binary relation on V . The set V is called the nodes or vertexes set, while E is the set of arcs or edges. If (u, v) ∈ E we say that v is adjacent to u. Each edge of the type (u, u) is called a self-loop. In figure 2.4 we show the graphical representation of a graph. u v x y z Figure 2.4: Example of a Graph Definition 2.10 (Path in a graph). A path of length k from a vertex v to a vertex v ′ in a graph (V, E), is a sequence hv0 , . . . , vk i of vertexes such that v = vo and v ′ = vk , and (vi , vi+1 ) ∈ E for i = {1, . . . , k}. There is always a 0-length path from v to v. The path is said to be simple if all the vertexes in the path are distinct. For instance, in the graph of figure 2.4, hx, y, vi is a path from x to v. Definition 2.11 (Cycle in a Graph). In a directed graph a path hv0 , . . . , vk i is a cycle if v0 = vk and the path contains at least one edge. A cycle is simple if all the vertexes hv1 , . . . , vk i are distinct. A self-loop is a cycle of length one. For instance, in the graph of figure 2.4, hu, ui is a self-loop. Strongly Connected Components A directed graph is strongly connected if for every pair of vertexes u and v there is a path from u to v and a path from v to u, i.e. if every two vertexes are connected by a directed path. The strongly connected components (SCC) of a graph are the equivalence classes of the vertexes under the “are mutually reachable” relation, or equivalently its maximal strongly connected sub-graphs (Cormen, 2001), (Harary, 1999). Figure 2.5(b) shows the SCCs of the graph in figure 2.5(a). 2.4. Preliminaries on binary relations and graphs t0 37 scc0 scc1 t0 t1 t1 scc234 t2 t2 t6 t5 t4 scc67 scc5 t6 t5 scc9 t4 t9 t9 scc10 t7 t3 t10 t7 t3 t10 scc8 t8 t8 (a) A graph (b) SCCs of the graph Figure 2.5: A graph and the corresponding SCCs More formally, given a graph (V, E), we define a relation R ⊆ V ×V such that uRv iff there exists a directed path from u to v and a path from v to u. It is easy to check that this relation is reflexive5, transitive, and symmetric. Thus, it is an equivalence relation. The equivalence class associated to an element u is such that: [u] = {v ∈ V : exists a path from u to v and a path from v to u} (2.28) 2.4.3 Order relations A relation that is antisymmetric, reflexive and transitive is a partial order, and we call a set on which a partial order is defined a partially ordered set. In a partial order it is possible to have some elements that are not in relation among them. Then, a partial order R on a set A is a total or linear order if for all a, b ∈ A we have aRb or bRa. Notice that, given a directed acyclic graph, we can define a partial order. The partial order is such that a node u comes before a node v if there exists a directed path from u to v. The relation is a partial order since it is trivially transitive and reflexive. It is also antisymmetric since the acyclicity hypothesis implies that if there is a path from a node u to a node v there cannot be a path from v to u without having a cycle. Example 2.11. Consider the graph of figure 2.4 without the self-loop, it represents a partial order such that: 5 Recall u<z x<y u<v y<z (2.29) (2.30) y<v x<v x<z (2.31) (2.32) that there exists always a 0-length path from a node to itself. Chapter 2. Mathematical Background 38 What happens when there is a cycle in the graph? Obviously, in this case the relation exists a path does not define anymore a partial order. We lose one property, the antisymmetric property. In fact, if a cycle is present, all the nodes along the cycle will be mutually connected by a two-way directed path. Consider for instance the graph of figure 2.5, which is the order among transitions t2 , t3 and t4 ? In such a case it is not possible to define an order among them. This type of relationship is called a preorder (Davey and Priestley, 2002). More formally, a relation that is reflexive and transitive is a preorder. Normally, this is due to the presence of a cycle in the precedence relation. In order theory, a preorder is noted as .. Thus we will write u . v when a path exists from v to u. scc0 scc1 scc234 scc9 scc5 scc10 scc67 scc8 Figure 2.6: The strict order ≺ Given a preorder . on (Davey and Priestley, 2002) hold: a set V, several interesting properties • the relation ∼ on V such that v ∼ u if and only if v . u and v . u is an equivalence relation • the relation ≺ on the quotient set V /∼ such that [v] ≺ [u] iff v . u is a (strict) partial order. Intuitively, this operation eliminates the cycles by collapsing each SCC to a single element. We say then that the cyclic graph collapses into an acyclic graph, • the equivalence classes defined by ∼ are the Strongly Connected Components (SCC) of the graph associated to the relation. Thus, from now on we will employ equivalently the terms SCC and equivalence class. Figure 2.6 graphically represents the strict preorder relation ≺ corresponding to the graph of figure 2.5(b). Chapter 3 Related Work In this chapter, we recall some related work. The problem dealt within this dissertation is indeed original, and, to the best of our knowledge, has been only marginally treated by different disciplines like operations research, artificial intelligence, manufacturing engineering, and economics. Although a massive amount of work has been devoted to cope with different aspects of the make-or-buy or make-or-buy-or-collaborate problems, to the best of our knowledge nobody has entirely treated them. In this chapter we will summarise the literature close to our problem. The chapter is organised as follows. In section 3.1, we will recall some basic concepts about auctions. Next, in section 3.2, we will thoroughly explain combinatorial auctions, a particular type of auctions. Then, in sections 3.3, we will introduce the problems of supply chain scheduling and supply chain formation respectively. Next, in section 3.4, we will put in relation the work presented in this dissertation with respect to the state of the art. 3.1 Auctions The most employed definition of auction is due to McAfee et. al (McAfee and McMillan, 1987): ”An auction is a market institution with an explicit set of rules determining resource allocation and prices on the basis of bids from the market participants”. Auctions play an important role in economics. In their most basic form, they are one of the ways in which various commodities, financial assets and concession rights are allocated to individuals and firms, particularly in a market-oriented setting. Some very famous examples of auction houses are Sotheby’s (Sotheby’s, 2007), Christie’s (Christie’s, 2007), and Ebay (Ebay, 2007). The introduction and use of auctions is motivated by the fact that the value of an item (or of a set of items) is often not known a-priori. Then, an auction is a way to “let the market decide” the value associated to the item. It is a very flexible mechanism that is employed with several different variations. Furthermore, it is dynamic, since it allows a meaningful interaction between buyers and sellers. From our point of view, 39 Chapter 3. Related Work 40 the distinguishing feature of auctions is that they support full automation. In fact, they are a mechanism with predetermined rules. Hence, they are ideal for computer implementation. Finally, they are in most cases economically efficient (Milgrom, 2004). 3.1.1 Taxonomy of Auctions Klemperer (Klemperer, 2004) classifies auctions in four basic groups based both on the modality the auction is run with and on the associated payment rule: (1) the ascending-bid auction, also known as English or Open-outcry; (2) the descending-bid auction, also known as Dutch; (3) the first-price sealed-bid auction; and (4) the second-price sealed-bid auction, also known as Vickrey auction. In the ascending-bid auction, the price is raised successively until only one bidder remains. Such bidder wins the object and pays the final price.There are two variants of this auction. One (called Japanese) considers that the price is raised by the auctioneer, and the bidders that are not willing to pay the corresponding price at a given round quit the auction. The other one, known as English, let the bidders call out the prices. The descending auction works in exactly the opposite way, the price starts at a very high price and it is successively decremented until some bidder expresses his willingness to accept that price. In the first-price sealed-bid auction, all the bidders submit their offer without seeing the other bidders’ offers. The bidder offering the highest bid wins paying his bid (that is the highest price, whereby the name first-price). In the second-price sealed-bid, the process is similar, with the exception that the bidder pays the price offered in the second highest bid, whereby the name second price. Another classification can be done based on the number of buyers and sellers, namely: • direct auction when there is one seller and multiple buyers; • reverse auction when there is one buyer and multiple sellers. In this case the item at auction is bought and not sold; and • double auction when there are multiple buyers and multiple sellers. Finally, a classification can be done based on the quantity of items sold/bought and on the features of the items (i.e. price is not the only discriminant of the value associated to an item). In this case we shall refer to multidimensional auctions. There are different types of multidimensional auctions: • multi-unit auctions when multiple identical items are bought/sold; • multi-attribute auctions when the value associated to an object is determined by a set of features (shipping time, quality, and so on); and 3.2. Combinatorial Auctions 41 • multi-item or combinatorial auctions when multiple distinguishable items are bought/sold. There exists a lot of hybrid auctions joining the features of different auction classes. In particular, very relevant to our work are (Cramton et al., 2006): • combinatorial reverse auctions; • multi-unit combinatorial reverse auctions.; and • multi-unit combinatorial auctions. Since combinatorial auctions (CAs) are of central importance in our work, in what follows we provide a detailed account on the state-of-the-art in CAs. 3.2 Combinatorial Auctions A combinatorial (reverse) auction. (Cramton et al., 2006) is an auction where bidders can sell (buy) entire bundles of goods in a single transaction. Although computationally very complex (Sandholm et al., 2002), the fact that bidders can express their preferences over bundles of goods may help an auctioneer obtain better deals. In fact, buying items in bundles has the great advantage of eliminating the risk for a bidder of not being able to sell/buy complementary items at a reasonable price in a follow-up auction (think of a combinatorial auction to acquire a pair of shoes, as opposed to two consecutive single-item auctions for each of the individual shoes). Indeed, combinatorial auctions may lead to more efficient allocations whenever complementarities among the goods at auction hold. For a detailed survey on CAs refer to (Cramton et al., 2006; de Vries and Vohra, 2003; Kalagnanam and Parkes, 2003). CAs have a high potential to be employed as an allocation mechanism in a wide variety of real-world domains. They have been proposed to be employed for allocating loads to trucks in the transportation market (Caplice and Sheffi, 2006), routes to buses (Cantillon and Pesendorfer, 2006), goods/services to buyers/providers in industrial procurement scenarios (Bichler et al., 2006), airport arrival and departure slots (Ball et al., 2006), and radio-frequency spectrum for wireless communications services (Pekec and Rothkopf, 2003). Walsh in (Walsh et al., 2000) employed them for supply chain formation. The study of the mathematical, game-theoretical and algorithmic properties of combinatorial auctions has recently become a popular research topic in AI. This is not only due to their relevance to important application areas such as electronic commerce or supply chain management, but also to the range of deep research questions raised by this auction model. In the last decades, different topics related to CAs have been considered, namely the design of auction mechanisms, bidding languages, and algorithms for the Winner Determination Problem. In the following sections, we summarise the most relevant contributions on those topics. Chapter 3. Related Work 42 3.2.1 Mechanism Design Auction theory studies the formal properties of auctions as shown in the surveys of (Krishna, 2002) and (Milgrom, 2004). Nonetheless CAs have recently attracted the attention of economists and game theorists. Associated to auction theory is also the design of auction mechanisms, devoted to study how to run an auction in order to guarantee some economic properties such as, for instance, efficiency, incentive compatibility, individual rationality, etc. For instance, (Ausubel and Milgrom, 2006b), (Parkes, 2006), (Ausubel and Milgrom, 2006a), (Cramton, 2006), (Ausubel et al., 2006), and (Land et al., 2006) describe some mechanisms for CAs. 3.2.2 Bidding Languages Bidding is the process of transmitting one’s valuation function over the set of goods on offer to the auctioneer (or rather some valuation function — the bidders are of course not required to reveal their true valuation —). In principle, it does not matter how the valuation function is being encoded, as long as sender (bidder) and receiver (auctioneer) agree on the semantics of what is being transmitted, i.e. as long as the auctioneer can understand the message(s) sent by the bidder. Indeed, it is possible to fully specify an auction mechanism (allocation and pricing rules) without reference to a concrete bidding language. In practice, however, the choice of a bidding language is of central importance. Early work on combinatorial auctions has typically ignored the issue of bidding languages. The standard assumption used to be that if a particular bidder submits several atomic bids (a bundle together with a proposed price), then the auctioneer may accept any set of bids from that bidder for which the bundles do not overlap, and charge the sum of the specified prices. This is now sometimes called the OR language. But other interpretations of a set of atomic bids are possible. For instance, we may take it to mean that the auctioneer may accept at most one bid per bidder; this is now known as the XOR language. The first systematic study of bidding languages is due to Nisan (Nisan, 2006) (an early version (Nisan, 2000) appeared in 2000). Nisan’s papers provide an excellent introduction to the topic and clarify a number of issues that had previously remained somewhat fuzzy. Nisan classifies several types of bidding languages, providing expressiveness results for each of them. At the basis of his exposition lies the concept of atomic bid. Formally, an atomic bid is a pair (S, p), where S is a subset of the items at auction, and p is the price a bidder is willing to pay to obtain the goods in S. By combining in different ways atomic bids we obtain several bidding languages. The most widely employed are: • OR. Each bidder submits an arbitrary number of atomic bids. The auctioneer is allowed to accept any disjoint subset of them. • XOR. Each bidder submits an arbitrary number of atomic bids. The auctioneer is allowed to accept at most one among them. 3.2. Combinatorial Auctions 43 • OR-of-XOR. Each bidder can submit any number of XOR bids. The auctioneer is allowed to accept any subset of these bids. • XOR-of-OR. Each bidder can submit an arbitrary number of OR bids. The auctioneer is allowed to accept at most one of these bids. Consider the following example explaining the semantics of OR and XOR bids. Example 3.1. Say that the set of goods at auctions is {A, B, C}. Then, we have: • OR: ({A}, 3) OR ({B, C}, 3) means that if the bidder is allocated {A, B, C}, then he will pay 6. • XOR: ({A}, 3) XOR ({B}, 3) XOR ({A, B}, 5) means that if he is allocated {A, B} he will pay 5 (not 6). Another interesting paper about bidding languages is (Boutilier and Hoos, 2001), where Boutilier et al. present a logical bidding language that allows the expression of complex utility functions in a natural and concise way. In this language bids are given by propositional formulae whose sub-formulae can be annotated with prices, thus allowing for a natural and concise formulation of bidders’ utility functions. To the best of our knowledge, no bidding language has considered so far services or manufacturing operations as entities that can be traded. As explained in chapter 1, in order to apply combinatorial auctions to the make-or-buy of make-or-buy-or-collaborate decisions, it is required to predicate about manufacturing operations and services across the supply chain. 3.2.3 Winner Determination Problem Connected with the introduction of combinatorial auctions is the winner determination problem (WDP). Winner determination is the problem, faced by the auctioneer, of choosing which goods to award to which bidder so as to maximise its revenue. The winner determination for combinatorial auctions is a complex computational problem. Indeed, one of the fundamental issues limiting the applicability of CAs to real-world scenarios is the computational complexity associated to the winner determination problem. In particular, it has been proved that the WDP is NP-complete (Rothkopf et al., 1998). General IP solvers (Andersson et al., 2000) and special purpose algorithms (Sandholm, 2002; Fujishima et al., 1999; Leyton-Brown et al., 2000) have been employed to solve the WDP, but it is well known that a general solver that performs well in all situations does not exist. For an extended review on the winner determination problem and related issues refer to (Lehmann et al., 2006; Muller, 2006; Sandholm, 2006b). Here we aim at presenting the traditional ILP (see section 2.1.2) formulation employed to model the combinatorial auction winner determination problem, given that its comprehension is required to understand the remaining of the dissertation. Chapter 3. Related Work 44 ILP formulation for the Combinatorial Auction WDP Say that an auctioneer wants to sell n goods. Each good is denoted as gi , where 1 ≤ i ≤ n. In a combinatorial auction bidders can send all-or-nothing offers over a set of goods. Say that each of the m bidders participating in the auction only submits one bid1 bj , 1 ≤ j ≤ m. Each bid is represented by a pair bj = (Sj , pj ) such that pj is the price that the bidder is willing to pay for obtaining the set of goods Sj . How can the auctioneer select the bids that maximise his revenue? This problem can be easily modelled by means of Integer Programming (refer to section 2.1.2 for a detailed explanation). We associate to each bid bj a binary decision variable xj ∈ {0, 1} that takes on value 1 if bid bj is selected, and 0 otherwise. Then, the function that the auctioneer wants to maximise is his revenue, namely: m X xj pj (3.1) j=1 that is the objective function of the integer program. Additionally, we have to make sure that each good is sold to at most one bidder since the auctioneer only owns one copy of each good. Thus, we employ coefficients cij to model that either good gi is required in bid bj (cij = 1), or not (cij = 0). Then, the following constraints must hold: m X cij xj ≤ 1 1≤i≤n (3.2) j=1 In what follows we list some attempts carried out in the past to deal with the generation of benchmarks for testing combinatorial auctions WDP algorithms. 3.2.4 Test Suites No real-world benchmark of CAs has been reported in the literature. Many efforts have been done so far to generate plausible data sets to be employed to test WDP algorithms. Some experiments have been run with human bidders (Banks et al., 1989). Nonetheless, as pointed out in (Leyton-Brown and Shoham, 2006), such data sets are not useful for assessing the WDP computational complexity. In the absence of test suites, it is common practice to artificially generate data sets. Some examples are (Fujishima et al., 1999; Boutilier et al., 1999; de Vries and Vohra, 2003) for single-unit CAs, and (Leyton-Brown et al., 2000) for multi-unit CAs. Multi-unit CAs have also been tested employing multidimensional knapsack problem benchmarks, borrowed from the operations research community. A more realistic approach to generate bids is presented in (Leyton-Brown and Shoham, 2006), where complementarity relationships among goods are made explicit at bid generation time. Another realistic approach is taken in (An et al., 2005), where the authors design bidding strategies that efficiently 1 We do this simplified hypothesis for the sake of comprehension. The extension to the OR or XOR bidding language is easy (Lehmann et al., 2006). 3.3. Supply Chain Scheduling and Supply Chain Formation 45 identify desirable bundles in the framework of the transportation industry domain (focusing therefore on single-round, first-price, sealed-bid forward CAs). Finally, a master student has elaborated on subjects related to this thesis. Vinyals (Vinyals, 2007b; Vinyals et al., 2007a; Vinyals et al., 2007b) has implemented a very powerful simulator of the behaviour of agents bidding in an MMUCA, and has tested the performances of some of the algorithms presented in this dissertation. In what follows we change of subject and introduce the work in the state-of-the-art related to supply chain scheduling and supply chain formation. 3.3 Supply Chain Scheduling and Supply Chain Formation In this section, we will talk about supply chain scheduling and planning, and supply chain formation. On the one hand, the problem of supply chain formation concerns the selection of the participants to the supply chain and the terms of the exchange, with the purpose of maximising the efficiency of the supply chain. Informally, supply chain formation is the problem of deciding who will supply what, who will do what, and who will buy what. On the other hand, the problem of supply chain scheduling and planning is more focused on the coordination among the different operations across the supply chain with the purpose of minimising the cost of performing operations and transportation, and the time required to perform all the operations. Informally, supply chain scheduling and planning is the problem of deciding when each agent within the supply chain has to perform a given operation or job in order to finish all the operations before a given deadline. There is a fundamental difference between the problem of supply chain formation and the problem of supply chain scheduling and planning. The former deals with finding a set of supply chain partners, whereas the latter deals with the problem of coordinating them. Nevertheless, the two problems are tightly connected. In fact, in order to effectively select the participants to the supply chain, agents should make sure that there exists a feasible scheduling of their operations. This is needed since each stakeholder along the supply chain: • provides resources subsequently employed by other stakeholders; or • employs or consumes resources previously produced by other stakeholders; or • produces resources subsequently employed by other stakeholder, requiring as inputs resources previously supplied by other stakeholders. Then, the selection of partners can be greatly improved if the feasibility of the scheduling is taken into account. In the literature there have been many attempts to solve the problem of supply chain planning and scheduling and some attempts dealing with the supply chain formation problem. However, to the best of our knowledge, no attempt to solve the problem of supply chain formation taking into account the feasibility of the scheduling has been done so far. Chapter 3. Related Work 46 3.3.1 Supply Chain Scheduling and Planning There exist two approaches to supply chain planning and scheduling (Lau et al., 2006): centralised and distributed. The Centralised Approach The centralised approach to supply chain scheduling has been investigated for many years. In this approach a central authority collects all the information from the peers and then computes the optimal planning (Cohen and Lee, 1988; Ertogral et al., 1998; Sabri and Beamon, 2000; Jayaraman and Pirkul, 2001; Lee et al., 2002). A good survey on centralised planning can be found in (Erenguc et al., 1999). The information required to optimise the scheduling may either be centralised or distributed, according to the nature of the problem. For instance, inside an enterprise there may be a central repository of information, whereas in a consortium of enterprises each firm holds its private information. The information that must be provided in order to compute the planning concerns the production features of the participants (the required time to perform an operation, the associated cost, the precedence relationships among operations, and so on). One of the firm acts as a coordinator, and, after receiving the production data, computes an optimal plan, that is subsequently communicated to the other supply chain stakeholders. In this approach, there must be information sharing among the supply chain stakeholders in order to obtain an efficient plan. Many methods have been proposed to solve the underlying planning problem, for instance metaheuristics (Kallrath, 2002), stochastic algorithms (Alonso-Ayuso et al., 2003), or mixed-integer programming (Gaonkar and Viswanadham, 2001). The centralised approach suffers from some drawbacks. Firstly, some firms may be reluctant to share very sensitive internal information. Secondly, the computational time required to solve even small instances is huge. Finally, the centralised approach makes it difficult to react to fails and breakdowns across the supply chain. In case some of these events occur, the scheduled plan must be recomputed from scratch. The Distributed Approach In the distributed approach, the decisions about the scheduling are taken locally. That is, a supply chain stakeholder builds its schedule relying on the communications with its neighbours along the supply chain. The decision is based on the local information and objectives of each supply chain stakeholder. The interactions among the supply chain participants continue until a global scheduling is found or some termination condition is met. The major advantages of the distributed approach versus the centralised one are: • the information is shared only at a local level; • the computational complexity of the problem is reduced, since the problem solved locally by each supply chain stakeholder is by far less difficult than the global optimisation problem; and 3.3. Supply Chain Scheduling and Supply Chain Formation 47 • since enterprises act locally, the capacity of reacting to breakdowns or shortcomings is increased with respect to the centralised approach. Many methods have been proposed to solve the scheduling problem with a decentralised approach. For a good review, refer to (Lau et al., 2006). The most celebrated distributed approach for centralised supply chain scheduling and planning has been the Contract Net Protocol (CNP), along with all its variants. In his original formulation, the CNP specifies a bidding approach that enables task allocation among multiple agents (Smith, 1980). The multi agent system (Wooldridge and Jennings, 1995) based approach has been widely employed in the past as well (Collins, 2002; Zhang, 2002; Reis et al., 2001; Lee et al., 2003; Wagner et al., 2003; Lau et al., 2006; He et al., 2003; Norman et al., 2004). The distributed approach suffers as well from some drawbacks. The main shortcomings regard the feasibility and optimality of solutions. It has been shown (Jennings and Wooldridge, 1998) that, since agents act and reason locally, they disregard the other agents’ constraints and the global performance of the supply chain. To conclude, choosing between a centralised or a distributed approach strongly depends on the problem to be solved and on the availability of computational resources. 3.3.2 Supply Chain Formation Very little work has been devoted to the problem of automating supply chain formation. In this chapter, we will not consider the literature on non-automated supply chain formation because its contributions stem from the areas of economics and negotiation rather than from optimisation. Thus, it is out of the scope of the dissertation. Supply chain formation studies the problem of automating the process of determining the supply chain partners, under the assumption that the information required by the decision making process is decentralised. In the area of supply chain formation two approaches have been considered as well, namely the centralised and the distributed approach. The Centralised Approach As far as we are concerned, little effort has been devoted to the centralised approach to the supply chain formation problem. A significant attempt to provide a mechanism to select the right business partners in a supply chain has been undertaken by (Gaonkar and Viswanadham, 2005). This work is probably at the edge between supply chain planning and supply chain formation. This very interesting paper focuses on the problem from a real-world point of view: what happens when there is a roll-over of products in a market? Should a firm maintain the same business partners? Should it change them? The authors provide a mixed integer programming formulation of the underlying decision problem. This approach suffers from some limitations: (1) it is not completely automated, because the interaction between the supply chain stakeholders is performed through an Internet-enabled platform; Chapter 3. Related Work 48 (2) there is no communication language among the supply chain stakeholders (like, for instance, a bidding language); and (3) it has a high computational cost and subsequent poor scalability. However, it substantially differs from our approach, since it is not based on a market mechanism. It is more a static decision support system to help strategic decision making under particular market conditions. In (Walsh, 2001; Walsh et al., 2000), Walsh et. al introduce combinatorial auctions for supply chain formation. These represent an extension of combinatorial auctions in which a whole supply chain is negotiated via an auction. In such a context, askers, sellers and manufacturers participate and submit bids within the same auction. In order to cope with this new auction Walsh et. al introduce the Task Dependency Network (TDN), a network representing all the producer/consumer relationships among the bidders. We consider that this work has dealt with a problem very similar to ours. In fact both our and their work: • are built upon a market-based mechanism, namely combinatorial auctions; • explicitly represent producer-consumer relationships holding across the supply chain; and • model resource contention (i.e. the fact that in the system there are less resources available than the overall required ones). However, as explained in section 1.4.2, Task Dependency Networks and combinatorial auctions for Supply Chain Formation are limited along several dimensions: they do not possess the expressiveness, computational, and formal analysis tools required to deal with the make-or-buy-or-collaborate decision problem. Collins et. al in (Collins, 2002; Babanov et al., 2003) deal with a problem similar to the supply chain formation introducing time and precedence constraints. However they do not explicitly model the multiple levels within a supply chain and the resource contention across it. They also provide a bidding language including information about the time required to perform operations. Finally, Norman et. al (Norman et al., 2004) describe a combinatorial auction to form virtual organisations. They also provide an advanced bidding language for expressing offers in which the time dimension is considered as well. Although very innovative, we find that its applicability to the problem of supply chain formation is limited since neither resource contention nor the producer-consumer relationships present across a supply chain can be modelled. The Distributed Approach Distributed approaches to supply chain formation are not so closely related to our work. However, we will point out the two most relevant works in the field that employ a market based mechanism. Rosenschein and Zlotkin in (Rosenschein and Zlotkin, 1994; Zlotkin and Rosenschein, 1996) introduce Task Oriented Domains (TODs). A 3.4. Conclusions 49 TOD is a set of tasks that must be completed, and a cost function over bundles of tasks. They fix a set of negotiation rules and provide some theoretical results on the properties of the negotiation outcome. Walsh and Wellman in (Walsh and Wellman, 2003) provide a decentralised version of the auction mechanism provided in (Walsh et al., 2000), which is based on a variation of the Contract Net Protocol. We stress that both approaches suffer from limitations. On the one hand, TODs do not incorporate nor implicitly neither explicitly the dependencies among operations across a supply chain, whereas the model in (Walsh and Wellman, 2003) suffers from the same expressiveness, computation and formal analysis shortcomings as combinatorial auctions for supply chain formation do. 3.4 Conclusions Little work has been done so far to solve make-or-buy or make-or-buy-or-collaborate decisions with a centralised market-based approach. Many papers have focused on similar problems though none of them captures all the requirements expressed in sections 1.4.1 and 1.4.2. Our work is placed somewhere in between centralised supply chain planning and centralised supply chain formation. Our work is not entirely included in the field of supply chain formation because we do not only assess the participants to a supply chain, but we also provide a feasible sequence of supply chain operations to perform. Analogously, our work is not completely included in the field of supply chain scheduling since the participants to the supply chain are not fixed a-priori, but determined on the fly based on a market mechanism. Furthermore, we do not need to include the time dimension into the problem to provide a feasible schedule. In fact, the precedence relationships among operations are implicitly represented in the formalism that we employ to model resource contention at each level of the supply chain. Summarising, in the state of the art we find solutions to both supply chain scheduling and planning and to supply chain formation problems. However, none of the solutions we are aware of possesses all the features required to solve both make-or-buy and make-or-buy-or-collaborate decision via a market-based approach. (1) As thoroughly explained in sections 1.4.1 and 1.4.2, combinatorial auctions lack of the possibility to express manufacturing operations, or equivalently production relationships among the goods at auction. However, they provide a good model to build upon because they allow to express complementarities among the goods at auction (Cramton et al., 2006); they can count on theoretically well-founded bidding languages (Nisan, 2006), and there have been significant contributions to the study of their winner determination problem (Lehmann et al., 2006). (2) As detailed in section 1.4.2, combinatorial auctions for supply chain formation and the associated Task Dependency Networks help negotiating manufacturing operations. However, they suffer from formal, computational, and expressiveness limitations. 50 Chapter 3. Related Work (3) We deem that distributed approaches are not suitable to our problem. In fact, to the best of our knowledge, they do not guarantee nor optimality nor feasibility. The literature in combinatorial auctions has thoroughly demonstrated the efforts in finding optimal solutions to the winner determination problem. In today’s business world, to provide methodologies that sacrifice optimality when big quantities of money are in play is a risky business. Chapter 4 MUCRAtR In this chapter we deal with the make-or-buy decision problem when complementarities among goods hold at the bidders’ side. With this aim, we introduce a new type of combinatorial auction, the Multi-unit Combinatorial Reverse Auction with transformability Relationships among goods (MUCRAtR), extending traditional combinatorial auctions. We also provide a mapping of the MUCRAtR winner determination problem to an optimisation problem on Place/Transition Nets (PTN). Such a mapping allows to efficiently solve the WDP for some problem classes, and provides a set of powerful formal tools for describing the underlying optimisation problem. This chapter is organised as follows. In section, 4.1 we introduce the problem we aim at solving and informally outline the proposed solution. In section 4.2, by means of some examples and intuitions, we introduce the limitations associated to CAs with respect to the make-or-buy decision problem in a combinatorial scenario. In section 4.3, we introduce a formalism, based on PTN, that overcomes part of such problems. In section 4.4 we extend PTN in order to amend the expressiveness shortcomings of the PTN model. In particular, we introduce a new type of PTN called Weighted Place Transition Net (WPTN). Moreover, we define a new reachability problem over WPTN, the Constrained Maximum Weight Occurrence Sequence Problem (CMWOSP). In section 4.5, relying on WPTNs, we succeed in formally representing an auctioneer’s internal production and cost structure along with the set of received offers from bidders under a unified formalism. Building upon such framework, we formally define the WDP for the new auction as a particular CMWOSP. In section 4.7, we prove that the CMWOSP, and thus the WDP formalised in section 4.6, can be solved by means of IP under suitable conditions. Finally, section 4.8 draws some comments and concluding remarks. 4.1 Beyond Combinatorial Auctions In the introductory chapter we mentioned that we are dealing with two main issues in this dissertation. The first one is the automation of make-or-buy decisions across the supply chain, and the second is the automation of make-or-buy-or-collaborate decisions across the supply chain. In this chapter we focus on the make-or-buy decision problem, 51 52 Chapter 4. MUCRAtR namely the problem of selecting what to produce in-house and what to outsource in order to obtain some required goods. We argued in section 1.4.1 that this concern is reasonable because the cost of the raw materials plus the cost of the manufacturing operations could eventually be higher than the cost of already-made goods. As an additional constraint, we require that the complementarities among goods on the bidders’ side are taken into account: bidders should be allowed to compose all-or-nothing offers over bundles of goods. In section 1.4.1, through the example of the Grandma & co firm, we showed that the make-or-buy decision problem represents a challenging problem in a scenario with complementarities among the goods. We highlighted that Grandma & co requires a complex decision support system along with a combinatorial negotiation mechanism that helps it in detecting the cost-minimising buying configuration and the internal operations to perform in order to obtain the finally required goods. For this reason, we decided to build upon combinatorial auctions to cope with the make-or-buy decision problem. We recall that the distinguishing feature of combinatorial auctions is that bidders can submit all-or-nothing offers over bundle of goods. This allows to mitigate the risks connected with markets with strong complementarities, like for instance depressed bidding1. Unfortunately, as we thoroughly showed in section 1.4.1, some limitations prevent the application of combinatorial auctions to the make-or-buy decision problem. That is mainly due to two types of limitations: expressiveness and winner determination problem. We recall in table 4.1 the limitations of combinatorial auctions thoroughly explained in section 1.4.1. Hence, in this chapter we extend Multiunit Combinatorial Reverse Auctions (MUCRA)2 in order to overcome the intrinsic limitations of CAs for dealing with the makeor-buy decision problem. The resulting auction model is called Multi-unit Combinatorial Reverse Auction with transformability Relationships among goods (MUCRAtR). This new auction type allows a buyer/auctioneer to express and communicate to bidders its internal production structure and its final requirements. Bidders can then formulate appropriate offers and send them back to the auctioneer. Upon receiving the offers, an auctioneer can determine, by means of a public selection rule, the cost minimising combination of bids along with the internal operations leading to its final requirements. Then, firstly we try to model an auctioneer’s internal manufacturing operations by means of Place Transition Nets (PTNs, thoroughly described in section 2.3). They perfectly represent the manufacturing operations by specifying the quantity of resources both required an produced by each manufacturing operation. Furthermore, they naturally model the producer/consumer relationships holding among them. Then, the PTN representing the internal manufacturing operations fulfills requirement (1) in table 4.1. Next, we incorporate the offers received by the auctioneer into the PTN encoding the auctioneer’s production structure. This idea is based on the intuition that the selected offers inject goods into the auctioneer production process: without ingredients it is not possible to produce pies. This solves issue (3) in table 4.1. 1 Depressed bidding is a phenomenon associated to the fact that bidders may risk to obtain only a part of a set of complementary goods, and therefore bid less aggressively. 2 We recall that a MUCRA is simply a combinatorial reverse auction in which multiple copies of each item are auctioned3 (Sandholm, 2002). 4.1. Beyond Combinatorial Auctions TYPE Expressiveness 53 REQUIREMENTS (1) specification of the internal manufacturing operations and the producer/consumer relationships among them (2) specification of an auctioneer’s final requirements (3) relationships among the manufacturing operations, the auctioned goods, and the received bids (4) specification of an auctioneer’s internal cost structure WDP (5) information about which in-house operations to perform and in which order Table 4.1: Summary of requirements for the make-or-buy decision problem. More in details, we build two PTNs: one representing the internal manufacturing operations of an auctioneer, that we name P T NI (I from Internal), and another one extending P T NI to incorporate offers, called P T NE (E from Extended). The dynamic behaviour of PTNs serves to describe the set of possible outcomes of a MUCRAtR. In particular, PTNs can naturally model: (1) the preconditions of each manufacturing operation (the required inputs must be present); (2) the resources consumed and produced by each manufacturing operation; (3) the quantity of resources injected into the system when an offer is selected; and (4) the quantity of resources available to an auctioneer after performing a given manufacturing operation. According to item (4) in the list above, an auctioneer can model its resource availability at any step of its manufacturing process. Consequently, P T NE can compactly encode the outcomes (in terms of finally available resources) of all the possible decisions an auctioneer may take4 . The encoded information concerns the level of resources available at the end of a production process fed by a set of offers and composed of a sequence of internal operations. Furthermore, the rules governing the dynamics of PTNs enforce that each of the possible decisions is implementable, i.e. all the manufacturing operations are run in the correct order and only if the required input resources are provided. 4 Notice that by decision we mean the selection of a set of offers and of a set of internal manufacturing operations. 54 Chapter 4. MUCRAtR However, an auctioneer is not simply interested in choosing the bids and the internal operations leading to a satisfactory level of available resources. Above all he is interested in minimising its costs while doing this. Unfortunately, PTNs allow to express neither the cost associated to performing manufacturing operations nor the cost associated to selecting a set of bids. Due to this expressiveness limitation, we decided to extend the notion of PTN to incorporate the cost associated to a manufacturing operation and the cost associated to a bid. Such extension, called Weighted Place Transition Nets (WPTN), allows associating a cost to each transition of a PTN. With this tool at hand, we firstly associate a cost to each transition of P T NI . This creates a WPTN allowing to reason about the manufacturing operations internal to an auctioneer. I name such WPTN Transformability Network Structure (TNS). It incorporates the following information about an auctioneer’s internal manufacturing operations: (1) the required input goods; (2) the produced output goods; (3) the cost associated to each operation; and (4) the eventual producer/consumer relationships with other operations. By means of a TNS, an auctioneer can also compactly communicate to bidders all the possible RFQ configurations leading to its final requirements. Summarising, the information contained in a TNS along with the auctioneer’s finally required goods provide to bidders sufficient information to compose meaningful offers. This overcome requirement (2) of table 4.1. As mentioned above, our strategy shall be to map the internal manufacturing operations and the received offers into a PTN (P T NE ). If we associate a cost to each of its transitions, we obtain a WPTN that provides a unified description framework for the make-or-buy decision problem. I call such extension Auction Net because it permits to encode the information about an auctioneer’s internal production and cost structures and about the offers it receives. The formal language offered by an Auction Net helps fulfill expressiveness requirements (1), (3) and (4) of table 4.1. By means of an Auction Net an auctioneer can compactly express the outcome of any of its possible decisions (acceptance of some bids and execution of some internal operations), and also quantify the cost associated to each of such outcomes. Furthermore, the Auction Net allows to incorporate the information about an auctioneer’s initial stock. We recall that the goal of the auctioneer is selecting a cost minimising outcome fulfilling its final requirements. This can be achieved only if he can express constraints over possible outcomes. Then, the last requirement for expressing the decision problem is allowing an auctioneer to express constraints over the set of possible outcomes. Against this background, the MUCRAtR winner determination problem can be stated as a problem over an Auction Net (a WPTN), where the goal is minimising the cost associated to a sequence of steps that brings to a final state fulfilling some constraints. Then, we define a new optimisation problem on WPTNs: the Constrained 4.2. The problem 55 Maximum Weighted Occurrence Sequence Problem (CMWOSP). The objective of a CMWOSP is finding a cost minimising sequence of steps leading to a final state fulfilling a set of constraints. This provides a solution to requirement (5) in table 4.1. Notice that the result of a CMWOSP is a firing sequence, i.e. an ordered sequence of transitions. This reflects a critical feature of the make-or-buy decision problem. An auctioneer cannot run its internal manufacturing operations in a random order. Because of producer/consumer relationships among manufacturing operations, an auctioneer must be aware of the implementation order. For instance, if Grandma & co decides to only buy the basic ingredients and to perform all the manufacturing operations internally, it cannot perform the Baking operation before the Make Dough or Make Filling operations, since the latter ones provide the inputs to the former one (cf. figure 1.1). Then, the definition of the winner determination problem does not only assess the optimal set of goods to buy, but also the optimal ordered sequence of in-house operations to perform in order to obtain the goods finally required by the auctioneer. Two direct benefits stem from the mapping of the MUCRAtR WDP to WPTNs. Firstly, it is possible to directly import all the PTNs analysis tools and theoretical results and apply them to our problem. This provides the techniques for dealing with requirement (5) in table 4.1. In fact, we manage to model, for a wide class of problems, the WDP via integer programming (see section 2.1.2), and efficiently solve it by means of black-box solvers as ILOG CPLEX (ILOG, 2007) or GNU GLPK (Makhorin, 2001). 4.2 The problem In what follows we further specify the extensions to CAs needed for dealing with the make-or-buy decision problem. With this aim we extend example 1.1 in chapter 1. We recall that the example was about Grandma & co, a company devoted to produce and sell apple pies. According to the example, the marketing department at Grandma & co has forecast a sale of two hundreds apple pies within the next month, and therefore Grandma & co starts an automated sourcing process. Grandma & co opts for running a combinatorial auction to source the required ingredients. However, as explained in section 1.4.1, besides inviting providers of basic ingredients (butter, sugar, flour, apples, margarine), Grandma & co invites providers of intermediate goods (dough, filling), and even of final goods (apple pies). The production management department aims at evaluating the opportunity to outsource part of the production process. Unfortunately, Grandma & co faces a decision problem that cannot be solely treated by means of combinatorial auctions because of the intrinsic limitations listed in table 4.1. In example 4.1 we provide an extended version of example 1.1 that explicitly illustrates such limitations. Example 4.1. The data characterising the Grandma & co’s decision problem are: (1) The cost of its internal manufacturing operations: (a) A Make Dough operation costs e 5 each time it is carried out. It requires one unit of butter, three units of sugar, and two units of flour as inputs; and it produces two units of dough as output. Chapter 4. MUCRAtR 56 (b) A Make Filling operation costs e 6 each time it is carried out It requires one unit of flour, eight units of apple, and two units of margarine as inputs; and it produces two units of filling as output. (c) A Baking operation costs e 14 each time it is carried out. It requires four units of dough and four units of filling as inputs; and it produces four units of apple pie as output. (2) A sale forecast of 200 apple pies. This represents the final requirements of Grandma & co. (3) A stock of one hundred units of floor and two hundreds units of sugar. Then, if Grandma & co intends to run a combinatorial auction and to invite all its providers, it must be able to • send them a request for quotes (RFQ) containing the number of required units for each good; and • once received all bids, it must be able to determine which bids to accept and which internal manufacturing operations to perform in order to obtain the 200 apple pies. Unfortunately, life is not that easy for Grandma & co. Firstly, it is not possible to a priori establish how many units of each good the auctioneer (Grandma & co) requires. In fact, this depends on the production plan, that can only be decided upon receiving the offers. Secondly, once received all bids, Grandma & co needs a winning rule for the optimal, efficient and automatic selection of the best set of bids and in-house operations. In the two following sections we illustrate the first and second problem. 4.2.1 Communicating the RFQ In a traditional Multi-Unit Combinatorial Reverse Auction (MUCRA) scenario, a Request for Quotation (RFQ) (Reyes-Moro et al., 2003) expresses the number of required units for each good. However, whenever an auctioneer (Grandma & co) faces make-orbuy decision problems, it happens that the requirement sent to bidders (the RFQ) is not equivalent to the quantity of goods that the auctioneer actually requires (the 200 apple pies). When internal manufacturing operations are taken into account, an auctioneer has to distinguish between the objective quantity of goods at the end of its production process and what to ask providers for. This occurs because an auctioneer (Grandma & co) can opt for several, possible buying options and several, possible levels of internal production. All these options differ in the number of required units and in the level of internal production. For instance, • if Grandma & co decides to buy only already-made pies without producing anything, then it must ask providers offers for two hundred units of apple pies. This results in the RFQ expressed in table 4.2(a) and in the internal operations quantified in table 4.2(b). 4.2. The problem Resource butter sugar flour apples margarine dough filling apple pies 57 Required Units 0 0 0 0 0 0 0 200 (a) Request for quotes for apple pies only. Operation Make Dough Make Filling Baking Resource butter sugar flour apples margarine dough filling apple pies Required Units 100 500 300 800 200 0 0 0 (c) Request for quotes for basic ingredients only. Quantity 0 0 0 (b) Internal operations to perform. Operation Make Dough Make Filling Baking Quantity 100 100 50 (d) Internal operations to perform. Table 4.2: Request for quotes for different scenarios. • if Grandma & co decides to produce everything in house, then it must require for each ingredient the quantity needed for producing 200 apple pies, and must perform the Make Dough, Make Filling, and Baking operations as many times as required. This corresponds to the RFQ expressed in table 4.2(c) and in the internal operations quantified in table 4.2(d). It is easy to understand why Grandma & co cannot completely specify its exact requirements a-priori (limitation (2) in table 4.1). The number of acquired units will depend on the received offers. In order to overcome such difficulty Grandma & co should be able to communicate to bidders its internal production relationships along with the producer/consumer relationships among them (limitation (1) in table 4.1). When bidders have this information available, Grandma & co simply has to communicate to bidders the quantity of each good it aims at obtaining at the end of the production process (in our case two hundred apple pies). The bidders can then infer the required quantity for each good (limitation (2) in table 4.1). 4.2.2 Selecting the optimal decision Even under the hypothesis that Grandma & co was able to uniquely communicate its requirements to bidders, once received the bids it would not be able to decide which bids to accept and which internal operations to perform in order to minimise its costs and to obtain the 200 apple pies. More importantly, it would not have any public rule stating how to win in the auction. How can bidders participate and submit bids if they Chapter 4. MUCRAtR 58 are not aware of the winning bids’ selection mechanism? If Grandma & co cannot determine who the winners are, there can be no auction. In order to express all the possible outcomes of any of its possible decisions, an auctioneer must be able to link its internal production and cost structure, the received offers, and its final requirements (the 200 apple pies). If it also wants to select the best among those possible decisions, then it must be able to quantify the cost associated to each of the above-mentioned decision outcomes. Then, in the following section, we make a first attempt at solving the abovementioned problems relying on PTNs (section 2.3). In this way, we will succeed in modelling all the possible decisions an auctioneer may take. 4.3 A first attempt: Place/Transition Nets PTNs (see section 2.3) are a very powerful tool to describe discrete dynamical systems, like for instance operating systems, workflows, finite state machines, parallel activities, data-flow computation, producers-consumers systems with priority, and so on. The firing of a transition in PTNs represents a state change in a discrete system. Such a state change can only take place if some preconditions occur (i.e. the transition must be enabled). For instance, if we model manufacturing operations by means of transitions in a PTN, the execution of a manufacturing operation changes the state of the production system: some goods are consumed, while other goods are produced, whenever enough input goods are available. In this section we try to model the problem of Grandma & co by means of PTNs. In section 4.3.1 we model via PTNs the internal production structure of an auctioneer, and in section 4.3.2, we complement such PTN model by incorporating the offers received by the auctioneer. 4.3.1 Modelling the internal production structure In this section we model an auctioneer internal production structure by means of PTN. Consider the following example. Example 4.2. In figure 4.1, we associate a Place/Transition Net Structure (PTNS5 ) to the internal production structure of Grandma & co, characterised in example 4.1. In doing this we associate places (P ) to goods, transitions (T ) to manufacturing operations, and input/output arcs (A) and their weights (E) to the quantity of goods consumed/produced by each manufacturing operation. Formally, • The set of places is P = {butter, sugar, f lour, apples, margarine, dough, f illing, applepie} • The set of transitions is T = {makedough, makef illing, baking} • The set of arcs is A = {(butter, makedough), (sugar, makedough), (f lour, makedough), (sugar, makef illing), (f lour, makef illing), 5 Refer to definition 2.1. 4.3. A first attempt: Place/Transition Nets butter sugar 59 1 3 2 2 Make Dough 2 dough 4 Baking 4 flour 4 1 Make Filling 8 apples 2 Apple Pies filling 2 marga rine Figure 4.1: PTNS associated to example 4.1. (apples, makef illing), (margarine, makef illing), (makedough, dough), (makef illing, f illing), (f illing, baking), (dough, baking), (baking, applepie)}. • The arc weight function E is: E(butter, makedough) =1 E(sugar, makedough) = 3 E(f lour, makedough) =2 E(f lour, makef illing) =1 E(sugar, makef illing) = 2 E(apples, makef illing) = 8 E(margarine, makef illing) =2 E(makedough, dough) = 2 E(makef illing, f illing) =2 E(dough, baking) =4 E(f illing, baking) = 4 E(baking, applepie) = 4 Then, with this tool at hand, we can quantitatively represent the input resources needed and consumed by each manufacturing operation, the output resources produced, and the producer consumer relationships among the manufacturing operations. We recall that a PTN is a PTNS with associated an initial marking M0 (see section 2.3). The initial marking in a PTN usually represents the initial state of a discrete dynamic system. In the case of Grandma & co we can provide a similar semantics. The following example clarifies this point. Example 4.3. The initial marking M0 stands for the initial stock at Grandma & co. Indeed, the stock of a firm represents the “initial state” of its supply chain. The initial Chapter 4. MUCRAtR 60 stock at Grandma & co is two hundreds units of sugar and a hundred units of flour (see example 4.1). The multiset (refer to section 2.2) representation of the initial state would be: M0 = 200′ sugar + 100′ f lour Thus, in figure 4.2, we graphically depict the initial marking of the PTN by means of numbers within places (circles). We call the resulting PTN P T NI (I stands for Internal). butter 0 sugar 200 1 3 2 2 flour 100 apples 0 Make Dough 2 dough 0 4 Baking 4 4 1 Make Filling 8 2 Apple Pies 0 filling 0 2 margarine 0 Figure 4.2: P T NI associated to example 4.1. Recall from section 2.3 that a transition in a PTN is enabled only if its input places contain enough tokens. For instance, in figure 4.2, transition Make Dough is enabled only if at least one unit of butter, three units of sugar, and two units of flour are within its input places. This is exactly what we require for a manufacturing operation to be enabled: it can not be performed unless the required goods are available. Moreover, looking at the Baking operation in figure 4.2, we observe that the producer/consumer relationships between Make Dough and Baking on one side, and between Make Filling and Baking on the other side, is quantitatively described by the PTN. Notice that the enabling condition guarantees that a producer/consumer relationship is not only quantitatively represented, but also it is constrained to be implemented in its dynamics. If a transition is enabled in a marking it can fire (see definition 2.4). If a transition fires it consumes some input goods and produces some output goods. Once more, this is the semantics we require for a manufacturing operation: a manufacturing operation consumes a set of input resources and produces a set of output resources. 4.3. A first attempt: Place/Transition Nets 61 Example 4.4. In table 4.3 we show what happens when the Make Dough transition fires. In the left image Make Dough is enabled. The execution of Make Dough provides some inputs to the Baking operation, as shown in the image on the right, thus perfectly describing the producer/consumer relationship among them. •• • 1 •• 3 Make 2 •• Dough 2 2 •• •• • 4 Baking 4 1 8 2 Make 2 Filling 1 3 Make 2 Dough 2 2 •• 4 4 Baking •• 8 4 4 1 Make 2 Filling 2 Table 4.3: Execution of a manufacturing operation on P T NI . What does it happen when there is a sequence of firings? As explained in section 2.3.1, the PTN will pass through a succession of markings (states). What does a marking represent in the case of Grandma & co? We recall that a marking is a distribution of tokens over the set of places. It associates an integer value to each place. What is the meaning of associating value 100 to flour? The answer is that a marking stands for the state of a production process, i.e. it describes the resources available at each state of the transformation process. In fact, it associates to each state the number of units of each good available to the auctioneer in that state. Accordingly, a manufacturing operation can be performed in a given state only if enough tokens are available in its input places in that state. The firing of a transition adds tokens into its output places likewise a manufacturing operation produces new available resources to the auctioneer. If markings describe the level of resources currently available to an auctioneer, they naturally apply to describe the requirements of an auctioneer as well. An auctioneer aims at reaching a marking that fulfils its requirements (at least two hundreds tokens in the applepie place). This helps linking an auctioneer’s requirements to its internal production structure. In section 2.3.1, we illustrated the problem of reachability, i.e. the problem of reaching a given marking Md departing from an initial marking M0 . We explained that it is a well studied problem in the PTN literature. The reader can imagine that the auctioneer is dealing with a similar problem: reaching a marking that fulfils its needs. Summarising, by means of the PTN representation we partially fulfill requirements (1) and (2) in table 4.1. However, we still need to express: • the relationships between the internal manufacturing operations and the received offers (limitation (3) in table 4.1); and Chapter 4. MUCRAtR 62 • the information about the cost associated to bids’ selection and to manufacturing operations’ carrying out (limitation (4) in table 4.1). Then, in the next section we incorporate the description of the received offers into P T NI . 4.3.2 Incorporating Bids In this section we cope with limitation (3) in table 4.1. That is, to establish a relationship among an auctioneer’s internal production structure, the goods at auction, and the received offers. This entails relating the PTN description of section 4.3 (P T NI ) with the bidders’ offers and the goods at auction. Firstly, notice that the relation between the auctioned goods and the manufacturing operations is already accounted by P T NI . It quantitatively specifies the goods required and produced by each manufacturing operation. Hence, it only remains linking the received combinatorial offers to the P T NI . In fact, the utility of P T NI is very limited if an auctioneer cannot link it to the received bids. For instance, the PTN (production process) described in figure 4.2 cannot work: there are not enough tokens (goods) to fire (run) any of the transitions (manufacturing operations). The problem is that the auctioneer (Grandma & co) needs to buy goods to feed its production process. Buying goods is equivalent to injecting tokens into the corresponding places. For instance, if Grandma & co decides to accept a bid offering 100 units of butter, this will inject 100 units into the butter place and will correspondingly increment the marking of the PTN. The counterpart of this operation would be putting a 100 into the butter place of figure 4.2. butter 0 100 • 1 1 B1 sugar 200 200 3 2 2 Make Dough 2 dough 0 4 300 Baking • 1 B2 200 flour 100 800 • 1 apples 0 B3 Make Filling 2 filling 0 200 200 200 B4 B5 2 1 1 margarine 0 Apple Pie 0 4 1 8 4 • • Figure 4.3: P T NE . Incorporating bids into the P T NI of figure 4.2. As a consequence, incorporating bids into the PTN is quite natural. Indeed, they can 4.3. A first attempt: Place/Transition Nets 63 be easily modelled by means of transitions as well. If a bid is selected, it must increase the amount of some available resources. Correspondingly, a transition adds tokens into its output places when fired. However, two features distinguish bids from manufacturing operations. Firstly, bids do not consume any resource. Secondly, bids can be run only once (it is not possible to accept a bid twice in our semantics). Therefore, each bid will be represented by a special type of transition, whose single input place will not be a good, but a sort of controller. Such a controller, named bid place, will enforce that a transition representing a bid is selected at most once. We will call this type of transitions bid transitions. In contrast, we will call the transitions corresponding to manufacturing operations operation transitions, and the places representing goods good places. We make clear the process of bid incorporation by means of an example. Example 4.5. Say that Grandma & co receives the combinatorial offers in equations (4.1) to (4.5) below from bidders. We represent an offer sent by a provider as a multiset6 B ∈ NG , where G is the set of goods (in our case represented by places in figure 4.2), along with a cost. The multiplicity associated to each element of the multiset stands for the number of offered units for the element. B1 → 100′ butter + 200′ margarine B2 → 200′ f lours + 300′sugar at e 200 at e 100 (4.1) (4.2) B3 → 800′ apples B4 → 200′ dough + 200′f illing at e 200 at e 1300 (4.3) (4.4) B5 → 200′ apple pies at e 2400 (4.5) For instance, B4 → 200′ dough + 200′f illing at e 1300 stands for a combinatorial bid offering two hundred units of dough and two hundred units of filling at e 1300. In figure 4.3 we intuitively show how to incorporate bids in equations (4.1) to (4.5) into the P T NI on figure 4.2. P T NI is shadowed, whereas the incorporated bids are in dark black. We will refer to the PTN in figure as the P T NE (E from Extended). Notice that: (1) The input places of bid transitions (transitions associated to bids and represented by B1 , B2 , B3 , B4 , B5 in figure 4.3) only contain one token and their input arcs weigh one. Therefore, a bid transition can fire once at most. (2) A bid transition does not have any other input place except from a bid place. Thus, it does not consume any resources. (3) The output places of bid transitions are the goods offered in the corresponding bids, whereas the output arcs’ weights are the number of offered units.Therefore, they increase the number of tokens present on the net if fired. In table 4.4 we graphically depict the evolution of the PTN in figure 4.2 when applying the firing sequence J = hB1 , makedoughi. The upper picture shows the initial 6 Refer to section 2.2. Chapter 4. MUCRAtR 64 • 1 B1 100 200 • • 1 1 B2 300 200 800 butter 0 1 sugar 200 3 2 flour 100 1 2 2 dough 0 4 Baking 4 Make Filling 8 apples 0 Make Dough 2 filling 0 2 200 200 B3 4 B4 B5 1 margarine 0 Apple Pie 0 200 1 • • (a) Initially. 1 B1 100 200 • • 1 1 B2 300 200 800 butter 100 1 sugar 200 3 2 flour 100 1 2 2 dough 0 4 Baking 4 Make Filling 8 apples 0 Make Dough 2 filling 0 2 200 200 B3 4 B4 B5 1 margarine 200 Apple Pie 0 200 1 • • (b) After selecting bid B1 . 1 B1 100 200 • • 1 1 B2 300 200 800 butter 99 1 sugar 197 3 2 flour 98 1 apples 0 2 Make Dough 2 dough 2 4 Baking 4 Make Filling 8 2 filling 0 2 B3 200 200 B4 1 margarine 200 4 Apple Pie 0 200 B5 1 • • (c) After performing Make Dough. Table 4.4: Applying the firing sequence J = hB1 , makedoughi. marking M0 = 100′ butter + 200′ margarine (the stock at Grandma & co). The central picture shows the marking obtained after firing transition B1 (i.e. after accepting bid B1 ). Finally, the lower picture shows the marking obtained after firing makedough (af- 4.4. Weighted Place Transition Nets 65 ter performing the Make Dough operation). Notice that in both cases transitions B1 and Make Dough are enabled. Notice also that transition B1 cannot fire anymore, whereas Make Dough can. Summarising, with the PTN in figure 4.3 Grandma & co can express: (1) its internal manufacturing operations along with the producer/consumer relationships among them (requirement (1) in table 4.1); (2) the relations among the auctioned goods, the received offers, and the manufacturing operations (rquirement (2)); and (3) its final requirements (requirement (3)). Furthermore, it can obtain all the possible production states reachable by means of any legal combination of bids and internal operations. That is, it characterises the combinatorial problem by providing a formalism to enumerate all the possible solutions. This can be achieved thanks to the dynamics of PTN (the firings). This is a crucial point: the P T NE in figure 4.3 compactly represents all the possible decisions that Grandma & co can take. Unfortunately, Grandma & co is not interested in simply reaching a state that fulfils its final requirements, it wants to minimise its costs as well. How can we quantify that performing manufacturing operations costs money? How can we quantify that buying goods costs money? It is under this point of view that PTNs lack of the necessary expressiveness and need to be extended. In the next section, we explain how to deal with such extension. 4.4 Weighted Place Transition Nets There is a feature of some discrete systems (in particular the one we consider) that, to the best of our knowledge, has never been considered so far in the PTN literature, and that we deem fundamental. A change in the state of a system may have an associated cost. For instance, in our case, a manufacturing operation has a cost associated to each time it is carried out. Thus, in order to model manufacturing operations, we need to extend Place Transition Nets to incorporate the notion of transition cost. Such extension will allow us not only to represent the fact that a cost is associated to each transition firing, but also to easily compute the cost associated to a firing sequence. The extension of PTN to incorporate the costs of operations and bids is quite natural and consistent with all the properties of PTN. If we aim at representing the fact that performing a manufacturing operation costs money, we simply have to associate a cost to the firing of an operation transition. Similarly, if we aim at representing that buying goods costs money, we have to associate a cost to the firing of each bid transition. In general, since both bids and manufacturing operations can be represented by means of PTNs, we have to associate a cost to each transition in a PTN. Chapter 4. MUCRAtR 66 4.4.1 WPTNSs and WPTNs We extend the notion of Place Transition Net (see section 2.3) by associating a cost to each transition. This leads us to the definition of Weighted Place Transition Net Structure (WPTNS) and Weighted Place Transition Net (WPTN). Definition 4.1 (WPTNS). A WPTNS is a a tuple (P, T, A, E, C) where: • P, T, A, E are defined exactly like in a PTNS. • C : T → R is a cost function that associates a cost to each transition. butter 1 -e 5 sugar 3 2 2 Make Dough 2 dough 4 Baking 4 flour 1 Make Filling 8 apples -e 6 4 2 filling Apple Pies -e 14 2 marga rine Figure 4.4: WPTNS associated to example 4.1. Example 4.6. Let us associate a WPTNS to the internal production structure of Grandma & co specified in example 4.1. At this aim we associate places (P ) to goods, transitions (T ) to manufacturing operations, transition costs (C) to manufacturing costs, and input/output arcs (A) and their weights (E) to the quantity of goods consumed/produced by each manufacturing operation. A WPTNS employs the same graphical representation as a PTN (see section 2.3), the only difference being that a cost labels each transition. We depict in figure 4.4 the resulting WPTNS, formally defined as: • The set of places is P = {butter, sugar, f lour, apples, margarine, dough, f illing, applepie} • The set of transitions is T = {makedough, makef illing, baking} 4.4. Weighted Place Transition Nets 67 • The set of arcs is A = {(butter, makedough), (sugar, makedough), (f lour, makedough), (sugar, makef illing), (f lour, makef illing), (apples, makef illing), (margarine, makef illing), (makedough, dough), (makef illing, f illing), (f illing, baking), (dough, baking), (baking, applepie)}. • The arc weight function E is: E(butter, makedough) =1 E(f lour, makedough) =2 E(sugar, makedough) = 3 E(sugar, makef illing) = 2 E(f lour, makef illing) =1 E(apples, makef illing) = 8 E(margarine, makef illing) =2 E(makef illing, f illing) =2 E(makedough, dough) = 2 E(f illing, baking) = 4 E(dough, baking) =4 E(baking, applepie) = 4 • The cost functions C is defined as7 : C(makedough) = − e 5 C(makef illing) = − e 6 C(baking) = − e 14 In figure 4.4, the values of C and the values of E label respectively transitions and arcs. Analogously to a PTNS, we define a WPTN by associating to a WPTNS an initial marking M0 . Definition 4.2 (WPTN). A WPTN is a pair (N, M0 ), where N is s WPTNS, and M0 is a multiset of places that stands for its initial marking. The initial marking in a PTN represents the initial state of a discrete dynamic systems. The very same semantics is inherited by WPTNs. Example 4.7. The initial marking M0 for the WPTNS in figure 4.4 Grandma & co is: M0 = 200′ sugar + 100′ f lour In figure 4.5, we graphically depict the initial marking of the WPTNS in figure 4.4. 4.4.2 Dynamics of WPTNs WPTNSs and WPTNs preserve all the properties of PTNSs and PTNs respectively, but allow the quantitative representation of the cost of a transition. Therefore, we can naturally extend to them all the concepts employed for PTNs. Those include the concepts of 7 The sign convention employed is negative values each time an auctioneer incurs in a cost. Chapter 4. MUCRAtR 68 butter 0 1 -e 5 sugar 200 3 2 2 flour 100 apples 0 Make Dough 2 dough 0 4 Baking 4 1 -e 6 4 Make Filling 8 2 Apple Pies 0 -e 14 filling 0 2 margarine 0 Figure 4.5: WPTN associated to example 4.1. enabling of a transition, firing of a transition, marking, firing sequence, and so on (refer to section 2.3). In a PTN, if a transition is enabled in a marking it can fire. If a transition fires it consumes some input goods and produces some output goods. In a WPTN, something more happens. If a transition fires it carries out a cost, the cost associated to the fired transition. Example 4.8. In table 4.5 we show what happens when the Make Dough transition fires. The transition generates a cost of e 5. In the upper right corner we show the quantity of money spent by the auctioneer in the corresponding state. What does it happen when there is a sequence of firings? Firstly, the WPTN will evolve through a succession of markings (states); and secondly, a cost will be associated to such a sequence of transitions (firing sequence in section 2.3.1). Considering this, we can define the notion of cost of a firing sequence (CF S ) as: Definition 4.3 (Cost of a firing sequence). The cost CF S associated to a firing sequence J = ht1 , t2 , ..., td i is the sum of all the costs of the transitions contained in the sequence: CF S (J) = d X C(ti ) (4.6) i=1 If a transition fires more than once, say k times, then its cost will be added k times. 4.4. Weighted Place Transition Nets •• • 1 COST=e 0 -e 5 •• 3 Make 2 •• Dough 2 2 •• •• 8 -e 6 1 3 Make 2 Dough 2 2 •• 4 4 Baking •• 4 1 -e 14 Make 2 Filling COST=-e 5 -e 5 • 4 Baking 1 69 4 4 -e 14 Make 2 Filling 8 2 -e 6 2 Table 4.5: Cost of executing a manufacturing operation on a WPTN. Example 4.9. In figure 4.6, analogously to figure 4.3, we incorporate into a WPTN the bids expressed in equations (4.1) to (4.5). Notice that the costs labelling bid transitions is the cost associated to the bids. Furthermore, in table 4.6, we repeat the firing sequence of table 4.4 (J = {B1 , makedough}) when a cost is associated to each transition. In this case, the cost associated to the firing sequence is CF S (J) = C(B1 ) + C(makedough) =-e 200− e 5 =- e 205. In upper right corner of each frame of table 4.6 we highlight the cost associated to the corresponding firing. -e 200 • 1 butter 0 100 1 -e 5 B1 sugar 200 200 3 2 2 Make Dough 2 dough 0 4 300 Baking • 1 B2 200 flour 100 1 Make Filling -e 100 8 800 • 1 apples 0 B3 -e 200 -e 6 4 4 2 filling 0 -e 14 200 200 200 B4 -e 1300 B5 2 1 1 margarine 0 Apple Pie 0 • Figure 4.6: Incorporating bids into the WPTN of figure 4.5. • -e 2400 Chapter 4. MUCRAtR 70 • 1 -e 200 B1 100 200 • • 1 1 B2 -e 100 300 200 800 B3 -e 200 butter 0 1 sugar 200 3 2 flour 100 COST=e 0 -e 5 2 dough 0 -e 6 1 4 Baking 4 2 Make Filling 8 apples 0 2 Make Dough filling 0 2 200 200 4 -e 14 Apple Pie 0 200 B4 -e 1300 B5 -e 2400 1 margarine 0 1 • • (a) Initially. 1 -e 200 B1 100 200 • • 1 1 B2 -e 100 300 200 800 B3 -e 200 butter 100 1 sugar 200 3 2 flour 100 2 Make Dough 2 dough 0 -e 6 1 Make Filling 8 apples 0 COST=-e 200 -e 5 4 Baking 4 2 filling 0 2 200 200 4 -e 14 B4 -e 1300 B5 -e 2400 1 margarine 200 Apple Pie 0 200 1 • • (b) After selecting bid B1 . 1 -e 200 B1 100 200 • • 1 1 B2 -e 100 300 200 800 B3 -e 200 butter 99 1 sugar 197 3 2 flour 98 1 apples 0 COST=-e 205 -e 5 2 Make Dough 2 dough 2 -e 6 Make Filling 8 4 Baking 4 2 filling 0 2 200 200 -e 14 B4 -e 1300 1 margarine 200 4 Apple Pie 0 200 B5 -e 2400 1 • (c) After performing Make Dough. Table 4.6: Applying the firing sequence J = hB1 , makedoughi. • 4.5. Representing auction outcomes with WPTNs 71 4.5 Representing auction outcomes with WPTNs In the previous section we introduced WPTNs and showed their powerful modelling features. The examples tried to give the intuitions behind the application of WPTN to our problem. In fact, we saw that the auctioneer faces a make-or-buy decision problem, and decides to solve it by means of combinatorial auctions. In this section, we aim at representing each of the outcomes of such auction given a description of the internal manufacturing operations, of the received bids, and of the auctioneer’s final requirements . However, since an auctioneer is mostly interested in assessing the cost associated to each of such outcomes, we also associate an auctioneer’s cost to each of the outcomes. Then, firstly we introduce the Transformability Network Structure (TNS), a WPTN for modelling and communicating the internal manufacturing operations of an auctioneer. Secondly, we extend the TNS in order to incorporate the information regarding the received bids. This will result in the introduction of the Auction Net. This structure compactly expresses all the possible decisions an auctioneer may take, and quantifies the cost associated to each of such decisions. With those formal tools at hand, we can then define what a MUCRAtR is by providing an operational definition of valid auction outcome. 4.5.1 The Transformability Network Structure In what follows we formally define the Transformability Network Structure. This corresponds to the net presented in figure 4.4. TNSs are useful for expressing the internal manufacturing operations of an auctioneer. This tool will have to quantitatively represent the input resources needed and consumed by each manufacturing operation, the output resources produced, the producer consumer relationships among the manufacturing operations, and the cost associated to each manufacturing operation. Summarising, a TNS describes the different ways in which goods can be transformed and at which cost. More formally, Definition 4.4 (TNS). A transformability network structure is a Weighted Place/Transition Net N = (P, T, A, E, M0 , C) such that we associate: (1) the places in P to a set of goods G to negotiate upon8. (2) the transitions in T to a set of internal manufacturing operations; (3) the directed arcs in A along with their weights E to the specification of the number of units of each good that are either consumed or produced by a manufacturing operation. (4) the initial marking M0 to the quantity of each good initially available to the auctioneer (the stock). We indicate this particular initial marking with the multiset Uin ∈ NP . Then, M0 = Uin . 8 Notice that a place represents a good. Thus, in what follows we will talk indifferently of good places and goods. That is, P and G are employed indifferently. Chapter 4. MUCRAtR 72 (5) a cost C : T → R+ to each manufacturing operation. In the next section we show how to incorporate the received bids into the TNS. The resulting WPTN is called Auction Net. Example 4.10. The WPTN introduced in example 4.7 is the TNS associated to the problem of Grandma & co, previously described in example 4.1. Notice that if an auctioneer communicates to the bidders its TNS along with some constraints on the final marking (for instance, at least 200 tokens in the apple pie place), the bidders have all the information for composing meaningful offers. This completely fulfills the CAs expressiveness limitation in communicating to bidders an auctioneer’s requirements (issue (2) in table 4.1). 4.5.2 The Auction Net In this section, we will thoroughly explain how to transform a TNS (figure 4.4) into an Auction net (figure 4.6). In the remaining of the chapter it is assumed that B is the set of received bids. Each bid is represented by a multiset B ∈ NP and has associated a cost encoded by function CB : B → R+ ∪ {0}. -e 200 pB1 1 butter 0 100 1 tB1 Oven -e 5 sugar 200 200 3 2 2 Make Dough 2 dough 0 4 300 Baking pB2 1 tB2 200 flour 100 1 Make Filling -e 100 8 800 pB3 1 apples 0 tB3 -e 200 margarine 0 -e 6 4 Apple Pie 0 4 2 filling 0 -e 14 200 200 200 tB4 -e 1300 tB5 1 1 pB4 pB5 -e 2400 2 Figure 4.7: Auction Net of the MUCRAtR in example 4.1. Definition 4.5 (Auction Net). Given a set of bids B, and a TNS N = (P, T, A, E, Uin , C), an Auction Net is a WPTN S ∗ = (P ∗ , T ∗ , A∗ , E ∗ , M∗0 , C ∗ ) where: ∗ = P ∪ PB P ∗ T = T ∪ TB ∗ A = A ∪ AB 4.5. Representing auction outcomes with WPTNs 73 (1) PB is the set of bid places. That is, for each bid B ∈ B add a place pB . (2) TB is the set of bid transitions. That is, for each bid B ∈ B add a transition tB . (3) AB is the set of bid arcs. It is built as follows: AB = AiB ∪ AoB where AiB = {(pB , tB ) ∈ PB × TB | ∀B ∈ B} (4.7) AoB (4.8) = {(tB , p) ∈ TB × P | p ∈ B} are the input bid arcs and output bid arcs respectively. (4) The arc expression E ∗ function is built as follows: E ∗ (x, y) = E(x, y) E ∗ (tB , p) = B(p) E ∗ (pB , tB ) = 1 (x, y) ∈ A (4.9) (tB , p) ∈ AoB (4.10) (pB , tB ) ∈ AiB (4.11) (5) The cost function C ∗ : T ∪ TB → R is built as follows: C ∗ (t) = C(t) t∈T C ∗ (tB ) = CB (B) tB ∈ T B (6) The initial marking is defined as M∗0 (p) = ( Uin (p) p ∈ P 1 p ∈ PB (4.12) Example 4.11. We extend the TNS of example 4.6 with the bids listed in equations (4.1) to (4.5). This gives raise to the Auction Net in figure 4.7. (P, T, A, E, M0 , C) have been defined in example 4.6. Then, S ∗ = (P ∗ , T ∗ , A∗ , E ∗ , M∗0 , C ∗ ) is defined as follows: (1) P ∗ = P ∪ {pB1 , pB2 , pB3 , pB4 , pB5 } (2) T ∗ = T ∪ {tB1 , tB2 , tB3 , tB4 , tB5 } (3) A∗ = A ∪ AiB ∪ AoB where AiB = {(pB1 , tB1 ), (pB2 , tB2 ), (pB3 , tB3 ), (pB4 , tB4 ), (pB5 , tB5 )} AoB = {(tB1 , butter), (tB1 , margarine), (tB2 , sugar), (tB2 , f lour), . . .} Chapter 4. MUCRAtR 74 (4) E ∗ (x, y) = E(x, y) if (x, y) ∈ A. When (x, y) ∈ AB we have: E ∗ (tB1 , butter) = 100 E ∗ (tB2 , sugar) = 300 E ∗ (tB1 , margarine) = 200 E ∗ (tB2 , f lour) = 200 ... ... E ∗ (pB2 , tB2 ) = 1 ... E ∗ (pB1 , tB1 ) = 1 ... (5) C ∗ (t) = C(t) when t ∈ T . When t ∈ TB we have: C ∗ (tB1 ) = -e 200 C ∗ (tB2 ) = -e 100 C ∗ (tB3 ) = -e 200 C ∗ (tB5 ) = -e 2400 C ∗ (tB4 ) = -e 1300 Recall that by means of the PTN defined in example 4.5, an auctioneer was able to compactly represent all the possible outcomes associated to any of its decisions. However, he had the problem to assess the cost associated to each of such outcomes. Notice that by means of the auction net, the auctioneer can now express both the outcomes of its decisions and the cost associated to each of them. In order to define the winner determination problem for MUCRAtR one further step is required. We have to define an optimisation problem whose solution retrieves the optimal firing sequence to apply to the auction net in order to obtain a desired final marking (in the case of Grandma & co more than 200 tokens in the apple pie place). This is the purpose of the following section. 4.5.3 Constrained Maximum Weight Occurrence Sequence Problem Since there is a cost associated to each transition, one may be interested in finding a maximum (minimum9) cost firing sequence leading from an initial marking to some final marking. More importantly, one may be interested in finding a maximum cost firing sequence leading from an initial marking M0 to a final marking Md that fulfils a set of inequality constraints. For instance, we may want to impose that in a final marking Md each place contains exactly one token (Md (p) = 1, ∀p ∈ P ), or at least 200 tokens in a given place (for instance, the Apple Pie place in example 4.1 Md (applepie) ≥ 200). With this aim we define the Constrained Maximum Weight Occurrence Sequence Problem (CMWOSP). Definition 4.6 (CMWOSP). Given a WPTN N = (P, T, A, E, M0 , C), a set of inequality/equality constraints that a final marking Md must fulfil, expressed as: ∀p ∈ P Md (p)∆p hp (4.13) 9 In any optimization problem maximising and minimising are two dual representations of the very same problem. We will talk about maximisation in what follows, but all the results can be easily applied to a minimisation. 4.6. The Winner Determination Problem 75 where ∆p ∈ {<, ≤, =, ≥, >} and hp ∈ N ∪ {0}, find an occurrence sequence Jopt = hu1 , u2 , ..., ud i that brings the initial marking M0 to a final marking Md such that: (1) Md fulfils all the constraints in equation (4.13); and (2) Jopt maximises the total cost CF S . We can express the inequations (4.13) in matrix form: Md ∆h (4.14) where Md is a vector whose i − th component represents the number of tokens in place i, ∆ is a vector whose i−th element contains {<, >, ≤, ≥, =}, and h is a vector whose i − th element contains hp . We will call the constraints in equation (4.13) or (4.14) the final marking constraints. Proposition 4.1. CMWOSP is at least EXPSPACE-hard. Proof. The reachability problem for PTN can be reduced to a CMWOSP. It has been proved that the reachability problem is EXPSPACE-hard (Lipton, 1976). 4.6 The Winner Determination Problem In this section, we formally define the winner determination problem for MUCRAtR. Informally, given a TNS expressing the internal manufacturing operations of an auctioneer over a set of goods G, an auctioneer’s final requirements Uout ∈ NG , and a set of received bids B, the winner determination problem amounts to finding the set of bids and internal operations that minimise the auctioneer’s cost and produce at least the required goods. The formal definition of the WDP relies on the Auction Net. Definition 4.7 (Winner Determination Problem). Given an auction expressed as hN, Uout , Bi, where N = (P, T, A, E, M0 ) is a TNS, Uout ∈ NG expresses the auctioneer final requirements, and B is the set of received bids. Let S ∗ = (P ∗ , T ∗ , A∗ , E ∗ , M∗0 , C ∗ ) be the corresponding Auction Net. The Winner Determination Problem amounts to selecting the set of bids B ∗ and the sequence of internal operations J ∗ that both minimise the auctioneer’s cost and satisfy the the following final marking constraints on the Auction Net: Md (p) ≥ Uout (p) Md (p) ≥ 0 ∀p ∈ P ∀p ∈ PB (4.15) (4.16) Proposition 4.2. The WDP for a MUCRAtR hN, Uout , Bi can be reduced to a CMWOSP on the corresponding auction net. Such a CMWOSP is characterised by the following final marking constraints: Md (p) ≥ Uout (p) ∀p ∈ P (4.17) Md (p) ≥ 0 ∀p ∈ PB (4.18) Proof. The proof is by construction: Chapter 4. MUCRAtR 76 (1) Solve the CMWOSP on the Auction Net NB . We name the CMWOSP solution J min . (2) The set of winning bids B ∗ corresponds to the bid transitions contained in J min : B ∗ = {B ∈ B|tB ∈ J min } (4.19) (3) The sequence J ∗ of internal manufacturing operations that an auctioneer has to perform internally is obtained by removing from J min all the transitions that are not operation transitions. We denote this as follows: min J ∗ = J|T (4.20) Notice carefully that in a CMWOSP the sum of the weights associated to the overall transitions is maximised. However, since negative costs are associated to both bid transitions and operation transitions, maximising the sum of the weights implies minimising the auctioneer’s costs. Example 4.12. If Grandma & co receives the bids in equations (4.1) to (4.5), the decision minimising its costs and allowing it to obtain the 200 apple pies is: (1) to select bid B4 to obtain dough and filling; and (2) to subsequently bake them at Grandma & co after running fifty times the Baking operation. If we look at it on the WPTN, this corresponds to the firing sequence J = hB4 , Baking, Baking, Baking, . . . , Bakingi {z } | (4.21) 50 times Then, the cost of this decision is assessed as follows: cost(B4 ) + 50 · cost(Baking) = −e 1300 − e 700 = −e 2000. (4.22) The reader can check that this is the best possible option for the auctioneer: it exploits the initial stock, it brings to a marking that fulfils Grandma & co requirements, it minimises the costs. Finally, the optimisation problem of the auctioneer is clearly stated, and there is a rule for selecting the winners. Thus, we have solved issue (4) in table 4.1 as well. Since we obtained this result by directly employing place transition nets, we can import all the techniques employed for them. As a first example, we show how to solve the winner determination problem by means of Integer Programming (see section 2.1). With this aim, we just show that some particular CMWOSP can be solved by means of Integer Programming. 4.7. Solving the WDP by means of IP 77 4.7 Solving the WDP by means of IP In this section, firstly we show that the CMWOSP can be solved by means of Integer Programming under some special conditions. Then, we show that those conditions are fulfilled when the underlying PTN is acyclic. Finally, we explicitly state the IP solving the WDP. 4.7.1 Solving the CMWOSP by means of IP In section 2.3.2, we showed that under some hypothesis on a PTN, it is possible to express its overall reachability set by means of an equation, the state equation (see section 2.3.3). The state equation describes all the states that an acyclic PTN can reach, and it is a linear equation. That is all we need to generate our integer program. We recall also that, by means of the state equation, it is possible to represent in matrix form the firings and markings of a PTN (see section 2.3.2): • Let us associate to each place pi ∈ P a position i in a vector Mk ∈ N|P | . The integer contained in the i − th position of the Mk vector corresponds to the number of tokens contained in a a place pi after k firings in some sequence. Then, M0 is the initial marking, M1 is the marking obtained after the firing of some transition, and so on. • Let us associate to each transition tj ∈ T a position j in a vector of integers x ∈ N|T | . The integer contained in the j − th position of x encodes the number of times transition tj has been fired. With this representation, the state equation can be written as: M = M0 + AT x (4.23) The very same formalism holds for WPTN. In fact, the only difference is that there is a cost associated to each transition. Then, can we represent in matrix form the cost of a sequence bringing from M0 to M via the transitions encoded in x as well? The answer is quite easy. Notice that x in equation (4.23) stands for the number of times each transition is fired for transforming marking M0 into marking M . Then, if we know the cost of each transition, according to definition in equation (4.6), we have to multiply the cost of each transition by the number of times it is fired. Then, we define a vector CT ∈ R|T | whose j − th position represents the cost associated to transition tj (CF S (tj )). Hence, the cost associated to the firing sequence represented by x, noted as Jx , is: CF S (Jx ) = xT CT (4.24) The idea behind the mapping to IP is finding a set of linear equations that: (1) constrains the decision variables associated to transitions to hold a value encoding a valid firing sequence; (2) constrains the marking obtained by firing the selected transitions to fulfil a set of equality/inequality constraints; and Chapter 4. MUCRAtR 78 (3) maximises the sum of the costs associated to the selected transitions. Notice that point (1) can be easily fulfilled when the net is acyclic by means of the state equation. Since the state equation represents all the reachable states, it is enough to apply to it a set of inequality/equality constraints to fulfil point (2). Finally, since in a WPTN a cost is associated to each transition, maximising the cost associated to the selected firing sequence we satisfy point (3) as well. In what follows we go into the formal details of what we explained above. The following theorem states that if we can represent all the reachable states of a PTN by means of the state equation, then the CMWOSP can be solved by means of IP. Theorem 4.1. Consider an WPTN (P, T, A, E, M0 , C) with incidence matrix10 A. If the state equation describes all the reachable states M of the WPTN, then all the non-negative integer solutions the following integer program: max xT cT (4.25) T subject to M0 + A x ∆h (4.26) represent the firing count vectors of all the optimal solutions to the CMWOSP defined by h∼, hi Proof. Notice that equation (4.26) simply imposes that the end marking fulfils the constraints defined by h∼, hi in equation (4.13). Equation (4.25) maximises the cost CF S (Jx ), associated to the firing sequence represented by x (see equation (4.24)). As a result, a solution x∗ to the IP defined by equations (4.25) and (4.26) optimises the sum of the costs associated to fired transitions, while ensuring that the final marking is reachable and fulfils the constraints defined by h∼, hi. According to the results stated in theorem 2.2, it is possible to express the reachability set with the state equation when the PTN is acyclic. Then, we apply this result to our problem via the following corollary: Corollary 4.1. Provided that a WPTN is acyclic, every CMWOSP defined on it can be mapped into integer linear programming. Proof. . Since the WPTN is acyclic, in virtue of theorem 2.2, all the reachable states M are the non-negative integer solutions of equation (2.26). Then, for theorem 4.1 the firing count vectors of all the solutions to the CMWOSP are the solutions to the IP in equations (4.25) and (4.26). Hence, we solve the CMWOSP problem in two steps. First, we determine the optimal firing count vector xopt by solving the Integer Linear Program (ILP) in equations (4.25) and (4.26). Then, we construct Jopt from xopt , for which each step is enabled. Since S is acyclic, we can establish a partial order among transitions so that t1 < t2 iff t2 uses as input some output of t1 . We can construct an occurrence sequence Jopt by ordering the transitions in the firing count vector xJopt non-decreasingly according to our partial ordering. Every step in the so ordered occurrence sequence is guaranteed to be enabled. The occurrence sequence Jopt is consequently the solution to our CMWOSP. 10 Refer to section 2.3.3. 4.7. Solving the WDP by means of IP 79 Thus, we can also cope with requirement (5) in table 4.1. 4.7.2 The IP Formulation in practise We have shown that the CMWOSP can be solved by means of an ILP in the case that the underlying WPTN is acyclic in section 4.7.1. We showed in section 4.6 that the winner determination problem for MUCRAtR is a CMWOSP. In this section we show that the WDP for MUCRAtR can be solved by means of IP when the auctioneer’s TNS is acyclic. Furthermore we will explicitly write down the IP model. The first assumption is that no cycles are added when we extend a TNS into an Auction Net. This is very easy to show. Proposition 4.3. Given an acyclic TNS (P, T, A, E, M0 , C), the corresponding Auction Net (P ∪ PB , T ∪ TB , A ∪ AB , EB , MBid 0 , CBid ) will also be acyclic. Proof. Say that there is a bid transition tB that includes a cycle that was not present in the TNS. The output places of bid transitions are always in P (see definition 4.5). Then, in order to have a cycle, there should be a transition with input places in P that has the input place of tB as an output place. However, this is impossible since, according to definition 4.5, the input places of bid transitions have only output arcs. Naturally, it follows that: Corollary 4.2. When the TNS is acyclic, the WDP can be solved by means of IP. Next, we explicitly express the IP model solving the make-or-buy decision problem, or equivalently solving the WDP for MUCRAtR. The mathematical model is built according to the following rules: (1) there are n goods, indexed with i ∈ {1, 2, . . . , n} (2) there are m internal manufacturing operations, indexed with j ∈ {1, 2, . . . , m} (3) there are l multi-unit combinatorial bids, indexed with k ∈ {1, 2, . . . , l} (4) aij is the difference between the weight of the arc connecting operation transition j to good i and the weight of the arc connecting good i to operation transition j in the auction net. Formally, in the WPTN language aij = E(j, i) − E(i, j). Informally, this represents the flow of tokens in place i when transition j is fired. (5) uin i is the quantity of good i initially available to the auctioneer (the stock). (6) uout is the quantity of good i finally required by the auctioneer (the sale forecast). i (7) bki is the weight of the arc connecting bid transition k to good i. (8) bpk is the weight of the arc connecting the bid place p to the bid transition k. 11 (9) buin k is the quantity of tokens initially available in bid place of bid k . 11 Notice that we know that this is always one. However, for the sake of generality we consider it as a parameter. Chapter 4. MUCRAtR 80 (10) ck is the cost associated to internal operation j. (11) pk is the price associated to bid k. (12) yk ∈ N ∪ {0} is an integer decision variable (for each bid k ∈ {1, 2, . . . , l}) taking on value w if bid k has been selected w times12 . (13) xj ∈ N ∪ {0} is an integer decision variable (for each transition j ∈ {1, 2, . . . , m}) taking on value w if transformation j is fired w times in the optimal firing sequence. With this in mind, the IP model is expressed with the following equations: max X y k · pk + X xj · cj (4.27) j k uin i + X yk · bki + X xj · aij ≥ uout i ∀i (4.28) ∀i (4.29) j k buin k − yk · bpk ≥ 0 Equation (4.27) minimises (recall the the costs are negative) the sum of the costs associated to bids plus the costs associated to internal manufacturing operations. Equations (4.29) and (4.28) correspond to equation (4.13) of the CMWOSP. We split it into two equations since they implement different inequalities. This is made clear if compared with equations (4.12), (4.17), and (4.18). Indeed, equation (4.28) implements equation (4.17), whereas equation (4.29) implements equation (4.18). If we observe equation (4.29), and recall that buin k = 1 for all k (see equation 4.12), and that bpk = 1 for all k (see equation 4.11), the equation becomes: 1 − yk ≥ 0 ∀k (4.30) Considering that yk is an integer decision variable, it turns out clear that it becomes a binary decision variable yk ∈ {0, 1}. Hence, the whole optimisation problem in equations (4.27) to (4.29) can be rewritten under this hypothesis: max X y k · pk + k uin i + X k yk · bki + X xj · cj (4.31) j X xj · aij ≥ uout i ∀i (4.32) j This ILP can be readily implemented with the aid of an optimisation library (see section 2.1.2). The number of decision variables needed to encode this problem is |T | + |B|, where T is the set of internal supply chain operations and B is the set of received bids. The number of required constraints is |G|, where G is the set of goods. 12 Notice carefully that we know that this variable can take only value 0 or 1. Then, it is a binary decision variable. However, in order to be formal, we hypothesise that is an integer variable for the moment. 4.8. Conclusions 81 4.7.3 Comparison with a traditional MUCRA IP solver In what follows we compare the IP formulation of the MUCRAtR WDP with the IP formulation of a traditional Multi-unit Combinatorial Reverse Auction (MUCRA) WDP. In order to solve the WDP for a MUCRA, as formalised in (Sandholm et al., 2002), we exploit the equivalence to the multi-dimensional knapsack problem pointed out in (Holte, 2001). Sandholm et al. in (Sandholm et al., 2002) show how MUCRA can be solved by means of IP. In this case the problem is stated by means of the following parameters and variables: (1) there are n goods, indexed with i = {1, 2, . . . , n} (2) there are l multi-unit combinatorial bids, indexed with k = {1, 2, . . . , l} is the quantity of good i finally required by the auctioneer. (3) uout i (4) bki is the quantity of good i offered in bid k. (5) pk is the price associated to bid k. (6) yk ∈ {0, 1} is a binary decision variable (for each bid k ∈ {1, 2, . . . , l}) taking on value 1 if bid k has been selected and 0 otherwise. Then, the problem of selecting the best offers can be expressed with the following IP model: X max y k · pk (4.33) k X yk · bki ≥ uout i ∀i (4.34) k In this case the number of decision variables is |B|, and the number of constraints is |G|. Then, our formulation of the WDP can be clearly regarded as an extension of the ILP we must solve for a MUCRA (as formalised above). In fact, the second component of expression 4.31 changes the overall cost as transformations are applied, whereas the second component of expression 4.32 makes sure that the units of the selected bids fulfil a buyer’s requirements taking into account the units consumed and produced by transformations. Observe the analogy between the IP in equations (4.31) and (4.32), and the IP in equations (4.33) and (4.34). The first terms of both IP are equivalent. In the MUCRAtR IP we add the contributions due to the firing of transformations. It seems a trivial extension. However, notice carefully that we showed that this cannot be done for every possible class of nets. 4.8 Conclusions In this chapter we dealt with the make-or-buy decision problem when combinatorial offers are received by an auctioneer. We identified and overcome all the limitations 82 Chapter 4. MUCRAtR that prevent the applicability of CAs to make-or-buy decisions. These are grouped into Expressiveness, Winner Determination, and Formal Analysis limitations. We showed that PTNs are very useful for overcoming some of the CAs expressiveness limitations. However, due to their inability to express costs, we had to extend PTNs in order to fully represent the internal production and cost structure of an auctioneer. This lead to the definition of Weighted Place/Transition Nets (WPTN), PTNs in which it is possible to associate a cost to each transition firing. By means of WPTN all the expressiveness issues are solved. Then, an auctioneer can employ WPTNs to define its production and cost structure. We called such a representation a Transformability Network Structure (TNS). However, the TNS must be linked someway with the offers received from bidders (the bids). Then, we extended the TNS in order to incorporate the information about the received combinatorial bids. This lead to the definition of the Auction Net. An Auction Net is a WPTN that incorporates all the information about the running auction: internal manufacturing operations and received offers. Once the decision problem input is conveniently expressed, we formalise its output. With this aim, we introduced a new reachability problem on WPTNs, the Constrained Maximum Weight Occurrence Sequence Problem (CMWOSP). We subsequently employed the CMWOSP to formally define the auctioneer decision problem, or equivalently, the winner determination problem. Next, via the exploitation of some well-known results of PTN theory, we succeeded in mapping the optimisation problem to an IP model, that can be directly solved by means of commercial or free optimisation libraries. However, such a solver can be applied only in the case that the net is acyclic. Notice as well that the representation via WPTN allows to import a wide body of methods and tools associated to PTNs. As a first example of this powerful approach, we provided the above mentioned mapping to integer programming of the MUCRAtR WDP. It seems quite natural at this point to consider an extension. If an auctioneer can incorporate into the auction its internal operations, why not to incorporate information about the bidders’ internal operations as well? That is, in a MUCRAtR an auctioneer decides whether to produce in-house or to buy as already made the goods he requires. However, there is a third possibility, a bidder may offer to perform an operation for the auctioneer. In such a case, the auctioneer would be able to outsource not only goods, but manufacturing operations or services as well. In the following chapters we discuss in depth such extension. Chapter 5 Mixed Multi unit Combinatorial Auctions Along the lines of what we have done in chapter 4, where we introduced MUCRAtR to cope with the make-or-buy decision problem, in this chapter we provide a new type of combinatorial auction (CA) to deal with make-or-buy-or-collaborate decision problems. This new auction type is called Mixed Multi-unit Combinatorial Auction (MMUCA). It supports the trading of any operation across a supply chain: from supply and request of goods to the request and offer of manufacturing operations and services. In this chapter we introduce: • a formal language that allows bidders to express offers and requests over such supply chain operations; • a formalisation of the optimisation problem faced by an auctioneer when selecting the set of bids that maximises its revenue; This chapter and the two following deal with different aspects of the make-or-buyor-collaborate decision problem. In particular, this chapter deals with expressiveness requirements and formalises the decision problem faced by the auctioneer, whereas chapters 6 and 7 deal with computational and formal analysis aspects associated to the decision problem. This chapter is organised as follows. In section 5.1, we describe the requirements of CAs when applied to the make-or-buy-or-collaborate decision problem. In section 5.2, we introduce an example that helps clarifying the make-or-buy-or-collaborate decision problem. In section 5.3 we introduce a novel formal language that supports the negotiation of supply chain operations. In section 5.4, we formally define an allocation rule that automates the make-or-buy-or-collaborate decision, that is, we formalise the decision problem that the auctioneer faces. In section 5.5 we list the auction models subsumed by MMUCA. Finally, in section 5.6, we draw some conclusions and remarks about the expressiveness of the defined formal language and about the types of auction subsumed by our model. 83 84 Chapter 5. Mixed Multi unit Combinatorial Auctions 5.1 Beyond CAs for Supply Chain Formation In chapter 4, we studied the make-or-buy decision problem under the hypothesis that complementarities among goods exist on the bidder side. In order to solve such a problem, we introduced a new type of combinatorial auction, the Multi Unit Combinatorial Reverse Auction with transformability Relationships among Goods (MUCRAtR). In this chapter instead, we deal with the make-or-buy-or-collaborate decision problem, namely the problem of selecting the most convenient supply chain partners. In this case, a new dimension is added to the decision problem. In order to find a profitable agreement, the parts negotiating a collaboration across the supply chain, have to make explicit and share some information about their internal production structure. We approach this problem employing a market-based mechanism. Analogously to chapter 4, we build upon combinatorial auctions since they help capturing the production complementarities arising within a supply chain. We introduce a new type of combinatorial auction that allows an auctioneer to trade, besides goods, operations across the supply chain. As thoroughly explained in section 1.4.2, the operations that can be negotiated across a supply chain are: (1) Supply of manufacturing, assembly, disassembly operations. (2) Request of manufacturing, assembly, disassembly operations. (3) Supply of goods. (4) Request of goods. Combinatorial auctions for supply chain formation (SCF), introduced by Walsh et al. in (Walsh and Wellman, 2003), have been the first attempt to deal with the problem of supply chain formation by means of combinatorial auctions. Supply chain formation is the problem of selecting the set of participants in a supply chain, and of assessing who will exchange what with whom, while maximising the utility of the participants. We consider the supply chain formation problem similar to a certain degree to the makeor-buy-or-collaborate problem. In fact, the objective of SCF is to provide to the supply chain stakeholders a mechanism to select the best way of collaborating among them. Combinatorial auctions for SCF relies on the Task Dependency Networks (TDN) to represent the production relationships among the supply chain stakeholders. However, as illustrated in chapter 1, some intrinsic limitations of TDNs hinder their application to the make-or-buy-or-collaborate decision problem. In table 5.1 we illustrate the requirements that we aim at fulfilling when dealing with the make-or-buy-or-collaborate decision problem. In the table, we also mark the requirements that are fulfilled by CAs and TDNs. Summarising, we can classify the emerging requirements in three types: (1) expressiveness requirements (1–8 in table 5.1); (2) WDP requirements (9–13 in table 5.1); and (3) computational requirements (14–19 in table 5.1); and 5.1. Beyond CAs for Supply Chain Formation 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Requirements express an offer/request on bundles of goods express an offer of a SCO with a single output product express an offer of a SCO with multiple output products express a request of a SCO express the offer/request of a bundle of SCOs express combinations of bids express the min/max number of times SCOs are performed express resource sharing express an auctioneer’s initial stock express the auctioneer’s final requirements support acyclic supply chain networks support cyclic supply chain networks compute the scheduled sequence of SCOs to perform ensure computational tractability while preserving optimality solve SCF decision problem solve the make-or-buy-or-collaborate decision problem formally represent the search space graphically represent the search space assess the computational tractability based on the problem structure 85 CAs X TDN X X X X X Table 5.1: Requirements associated to the make-or-buy-or-collaborate problem. As to expressiveness requirements, it is clear that an auctioneer intending to trade any possible operation across the supply chain must provide bidders with a language for expressing their preferences over such operations (requirements 1–8 in table 5.1). Since we build upon CAs, in this chapter we firstly introduce a novel bidding language that extends and generalises bidding languages for combinatorial auctions (bidding languages for CAs are summarised in section 3.2.2). The purpose of CA bidding languages is to predicate about goods, in particular about bundles of goods. However, in our case the language must also allow to predicate about operations across the supply chain. In order to cope with this requirement, we define supply chain operations (SCOs). A supply chain operation is a concept that unifies under the same name some1 of the supply chain operations, namely: • supply of a manufacturing operation; • supply of a bundle of goods; and • request of a bundle of goods. This abstraction considers that the only distinguishing features of a supply chain operation are: • the set of required and consumed inputs • the set of produced outputs 1 We say some of the operations since the request of a supply chain operation cannot be expressed as an atomic operation. This point is clarified further on. 86 Chapter 5. Mixed Multi unit Combinatorial Auctions Thus, while in combinatorial auctions a bidder bids on bundles of goods, in this case the objects predicated in the bidding language are bundles of SCOs. More precisely, as pointed out by requirement (5) in table 5.1, bidders must be able to express preferences over bundles of supply chain operations, and in particular to utter offers for operations, requests of operations, and offer/request alternatives. Hence, we solve those problems by letting bidders: (1) specify valuations over bundles of supply chain operations. An atomic bid will allow bidders to associate a value to a bundle of supply chain operations. The semantics of atomic bids will be rich enough to specify both requests and offers for bundles of supply chain operations (requirement (5) in table 5.1); (2) specify combinations of atomic bids (requirement (6) in table 5.1). Thus, on the one hand forming atomic bids joining supply chain operations perfectly captures potential complementarities among such operations. On the other hand, we provide bidders a way to express combinations of bids representing alternative offers. This is needed because the preferences of a bidder cannot be fully expressed only by atomic bids. For this purpose, we introduce a bidding language with several constructs allowing the representation of several types of preferences over set of atomic bids. For instance, XOR bids allow a bidder to express a set of atomic bids such that only one of them can be selected by an auctioneer. OR bids allow to express that any subset of its atomic bids can be selected by an auctioneer. Other constructs enable the representation of quantity ranges, volume-based discounts, and so on. Next, we cope with the first WDP requirements of CAs for SCF, represented by requirements (9–13) in table 5.1. With a suitable language for representing the bidders’ offers at hand, we can provide an operational definition of the problem of selecting the winning bids while respecting the bidders’ constraints. In other words, we have to provide a definition of the winner determination problem. With respect to the traditional combinatorial auction WDP a new dimension comes into play and must be considered: the production preconditions of supply chain operations. In fact, when supply chain operations are dealt, not only it is important what SCOs to select, but also their execution order. In fact, it must happen that at each step of the production process each SCO has available the resources it requires to be performed. Since a supply chain is a chain of SCOs, it may be the case that some SCOs provide the required inputs to other SCOs. Hence, the former ones must be performed before the latter ones. Then, an auctioneer must select a sequence of SCOs such that it: (1) fulfils the constraints imposed by the bidders through the bidding language (e.g. if two atomic bids are in XOR, the auctioneer has to select at most one of them); (2) is scheduled correctly, i.e. that each SCO has available the required input resources; and (3) produces as output at least as many resources as required by the auctioneer (i.e. after performing the sequence of supply chain operations, the auctioneer ends up with the quantity of goods he initially required). 5.2. The problem 87 Only in the case that the solution fulfils the above conditions can be considered valid and implementable. Then, we will consider that a valid solution that maximises the auctioneer’s revenue is a solution to the winner determination problem. The provided definition of winner determination problem is not limited to any particular supply chain topology or SCO type. Then, by means of the definitions of bidding language and WDP we overcome requirements 1–13 in table 5.1. The remaining requirements (14–19) in table 5.1 are not considered in this chapter, and will be solved in the next chapter. Summarising, in this chapter we focus on expressiveness requirements, and formalise the decision problem faced by the auctioneer. With a bidding language and an allocation rule (winner determination problem), the new auction type is completely defined. We shall call the resulting auction model Mixed Multi-unit Combinatorial Auctions (MMUCAs). 5.2 The problem In this section we continue the example of Grandma & co introduced in section 1.4.2. Relying on such example, we specify the auctioneer’s problem we aim at solving. Example 5.1. Grandma & co is a company devoted to producing and selling apple pies. Traditionally, it was used to buying the basic ingredients to internally produce apple pies ready to sell. However, its revolutionary sourcing department is experimenting the most bizarre innovations. In example 1.1, we explained that Grandma & co decided to bring into the sourcing process producers of intermediate (Dough, Filling) and final goods (Apple Pies) across the supply chain. This led to the introduction of a new type of auction, MUCRAtR, as explained in chapter 4. In this example, we show how the restless sourcing department decides to implement a newer sourcing process. Besides inviting to the sourcing event suppliers of all the goods across the supply chain, it also invites suppliers and requesters of manufacturing services such as, for instance, Make Dough or Baking. Then, Grandma & co runs a new type of combinatorial auction that involves: • providers of goods (dough, filling, flour, and so on); • requesters of goods (apple pies); • providers of manufacturing operations (e.g. of Make Dough, Make Filling, or the Baking operations); and • requesters of manufacturing operations. All these potential supply chain partners are bidders in the auction. The data regarding Grandma & co internal production costs is equal to the one defined in example 4.1 and is expressed in figure 5.1. We summarise it in the following: (1) the Make Dough operation costs e 5 each time it is carried out, it requires as inputs one unit of butter, three units of sugar, and two units of flour, and it produces two units of dough as output; 88 Chapter 5. Mixed Multi unit Combinatorial Auctions (2) the Make Filling operation costs e 6 each time it is carried out, it requires as inputs one unit of flour, eight units of apple, and two units of margarine, and it produces two units of filling as output; and (3) the Baking operation costs e 14 each time it is carried out, it requires as inputs four units of dough and four units of filling, and it produces four units of apple pie as output. Furthermore, the data about the initial stock and the final requirements are: (1) a stock of a hundred units of flour and two hundred units of sugar; (2) Grandma & co wants to end up with at least two hundred apple pies in its warehouse. Say that Grandma & co receives the following bids (expressed in natural language) from all the invited bidders: (1) Bidder 1 offers 100 units of butter AND 200 units of margarine at e 200. Bidders 1 to 4 express multi-unit bids that offer combinations of goods. (2) Bidder 2 offers 200 units of flours AND 300 units of sugar at e 100. (3) Bidder 3 offers 800 units of apple pies at e 200. (4) Bidder 4 offers 200 units of dough AND 200 units of filling at e 1300. (5) Bidder 5 requests 200 units of apple pies for e 2400. This bidder express a multiunit request of goods. (6) Bidder 6 offers 100 units of butter at e 150 OR (non-exclusive) offers 200 units of margarine at e 100. This bidder proposes two alternative, not mutually exclusive, multi-unit offers. Notice that if the auctioneer accepts both bids, it must pay e 250. (7) Bidder 7 offers 200 units of margarine at e 200 XOR (exclusive OR) offers 200 units of butter at e 200. This bidder proposes two alternative mutually, exclusive, multi-unit offers. The auctioneer can accept at most one of them. (8) Bidder 8 offers 200 units of filling at e 1400 XOR requests 100 units of apple pies for e 200. (9) Bidder 9 offers to perform the Make Dough operation 50 times at e 200. This bidder, a contract manufacturer, offers to perform a SCO for the auctioneer exactly fifty times. (10) Bidder 10 requests to have the operation Baking performed 50 times, and he is willing to pay e 210 for it. This bidder requests that an operation is performed for him exactly fifty times. 5.3. Bidding Language 89 (11) Bidder 11 offers to transform 2 units of dough and 2 units of filling into 1 unit of apple pie at e 20 each time the operation is performed. He offers to perform the operation at most 50 times and at least 10 times. This bidder offers an operation that was not previously present in the auctioneer’s internal supply chain (figure 5.1). Moreover, he expresses the operation can be performed a minimum and a maximum number of times. (12) Bidder 12 offers the Baking operation: • at e 10 each time it runs if the operation is performed between 10 and 30 times; and • at e 8 each time it runs if the operation is performed between 31 and 50 times. This bidder issues an offer for an operation that includes a value-based discount. (13) Bidder 13 offers between 100 and 200 units of apples in bundles of 4 units at e 2 per bundle. This bidder expresses quantity ranges. (14) Bidder 14 offers to transform 3 units of flour, 2 units of sugar, 1 unit of butter, 4 units of apples, and 2 units of margarine into 2 units of dough and 2 units of filling at e 10 each time the operation is performed. The operation can be performed at least 10 and at most 40 times. Similar to the offer of bidder 11, with the difference that this operation has multiple output goods. (15) Bidder 15 offers to perform both the Make Dough AND the Make Filling operation at e 20. This bidder issues an offer over a bundle of SCOs. (16) Bidder 16 offers to perform the Make Dough operation at e 20 only if provided with an oven (it will give the oven back after performing the operation). This bidder expresses an offer in which there is a resource shared (the oven). In fact, it can be employed again afterwards. The reader can understand that not only the requirements are difficult to express, but also the underlying decision problem is actually very complex. Which is the best option for Grandma & co? How to select the bids that maximise its revenue? The problem of Grandma & co is thus twofold: on the one hand to provide a bidding language for expressing the bidders’ preferences, and on the other hand to find an allocation rule for assessing the revenue maximising sequence of SCOs that allows it to obtain at least two hundred apple pies at the end of the production process. 5.3 Bidding Language In this section, we firstly define the notions of supply chain operation and valuation over supply chain operations, and subsequently we define a bidding language that can be used to transmit an agent’s valuation (which may or may not be its true valuation) Chapter 5. Mixed Multi unit Combinatorial Auctions 90 to the auctioneer. We also formally define the semantics of the language and introduce a number of additional language constructs that allow for the concise encoding of typical features of valuation functions. Finally, we discuss the expressive power of the language. 5.3.1 Supply Chain Operation In what follows we provide a formal definition of supply chain operation. Definition 5.1. Let G be the finite set of all the types of goods under consideration. A Supply Chain Operation (SCO) is a pair of multisets2 over G: (I, O) ∈ NG × NG . An agent offering the SCO (I, O) declares that it can deliver O after having received I. As we mentioned in section 5.1, in our setting bidders can offer any number of such SCOs, including several copies of the same SCO. That is, agents will be negoG G tiating over multisets of SCOs, formally over elements of N(N ×N ) . butter 1 e5 3 sugar 2 2 Make Dough 2 dough 4 Baking 4 flour 1 Make Filling 8 apples e6 4 2 filling Apple Pies e 14 2 marga rine Figure 5.1: TNS associated to example 5.1. Example 5.2. In figure 5.1 we graphically represent the internal manufacturing operations of Grandma & co employing the TNS introduced in in section 4.5.1. The Make Dough operation is represented as the following SCO: Make Dough = (1′ butter + 3′ sugar + 2′ f lour, 2′dough) 2 Refer to section 2.2 for some background on multi-sets. (5.1) 5.3. Bidding Language 91 The Make Filling operation is represented as: Make Filling = (2′ sugar + 1′ f lour + 8′ apples + 2′ margarine, 2′ f illing) (5.2) Example 5.3. {(∅, 1′ a), (1′ b, 1′ c)} means that the agent in question is able to deliver a (no input required) and that it is able to deliver c if provided with b. Note that this is not the same as {(1′ b, 1′ a + 1′ c)}. In the former case, if another agent is able to produce b if provided with a, we can get c from nothing; in the latter case this would not be possible. Notice that the formalism employed for describing SCOs allows the representation of: • offers for bundles of goods, expressed as SCOs with no inputs. That means that nothing is taken as input (I = ∅), and O is provided as output. For instance, the offer of 200 units of butter and 100 units of margarine can be expressed as: {1′ (∅, 100′margarine + 200′butter)} • requests of bundles of goods, expressed as SCOs with no output. That means that I is taken as input, and nothing (O = ∅) is provided as output. For instance, the request of 200 units of apple pie can be expressed as: {1′ (200′ applepie, ∅)} • offers for bundles of SCOs, expressed as: {α′1 (I1 , O1 ) + α′2 (I2 , O2 ) + . . . + α′m (Im , Om )} where α′i ∈ N represents the multiplicity of the SCO (Ii , Oi ). For instance, an offer to perform 10 times the Make Dough operation and 5 times the Make Filling operation can be expressed as: {10′ Make Dough + 5′ Make Filling} = {10′ (1′ butter + 3′ sugar + 2′ f lour, 2′ dough)+ (5.3) 5′ (2′ sugar + 1′ f lour + 8′ apples + 2′ margarine, 2′ f illing)} • requests of bundles of SCOs. In order to understand how to represent this type of request, we have to define what is meant by requiring a service. In fact, a bidder requiring the Baking service (see figure 5.1) provides the inputs to perform the Baking operation (dough and filling), and he is expected to receive the output of the required operation (apple pie). 92 Chapter 5. Mixed Multi unit Combinatorial Auctions Example 5.4. Consider the following multi-set of SCOs: {1′ (∅, 4′ dough + 4′ f illing), 1′(4′ apple pie, ∅)} This means that a bidder provides the dough and the filling and he is expected to receive 4 apple pies. Notice that no precedence constraint between the two operations is specified. The bidder is happy receiving the apple pies both before and after giving away the dough and filling. If a bidder expresses his willingness to pay e 20 for having this multiset of SCOs allocated, this means that he is requiring the Baking operation for e 20. Notice that this is not the same as {1′ (4′ apple pie, 4′ dough + 4′ f illing)} In this case, the meaning would be that the bidder requires the apple pies as input before giving away the dough and filling. It is not what the bidder means. In direct multi-unit combinatorial auctions, thoroughly explained in chapter 3, it is typical to assume free-disposal for bidders. Say that a bidder is willing to pay e 10 for three units of dough. The free-disposal assumption says that the bidder is willing to pay at least e 10 for four units of dough. This is a reasonable assumption, since the bidder receives more than he has required paying the same amount. Conversely, in a multi-unit combinatorial reverse auction the free-disposal assumption says that if a bidder is willing to be paid e 10 for three units of dough, then it is willing to be paid at most e 10 for two units of dough. This is reasonable as well since the bidder gives away less than offered and receives the same payment. In the general case, the free-disposal assumption says that a bidder is willing to pay/be paid at least/at most the same amount if he is allocated a superset/subset of the required/offered goods. In what follows, we generalise this idea to supply chain operations first, and then to multisets of supply chain operations. The idea of superset/subset is substituted with the idea of subsumption. We define a subsumption relation ⊑ over supply chain operations as follows: (I, O) ⊑ (I ′ , O′ ) ⇔ I ⊆ I ′ ∧ O ⊇ O′ (5.4) Intuitively, this means that the second supply chain operation is at least as good as the first (for the bidder), because he receives more and has to give away less. Example 5.5. For instance, we have that: (2′ a + 2′ b, 1′ c) ⊑ (3′ a + 3′ b, 1′ c) (5.5) The following definition extends this subsumption relation to multisets of supply chain operations. It applies to multisets of the same cardinality, where for each SCO in the first set there exists a (distinct) SCO in the second set subsuming the former. 5.3. Bidding Language 93 Definition 5.2 (Subsumption). Let D, D′ ∈ N(N D′ (D ⊑ D′ ) iff: G ×NG ) . We say that D is subsumed by (i) D and D′ have the same cardinality: |D| = |D′ |. (ii) There exists a surjective mapping f : D → D′ such that, for all SCOs t ∈ D, we have t ⊑ f (t). Example 5.6. Employing a simplified notation for the innermost sets, we have3 : {(a, bb), (cc, dd)} ⊑ {(cc, d), (aaa, b)} (5.7) Notice that the function f is such that the element (a, bb) maps to (aaa, b), and the element (cc, dd) maps to (cc, d). In fact, we have that (a, bb) ⊑ (aaa, b) and (cc, dd) ⊑ (cc, d). Property (i) of definition 5.2 is needed, because giving less supply chain operations in some cases may diminish the valuation of a bidder. This is clarified by the following example. Example 5.7. Consider that a bidder is willing to pay e 10 for receiving two units of b and two units of c, namely for the SCO {(bb, ∅), (cc, ∅)}. Most probably, the bidder is not willing to pay at least the same quantity for having the multiset {(bb, ∅)}, since he is receiving less goods! Alternatively, consider the case in which a bidder is willing to be paid e 10 for providing two units of b and two units of c, namely {(∅, bb), (∅, cc)}. Most probably, the bidder in this case is willing to pay at least the same quantity for being allocated the multiset {(∅, bb)}, since he is giving away less goods! Then, as shown in example 5.7, there is not a general rule stating that less supply chain operations allocated is considered a better outcome for a bidder. 5.3.2 Valuations Our goal is having agents negotiating over bundles of SCOs. Then, we have to introduce a formalism that allows an agent to express preferences over bundles of SCOs. Hence, in what follows we provide a definition of valuation. G Definition 5.3. A valuation v : N(N ×N multisets of SCOs to the real numbers. 3 G ) → R is a (typically partial) mapping from This is equivalent to {(1′ a, 2′ b), (2′ c, 2′ d)} ⊑ {(2′ c, 1′ d), (3′ a, 1′ b)} (5.6) Chapter 5. Mixed Multi unit Combinatorial Auctions 94 Intuitively, v(D) = p means that the agent equipped with valuation v is willing to make a payment of p in return for being allocated all the SCOs in D (in case p is a negative number, this means that the agent will accept the deal if it receives an amount of |p|). Example 5.8 (Valuations). • v(1′ (1′ oven + 1′ dough, 1′ oven + 1′ cake)}) = −20 means that a bidder can produce a cake for e 20 if given an oven and some dough, and that it will return the oven again afterwards. • v({1′ (1′ butter + 3′ sugar + 2′ f lour, 2′dough)}) = −4 means that a bidder is able to perform the Make Dough operation for e 4. We write v(D) = ⊥ to express that v is undefined over the multiset D. Again intuitively, this means the agent would be unable to accept the corresponding deal. Valuation functions can often be assumed to be both normalised and monotonic: Definition 5.4 (Normalised valuation). A valuation v is normalised iff v(D) = 0 whenever I = O for all (I, O) ∈ D. That is, a valuation is normalised iff exchanging a multiset of goods for an identical multiset does not incur any costs (this includes the special case of I = O = ∅, i.e. the case of not exchanging anything at all). The next definitions refer to our subsumption relation ⊑ (see Definition 5.2). Definition 5.5 (Monotonic valuation). A valuation v is monotonic iff v(D) ≤ v(D′ ) whenever D ⊑ D′ . That is, an agent with a monotonic valuation does not mind taking on more goods and giving fewer away. This assumption is the generalisation of the free-disposal assumption we mentioned above when supply chain operations are traded. Any given valuation function can be turned into a monotonic valuation by taking its monotonic closure4 : Definition 5.6 (Monotonic closure). The monotonic closure v̂ of a valuation v is defined as v̂(D) = max{v(D′ ) | D′ ⊑ D}. As we are working with multisets of goods, observe that there could be infinitely many bundles an agent may want to assign a (defined) value to. As we shall see in Section 5.3.6, our bidding languages can only express valuations that are finitely-peaked (or that are the monotonic closure of a finitely-peaked valuation): 4 Here and throughout this chapter, we assume that any occurrences of ⊥ are being removed from a set before computing its maximum element, and that the maximum of the empty set is ⊥. 5.3. Bidding Language 95 Definition 5.7 (Finitely-peaked val.). A valuation v is finitely-peaked iff v is only deG G fined over finite multisets of pairs of finite multisets and {D ∈ N(N ×N ) | v(D) 6= ⊥} is finite. 5.3.3 Atomic Bids An atomic bid BID({α′1 (I1 , O1 ) + . . . + α′n (In , On )}, p), where α′i ∈ N represents the multiplicity of the SCO (Ii , Oi ), specifies a finite multiset of finite SCOs and a price. To make the semantics of such an atomic bid precise, we need to decide whether or not we want to make a free disposal assumption. We can distinguish two types of free disposal: • Free disposal at the bidder’s side means that a bidder would always be prepared to accept more goods and give fewer goods away, without requiring a change in payment. This affects the definition of the valuation functions used by bidders. • Free disposal at the auctioneer’s side means that the auctioneer can freely dispose of additional goods, i.e. accept more and give away fewer of them. This affects the definition of what constitutes a valid solution to the winner determination problem (see Section 5.4). Under the assumption of free disposal at the bidder’s side, the bid Bid = defines the following valuation: p if D ⊑ D′ ′ vBid (D ) = ⊥ otherwise BID (D, p) To obtain the valuation function defined by the same bid without the free disposal assumption, simply replace ⊑ in the above definition by equality. 5.3.4 Combinations of Bids A suitable bidding language should allow a bidder to encode choices between alternative bids and the like. To this end, several operators for combining bids have been introduced in the literature (Nisan, 2006), which we are going to adapt to our purposes here. Informally, an OR-combination of several bids signifies that the bidder would be happy to accept that any combination of the sub-bids specified is selected by the auctioneer, if he gets paid/pays the sum of the associated prices. An XOR-combination of bids expresses that the bidder is prepared to accept that at most one of them is selected5 . We also suggest the use of an IMPLIES operator to express that accepting one bid forces the auctioneer to also take the second. We shall take an AND-combination to mean that the bidder will only accept if the respective sub-bids are selected together. As it turns out, while all these operators are very useful for specifying typical valuations in a concise manner, any complex bid can alternatively be represented by an 5 As Nisan (Nisan, 2006) put it, “purists may object” to the name XOR, as this is not the same as the exclusive-or operator familiar from propositional logic (ONE-OF may be a better name). Chapter 5. Mixed Multi unit Combinatorial Auctions 96 XOR-combination of atomic bids. To simplify presentation, rather than specifying the exact semantics of all of our operators directly, we are simply going to show how any bid can be translated into such a normal form. Firstly, any occurrences of IMPLIES and OR can be eliminated by applying the following rewrite rules: X IMPLIES X OR Y Y ; (X AND Y ) XOR Y ; X XOR Y XOR (X AND Y ) Note that for single-unit auctions, OR cannot be translated into XOR like this (if X and Y overlap, then they cannot be accepted together; in an MMUCA this depends on the supply of the auctioneer). Next we show how to distribute AND over XOR, so as to push AND-operators to the inside of a formula: (X XOR Y ) AND Z ; (X AND Z) XOR (Y AND Z) Finally, we need to define how to turn an AND-combination of atomic bids into a single atomic bid: BID (D, p) AND BID (D ′ , p′ ) ; BID (D ⊎ D ′ , p + p′ ) Recall from section 2.2.1 that the ⊎ symbol is a sum of multiset, meaning that the multiplicity of the sum multiset for an element is the sum of of the multiplicities of the addend multisets. Observe that these rewrite rules together allow us to translate any expression of the bidding language into an equivalent XOR-combination of atomic bids. We also call this the XOR-language. To formally define the semantics of this language, it suffices to define the semantics of the XOR-operator. Suppose we are given n bids Bid i , with i ∈ {1..n}. Let Bid = Bid 1 XOR · · · XOR Bid n . This bid defines the following valuation: vBid (D) = max{vBid i (D) | i ∈ [1, n]} That is, XOR simply selects the atomic bid corresponding to the valuation giving maximum profit for the auctioneer. 5.3.5 Representing Quantity Ranges As we prove in the next section, the XOR-language is expressive enough to describe any (finitely-peaked) valuation. Nevertheless, it may not be possible to express a given valuation in a succinct manner. From a practical point of view, it is therefore useful to introduce additional constructs that allow us to express typical features more succinctly. Here we consider the case of quantity ranges. We want to be able to express that a certain number of copies of the same SCO are acceptable to a bidder. Let n ∈ N. To express that up to n copies of the same Bid are acceptable, we use the following notation: Bid ≤n = (Bid | OR ··· {z OR n times Bid ) } 5.3. Bidding Language 97 This allows us to express bundling constraints in a concise manner: the bid ({a, a, a, b}, −10)≤50 expresses that we can sell up to 50 packages containing three items of type a and one item of type b each, for 10 e a package (for simplicity, we omit O here). We also use the following shorthand: Bid n = (Bid | AND ··· {z AND n times Bid ) } Now we can express quantity ranges. Let n1 , n2 ∈ N with 0 < n1 < n2 . The following expression says that we may accept between n1 and n2 copies of the same Bid: Bid[n1 ,n2 ] = Bid≤(n2 −n1 ) IMPLIES Bidn1 These constructs also allow us to express important concepts such as quantity discounts in a concise manner. For instance, the bid [(a, 20)≤100 IMPLIES (a, 25)50 ] XOR (a, 25)≤50 says that we are prepared to buy up to 50 items of type a for 25 e each, and then up to 100 more for 20 e each. 5.3.6 Expressive Power Next we are going to settle the precise expressive power of the XOR-language, and thereby of the full bidding language. We have to distinguish two cases, as we have defined the semantics of the language both with and without free disposal. Proposition 5.1. The XOR-language without free disposal can represent all finitelypeaked valuations, and only those. Proof. Let v be any finitely-peaked valuation. To express v in the XOR-language, we first compose one atomic bid for each D = {α′1 (I1 , O1 ) + . . . + α′n (In , On )} with v(D) = p 6= ⊥: ′ ′ BID ({α1 (I1 , O1 ) + . . . + αn (In , On )}, p) Joining all these bids together in one large XOR-combination yields a bid that expresses v. Vice versa, it is clear that the XOR-language cannot express any valuation that is not finitely-peaked. Proposition 5.2. The XOR-language with free disposal can represent all valuations that are the monotonic closure of a finitely-peaked valuation, and only those. Proof. The construction of a bid representing any given valuation works in analogy to the proof of Proposition 5.1. Note that for the semantics with free disposal we precisely obtain the monotonic closure of the valuation we would get if we were to drop the free disposal assumption. Chapter 5. Mixed Multi unit Combinatorial Auctions 98 These results correspond to the expressive power results for the standard XOR-language for direct single-unit combinatorial auctions. With free disposal (the standard assumption), the XOR-language can express all monotonic valuations (Nisan, 2006); and without that assumption it can represent the complete range of valuations (note that any valuation is finitely-peaked if we move from multisets to sets). Notice that this result on the expressiveness shows that the provided bidding language overcomes successfully requirements (1–8) of table 5.1. Given those expressiveness results, in the remaining of the dissertation we assume that bidders express their preferences by means of the XOR language. 5.3.7 Examples of Bids In this section we provide some examples of bids in order to highlight the better expressiveness offered by our bidding language. For this reason, we encode the bids presented in example 5.1. (1) Bidder 1 offers 100 units of butter AND 200 units of margarine at e 200: BID (1 ′ (∅, 100′ butter + 200′margarine), −200) (2) Bidder 2 offers 200 units of flours AND 300 units of sugar at e 100: BID (1 ′ (∅, 200′f lour + 300′ sugar), −100) (3) Bidder 3 offers 800 units of apple pies at e 200: BID (1 ′ (∅, 800′ apple), −200) (4) Bidder 4 offers 200 units of dough AND 200 units of filling at e 1300: BID (1 ′ (∅, 200′ dough + 200′ f illing), −1300) (5) Bidder 5 requests 200 units of apple pies for e 2400: BID (1 ′ (800′ apple pie, ∅), 2400) (6) Bidder 6 offers 100 units of butter at e 150 OR (non-exclusive) offers 200 units of margarine at e 100: BID (1 ′ (∅, 100′butter), −150) OR BID(1′ (∅, 200′margarine), −100) (7) Bidder 7 offers 200 units of margarine at e 200 XOR (exclusive OR) offers 200 units of butter at e 200: BID (1 ′ (∅, 200′ margarine), −200) XOR BID (1′ (∅, 200′butter), −200) 5.3. Bidding Language 99 (8) Bidder 8 offers 200 units of filling at e 1400 XOR requests 100 units of apple pies for e 200: BID (1 ′ (∅, 200′filling), −1400) XOR BID (1′ (100′ apple pie, ∅), 200) (9) Bidder 9 offers to perform the Make Dough operation 50 times at e 200: BID (50 ′ (1′ butter + 3′ sugar + 2′ f lour, 2′ dough), −200) (10) Bidder 10 requests the operation Baking performed 50 times, and he is willing to pay e 210 for it: BID (1 ′ (∅, 4′ dough + 4′ f illing) + 1′ (4′ apple pie, ∅), 4.2)50 (since 4.2 ∗ 50 = 210) (11) Bidder 11 offers to transform 2 units of dough and 2 units of filling into 1 unit of apple pie for e 20 each time the operation is performed (whenever the operation is performed at least 10 times and at most 50 times): BID (1 ′ (2′ dough + 2′ f illing, 1′apple pie), 20)[10,50] (12) Bidder 12 offers the Baking operation at: BID (1 ′ BID (1 ′ (4′ dough + 4′ f illing, 4′apple pie), 10)[10,30] XOR ′ ′ (4 dough + 4 f illing, 4′apple pie), 8)[31,50] (13) Bidder 13 offers between 100 and 200 units of apples in bundles of 4 units at e 2 per bundle: ′ ′ [25,50] BID (1 (∅, 4 apple pie), −2) (14) Bidder 14 offers to transform 3 units of flour, 2 units of sugar, 1 unit of butter, 4 units of apples, 2 units of margarine into 2 units of dough and 2 units of filling at e 10 each time the operation is performed. The operation can be performed at least 10 and at most 40 times: BID (1 ′ (1′ butter + 2′ sugar + 3′ f lour + 4′ apple + 2′ margarine, 2′ dough + 2′ f illing), −10)[10,40] (15) Bidder 15 offers to perform both the Make Dough AND the Make Filling operation at e 20: BID (1 ′ (1′ butter + 3′ sugar + 3′ f lour, 2′ dough)+ 1′ (8′ apple + 2′ margarine + 1′ f lour, 2′f illing), −20) Chapter 5. Mixed Multi unit Combinatorial Auctions 100 Notice carefully that the offer of bidder 15 cannot be rewritten as BID (1 ′ (1′ butter + 3′ sugar + 3′ f lour + 8′ apple + 2′ margarine + 1′ f lour, 2′ dough + 2′ f illing), −20) The two bids do not represent the same thing. In the former case, the two operations could be performed at different steps in the production process. In the latter case, it is a one shot operation that needs at the same time all the input resources 1′ butter + 3′ sugar + 3′ f lour + 8′ apple + 2′ margarine + 1′ f lour available. (16) Bidder 16 offers to perform the Make Dough operation for e 20 only if provided with an oven (it will give the oven back after performing the operation): BID (1 ′ (4′ dough + 4′ f illing + 1′ oven, 4′ apple pie + 1′ oven), 10) In what follows we provide an example showing that the introduced bidding language can be employed not only to express bidders’ preferences, but also to encode information about a particular market. As an example, we consider how to incorporate into the auction information about the expected sales in function of the sale price. Consider the following example. Example 5.9. Here we extend example 5.1 taking into account that more information about the apple pie market becomes available to Grandma & co. Such information is the sale forecast in function of the sale price: • two hundreds apple pies if the sale price is e 12 each, for a total of e 2400; • a hundred and thirty apple pies if the selling price is set to e 13, for a total of e 1690; This information can be easily included in the auction by means of bids from the markets: BID (1 ′ (∅, 200′ apple pies), 2400) XOR BID (1′ (∅, 130′ apple pies), 1690) (5.8) 5.4 Winner Determination In this section, we define the winner determination problem (WDP) for MMUCAs. We first give an informal outline of the problem, and then a formal definition. We also briefly comment on mechanism design issues. 5.4. Winner Determination 101 5.4.1 Informal Definition The input to the WDP consists of a complex bid expression for each bidder, a multiset Uin of goods the auctioneer holds to begin with, and a multiset Uout of goods the auctioneer expects to end up with. In standard combinatorial auctions, a solution to the WDP is a set of atomic bids to accept. In our setting, however, the order in which the auctioneer “uses” the accepted SCOs matters. For instance, if the auctioneer holds a to begin with, then checking whether accepting the two bids Bid1 = ({1′ (1′ a, 1′ b)}, 10) and Bid2 = ({(1′ b, 1′ c)}, 20) is feasible involves realising that we have to use the SCO contained in Bid1 before the one contained in Bid2 . Thus, a solution to the WDP will be a sequence of SCOs. A valid solution has to meet two conditions: (1) Bidder constraints: The multiset of SCOs in the sequence has to respect the bids submitted by the bidders. This is a standard requirement. For instance, if a bidder submits an XOR-combination of SCOs, at most one of them may be accepted. (2) Auctioneer constraints: The sequence of SCOs has to be implementable: (a) check that Uin is a superset of the input set of the first SCO (there are enough goods available to perform the first SCO); (b) then update the set of goods held by the auctioneer after each SCO and check that it is a superset of the input set of the next SCO (at each step there are enough goods available to perform the remaining SCOs); (c) finally check that the set of items held by the auctioneer in the end is a superset of Uout (i.e. the auctioneer ends up with the resources initially required). Requirement 2 is specific to MMUCAs. An optimal solution is a valid solution that maximises the sum of prices associated with the atomic bids selected. 5.4.2 Formal Definition For the formal definition of the WDP, we restrict ourselves to bids in the XOR-language, which we have showed to be fully expressive (over finitely-peaked valuations) in proposition 5.1. For each bidder i, let Bidij be the jth atomic bid occurring within the XORbid submitted by i. Recall that each atomic bid consists of a multiset of SCOs and a price: Bidij = G G (Dij , pij ), where Dij ∈ N(N ×N ) is a multiset of SCOs and pij ∈ R is the associated cost/price. We will employ the following notation: • For each Bidij , let tijk be the kth SCO in Dij . • Let Dij (tijk ) be the multiplicity of tijk in Dij . U • Let D = ij Dij be the multiset of the overall SCOs received with their multiplicity. 102 Chapter 5. Mixed Multi unit Combinatorial Auctions • Let δ be the overall number of SCOs mentioned anywhere in the bids, i.e. X X |Dij | = Dij (tijk ) δ= ij ijk • Let T = {tijk : ∀ijk} be the set of the overall SCOs in the bids disregarding their multiplicity. • Let G be the set of negotiated goods. • Uin ∈ NG is a multiset of goods standing for the initial stock of the auctioneer. • Uout ∈ NG is a multiset of goods standing for the number of goods the auctioneer desires to end up with. • Mm ∈ NG is a multiset of goods standing for the number of goods available to the auctioneer after applying m supply chain operations in a production process. The auctioneer has to decide which SCOs to accept and in which order to implement them. Thus, we define an allocation sequence as Definition 5.8 (Allocation Sequence). An allocation sequence Σ is a sequence of SCOs: Σ : {1, 2, . . . , ℓ} → T where ℓ ∈ N is the length of the sequence. We will say that a SCO tijk is contained in the allocation sequence to say that the kth SCO in the jth atomic bid of bidder i belongs to the allocation sequence. More formally, with an abuse of notation, we will write tijk ∈ Σ ⇐⇒ ∃m ∈ {1, . . . , ℓ} s.t. Σ(m) = tijk (5.9) Furthermore, let (IΣ(m) , OΣ(m) ) be the input and output multisets of the transition holding the m-th position of Σ; and let |Σ−1 (tijk )| be the number of times tijk occurs within the sequence Σ. Given an allocation sequence Σ we can obtain the set of goods held by the auctioneer after each SCO. We illustrate this fact by means of the following example. Example 5.10. Say that an auctioneer begins with Uin = {2′ a + 2′ d}. If we apply the first SCO in a sequence (IΣ(1) , OΣ(1) ) = (2′ a, 1′ c) (from two units of a produce one unit of c), the auctioneer ends up with M1 = {1′ c + 2′ d}. Formally, we can express this operation as an equation over multisets: M1 (g) = Uin (g) + OΣ(1) (g) − IΣ(1) (g) The application of the SCO above is only possible because two units of good a are available. This condition maps to: Uin (g) ≥ IΣ(1) (g) 5.4. Winner Determination 103 Let Mm ∈ NG be the goods held by the auctioneer after applying the mth SCO in an allocation sequence Σ. We can generalise the two equations above as follows (let M0 = Uin ): Mm (g) = Mm−1 (g) + OΣ(m) (g) − IΣ(m) (g) M m−1 (g) ≥ IΣ(m) (g) (5.10) (5.11) Notice that the length of the solution sequence ℓ = |Σ| will be at most equal to the overall number of atomic transformations submitted, i.e. ℓ ≤ δ. Equation 5.11 can be written in a more synthetic form by embedding into one formula its recursive structure: Uin (g) + m−1 X l=1 since OΣ(l) (g) − IΣ(l) (g) ≥ IΣ(m) (g) Mm (g) = Uin (g) + m X l=1 OΣ(l) (g) − IΣ(l) (g) (5.12) (5.13) Notice that an allocation sequence will not necessarily be a valid solution to the MMUCA WDP. We are now ready to define under what circumstances a sequence of SCOs constitutes a valid solution: Definition 5.9 (Valid Solution Sequence). Given a multiset Uin of available goods and a multiset Uout of required goods, an allocation sequence Σ for a given set of XOR bids over SCOs tijk is said to be a valid solution sequence iff: (1) Σ either contains all or none of the SCOs belonging to the same atomic bid. That is, the semantics of the BID operator is fulfilled: ∃k : tijk ∈ Σ ⇒ ∀k |Σ−1 (tijk )| = Dij (tijk ) Intuitively, this means that if Σ contains a SCOs tijk of bid Bidij = (Dij , pij ), then it must contain all the tijk′ ∈ Dij with the corresponding multiplicity. (2) Σ does not contain two SCOs belonging to different atomic bids by the same bidder. That is, the semantics of the XOR operator is fulfilled: tijk , tij ′ k′ ∈ Σ ⇒ j = j ′ (3) Equation (5.11) holds at each step of the solution sequence Σ: Mm−1 (g) ≥ IΣ(m) (g) ∀m ∈ [1, ℓ], ∀g ∈ G (5.14) that is equivalent to equation (5.12): Uin (g) + m−1 X l=1 OΣ(l) (g) − IΣ(l) (g) ≥ IΣ(m) (g) ∀m ∈ [1, ℓ], ∀g ∈ G (5.15) Chapter 5. Mixed Multi unit Combinatorial Auctions 104 This condition ensures that all SCOs have enough input goods available at each step of the SCO sequence. (4) The set of goods held by the auctioneer after implementing the SCO sequence is a superset of the goods the auctioneer is expected to end up with: Mℓ (g) ≥ Uout (g) ∀g ∈ G (5.16) that is equivalent to: Uin (g) + ℓ X m=1 OΣ(m) (g) − IΣ(m) (g) ≥ Uout (g) ∀g ∈ G The revenue for the auctioneer associated with a valid solution sequence Σ is the sum of the prices of the bids associated to the supply chain operations in the solution sequence. Then, according to item (1) of definition 5.9, a bid Bidij = (Dij , pij ) is in the winning set if all the transitions in Dij are in the winning set. Then, it is easy to see that the set of winning bids can be expressed as B ∗ = {Bidij ∈ B|∃k s.t. tijk ∈ Σ}. Then, the revenue of the auctioneer is computed as: X pij (5.17) Bidij ∈B ∗ Definition 5.10 (WDP). Given a set of XOR bids and multisets Uin and Uout of initial and final goods, respectively, the winner determination problem is the problem of finding a valid solution sequence Σ that maximises the revenue for the auctioneer. Before going on, a comment on the definition of allocation sequence is in place. In the definition given above, we make the hypothesis that only one SCO is performed at each step of the solution sequence. However, it is clear that the nature of our problem admits an eventual concurrency of SCOs. For instance, it may be the case that two SCOs can be performed in parallel, i.e. at the very same step. For this reason we notice that it is possible to extend the definition of allocation sequence to capture concurrency. We leave out such generalisation as a matter of future work. With this allocation rule at hand, plus the bidding language introduced in section 5.3, the Mixed Multi-unit Combinatorial Auction model is completely defined. 5.4.3 Mechanism Design An important issue in auction design concerns their game-theoretical properties. We note here that the central result in mechanism design, on the incentive-compatibility of the Vickrey-Clarke-Groves (VCG) mechanism (Ausubel and Milgrom, 2006b), carries over from standard combinatorial auctions to MMUCAs. Recall that the VCG mechanism allocates goods in the most efficient manner and then determines the price to be paid by each bidder by subtracting from their offer the difference of the overall value 5.5. Subsumed Auction Models 105 of the winning bids and the overall value that would have been attainable without that bidder taking part. That is, this “discount” reflects the contribution to the overall production of value of the bidder in question. The VCG mechanism is strategy-proof: submitting their true valuation is a (weakly) dominant strategy for each bidder. As an inspection of standard proofs of this result reveals (Mas-Colell et al., 1995), this does not depend on the internal structure of the agreements that agents make. Hence, it also applies to MMUCAs. However, notice that our focus is centred on an efficient allocation rule, and we do not argue about mechanism design issues. 5.5 Subsumed Auction Models Our model of mixed multi-unit combinatorial auctions subsumes a range of combinatorial auction models discussed in the combinatorial auctions literature (see section 3.2.1), namely: • Single-unit direct and reverse auctions; • Multi-unit direct and reverse auctions, where there may be several indistinguishable copies of the same good available in the system; • Multi-unit direct and reverse combinatorial auctions; • Double auctions, or combinatorial exchanges, where the auctioneer will be able to both sell and buy goods within a single auction. We should stress that there are important differences between our mixed auctions and models known as double auction (Wurman et al., 1998) or Combinatorial exchanges (Sandholm et al., 2002). The most important difference is that these models do not incorporate the concept of a sequence of exchanges, which is required if the intention is to model some sort of production process. In the formulation of the WDP for combinatorial exchanges given by Sandholm et al. (Sandholm et al., 2002), for instance, accepting “circular” bids such as BID ({(1′ a, 1′ b)}, 10) and BID ({(1′ b, 1′ a+1′ c)}, 10), to obtain c for 20 e , would be considered a solution sequence. With our semantics in mind, however, this allocation sequence is not valid: the first agent needs to receive a before it can produce b, but the second agent needs to receive b before it can produce a and c. Hence, no deal should be possible. In fact, the MMUCA can be used to simulate combinatorial exchanges (and double auctions). For instance, the bid BID (1′ (1′ a, 1′ b), 10) can be rewritten as BID (1′ (1′ a, ∅) + 1′ (∅, 1′ b), 10) to express that a bidder will only deliver b if it receives a, but that the order does not matter. Of course, if no true SCOs (imposing an order) are used, then the simpler model of combinatorial exchanges is to be preferred. • Multi-Unit Combinatorial Reverse Auctions with transformability Relationships among Goods. A MUCRAtR, as proposed in chapter 4, can be modelled by allowing the auctioneer to submit bids representing its internal SCOs along with Chapter 5. Mixed Multi unit Combinatorial Auctions 106 their costs. In fact it increments its expressiveness as well, allowing to represent XOR combinations of multisets of internal SCOs. • Combinatorial Auctions for supply chain formation, introduced in (Walsh and Wellman, 2003). Walsh and Wellman (Walsh and Wellman, 2003) tackle a similar problem to ours, focusing on supply chain formation. Although their contribution is very significant, we find limitations along three dimensions. Firstly, they do not allow a provider to submit bids on bundles of SCOs. Secondly, they do not define a bidding language (in fact, their agents submit a bid with a single SCO each). Finally, the SCO net that defines the supply chain has to fulfil strict criteria: acyclicity, SCOs can only produce one output good, etc. Our bidding language as well can be viewed as a generalisation of the state-of-the-art bidding languages for combinatorial auctions (Nisan, 2006). In fact, it can be easily applied as well to all the above mentioned auctions6 : • in single-unit direct auctions, we only have atomic bids of the type BID ({(I, ∅)}, p) where I is a set such that |I| = 1. • in multi-unit direct auctions |I| = I(g) ≤ n, where n is the number of units of good g at auction (there is a single good at auction). • in multi-unit direct combinatorial auctions I(g) ≤ ng where ng is the number of units of good g at auction (there are multiple goods at auction). • in combinatorial exchanges we have bids of the type: BID ({(I, ∅)}, p) and BID ({(∅, O)}, p) • in MUCRAtR bidders can send bids of the type BID ({(∅, O)}, p) and the auctioneer itself can send bids in the form: ≤γ BID ({(I, O)}, p) where γ is an upper bound on the maximum number of times an operation can be performed by the auctioneer. We clarify this point by means of the following example: 6 We provide here the direct cases. The reverse cases are easily obtained with small changes. 5.6. Conclusions 107 Example 5.11 (MMUCA as MUCRAtR). This example aims at representing, by means of the bidding language introduced in section 5.3, the auction described in example 4.5. The bids, sent by the very same auctioneer, and representing its internal production structure, are (from figure 1.1): BID (1 BID (1 ′ ′ (1′ butter + 3′ sugar + 2′ f lour, 2′dough), −5)≤γ1 OR (2′ margar. + 2′ sugar + 1′ f lour + 8′ apples, 2′f illing), −6)≤γ2 OR BID (1 ′ (4′ f illing + 4′ dough, 4′ apple pie), −14)≤γ3 They represent the Make Dough, Make Filling, and Baking operations respectively. Notice that γ1 , γ2 , and γ3 represent the maximum number of times each internal operation can be performed by the auctioneer. This is an example of the richer expressiveness of our bidding language, since in the case of MUCRAtR we had γ1 = γ2 = γ3 = ∞. It is obvious that there always exists an upper bound on the number of times each physical operation is performed. The bids sent by the bidders, as expressed in equations (4.1) to (4.5), can be easily encoded in our bidding language as follows: B1 = BID (1 B2 = B3 = BID (1 B4 = B5 = BID (1 ′ ′ (∅, 100′ butter + 200′ margarine), −200) ′ ′ (∅, 200 f lours + 300 sugar), −100) ′ BID (1 (∅, 800 apples), −200) ′ ′ (∅, 200′ dough + 200′ f illing), −1300) ′ ′ BID (1 (∅, 200 apple pies), −2400) (5.18) (5.19) (5.20) (5.21) (5.22) • in Combinatorial Auctions for SCF bidders can send bids in the form: BID ({(I, O)}, p) such that: – there are not cycles in the supply chain network topology – |O| = 1 5.6 Conclusions In this chapter we provided a solution to requirements 1–13 of table 5.2. In what follows we list the solution provided by MMUCAs to the requirements associated to the makeor-buy-or-collaborate decision problem: (1) MMUCAs support the representation of both cyclic and acyclic supply chain network topologies, since the bidding language and the definition of the WDP are independent on the topology of the network; Chapter 5. Mixed Multi unit Combinatorial Auctions 108 (2) MMUCAs allow to express complementarities among supply chain operations, since they allow the submission of bids on multisets of SCOs; (3) MMUCAs allow bidders to require supply chain operations, as explained by means of example 5.4; (4) MMUCAs allow to express resource sharing, as showed in item 16 of section 5.3.7; (5) MMUCAs allow to express minimum/maximum capacity constraints on the number of times each supply chain operation can be performed via the constructs introduced in section 5.3.5; (6) MMUCAs allow to express manufacturing operations with multiple outputs, as shown in item 14 of section 5.3.7; (7) MMUCAs provide a coordinated scheduling plan among the supply chain stakeholders: the output of the MMUCAs WDP is an ordered and implementable sequence of SCOs; (8) MMUCAs allow to solve Make-or-buy, Make-or-buy-or-collaborate, and SCF decision problems; (9) MMUCAs support the specification of the configuration the auctioneer expects to end up with via the Uout multiset; and (10) MMUCAs support the specification of the initial stock via the Uin multiset. Summarising, the main extension introduced in this chapter with respect to CAs for SCF is that bidders can send bids in the form: ′ ′ BID ({α1 (I1 , O1 ) + . . . + αn (In , On )}, p) XOR BID (. . .) i.e. to submit XOR combinations of atomic bids on multisets of supply chain operations. Hence, in particular, it improves the expressiveness and the range of solvable problems when employing Combinatorial Auctions for SCF. Another important contribution of this chapter is the incorporation of the concept of a sequence of supply chain operations as a solution to the WDP. This is required if the intention is to model some sort of production process. We provide as a solution to the WDP the sequence of operations maximising an auctioneer’s revenue and fulfilling the bidders’ constraints. Notice that there are two different ways in which an MMUCA can be employed. The hypothesis underlying both possibilities is that there is a mutual agreement between bidders and providers on which goods are negotiated7. Given this, we envisage two possibilities: • the first one is that bidders are constrained to bid on a fixed set of previously defined supply chain operations. For instance, an auctioneer may constrain the bidding on supply chain operations like the ones in figure 5.1. 7 We call the set of goods at auction the negotiated goods. 5.6. Conclusions 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Requirements express an offer/request on bundles of goods express an offer of a SCO with a single output product express an offer of a SCO with multiple output products express a request of a SCO express the offer/request of a bundle of SCOs express combinations of bids express the min/max number of times SCOs are performed express resource sharing express an auctioneer’s initial stock express the auctioneer’s final requirements support acyclic supply chain networks support cyclic supply chain networks compute the scheduled sequence of SCOs to perform ensure computational tractability while preserving optimality solve SCF decision problem solve the make-or-buy-or-collaborate decision problem formally represent the search space graphically represent the search space assess the computational tractability based on the problem structure 109 MMUCA X X X X X X X X X X X X X ? X X ? ? ? TDN X X X X Table 5.2: Requirements associated to the make-or-buy-or-collaborate problem. • the second one is that there is a complete freedom of bidding on any supply chain operation, as long as it only involves the negotiated goods as inputs or outputs. For example, unlike in the previous point, a bidder may send a bid offering the supply chain operation Make Pie, that takes as inputs all the basic ingredients and provides a finished apple pie. Notice that this operation is not present in figure 5.1. With the introduction of MMUCAs and of the associated bidding language, we consider solved requirements 1–13 in table 5.2. However, we have not provided any computational method for solving the WDP (requirements (14-19) in table 5.2). In the following chapters we provide some solutions to this issue. Chapter 6 Solving the MMUCA Winner Determination Problem By means of the MMUCA bidding language we make possible to express any possible type of supply chain operation over any type of supply chain network topology. Moreover, the MMUCA winning rule on the one hand accounts for the semantics of the bidding language, and on the other hand automates the supply chain formation and planning process. However, the auctioneer lacks of a computational method to solve the WDP. In this chapter, we provide a solution to such issue. Firstly, applying a technique similar to the one employed for MUCRAtR in section 4.7, we succeed in mapping the MMUCA WDP to a Constrained Maximum Weight Occurrence Sequence Problem (CMWOSP). Likewise MUCRAtR, two benefits stem from this mapping. As a first benefit, we can inherit and import all the Place Transition Nets theoretical and formal results. As a second benefit, we succeed in efficiently solving the MMUCA WDP by means of Integer Programming (IP) for a wide class of supply chain network topologies, namely the acyclic ones. The fact that the WDP can be solved by means of IP only for acyclic supply chain network topologies poses a serious requirement to the applicability of MMUCAs to some real-world scenarios. Thus, as a second result of this chapter, we extend the class of solvable MMUCA WD problems at the price of an efficiency decrement. We provide an IP model, built directly upon the definition of MMUCA WDP, that allows solving any class of problem on any network topology. However, the price to be paid is that the computational complexity of the underlying optimisation problem significantly increases. This chapter is organised as follows. In section 6.1.1 we present a mapping of the MMUCA WDP to a CMWOSP. In section 6.2 we provide an IP formulation of the MMUCA WDP that applies to any network topology. Next, in section 6.3 we discuss briefly on computational complexity. Finally, in section 6.4 we draw some conclusions. 111 112 Chapter 6. Solving the MMUCA Winner Determination Problem 6.1 Mapping MMUCA to WPTN In this section we demonstrate that an instance of the MMUCA WDP can be transformed into an instance of the Constrained Maximum Weight Occurrence Sequence Problem (CMWOSP), introduced in section 4.5.3. We recall that a CMWOSP is an optimisation problem defined on Weighted Place Transition Nets (WPTNs). WPTNs are an extension of Place Transition Nets (PTNs) in which a cost is associated to the firing of each transition (see section 4.4). We introduce this mapping because it allows: • to incorporate analysis methods to analyse behavioural properties of WPTNs; • exploiting such analysis methods we provide an IP formulation for some classes of WPTNs, and therefore some classes of supply chain network topologies. 6.1.1 The intuitions behind the mapping The idea behind the mapping of the WDP to a CMWOSP is that an atomic supply chain operation (SCO) can be viewed as a transition in a WPTN. Consider the following offer, expressed by a bidder in the bidding language introduced in section 5.3: Bid1 = BID (1′ (2′ H2 O, 1′ O2 + 2′ H2 ), −8) (6.1) This represents an offer over an hydrolysis process: 2 moles of water are transformed into 1 mole of oxygen and two moles of hydrogen at a price of e 8. Then, consider the transition depicted in figure 6.1, and say that each place represents a good. Let the place labelled with H2 O be water , H2 be hydrogen , and O2 be oxygen. The transition in figure perfectly captures the semantics of a supply chain operation: the input places of the transitions are the input goods of the SCO, its output places are the output goods of the SCO, and the transition cost is the cost associated to the SCO. Analogously, an SCO offering goods can be represented as a transition with only output places, whereas an SCO asking for goods as a transition with only input places. H2 O 2 e 8 Bid1 O2 1 2 H2 Figure 6.1: Example of an SCO represented as a transition in a WPTN. Example 6.1. Say that the following bids, expressed in the bidding language of section 5.3 and graphically represented in the WPTN of figure 6.2, are submitted to an MMUCA: 6.1. Mapping MMUCA to WPTN 113 (1) Bid bid1 offers two moles of water at e 10 (the minus represents the fact that the bidder gets paid): bid1 = BID(1′ (∅, 2′ H2 O), −10) (6.2) (2) Bid bid2 offers two moles of water at e 14: bid2 = BID (1 ′ (∅, 2′ H2 O), −14) (6.3) (3) Bid bid3 stands for an offer to perform the hydrolysis process for e 8: bid3 = BID (1′ (2′ H2 O, 1′ O2 + 2′ H2 ), −8) (6.4) (4) Bid bid4 represents an offer to buy the products resulting from the reaction for e 23 (the positive cost represents the fact that the bidder pays money): bid4 = BID (1′ (2′ H2 + 1′ O2 , ∅), 23) (6.5) (5) Bid bid5 represents an offer to buy the products of the reaction for e 25: bid5 = BID (1′ (2′ H2 + 1′ O2 , ∅), 25) bid1 e −10 (6.6) bid2 e −14 2 2 H2 O 2 e −8 bid3 O2 H2 2 2 1 e 23 2 1 1 bid4 e 25 bid5 Figure 6.2: Example of bids in a MMUCA represented as a WPTN. In example 6.1 finding the revenue maximising solution is straightforward. Firstly, buy two moles of water from bid1 , then process the water through the SCO in bid3 , and then sell the products of the reaction to bid5 . The total revenue of the supply chain is 114 Chapter 6. Solving the MMUCA Winner Determination Problem 25 − 8 − 10 =e 7. Notice carefully that this solution is the solution to the CMWOSP1 defined on the WPTN in figure 6.2 with initial marking empty and destination marking Md satisfying the following constraints2 : Md (H2 O) ≥ 0 (6.7) Md (O2 ) ≥ 0 Md (H2 ) ≥ 0 (6.8) (6.9) Given the example above, we argue that if we: (1) build a WPTN joining all the atomic SCOs received within bids; (2) set the initial marking to the goods initially available to the auctioneer; and (3) set some constraints on the final marking, then the solution to the CMWOSP corresponds to the solution to the MMUCA WDP. Informally, this is the kind of mapping we intend to demonstrate. We obtain several advantages from this mapping. We can readily import a series of results and tools valid for PTNs, as for instance tools to analyse the reachability problem on the PTN. As a major benefit, we manage to efficiently encode the MMUCA WDP by means of IP. In particular, in response to the requirements 17–21 of table 5.1 of chapter 5, this mapping also allows us: (1) to visually and formally explicit the search space associated to the WDP; (2) to assess the computational tractability of the WDP based on the problem structure; and (3) to study structural and behavioural properties of the resulting supply chain. However, we have to take some more details into account: • In the previous example, given the WPTN representation, each SCO can be used an arbitrarily number of times. Instead, the semantics of the bidding language imposes that SCOs must be used a limited number of times. Recall that we solved such problem in the case of MUCRAtR introducing bid places (see figure 4.3). • How can we express on the WPTN an offer/demand over a bundle of (complementary) SCOs? That is, how could we express a bid like (1′ butter + 3′ sugar + 3′ f lour, 2′ dough)+ 1′ (8′ apple + 2′ margarine + 1′ f lour, 2′ f illing), −20) BID (1 ′ (6.10) offering to perform both the Make Dough and Make Filling operations? • How can we express on the WPTN a set of mutually exclusive (XOR) atomic bids? That is, how could we express a bid like: BID (1 ′ (∅, 200′ margarine), −200) XOR BID (1′ (∅, 200′butter), −200) In the following section we provide an answer to all these questions. 1 So far under the hypothesis that transitions can fire at most once. We will solve the issue of limiting the number of times each transition can fire further on. 2 In case of no free-disposal on the auctioneer side replace ≥ with =. 6.1. Mapping MMUCA to WPTN 115 6.1.2 Representing Bids Firstly, we must recall the notation employed in section 5.4.2: • The j−th an atomic bid of bidder i is represented by a pair Bidij = (Dij , pij ) where pij is the price a bidder is willing to pay/be paid to have allocated the multiset of SCOs Dij . • For each Bidij , let tijk be the kth SCO in Dij . • Let Dij (tijk ) be the multiplicity of tijk in Dij . • Let D = ∪ij Dij be the multiset of the overall SCOs received with their multiplicity. • Let δ be Pthe overall number of SCOs mentioned anywhere in the bids, i.e. δ = |D| = ij |Dij |. • Let T be the set of the overall SCOs in the bids without their multiplicity, that is T = {tijk : ∀ijk}; • G is the set of negotiated goods • Uin ∈ NG is a multiset of goods standing for the initial stock of the auctioneer. • Uout ∈ NG is a multiset of goods standing for the number of goods the auctioneer desires to end up with. • Mm ∈ NG is a multiset of goods standing for the number of goods available to the auctioneer after applying m supply chain operations in a production process. In example 6.1, we restrict ourselves to the case in which agents can only submit one atomic bid. Moreover, we only consider bids over a single atomic SCO, i.e. |Dij | = 1. Next, we progressively relax all these constraints. First of all, we explain how to represent on a WPTN a bid on a bundle (multiset) of SCOs. Expressing bids on bundles of SCOs For a bid Bidij , combinatorial on SCOs, we have to ensure that: • if an atomic SCO tijk in bid Bidij is included in the solution sequence, – it must be included in the solution Dij (tijk ) times; – all the other atomic SCOs tijk′ within the same atomic bid (all the SCOs in Dij ) must be included Dij (tijk′ ) times as well; this maps to item (1) of the definition of valid solution sequence (definition 5.9); Chapter 6. Solving the MMUCA Winner Determination Problem 116 • the price that has to be paid to (received by) the bidder is the price of the whole bid (pij ). We achieve this by introducing some auxiliary places and transitions. The example in figure 6.3 represents the following bid: Bidij = BID (1′ (2′ p1 , 1′ p2 + 2′ p3 ) + 3′ (1′ p4 , 1′ p6 + 1′ p7 ) + 2′ (1′ p5 , 1′ p8 + 1′ p9 ), −20) If we refer to the three atomic SCOs as: tij1 = (2′ p1 , 1′ p2 + 2′ p3 ) tij2 = (1′ p4 , 1′ p6 + 1′ p7 ) tij3 = (1′ p5 , 1′ p8 + 1′ p9 ) We can rewrite the bid in a more readable way: Bidij = ′ BID (1 tij1 + 3′ tij2 + 2′ tij3 , −20) This is a bid on a bundle of SCOs {tij1 , tij2 , tij3 } with associated price pij = −20e . cij • 1 tij 1 cij1 1 2 3 cij2 p1 p2 p5 1 1 tij1 1 cij3 p4 1 2 e −20 1 tij2 2 1 p3 p6 tij3 1 1 p7 p8 1 p9 Figure 6.3: Bids on bundles of SCOs. In general, in order to incorporate a bid over multiple SCOs we proceed as follows: • for each bid Bidij we introduce an auxiliary transition tij (bid transition) and an auxiliary place cij (bid place). • for each atomic SCO tijk within bid Bidij , we add an auxiliary place cijk (cij1 , cij2 , and cij3 in figure 6.3), called SCO place. 6.1. Mapping MMUCA to WPTN 117 • we attach the valuation pij of bid Bidij to the corresponding bid transition tij . In the example, we associate the bid cost pij =-e 20 to transition tij . Hence, whenever tij fires, the cost/gain pij is added to the cost of the firing sequence. It is easy to check that the WPTN if figure 6.3 allows for firing any subset of {tij1 , tij2 , tij3 } (depending on the tokens) with the corresponding multiplicities (1, 3, 2). Notice also that firing at least one of the three transitions requires to previously fire transition tij , because this guarantees having the required tokens in the input places cijk . In this way, we guarantee that firing at least one of the transitions implies firing also tij , and therefore that the corresponding money is added to the overall cost/revenue (recall that we are dealing with a WPTN). Any legal firing sequence on the WPTN in figure 6.3 guarantees that selecting at least one of the tijk implies also selecting tij . However, we need a further requirement: either none of the tijk fires, or all of them fire. If they all fire, they have to fire as many times as expressed by their multiplicities in the bids. In the figure, we have to enforce that if tij fires, then tij1 fires once (Dij (tij1 ) = 1), tij2 three times (Dij (tij2 ) = 3), and tij3 twice (Dij (tij3 ) = 2). The topology in figure 6.3 cannot guarantee such property by itself. For instance, a firing sequence in which only transitions tij1 and tij2 fire (not tij3 ) is legal but does not comply with our all-or-none assumption. In order to enforce it, we simply impose some constraints on the final configuration of the net. Say that we impose that in the final configuration cij1 , cij2 , and cij3 contain no tokens. More formally, the final marking should fulfil the constraints: Md (cij1 ) = 0 (6.11) Md (cij2 ) = 0 Md (cij3 ) = 0 This implies that all the legal firing sequences leading to the final configuration Md contain either none or the three transitions tij1 , tij2 , tij3 with multiplicities 1, 2, and 3 respectively. In fact the only possible firing sequences are either no firings J = {}, or J = htij , tij1 , tij2 , tij2 , tij2 , tij3 , tij3 i (6.12) J = htij , tij3 , tij3 , tij2 , tij1 , tij2 , tij2 i J = ... (6.13) (6.14) We remark that the semantics of multiplicity of the SCOs offered in bid Bidij is completely captured by the provided WPTN. The weights of the arcs connecting bid transitions tij and SCO places cijk , along with the constraints on the final marking, enforces that none of the SCOs in Dij is used, or all of them are used as many times as indicated by their multiplicities in Dij . Expressing XOR of atomic bids We are now able to represent an atomic bid on a WPTN. However, we still have to express the XOR relationships among the atomic bids that come from the same bidder Chapter 6. Solving the MMUCA Winner Determination Problem 118 pXOR i • cij ′ 2 1 1 1 1 tij e −20 cij1 1 tij ′ e −10 3 2 tij ′ 2 1 cij ′ 1 2 cij2 2 p1 p4 p5 3 1 1 2 tij1 1 p2 1 cij3 1 1 tij2 2 1 p3 1 tij ′ 1 tij3 1 p6 1 p7 2 1 p8 2 p9 Figure 6.4: XOR of atomic bids to fully represent our bidding language. Consider the following bid: BID (1 ′ (2′ p1 , 1′ p2 + 2′ p3 ) + 3′ (1′ p4 , 1′ p6 + 1′ p7 ) + 2′ (1′ p5 , 1′ p8 + 1′ p9 ), −20) XOR BID (1 ′ (∅, 2′ p4 + 2′ p5 ) + 1′ (3′ p5 , 2′ p8 + 2′ p9 ), −10) If we refer to the five atomic SCOs as: tij1 = (2′ p1 , 1′ p2 + 2′ p3 ) tij2 = (1′ p4 , 1′ p6 + 1′ p7 ) tij3 = (1′ p5 , 1′ p8 + 1′ p9 ) tij ′ 1 = (3′ p5 , 2′ p8 + 2′ p9 ) tij ′ 2 = (∅, 2′ p4 + 2′ p5 ) 6.1. Mapping MMUCA to WPTN 119 We can rewrite the bid in a more readable way as follows: ′ BID (1 tij1 + 3′ tij2 + 2′ tij3 , −20) XOR BID (1 ′ t ij ′ 1 ′ +1t (6.15) (6.16) ij ′ 2 , −10) (6.17) We refer to the two bids submitted by a bidder i in XOR as to Bidij and Bidij ′ . This means that an auctioneer can select at most one of them (see section 5.3). Figure 6.4 depicts bids Bidij and Bidij ′ . Bid Bidij is over SCOs tij1 , tij2 , and tij3 , whereas bid Bidij ′ is over SCOs tij ′ 1 and tij ′ 2 . The cost associated to Bidij is c(tij ) = −e 20, and the cost associated to Bidij ′ is c(tij ′ ) = −e 10. In order to incorporate the semantics of the XOR operator into the WPTN, we introduce a new place, labelled with pXOR , called XOR place. Notice that bid places cij i and cij ′ have been substituted by the XOR place. This WPTN topology enforces that at most one of the two transitions tij and tij ′ can fire. When either of them fires, it consumes the unique token in pXOR inhibiting the firing of the other one. It is clear from i previous section that transition tij represents bid Bidij and transition tij ′ represents bid Bidij ′ . This corresponds to selecting at most one bid out of bids Bidij and Bidij ′ . This reasoning applies to the case of m bids in XOR among them as well. 6.1.3 The Mixed Auction Net In the previous section, we showed the intuitions behind the mapping of the MMUCA WDP to a CMWOSP. We recall that the CMWOSP is an optimisation problem defined on WPTNs, thoroughly explained in section 4.5.3. In section 4.6 we succeeded in mapping the MUCRAtR Winner Determination Problem to a CMWOSP. In order to perform such mapping we had to build a WPTN departing from the internal production structure of an auctioneer and from the received bids. This WPTN was called the Auction Net. Along the lines of such strategy, in this section we build a WPTN with a similar function for the MMUCA WDP. We shall call such WPTN the Mixed Auction Net, a WPTN that shall allow us to define the MMUCA WDP as a CMWOSP. We will now provide the definition of Mixed Auction Net. Informally, such net is composed of three types of places, namely: • good places, representing goods at auction; • SCO places, useful to control the number of times each SCO is performed • XOR places, useful to control that at most one bid per bidder is selected Then, it is composed of two types of transitions, namely: • SCO transitions, that represent the SCOs submitted by the bidders • bid transitions, useful to control the number of times each SCOs is employed Chapter 6. Solving the MMUCA Winner Determination Problem 120 The arc weights are associated so that some properties are fulfilled. Finally, we associate a cost to each bid transition, corresponding to the valuation associated to a bundle of SCOs. In what follows the notation employed for describing bids is the one defined at the beginning of section 6.1.2. Moreover, we indicate with Iijk and Oijk respectively the input and output multisets of SCO tijk . Definition 6.1. Given a finite set of bids B in the XOR bidding language over a set of goods G, a Mixed Auction Net is a WPTN S ∗ = (P ∗ , T ∗ , A∗ , E, M0 , C) where ∗ = PG ∪ PSCO ∪ PXOR P ∗ T = TB ∪ TSCO ∗ A = ASCO ∪ AB ∪ AXOR and (1) PG is the set of good places. For each good g ∈ G add a place pg . (2) PSCO is the set of SCO places. For each atomic SCO tijk ∈ T add a place cijk . (3) PXOR is the set of XOR places. For each bidder i add a place pXOR . i (4) TB is the set of bid transitions. For each bid Bidij ∈ B add a transition tij . (5) TSCO is the set of SCO transitions. For each atomic SCO3 tijk ∈ T add a transition tijk . (6) ASCO is the set of SCO arcs. It is built as follows: i o ASCO = ASCO ∪ ASCO where i ASCO = {(pg , tijk ) ∈ PG × TB | g ∈ Iijk } o = {(tijk , pg ) ∈ TB × PG | g ∈ Oijk } ASCO are the input SCO arcs and output SCO arcs respectively. (7) AB is the set of bid arcs. It is built as follows AB = AiB ∪ AoB where AoB = {(tij , cijk ) ∈ TB × PSCO } AiB = {(cijk , tijk ) ∈ PSCO × TSCO } are the input bid arcs and output bid arcs respectively. 3 Henceforth, we indicate with the same label transitions on the WPTN and the corresponding supply chain operations. 6.1. Mapping MMUCA to WPTN 121 (8) AXOR is the set of XOR arcs. It is built as follows: AXOR = {(pXOR , tij ) ∈ PXOR × TB } i (9) The arc expression function is built as follows: E(pg , tijk ) = Iijk (g) E(tijk , pg ) = Oijk (g) E(cijk , tijk ) = 1 E(tij , cijk ) = Dij (tijk ) E(pXOR , tij ) = 1 i i (pg , tijk ) ∈ ASCO (6.19) AiB AoB (6.20) (6.21) (tijk , pg ) ∈ ASCO (cijk , tijk ) ∈ (tij , cijk ) ∈ (6.18) o (pXOR , tij ) ∈ AXOR i (6.22) (10) The bid cost function C : B → R is built as follows: C(tijk ) = 0 C(tij ) = pij tijk ∈ TSCO tij ∈ TB (11) The initial marking is defined as Uin (g) pg ∈ PG M0 (p) = 1 p ∈ PXOR 0 p ∈ PSCO (6.23) Informally, PG represents the set of negotiated goods, TB the set of atomic bids, PXOR the set of bidders, TSCO the set of atomic supply chain operations, and PSCO the set of places that controls the execution of SCOs. Then, ASCO connects the places representing the input goods and output goods of each atomic SCOs tijk to the transition representing it (tijk ). The input goods are connected by incoming arcs whereas the output goods by outgoing arcs. For instance, transition tij1 in figure 6.4 corresponds to the atomic SCO tij1 = (Iij1 , Oij1 ) = (2′ p1 , 1′ p2 +2′ p3 ). Therefore, place p1 , representing the input good to tij1 , is connected to transition tij1 by means of an incoming arc; and places p2 and p3 , representing its output goods, are connected to tij1 by means of outgoing arcs. Then, AB is a set of arcs such that: (1) bid transition tij is connected to SCO places cijk ; and (2) SCO places cijk are connected to atomic transitions tijk : AXOR is the set of arcs that connects all the pXOR places to the bid transitions tij i corresponding to bids coming from the same provider i. The bid cost function C : B → R is built in a way such that: • the cost of a SCO is 0: c(tijk ) = 0; and • the cost of a bid transitions tij is the price of bid Bidij (c(tij ) = pij ). Example 6.2. The Mixed Auction Net associated to example in figure 6.4 is defined as follows: 122 Chapter 6. Solving the MMUCA Winner Determination Problem • PG = {p1 , ..., p9 }. • TB = {tij , tij ′ }. • PXOR = {pXOR }. i • TSCO = {tij1 , tij2 , tij3 , tij ′ 1 , tij ′ 2 }. • PSCO = {cij1 , cij2 , cij3 , cij ′ 1 , cij ′ 2 }. • ASCO = {(p1 , tij1 ), (tij1 , p2 ), (tij1 , p3 ), . . . , (p5 , tij ′ 1 ), (tij ′ 1 , p8 ), (tij ′ 1 , p9 )}. • AB = {(tij , cij1 ), (cij1 , tij1 ), (tij , cij2 ), (cij2 , tij2 ), ..., (tij ′ , cij ′ 1 ), (cij ′ 1 , tij ′ 1 )}. • AXOR = {(pXOR , tij ), (pXOR , tij ′ )}. i i • The E function is4 : E(p1 , tij1 ) = 2 E(tij1 , p2 ) = 1 E(tij1 , p3 ) = 2 E(tij , cij2 ) = 3 ... • The cost function is: −20 t = tij C(t) = −10 t = tij ′ 0 otherwise (6.24) • The initial marking M0 is: M0 (p) = ( 1 0 p = pXOR i otherwise (6.25) 6.1.4 Expressing the MMUCA WDP as a CMWOSP In this section we introduce a CMWOSP on the Mixed Auction Net, whose solution can be easily transformed into a solution to the corresponding MMUCA WDP. In this way, we can exploit several results valid for CMWOSPs, WPTNs and PTNs. In particular, by means of this mapping, we can solve the MMUCA WDP by means of ILP whenever the associated Mixed Auction Net is acyclic (see section 4.7). Our aim in this section is showing that, from the firing sequence associated to a particular CMWOSP on the Mixed Auction Net, we can derive an optimal solution sequence to the corresponding MMUCA WDP. 4 We only provide a sample of its definition. The whole definition is represented in figure 6.4. 6.1. Mapping MMUCA to WPTN 123 This mapping is based on the analogy between a valid solution sequence and a firing sequence solution to a CMWOSP. In fact, we can prove that a sequence of SCOs solution to the MMUCA WDP and a sequence of transitions solution to a CMWOSP are objects fulfilling similar constraints. In fact, we want to show that there is a strong analogy between the SCOs in a MMUCA and the SCO transitions in the Mixed Auction Net, as well as between the bids in a MMUCA and the bids transitions in the Mixed Auction Net. In section 6.1.2 we provided some intuitions about this mapping. Obviously, the Mixed Auction Net will play a fundamental role in this sense. The central point is that, as mentioned in section 6.1.2, we have to impose some conditions on the number of tokens each place contains at the end of the firing sequence (sections 6.1.2 and 6.1.2) in order to ensure that: • the auctioneer fulfils its requirements; and • the semantics of the bidding language is fulfilled. In particular, we have to ensure that: • (Auctioneer) the good places will contain at least5 the number of tokens corresponding to the number of goods the auctioneer expects to end up with (specified by Uout ). • (Bidding language) – the XOR place will contain at least zero tokens. This ensures that at most one among the XOR bids is selected6 . We say at least since it may be that no bid is selected, thus leaving a token in the place. – the SCO places will contain exactly zero tokens. This will enforce that SCOs of a same atomic bid are either all selected with the correct multiplicity, or none of them is selected7 . With these constraints in mind when considering solutions to a MMUCA WDP, we can finally link the solutions to the MMUCA WDP with the solutions to a CMWOSP over a Mixed Auction Net as follows. Theorem 6.1. Given a MMUCA with a multiset of available goods Uin , a set of required goods Uout , and a set of bids B in the XOR language8 over the goods in G, solving MMUCA WDP amounts to solving the CMWOSP defined on the Mixed Auction Net S ∗ = (P ∗ , T ∗ , A∗ , E, M0 , C), with destination marking Md fulfilling the following constraints9 : Md (p) ≥ Uout (g) Md (p) = 0 Md (p) ≥ 0 5 Substitute pg ∈ PG p ∈ PSCO (6.26) (6.27) p ∈ PXOR (6.28) at least for Exactly in the case of no-free-disposal on the auctioneer’s side. the hypothesis that the XOR place contains one token in the initial marking. 7 Under the hypothesis that the SCO place contains zero tokens in the initial marking. 8 Notice that in the case of OR language we could state exactly the same if we make appropriate changes to the WPTN. We should just represent all the bids as in figure 6.3, i.e. omitting the XOR places. 9 In case of no free disposal on the auctioneer’s side simply substitute = for ≥ in equation (6.26). 6 Under 124 Chapter 6. Solving the MMUCA Winner Determination Problem Proof. ⇒) First, we begin proving that a solution to the CMWOSP can be transformed into a solution to the MMUCA WDP. Recall that each atomic bid consists of a multiset G G of SCOs and a price: Bidij = (Dij , pij ), where Dij ∈ N(N ×N ) is a multiset of SCOs and pij ∈ R is the associated cost/price. The notation employed is the one introduced in section 6.1.2. We recall that a solution sequence is a mapping Σ from positions to SCOs: Σ : {1, 2, . . . , ℓ} → T where ℓ ∈ N is the length of the sequence, and T is the overall set of SCOs contained in all bids. Then, in WPTN terms, we can regard the solution sequence Σ as a sequence of SCO transitions on the mixed auction net. Say that J ∗ is the solution to the CMWOSP described in the theorem we are proving and that Σ∗ is the sequence obtained by J ∗ restricted to the elements of TSCO (or, equivalently, without the elements of TB ). Recall that J ∗ contains both bid transitions and SCO transitions. Σ∗ = J ∗ |TSCO (6.29) and say that B ∗ is the set of transitions removed from J ∗ to obtain Σ∗ : B ∗ = {tij ∈ J ∗ |TB } (6.30) Obviously, B ∗ ⊆ TB is a subset of the bid transitions. We aim at showing that Σ∗ is the solution to the corresponding MMUCA WDP and that B ∗ is the set of selected bids. Recall that each transition in TSCO represents an SCO. Then Σ∗ can be seen as a sequence of SCOs as well: Σ∗ : {1, 2, . . . , ℓ} → TSCO (6.31) Notice that TSCO ≡ T . For this reason we have to check that Σ∗ it is a valid solution sequence. That is, it must fulfil each of the constraints expressed in definition 5.9: (1) Σ∗ either contains all or none of the SCOs belonging to the same atomic bid, so that the semantics of the BID-operator is fulfilled: ∃k : tijk ∈ Σ∗ ⇒ ∀k |Σ∗−1 (tijk )| = Dij (tijk ) In section 6.1.2 we gave the intuitions that this is the case. However, to prove it formally, we write the state equation (see equation (2.25)) at a generic SCO place cijk ∈ PSCO : Md (cijk ) = M0 (cijk ) + AT · x (6.32) Notice from figure 6.4 that that both transitions tij ∈ TB and tijk ∈ TSCO can add/remove tokens to/from cijk . Notice also that according to equation (6.23) no tokens are present initially in cijk . Then, we can rewrite the equation as: Md (cijk ) = 0 + xtijk − xtij · Dij (ttjk ) (6.33) 6.1. Mapping MMUCA to WPTN 125 where xtij and xtijk stands for the number of times tij and tijk fire in the firing sequence J ∗ respectively. Then, applying constraint (6.27) over place cijk we obtain: Md (cijk ) = 0 ∀ijk (6.34) Merging with equation (6.33) we obtain: 0 = xtijk − xtij · Dij (ttjk ) ∀ijk xtijk = xtij · Dij (tijk ) ∀ijk (6.35) (6.36) From equation (6.36) we can derive the following chain of implications: ∃k : tijk ∈ Σ∗ ⇒ ∃k : tijk ∈ J ∗ ⇒ tij ∈ J ∗ ⇒ tij ∈ B ∗ ⇒ . . . . . . ⇒ ∀k|J ∗−1 (tijk )| = Dij (tijk ) ⇒ ∀k|Σ ∗−1 (tijk )| = Dij (tijk ) (6.37) (6.38) Then, taking the first premise and the last consequence, we have: ∃k : tijk ∈ Σ∗ ⇒ |Σ∗−1 (tijk )| = Dij (tijk )∀k (6.39) That is what we wanted to show. (2) Σ∗ does not contain two SCOs belonging to different atomic bids by the same bidder, and thus the semantics of the XOR operator is fulfilled: tijk , tij ′ k′ ∈ Σ∗ ⇒ j = j ′ In order to demonstrate this result, we write the state equation at each of the pXOR ∈ PXOR place and we proceed similarly to the previous demonstration. i We obtain: X (6.40) xtij Md (pXOR )=1− i j and then applying the constraint in equation (6.28), we have: X xtij ≥ 0 1− (6.41) j X xtij ≤ 1 (6.42) j From equation (6.37) we know that: tijk ∈ Σ∗ ⇒ tij ∈ J ∗ (6.43) ∗ (6.44) ∗ tij ′ k′ ∈ Σ ⇒ tij ′ ∈ J Chapter 6. Solving the MMUCA Winner Determination Problem 126 However, for the constraint in equation (6.42) we have that: tij , tij ′ ∈ J ∗ ⇒ j = j ′ (6.45) Then, joining the implications we have: tijk , tij ′ k′ ∈ Σ∗ ⇒ j = j ′ (6.46) As we wanted to demonstrate. (3) Equations (5.10) and (5.11) hold at each step of the solution sequence Σ∗ . Mm (g) = Mm−1 (g) + OΣ∗ (m) (g) − IΣ∗ (m) (g) M m−1 (g) ≥ IΣ∗ (m) (g) (6.47) (6.48) This condition ensures that all SCOs have enough input goods available at each step of the SCO sequence. We recall that the places in PG represent the goods in G. For the sake of clarity we rewrite here both equations: Mm (p) = Mm−1 (p) + E(t, p) − E(p, t) M m−1 ∀p ∈ • t ∪ t• • (p) ≥ E(p, t) p∈ t (6.49) (6.50) We recall that these equations represent the change in the Mm−1 marking after the firing of a transition t (equation (6.49)), and the condition of activation of transition t in marking M (equation (6.50)). Next, we aim at writing equations (2.15) and (2.14) at each place in PG and at each step of the firing sequence J ∗ . Notice from figure 6.4 that the only transitions that add/remove tokens from/to the places in PG are the transitions in PSCO . Then, instead of J ∗ , we can employ Σ∗ of equation (6.29): ( Mm (pg ) = Mm−1 (pg ) + OΣ∗ (m) (pg ) − IΣ∗ (m) (pg ) (6.51) Mm−1 (pg ) ≥ IΣ∗ (m) (pg ) That is exactly what we required. (4) The set of goods held by the auctioneer after implementing the SCO sequence is a superset of the goods the auctioneer is expected to end up with : Uin (g) + ℓ X m=0 OΣ∗ (m) (g) − IΣ∗ (m) (g) ≥ Uout (g) Considering the constraints on the final marking of equation (6.26) and the initial marking of equation (6.23), we obtain: Uin (pg ) + ℓ X l=0 (OΣ∗ (l) (pg ) − IΣ∗ (l) (pg )) ≥ Uout (pg ) (6.52) 6.1. Mapping MMUCA to WPTN 127 Observe that since the only transitions that have associated non-null costs are the bid transitions in TB , and according to equation (6.39), the cost associated to the firing sequence is: X X X CT (J ∗ ) = C(tij ) = C(tij ) = pij (6.53) tij ∈J ∗ tij ∈B ∗ tij ∈B ∗ It is obvious from equation (6.37) that having transition tij in the solution sequence means that bid Bidij is in the winning set. Then, we have: X X pij = pij (6.54) tij ∈B ∗ Bidij ∈Winning Set Then, the quantity maximised by the CMWOSP is equivalent to the auctioneer’s revenue. Hence, Σ∗ is a valid solution and maximises the auctioneer revenue. Then, it is the solution to the MMUCA WDP according to definition 5.10. ⇐) We prove the converse as well. Given a solution to the MMUCA WDP, it can be transformed into a solution to the CMWOSP described in the theorem we are proving. Say Σ is the solution to the MMUCA WDP. Then, consider the following constructs. • The sequence of SCO transitions Σ∗ : N → TSCO such that: ∀m ∈ [1, |Σ|] Σ∗ (m) = tijk ⇐⇒ Σ(m) = tijk (6.55) Recall that T ≡ TSCO . • The set of bid transitions B ∗ ⊆ TB such that: tij ∈ B ∗ ⇐⇒ ∃k s.t. tijk ∈ Σ∗ (6.56) ∗ • The sequence of bid transitions JB : N → TB formed by arranging in a random ∗ order the elements of B . More formally, the sequence must be such that: ( 1 ∀tij ∈ B ∗ ∗−1 |JB (tij )| = (6.57) 0 otherwise ∗ • J ∗ : TB ∪ TSCO → [1, |JB | + |Σ∗ |] is a sequence of transitions obtained concate∗ nating the sequences JB and Σ∗ . Observe that the sequences are concatenated in ∗ such a way that the elements of JB are placed before the elements of Σ∗ . Σ∗ corresponds to the sequence of SCOs solution to the MMUCA WDP, whereas the ∗ sequence JB contains the bid transitions corresponding to the winning bids. That is, if ∗ tij ∈ JB , then Bidij is in the winning set. Then, we aim at showing that the sequence J ∗ is a solution to the CMWOSP on the mixed auction net with final constraints in equations (6.26), (6.27), and (6.28). With this purpose, we have to perform three steps. (1) we have to make sure that the final marking constraints are fulfilled; 128 Chapter 6. Solving the MMUCA Winner Determination Problem (2) we have to make sure that all the transitions in J ∗ are enabled at the step they are executed; and (3) we have to make sure that the solution is optimal, i.e. that there is not another solution to the CMWOSP with higher associated cost. In order to solve item (1), we make the hypothesis that all the transitions in J ∗ are enabled. This hypothesis will be confirmed later on. Under this hypothesis, we can write equations (2.14) and (2.15) at the m − th step of J ∗ in the following form: Mm−1 (p) ≥ E(p, J ∗ (m)) m M (p) = M m−1 ∗ ∗ (p) + E(J (m), p) − E(p, J (m)) (6.58) (6.59) Embedding the recursion, we can obtain the marking at step m as: Mm (p) = M0 + m X (E(J ∗ (l), p) − E(p, J ∗ (l))) (6.60) l=1 Then, we write this equation in the final state for all the places in the mixed auction net. Then, say that ℓ = |J ∗ | is the length of the sequence J ∗ . Analogously, we note ∗ ℓB = |JB | and ℓΣ = |Σ∗ | We know from section 6.1.3 that the auction net has three types of places (PG , PSCO and PXOR ). • PXOR places. We know that equation (6.28) must hold. Then, we must have that: Mℓ (pXOR )≥0 i ∀i (6.61) Mℓ takes the following form for all pXOR ∈ PXOR : i Mℓ (pXOR ) = M0 (pXOR )+ i i ℓ X m=1 E(J ∗ (m), pXOR ) − E(pXOR , J ∗ (m)) i i that taking into account definition 6.1 becomes: Mℓ (pXOR )=1− i ℓ X E(pXOR , J ∗ (m)) = 1 − i m=1 =1− X X |J ∗−1 (tij )| = j ∗−1 |JB (tij )| j The intuition behind this are provided by figure 6.4. No transitions are incoming into place pXOR , and the only outgoing transitions are tij and tij ′ . It is easy to i see that since Σ is a solution to the MMUCA WDP, condition (2) of definition 5.9 holds, and then we have that: X ∗−1 |JB (tij )| ≥ 0 (6.62) Mℓ (pXOR )=1− i j Then, equation (6.28) is fulfilled. 6.1. Mapping MMUCA to WPTN 129 • PSCO places. We know that equation (6.27) must hold. Then, we have that for all cijk ∈ PSCO : ℓ X Mℓ (cijk ) = M0 (cijk ) + (E(J ∗ (m), cijk ) − E(cijk , J ∗ (m))) m=1 that considering the mapping of section 6.1.3 becomes: Mℓ (cijk ) = 0 + ℓ X (E(J ∗ (m), cijk ) − E(cijk , J ∗ (m))) = m=1 = ℓB X E(B ∗ (m), cijk ) − m=1 ∗−1 = |B ℓΣ X E(cijk , Σ∗ (s)) s=1 ∗−1 (tij )| · D(tijk ) − |Σ (tijk )| (6.63) (6.64) Equation (6.63) results from considering that only bid transitions have output places in cijk , and that only SCO transitions have input places in cijk (see figure 6.4). Equation (6.64) follows from the fact that tij is the only input transition to cijk and that tijk is the only output transition of cijk . Hence, from condition (1) of definition 5.9, we have the following final marking: ( 0 tijk 6∈ Σ∗ Mℓ (cijk ) = D(tijk ) − D(tijk ) tijk ∈ Σ∗ Then Mℓ (cijk ) = 0 for all cijk ∈ PSCO . • PG places. Equation (6.26) must hold. Analogously to the previous cases, we write for all pg ∈ PG : ℓ M (pg ) = M0 (pg ) + ℓ X (E(J ∗ (m), pg ) − E(pg , J ∗ (m))) = m=1 = Uin (pg ) + ℓΣ X (E(Σ∗ (m), pg ) − E(pg , Σ∗ (m))) = (6.65) m=1 = Uin (pg ) + ℓΣ X m=1 OΣ(m) (pg ) − IΣ(m) (pg ) (6.66) Equation (6.65) follows from the fact that the only transitions that can add/remove tokens to/from places in PG are the SCO transitions (see figure 6.4). Equation (6.66) substitutes the SCO transitions input/output arc weights for the input/output multisets of the corresponding SCOs. Following condition (4) of definition 5.9, we have that: Mℓ (pg ) = Uin (pg ) + ℓΣ X m=1 OΣ(m) (pg ) − IΣ(m) (pg ) ≥ Uout (pg ) (6.67) Chapter 6. Solving the MMUCA Winner Determination Problem 130 Next, we show that all the transitions in J ∗ are enabled. ∗ • The transitions in JB are trivially enabled, because: (1) at most one of the transitions outgoing from an XOR place can fire (according to equation (6.62)); and (2) the only token required to fire such a transition is present in the initial marking (M0 (pXOR ) = 1 according to equation (6.23)). i • In order to have the transitions in Σ∗ enabled as well, it must happen that: Mm−1 (p) ≥ E(p, J ∗ (m)) ∀m ∈ [1, ℓ], ∀p ∈ PG ∪ PSCO (6.68) Recall that the XOR places are neither input nor output of the SCO transitions. Then, the only places modified by transitions in TSCO are PG and PSCO : (1) PSCO places. Observe that only bid transitions can add tokens into the SCO places, and bid transitions are fired before the SCO transitions10 . We also know that if a SCO transition tijk is in Σ∗ , then the corresponding bid transitions tij is in B ∗ (equation (6.56)). Then, tij has added Dij (tijk ) into the cijk places before any of the transitions in Σ∗ has fired. As a consequence, transition tijk has available in place cijk the tokens to be fired at most Dij (tijk ) times. (2) PG places. We write the enabling condition at the generic step m: Mm−1 (pg ) ≥ E(pg , Σ∗ (m)) ∀m ∈ [1, ℓΣ ], ∀pg ∈ PG (6.69) Analogously to what we have done in equation (6.66), we substitute the input multiset of the SCO for the input arc weights of the corresponding SCO transition: Mm−1 (pg ) ≥ IΣ(m) (pg ) ∀m ∈ [1, ℓΣ ], ∀pg ∈ PG (6.70) That is fulfilled at each step because of condition (3) of definition 5.9. Finally, we have to prove that there is no other solution with a higher associated cost. Notice that, as shown in equation (6.54), the cost maximised in the CMWOSP is the auctioneer revenue. Then, say per absurd there exists another solution J ′ to the CMWOSP with a cost c′ higher than the revenue associated to the corresponding MMUCA WDP. For the ⇒) side of the demonstration, this would be a solution to the corresponding MMUCA WDP as well, since it has a higher revenue. This is impossible for the optimality of the solution to the MMUCA WDP. Summarising, each firing sequence J ∗ solution to the CMWOSP can be transformed into an optimal solution sequence of the MMUCA WDP. This can be done simply by removing from J ∗ the bid transitions (TB ). The obtained subsequence is a solution to the MMUCA WDP. 10 Recall ∗ and Σ∗ . that J ∗ is a concatenation of JB 6.1. Mapping MMUCA to WPTN 131 6.1.5 Solving the MMUCA WDP with IP Thanks to theorem 6.1 we can exploit all the results proved for WPTN and the CMWOSP in section 4.7.1. In that section we showed that if a WPTN is acyclic, any CMWOSP on it can be efficiently solved by means of IP (see corollary 4.1). In this section we explicitly present the IP formulation of the MMUCA WDP when the corresponding mixed auction net is acyclic. The mathematical model is built according to the following rules: (1) there are n good places, indexed with g ∈ {1, 2, . . . , n} (for each good g ∈ G) (2) there are l XOR places, indexed with i ∈ {1, 2, . . . , l} (for each bidder i) (3) the bid transitions tij are indexed with i ∈ {1, 2, . . . , l}, j ∈ {1, 2, . . . , mi } (for each bid j of each bidder i) (4) the SCO transitions tijk are indexed with: i ∈ {1, 2, . . . , l} (6.71) j ∈ {1, 2, . . . , mi } k ∈ {1, 2, . . . , fij } (6.72) (6.73) (for each SCO k of each bid j of each bidder i). (5) xijk ∈ N is an integer decision variable (for each SCO transition tijk ) taking on value w if SCO labelled by ijk is present w times in the optimal firing sequence. Namely, the SCO is used w times. (6) xij ∈ {0, 1} is a binary decision variable (for each bid transition tij ), taking on value 1 if transition tij is in the optimal firing sequence. With this in mind, the CMWOSP can be expressed by the following integer programming: P xij · C(tij ) max ij P M0 (pg ) + xijk · (E(tijk , pg ) − E(pg , tijk )) ≥ Uout (pg ) ∀pg ∈ PG ijk 0 + xij E(tij , cijk ) − xijk E(cijk , tijk ) = 0 P , tij ) ≥ 0 1 − xij E(pXOR i j ∀cijk ∈ PSCO ∈ PXOR ∀pXOR i The first equation maximises the cost associated to the optimal firing sequence, the second, third and fourth inequalities correspond to equations (6.26), (6.27), and (6.28) respectively. Chapter 6. Solving the MMUCA Winner Determination Problem 132 Then, considering the mapping proposed in definition 6.1, this IP turns into: P max ij xij · pij P Uin (g) + xijk · (Oijk (g) − Iijk (g)) ≥ Uout (pg ) ∀g ∈ G ijk xijk = xij D(tijk ) P 1 − xij ≥ 0 (6.74) ∀ijk ∀i j out Finally, setting aijkg = Oijk (g) − Iijk (g), uin = Uout (g), we g = Uin (g) and ug have: P xij · pij max ij uin + P x a out ∀g ijk ijkg ≥ ug g ijk (6.75) x = x D(t ) ∀ijk ijk ij ijk P ∀i 1 − xij ≥ 0 j The interpretation of the model above is rather intuitive. The first equation maximises the auctioneer revenue. The second one ensures that at least as many goods as required by the auctioneer are produced at the end of the production process. The third equation enforces that the semantics of atomic bids is selected, i.e. all the SCOs with the corresponding multiplicity are selected or none of then. The fourth one ensures that the semantics of complex bids is fulfilled, i.e. that at most one atomic bid per bidder is selected. In appendix A.1 we present this model encoded in the OPL language (see section 2.1.2 and (Van Hentenryck, 1999)). Notice that the solution to the IP above is represented by the value assigned to decision variables xijk and xij . Recall that in such a solution the information about the order in which the SCOs must be performed is not included. However, according to corollary 4.1, this information can be easily extracted by the solution to the IP since the Mixed Auction Net is acyclic. Problem Size Next, we assess the number of decision variables and constraints required by the above IP model: 6.1. Mapping MMUCA to WPTN 133 • for each bid transition tij , corresponding to bid Bidij , we create a binary decision variable xij , to total |B| binary decision variables; and • for each transition tijk ∈ T (corresponding to a SCO), we create an integer decision variable, for a total of |T | integer decision variables. Then, the total number of decision variables is |B| + |T |. Finally, we assess the number of required constraints: • for each good g ∈ G we create a constraint, for a total of |G| constraints; • for each transition tijk ∈ T , we create a constraint, for a total of |T | constraints; and • for each bidder i ∈ L we create a constraint. The total number of constraints is then |G| + |T | + |L|. 6.1.6 Advantages of the mapping to CMWOSP Before going on, we aim at highlighting the advantages brought about by the mapping of the MMUCA WDP to WPTNs. In particular such a mapping allows to import all the PTNs tools and properties presented in the literature to analyse structural and behavioural properties of the emerging supply chain. Some examples of application are listed in what follows. (1) One can very efficiently solve the underlying IP when the supply chain is acyclic; this is obtained exploiting an important PTN analysis tool, the state equation. (2) One may be interested in maintaining under a certain threshold the level of resources present in each place (for instance, for inventory capacity constraints). This can be mapped to a well known behavioural property of PTN, called boundedness (Murata, 1989). (3) Thanks to the very appealing and intuitive WPTN graphical representation, we can compactly encode and visualise the search space associated to the MMUCA WDP. This is obtained thanks to the the fact that the semantics of transitions on PTN naturally accommodates for the representation of SCOs. (4) Once obtained a solution sequence to the MMUCA WDP, one can visualise it by means of a token game showing the evolution of the supply chain at any step of the SCO sequence (as we did in table 4.6). (5) One can graphically visualise the MMUCA WDP problem. This provides a very helpful guidance in obtaining insights about such problem. For instance, by visualising the MMUCA WDP by means of WPTN, one can incorporate new bidding language constructs with a minimum effort. For instance, consider the following example. Chapter 6. Solving the MMUCA Winner Determination Problem 134 Example 6.3. We explained that switching to the OR language instead of the XOR bidding language is as simple as removing the XOR place from figure 6.4 (as done in figure 6.3). However, there is another widely employed bidding language that is very compact and human readable. Is is called the XOR-of-OR bidding language (refer to section 3.2.2). Such a language is such that any XOR combination of OR combinations of atomic bids can be selected. For instance, the bid: ((a, 1) OR (a, 1) OR (a, 1) OR (a, 1) OR (a, 1)) XOR (b, 2) (6.76) means that an auctioneer can select from 0 to 5 copies of the atomic bid (a, 1) or (exclusive) one copy of the atomic bid (b, 2). In figure 6.5, we graphically show how to incorporate the XOR-of-OR bidding language. In figure we depict the following bid: (BID (1′ tij1 + 3′ tij2 + 2′ tij3 , −20) OR BID (1 ′ t ij ′ 1 ′ +1t ij ′ 2 (6.77) , −10)) XOR (6.78) (6.79) ′ BID (1 tij ′′ 1 , −2) pXOR i • ≥0 1 1 e −2 cij ′′ 1 cij ′ 2 tOR ij ′ tij ′′ =0 =0 1 1 1 1 ≥0 1 ≥0 1 tij ′ 2 1 1 tij ′′ 1 e −20 cij1 1 tij 3 cij2 e −10 tij ′ 1 cij ′ 1 =0 2 cij3 =0 =0 =0 1 1 1 tij1 tij2 tij3 Figure 6.5: XOR-of-OR of atomic bids 1 tij ′ 1 6.2. Solving the WDP on Cyclic Mixed Auction Nets 135 The reader can check that this topology allows either firing tij ′′ or (exclusive) any of the tij and tij ′ if the final contraints represented by inequalities in places in figure 6.5 are fulfilled. Notice that in this dissertation we only exploit directly advantages (1) and (3), and we envisage a promising path for future developments the study of all the implications connected with advantage (2),(4), and (5). We did not deepen into considerations connected with the study of behavioural and structural properties of the resulting supply chain. Nevertheless, by means of the mapping to WPTNs, we provide all the theoretical and practical tools to deal with such a study. 6.2 Solving the WDP on Cyclic Mixed Auction Nets So far, we have not been concerned about whether a Mixed Auction Net is cyclic or not. Is it a reasonable hypothesis considering that a mixed auction net does not contain any cycle? The answer is that it depends. One could see a market as a big production cycle. However, when we consider local production processes, one could think that it is possible to avoid considering cycles in the topology. Unfortunately, this is not always the case. Even locally, production cycles are often characterised by cycles. Moreover, we will see that, in our semantics, cycles are required to represent shared resources or resources that can be employed more than once. This is the case, for instance, of a piece of software or of a tool that is not consumed but used. That is, at the end of the supply chain operation the resource is still present, but the operation cannot take place without it. With the purpose of clarifying this concept we slightly modify the example of figure 6.2. Example 6.4. We recall that in example 6.2 five bidders participate in a MMUCA. We modify bid bid3 introducing the fact that a bidder needs a machine M C to perform the hydrolysis operation. Bid bid3 , which stood for a bid on the hydrolysis process for e 8, namely: bid3 = BID (1′ (2′ H2 O, 1′ O2 + 2′ H2 ), −8) (6.80) turns now into: bid∗3 = BID (1 ′ (2′ H2 O + 1′ M C, 1′ O2 + 2′ H2 + 1′ M C), −3) (6.81) Notice that the bidder only requires the MC machine to run the hydrolysis process, and it will release it afterwards. Obviously, we have to include a bid that offers machine M C as well. This is bid bid6 : bid6 = BID (1′ (∅, 1′ M C), −5) (6.82) The new configuration of the Mixed Auction Net substituting bid∗3 with bid3 is shown in figure 6.611 . 11 In the figure we have omitted all the XOR places, bid transitions, and SCO places for the sake of comprehension. 136 Chapter 6. Solving the MMUCA Winner Determination Problem bid1 e −10 bid2 e −14 2 2 H2 O bid6 1 MC e −3 1 2 bid∗3 e −3 2 1 1 O2 H2 2 2 1 e 23 1 bid4 e 25 bid5 Figure 6.6: Example of a MMUCA in form of WPTN. We can think about other types of resources that have this type of behaviour, as for instance an oven, a piece of software, a consultant, and so on. Those type of resources are not consumed, and eventually can be shared. In fact, we can see in figure 6.6 that transition bid∗3 requires the M C machine, and that after using it, the machine is still available (and could eventually be employed by another supply chain operation). Generalising, we can model resource usage, namely the machinery that production processes require. Before explaining how to solve this new problem, we would like to show why the IP introduced in section 6.1.5 does not work in this case. We know from theorem 2.2 that it is not guaranteed to work since the Mixed Auction Net contains a cycle. Then, we write the IP in equations (6.75) as if the mixed auction net was acyclic to detect and show the problem. We can get rid of side constraints 2 and 3 in equation (6.75) since we consider that each bidder submits a bid over a single SCO. Then, we assign the binary decision variable xi to bid bidi . We also hypothesise that the auctioneer has no preferences on the number of goods available at the end of the production process (Uout = Uin = ∅). Then, we have: max −10x1 − 14x2 − 3x3 − 3x6 + 23x4 + 25x5 2x1 + 2x2 − 2x3 ≥ 0 x6 − x3 + x3 ≥ 0 x3 − x4 − x5 ≥ 0 2x − 2x − 2x ≥ 0 3 4 5 place H2 O place M C place O2 place H2 (6.83) 6.2. Solving the WDP on Cyclic Mixed Auction Nets If we simplify the equations above we obtain: max −10x1 − 14x2 − 3x3 − 3x6 + 23x4 + 25x5 2x1 + 2x2 − 2x3 ≥ 0 x6 ≥ 0 x3 − x4 − x5 ≥ 0 137 place H2 O place M C place O2 (6.84) the optimal solution is x5 = x3 = x1 = 1 and the remaining xi are 0. However, this solution is not valid! Let us apply the solution. At a first step, SCO bid1 is used, providing two units of H2 O to the auctioneer. The following supply chain operation should be bid∗3 . However, it cannot be used without one M C, which is currently unavailable because we can only obtain it through bid6 . Thus, it is unfeasible to use bid∗3 because bid6 is not part of the winning bid set. Then, the solution to the IP is not a valid solution to the MMUCA WDP. This happens because the circularity of the net causes the elimination of the x3 variable from the equation of place M C. This is not the only problem. Say that one is lucky and the IP solution matches the solution to the MMUCA WDP, he still should find the ordered sequence of operations. In this case the net is not acyclic and therefore a unique order among transitions cannot be ensured (as stated in corollary 4.1). We end up this section with a remark that, though neither developed nor formally proved, can be useful in practice. Say that we compute the IP shown in section 6.1.5 for a cyclic mixed auction net (likewise in example 6.4). Say that we find a solution represented by x∗ (the decision variables xijk with assigned a value). Say also that Sx∗ is the subnet obtained by the mixed auction net by removing all the transitions not included in the solution x∗ (i.e. removing the tijk such that xijk = 0). It is intuitive to think that if Sx∗ is acyclic, then the solution is a valid solution sequence. The sketch of the demonstration follows. Recall that a necessary condition for a state to be reachable in a PTN is that x∗ is a solution to the state equation (see section 2.3.2). However, since the hypothesis is that the mixed auction net is cyclic, we cannot guarantee that the state is reachable. Nevertheless, observe that x∗ is a solution to the state equation associated to the subnet Sx∗ as well. Then, if Sx∗ is acyclic, the state is reachable in virtue of corollary 4.1. Then, x∗ is a valid solution. Although this observation may seem very powerful, in practise the situation described above is rather unusual. However, it should be taken into account. 6.2.1 Modifying the representation By means of example 6.4 we showed that on cyclic nets the IP defined in section 6.2 cannot be applied. In the example we have also shown that the circularity of the net may cause an elimination of some decision variables. This elimination acts so that a check on the feasibility of a given solution is required. In order to overcome such problem, we modify the IP presented in section 6.2 in such a way that it is possible to check at each step of the SCO sequence whether enough resources are available to perform the selected SCO. In particular, we modify the way the SCOs are represented. 138 Chapter 6. Solving the MMUCA Winner Determination Problem The new SCO encoding incorporates some information about the order in which the SCOs must be performed. In order to obtain this new representation, we build directly upon the definition of WDP (definition 5.10). However, notice that building upon the mixed auction net or on the CMWOSP one can obtain similar conclusions. The improved IP model resulting from the new representation is called Direct Integer Programming (DIP) solver. According to definition 5.10, a solution to the WDP is a mapping Σ from the positions in the solution sequence to the atomic SCOs. Based on this, we define an IP model with the following decision variables: xm ijk ∈ {0, 1} is a binary decision variable that takes on value 1 if SCO tijk holds position m in the solution sequence, and 0 otherwise. These variables are the mathematical representation of something similar to Σ. In fact, we can associate to an element tijk a position m in a sequence if xm ijk = 1. However, we can have some empty positions. The problem is that prevents from having a solution such that xm ijk = 0 ∀ijk. This would leave position m empty. Then, we call a sequence with empty positions partial sequence. Obtaining the corresponding sequence from a partial sequence is as easy as removing the empty elements from the partial sequence. Thus, in what follows we will consider that Σ is a partial sequence, and if we want to retrieve the corresponding sequence we simply remove from Σ the empty positions. Σ is obtained from the variables xm ijk in the following way: Σ(m) = ( tijk ⊥ xm ijk = 1 otherwise (6.85) Obviously we do not know a priori how long the solution sequence will be. Then, we rely on the fact that if δ SCOs are submitted overall by all bidders, the length of the solution sequence will be at most δ (there can not be more SCOs in the sequence than the ones overall offered). Observe that employing the binary decision variables above, we can state the following relationships12: OΣ(m) (g) = X xm ijk Oijk (g) ∀g (6.86) xm ijk Iijk (g) ∀g (6.87) ∀m, g (6.88) ∀m, g (6.89) ijk IΣ(m) (g) = X ijk Mm (g) = Mm−1 (g) + OΣ(m) (g) − IΣ(m) (g) X Mm (g) = Mm−1 (g) + xm ijk (Oijk (g) − Iijk (g)) ijk Equation (6.89) can be expanded into the following equation by making explicit its 12 We anticipate that the following constraints must be added to ensure that Σ is a function: X xm ijk ≤ 1 ijk 6.2. Solving the WDP on Cyclic Mixed Auction Nets 139 recursive structure: Mm (g) = m X X xlijk (Oijk (g) − Iijk (g)) ∀m, g (6.90) l=1 ijk 6.2.2 The general IP formulation We now show how to map the WDP in definition 5.10 into integer programming (IP). Therefore, the issue is to decide for each SCO whether it is selected for the solution sequence, and if so, to choose its position in the solution sequence. Thus, we define a m set of binary decision variables xm ijk ∈ {0, 1}, where xijk takes on value 1 if the SCO tijk is selected at the m-th position of the solution sequence (tijk = Σ(m)), and 0 otherwise. Here and in what follows: • m always ranges from 1 to δ, the maximum length of the solution sequence; • i ranges over all bidders; • for each bidder i, j ranges from 1 to the number of atomic bids submitted by i; • for each atomic bid j of bidder i, k ranges from 1 to the number of SCO in that atomic bid; • g ranges over all goods. We also introduce several sets of auxiliary binary decision variables: • xijk ∈ N is an integer decision variables that takes on value w iff transition tijk is present anywhere in the sequence w times (|Σ−1 (tijk )| = w); • xij ∈ {0, 1} takes on value 1 iff any of the SCOs in the jth atomic bid of bidder i are selected. Equivalently, xij takes on value 1 iff bid Bidij is selected. In what follows, we define the set of constraints that the solution sequence must fulfil: (1) We enforce the constraints expressed by condition (1) of definition 5.9. Thus, if bid Bidij is selected, all the SCOs tijk in that bid must be selected exactly Dij (tijk ) times. In other words, if bid Bidij is selected, all the SCOs in it must be selected with the required multiplicity. Formally, X xij · Dij (tijk ) = xm (6.91) ijk (∀ijk) m (2) We enforce that the atomic bids submitted by each bidder are exclusive (XOR). This amounts to satisfying the following constraints (cf. condition (2) of Definition 5.9): X xij ≤ 1 (∀i) (6.92) j Observe that in the case of the OR bidding language we simply have to remove this constraint. 140 Chapter 6. Solving the MMUCA Winner Determination Problem (3) We also impose that at most one SCO is selected at each position of the sequence: X xm (6.93) ijk ≤ 1 (∀m) ijk This equation encodes the hypothesis of no simultaneous firings and enforces that the Σ built with the xm ijk is a function, i.e. it does not have two images associated the same element (cfr. equation (6.85)) (4) Next, we capture condition (3) of Definition 5.9: enough goods must be available at step m to perform the next SCO (cf. equation (5.15)). We recall that this maps to the following condition: Mm−1 (g) ≥ I m (g) ∀g which is translated, according to equations (6.87) and (6.90), into: U0 (g) + m−1 XX xlijk · [Oijk (g) − Iijk (g)] ≥ l=0 ijk X xm ijk · Iijk (g) (6.94) ijk ∀g, ∀m (5) And finally, after having performed all the selected SCOs, the set of goods held by the auctioneer must be a superset of the final goods Uout (cf. condition (4) of Definition 5.9): Mδ (g) ≥ Uout (g) ∀g that turns into U0 (g) + δ X X xm ijk · [Oijk (g) − Iijk (g)] ≥ Uout (g) ∀g (6.95) m=0 ijk Now solving the WDP for MMUCAs with XOR-bids amounts to solving the following integer program: X xij · pij subject to constraints (6.91)– (6.95) (6.96) max ij In table 6.1, we summarise the DIP formulation employing the same notation as the IP in equation (6.75), with the exception of the symbol Iijkg , that stands for Iijk (g). Finally, a valid solution according to definition 5.10 is obtained from the solution of the IP by making transition tijk the m-th element of the partial sequence Σ iff xm ijk = 1, and then removing the empty positions. In appendix A.2 we present this model encoded in the OPL language (see section 2.1.2 and (Van Hentenryck, 1999)). Observe that our proposed implementation can easily be amended so as to directly encode the constraints imposed by language constructs other than the XOR-operator. This would remove the need for translating into the XOR-language first and thereby greatly improve efficiency. 6.2. Solving the WDP on Cyclic Mixed Auction Nets (a) ∀ijk X xijk = 141 xm ijk m (b) ∀ijk (c) ∀i xijk = xij · Dij (tijk ) X ∀ijk xij ≤ 1 j (d) ∀m X xm ijk ≤ 1 ijk (e) ∀g uin g + XX out xm ijk · aijkg ≥ ug m ijk (f) ∀g, ∀m uin g + m−1 XX xlijk · aijkg ≥ l=0 ijk (g) max X X xm ijk · Iijkg ijk xij · pij ij Table 6.1: Resume of the IP formulation of solver DIP. Problem Size The number of decision variables in the above integer program is of the order of O(|T | · δ) (corresponding to xm ijk ). More in details, we create a binary decision variable xij for each bid Bidij ∈ B, for a total of |B| binary decision variables. Then, we create a decision variable xm ijk for each SCO tijk ∈ T and for each position m in the solution sequence, for a total of |T | · ℓ binary decision variables. Assuming, in the general case, that the P maximum length of the solution sequence is ℓ = δ, then we have |T | · δ = |T | · ij |Dij | decision variables. Then, we create a total of |B| + |T |(1 + δ) ∈ O(|T | · δ) decision variables. With a similar process, we compute the total number of constraints, that is: |T | + |L| + δ + |G|δ + |G| ∈ O(|G|δ) (6.97) 142 Chapter 6. Solving the MMUCA Winner Determination Problem Example 6.5. For the problem presented in figure 6.4, we have the following data: |L| = 1 |G| = 9 |B| = 2 |T | = 5 δ=8 Then, in the case of the IP in section 6.1.5 the number of decision variables created is 7, and the number of constraints is 9+5+1=15. In the case of the IP presented in this section, we have 45 decision variables and 5+1+8+56+9=79 constraints. 6.3 Computational Complexity In his master thesis (Ottens, 2007), Ottens provides a detailed proof of the NPcompleteness of the decision problem underlying the MMUCA WDP. We briefly recall the employed argumentation in what follows. The (decision problem underlying the) WDP for standard combinatorial auctions is known to be NP-complete, with respect to the number of goods(Rothkopf et al., 1998). NP-hardness can, for instance, be shown by reduction from the well-known S ET PACK ING problem. As our mixed auction model generalises standard combinatorial auctions, winner determination remains NP-hard also here. NP-membership (and thereby NPcompleteness) of the problem of checking whether there exists a solution exceeding a given revenue (for finite bids) follows from the fact that a candidate solution provided by an oracle can always be verified in polynomial time. That is, despite of the generalisations we have introduced, the computational complexity of the WDP does not increase, at least not with respect to the polynomial hierarchy. 6.4 Conclusions In this chapter we dealt with the problem of solving the MMUCA WDP, as defined in chapter 5. With this aim, we provided a mapping of the MMUCA WDP to a CMWOSP on the Mixed Auction Net. Some benefits stemed from this mapping. Firstly, since the mixed auction net is a WPTN, it provides a very powerful theoretical framework for analysing the MMUCA WDP computational, structural and behavioural properties. Secondly, consequence of the first benefit, we provide an efficient mapping of the MMUCA WDP to ILP for acyclic mixed auction nets. Thirdly, since WPTNs have associated a very appealing graphical representation, they provide a graphical framework to compactly represent both the search space and the solutions associated to the MMUCA WDP. This is due to the perfect matching between the semantics of transitions and the semantics of SCOs. We recall that we focus on the computational advantages provided by the mapping to CMWOSP, and leave out for future developments the analysis of the structural and behavioural properties of the solutions to the MMUCA WDP. However, we remark that the mapping to CMWOSP provides the needed theoretical and practical tools to perform such analysis. Next, we show that the hypothesis that the mixed auction net is acyclic sometimes may not hold. In such a case, the ILP based on the CMWOSP cannot be employed. 6.4. Conclusions 143 Hence, we provide a general IP solver, the Direct Integer Programming (DIP) solver, that directly builds upon the definition of the MMUCA WDP. This solver allows to solve the MMUCA WDP on any supply chain network topology. However, it has the disadvantage to be computationally more costly. In fact, it requires more decision variables to be encoded. Notice that the mixed auction net provides a framework to a priori assess the solver to employ, either the CMWOSP-based, if no cycles are present in the mixed auction net, or the DIP otherwise. With this tool at hand, one can build computationally efficient MMUCAs. For instance, one approach could be constraining the participants to an MMUCA to bid on sets of SCOs that do not form cycles. This would ensure the absence of cycles in the corresponding Mixed Auction Net, thus allowing the use of the CMWOSP-based solver. However, as motivated by some examples provided in this chapter, sometimes it is not possible to avoid cycles in the Mixed Auction Net. Recent contributions on computationally efficient WDP solvers for different auction types (namely, (Lehmann et al., 2006) for CAs and (Engel et al., 2006) for multiattribute double auctions) agree on and defend that a careful, formal analysis of the structure of WDPs can provide guidance for developing efficient winner determination solvers. Along the lines of these works, in the next chapter, we propose an IP for MMUCAs that dramatically improves the computational efficiency of the DIP solver. Chapter 7 Connected Component-based Solver In the previous chapter we presented DIP, an ILP that can solve MMUCA WDPs on any network topology. Then, in section 6.2.2 we showed that DIP requires O(|T |δ) decision variables to be represented. This means that the associated search space is very large. In this section we reduce the search space associated the MMUCA WDP. Recent contributions on computationally efficient WDP solvers for different auction types (namely, (Lehmann et al., 2006) for CAs, (Engel et al., 2006) for multi-attribute double auctions, as well as our contribution in section 4 for MUCRAtR) agree on and defend that a careful, formal analysis of the structure of WDPs can provide guidance for developing efficient winner determination solvers. Along the lines of these works, in this chapter we present a technique to reduce the search space associated to the MMUCA WDP. This will result in an ILP formulation for MMUCA WDPs that dramatically improves the computational efficiency of the DIP solver presented in section 6.2.2. At this aim, we found our analysis on observing the structure of the WDP that results after establishing dependence relationships among transformations. For instance, in the example of Grandma & co (depicted in figure 1.1) the Baking SCO potentially depends on the Make Dough SCO, since the output provided by Make Dough may be required to perform Baking. The analysis of the WDP based on dependency relationships helps design an IP that a priori establishes when to use each transformation. Therefore, the search space reduction is achieved by enforcing MMUCA solutions to fulfil a template. The template reduces the possible orderings among transformations without losing solutions. This chapter is organised as follows. In section 7.1 we explain the intuitions underlying the improvement we propose by means of examples, and in the remaining sections we develop a rigorous description of those intuitions. In section 7.2 we introduce the solution template allowing a reduction in the search space along with some mathematical tools required in the chapter. In section 7.3 we present the Connected Component Integer Programming (CCIP) solver, an ILP formulation improving the DIP solver by 145 Chapter 7. Connected Component-based Solver 146 exploiting the solution template. Then, in section 7.4, we prove that the search space reduction imposed by the solution templates does not cause a loss of solutions. Finally, in section 7.5 we draw some conclusions. 7.1 Motivation and Example In this chapter we introduce a technique to reduce the search space associated to the solution of MMUCA WDPs. Then, we apply this new representation to encode a new ILP solver for MMUCA, the CCIP. CCIP substantially reduces the number of variables and constraints used by DIP. The search space reduction is obtained by observing that DIP produces several equivalent solutions. We regard two solutions as equivalent if they select the same bids. As a consequence, equivalent solutions contain the same supply chain operations (SCOs) (even if arranged in different order), and they have associated the same cost. In what follows we provide the rationale to achieve such reduction and to found CCIP. Example 7.1. Recall from section 5.4.2 that in a MMUCA WDP the input is composed of: (1) the initially available goods (Uin ∈ NG ); (2) the finally required goods (Uout ∈ NG ); and (3) a set of bids in the XOR bidding language (Bidij = (Dij , pij )). Hence, let us consider an MMUCA WDP scenario characterised as follows: • Uin = ∅ and Uout = ∅: no goods are initially available and no goods are required at the end of the auction. • Eight bidders submit the eight bids showed in equations 7.1 to 7.8. Bid11 = (3′ t0 + 1′ t1 , −3 USD) ′ (7.1) Bid21 = (2 t2 , 9 USD) Bid31 = (1′ t3 , −2 USD) (7.2) (7.3) Bid41 = (1′ t4 , −1 USD) Bid51 = (1′ t5 , −8 USD) (7.4) (7.5) Bid61 = (2′ t6 + 2′ t7 , −3 USD) (7.6) ′ Bid71 = (1 t8 , −12 USD) Bid81 = (1′ t9 + 2′ t10 , −4 USD) (7.7) (7.8) We recall that Bidij = (α′h th , pij ) means that bidder i offers αh copies of SCO th (Dij (th ) = k) at price pij in his j-th bid. For instance, bid Bid11 offers in a bundle (combinatorial bid) three units of t0 and one unit of t1 at a price of 3 USD1 . More formally, D11 = {3′ t0 + 1′ t1 }. Recall from section 5.4.2 that D = ⊎ij Dij is the union of multisets submitted in each bid. For the bids in equations 7.1 to 7.8, we have: D = {3′ t0 + 1′ t1 + 2′ t2 + 1′ t3 + 1′ t4 + 1′ t5 + 2′ t6 + 2′ t7 + 1′ t8 + 1′ t9 + 2′ t10 } (7.9) 1 Recall that the negative sign means that a bidder is willing to be paid. 7.1. Motivation and Example 147 Recall also that the maximum length ℓ of the solution sequence will be at most equal to the overall number of atomic SCOs submitted, namely ℓ=δ= X |Dij | = 17 ij Finally, recall that T is the set of all the received SCOs (disregarding their multiplicity). T = {t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 } (7.10) 1 ′ t1 1 1 3 ′ t0 g2 1 2′ t10 1 1 ′ t3 2 ′ t2 11 1 1 g3 1 ′ t4 1 g4 1 g1 1 ′ 1 t5 g5 1 1 1 1 ′ t9 1 1 2 ′ t6 2 ′ t7 1 1 g7 1 1 1 ′ t8 1 g6 Figure 7.1: Graphical representation for the SCOs in bids in equations 7.1 to 7.8 In figure 7.1 we graphically represent SCOs t1 , . . . , t10 contained in the bids of equations 7.1 to 7.8. The formalism employed in the figure is similar to the one employed in chapter 6. Figure 7.1 represents a Petri Net Structure (PTNS) in which each transitions represents a SCO and each place a good. The input/output arcs from/to SCOs depict the input/output multisets of each SCO. We recall that the arc weights represent the input and output multiplicity of each SCO (for instance, according to figure 7.1, the Chapter 7. Connected Component-based Solver 148 input and output multisets of SCO t7 are respectively It7 = {g5 } and Ot7 = {g7 , g6 }). Notice that in our example every arc has weight 1. Unlike the formalism employed in chapter 6, in the PTNS of figure 7.1 the information about complementarities among SCOs and the XOR relationships is omitted. Furthermore, we label each SCO with its multiplicity in each bid. For instance, 3′ t0 means that three units of t0 have been submitted in a bid. At this point consider that solver DIP solves the WDP with the input expressed by equations 7.1 to 7.8, and finds the solution sequence in table 7.1. The first row in table 7.1 represents a position within the solution sequence (the m index in variables xm ijk of section 6.2), whereas the second row shows the SCO assigned to the each position within the solution sequence. For instance, the fact that in the second row and second column we find SCO t2 means that position 2 of the solution sequence is assigned to t2 (in DIP this means that in the solution x2t2 = 1). Position 1 Sequence 1 t0 2 t2 3 4 5 t1 6 t0 7 t4 8 t0 9 t2 10 11 12 13 14 15 16 17 Revenue t3 +3 USD Table 7.1: Example of solution found by solver DIP. Thus, according to definition 5.9 of section 5.4.2, the solution of table 7.1 corresponds to the following solution sequence: Σ = ht0 , t2 , t1 , t0 , t4 , t0 , t2 , t3 i (7.11) Notice that the solution sequence Σ, according to what explained in section 6.2.1, is obtained by removing the empty positions in Sequence 1 of table 7.1. Accordingly, the winning bids are Bid11 , Bid21 , Bid31 , and Bid41 , and the revenue associated to this solution is −3 + 9 − 2 − 1 = 3. As the reader can check, this solution is valid, since the semantics of the bidding language is fulfilled, and at each step of the solution sequence there are enough input goods available to perform the corresponding SCO. Now consider all the solutions in table 7.2. These solutions are all valid and optimal (they have associated the same revenue) as much as the one in table 7.1. They are simply a rearrangement of the very same solution along different positions of the solution sequence, without modifying the relative order among them (i.e. they all represent the same Σ of equation 7.11). Position 1 Sequence 2 t0 Sequence 3 Sequence 4 Sequence 5 t0 Sequence 6 2 t2 3 t1 t2 4 t0 5 t4 t1 6 t0 t0 7 t2 t2 t0 8 t3 t1 t0 9 t0 t2 t4 10 11 12 13 14 15 16 17 Revenue +3 USD t4 t0 t2 t3 +3 USD t1 t0 t4 t0 t2 t3 +3 USD t0 t2 t3 +3 USD t0 t2 t1 t0 t4 t0 t2 t3 +3 USD Table 7.2: Solutions equivalent to the solution in table 7.1 with same relative order. Now consider the solutions in table 7.3. They are still valid solutions equivalent to Sequence 1 in table 7.1, though not only the positions assigned to SCOs are different, but also the relative order among them has been altered. Although those solutions 7.1. Motivation and Example 149 correspond to valid solution sequences different from the one in equation 7.11, it is easy to check that those solutions are still valid. Indeed, at each step of the solution sequence there are enough inputs to perform the corresponding SCOs. Hence, all the considered solutions are Pareto optimal, and equivalent among them. Position 1 Sequence 7 Sequence 8 t0 2 3 t0 t0 4 t0 t1 5 t2 6 t1 t2 7 t0 t4 8 t3 9 t2 10 11 12 13 14 15 16 17 Revenue t0 t2 t4 t3 +3 USD +3 USD Table 7.3: Solutions equivalent to the solutions in table 7.1 with different order. At this point, the reader is ready to understand what we mean by equivalent solutions. Solutions of solver DIP that select the same bids (and thus the same SCOs) have associated the same cost. Thus, we hypothesise that they are indistinguishable for an auctioneer. Notice that, as shown in example 7.1, the search space of solver DIP contains a huge amount of equivalent solutions. Hence, in order to reduce the complexity of our problem, we aim at understanding why all those redundant solutions are found. As explained in section 6.2, the IP formulation of solver DIP is founded on the hypothesis that a SCO can hold any position within the solution sequence (recall that we create decision variables xm ijk for each position m and for each SCO tijk ∈ T ), and we set the length of the solution sequence equal to the overall number of received SCOs, namely δ. Thus, in principle, each SCO can take one among δ available positions. This explains why all those equivalent solutions are contained in the DIP search space: a large number of equivalent rearrangements of SCOs within the solution sequence are allowed. The fact that many equivalent solutions can be found implies a larger search space than needed, and thus an increased computational cost. Such computational cost is reflected in the number of decision variables employed for solver DIP. In the case of example 7.1, for instance, t0 has the possibility to take on any of the 17 positions of the solution sequence. Hence, DIP requires 17 decision variables for t0 . Then, for all the SCOs it requires δ|T | = 11 ∗ 17 = 187 decision variables. If we manage to reduce the number of equivalent solutions contained in the search space, we cut down the number of decisions, and consequently the search space. Then, the strategy we follow to reduce the search space consists in limiting the possible positions each SCO may take on in a solution sequence. In this way the number of feasible solutions is reduced. Obviously, if we limit the positions each SCO can take on we lose solutions as well. The main point here is losing solutions that are equivalent to solutions that in turn are found. For instance, an auctioneer is willing to lose all but one of the solutions in tables 7.1, 7.2, and 7.3 . If at least one is found, we assume that an auctioneer is not bothered by losing all the other equivalent solutions. We assume that if two solutions are equivalent, from an auctioneer’s point of view eliminating one of them from the space of feasible solutions does not constitute a problem. However, given a set of equivalent solutions, the auctioneer needs that at least one of them is included in the space of feasible solutions. Chapter 7. Connected Component-based Solver 150 We employ a terminology related to equivalence classes in order to explain this concept. It is easy to verify that the relation is equivalent to on the set of DIP solutions is an equivalence relation (refer to section 2.4.1 for the theory underlying equivalence relations). In these terms, our goal consists in finding a solution template that: • reduces the number of equivalent solutions contained in the search space, and • ensures that at least one feasible solution for each equivalence class is found. That is, we must ensure that no solution class is completely removed from the search space. Hereafter, with an abuse of terminology, we say that we lose a solution class when we lose a whole equivalence class of solutions. In what follows we explain how to reduce the search space. We employ a function that reduces the possible positions any SCOs can take on in the solution sequence. Example 7.2. Say that we constrain t1 to hold only the first position in a solution sequence. All the solutions in tables 7.1, 7.2, and 7.3 are still valid if we push t1 ahead in front of the sequence. For instance, the solution sequences in table 7.3 produces the equivalent solutions represented in table 7.4. Position 1 Sequence 9 t1 Sequence 10 t1 2 3 t0 t0 4 t0 t0 5 6 t2 t2 7 t0 t4 8 9 t2 t3 10 11 12 13 14 15 16 17 Revenue t0 t2 t4 t3 +3 USD +3 USD Table 7.4: Solutions equivalent to the solutions in table 7.3 pushing t1 ahead. In general, every solution found by DIP to the considered problem can be reordered into a solution with t1 in the first position. Then, we push t2 in the first position of the solution sequences in table 7.3, and we obtain the sequences in table 7.5. Position 1 Sequence 11 t2 Sequence 12 t2 2 3 t0 t0 4 t0 t0 5 6 t1 t2 7 t0 t4 8 t3 9 t2 10 11 12 13 14 15 16 17 Revenue t0 t1 t4 t3 +3 USD +3 USD Table 7.5: Solutions equivalent to the solutions in table 7.3 pushing t2 ahead. None of the sequences in table 7.5 is a valid solution to solver DIP since t2 cannot operate without input goods (g2 ). In this case, placing t2 at the first position is not safe, since the SCOs that can provide it with input goods are not performed before it. Then, all the solutions found by solver DIP can be reordered into solutions having t1 at the first position without losing solution classes. Oppositely, not all the solutions found by DIP can be reordered into a solution having t2 at the first position. Therefore, if we constrain t2 to take on the first position, we lose solution classes. Why it is possible to push ahead t1 and not t2 ? The reason is that t2 may depend on other SCOs to be performed. In fact t2 may need some inputs that in turn are produced by other SCOs (t0 and t1 in the case of t2 ). Then, if we want provide a solution template that limits the positions that each SCO can hold without causing a loss of solutions, then we have to consider those dependencies among SCOs. 7.1. Motivation and Example 151 A SCO t′ depends on t if any of the output goods of t is an input good of t′ . In such a case, t′ may need the output of t to operate. Hypothesising that t′ depends on t and t does not depend on t′ we have that: • if in a solution t′ comes before t, then the solution remains valid by moving t before t′ . • if in a solution t comes before t′ , then the solution may not be feasible anymore by moving t′ before t. Along this line, given two SCOs, we can differentiate three cases: • t depends on t′ and t′ does not depend on t: t′ t • t depends on t′ and t′ depends on t: t′ t t′ t That is, they are mutually dependent. • otherwise (the case of no dependence at all): By analysing the dependencies above we can limit the positions each SCO can assume without losing solutions. Example 7.3. Consider once more example 7.1, graphically depicted in figure 7.1. Notice that t1 does not have any input good. Then, it does not depend on any SCO. Then, we can constrain SCO t1 to hold the first position within the solution sequence (as in example 7.2): any solution with t1 at a different position than the first one can be reordered into a solution in which t1 is at the first position. We can assign only one position in a solution sequence since only one unit of t1 is offered. Position 1 is safe to t1 . Then, we assign position 1 to2 t1 . Next, things are different with t0 . Recall that three units of t0 are offered by bid Bid11 , and thus t0 might appear up to three times within a solution sequence. Then, we cannot simply assign t0 to position 2. Since t0 can be performed three times, it needs at least three positions in a solution sequence. Then, we assign positions 2, 3 and 4 of a solution sequence to t0 , as represented in table 7.6. Positions 1 Solution t Template 1 2 3 4 5 t0 t0 t0 ... ... ... ... ... 6 7 8 9 10 11 12 13 14 15 16 17 Table 7.6: Assigning positions to t0 within a solution sequence. At this point we wonder whether we can carry on with t2 , t3 , and t4 and so on. Unfortunately, we cannot. This is because t2 , t3 , and t4 form a loop, i.e. they are mutually dependent. Observing carefully figure 7.1 we can say that: • t2 , t3 , and t4 depend on t0 and t1 ; 2 In terms of decision variables for DIP this means that we are not generating xm for all the positions t1 m ∈ {1, . . . , 17}, but we generate only one decision variable x1t1 , since t1 is allowed to hold only position 1. Chapter 7. Connected Component-based Solver 152 • t2 , t3 , and t4 do not dependent3 on t5 , . . . , t10 ; • t2 , t3 , and t4 are mutually dependent4; and • t5 , . . . , t10 dependends on t2 , t3 , and t4 . Then, t2 , t3 , and t4 must come before t5 , . . . , t10 and after t0 and t1 . However, we cannot establish an order among them since they are mutually dependent. Thus, we must consider all their possible orderings. For instance, we can assign to t2 , t3 , and t4 positions 5, 6, 7, and 8 (since two units of t2 are available, we must assign two positions to t2 ). Table 7.7 outlines a template of a solution built in this way. Positions 1 2 3 4 Solution t1 t0 t0 t0 Template #Variables 1 1 1 1 5 t2 t3 t4 3 6 t2 t3 t4 3 7 t2 t3 t4 3 8 9 10 11 12 t2 t3 t5 t9 t10 t10 t4 3 1 1 1 1 13 14 15 16 17 t6 t7 t6 t7 t6 t7 t6 t8 t7 2 2 2 2 1 Table 7.7: Positions within the solution sequence assigned a-priori to SCOs. Notice that we now need a decision variable for each of the elements in table 7.7 (as expressed in the last row of the table). As to t2 , t3 , and t4 , the possible choices can be encoded by the following variables: {x5t2 , x6t2 , x7t2 , x8t2 , x5t3 , x6t3 , x7t3 , x8t3 , x5t4 , x6t4 , x7t4 , x8t4 } (7.12) where x5t2 = 1 means that t2 is performed at the 5-th position. Then, the total number of decision variables required to represent the problem amounts to: 1 + 1 + 1 + 1 + 3 · 4 + 1 + 1 + 1 + 1 + 2 · 4 + 1 = 29 (7.13) In contrast, table 7.8 illustrates the assignment of positions as required by DIP. DIP employs 11 ∗ 17 = 187 variables overall. Therefore, the difference when constraining SCOs to limited number of positions is very significant (29 versus 187 in the example). To conclude, we have to detect the dependencies present in the structure induced by the SCOs and apply the process described above: we assign an a-priori limited number of positions within the solution sequence to each SCO (or group of SCOs). In what follows, we formally analyse how we can extend the intuitions above to the general case in order to yield a new IP, the so called CCIP, by relying on the notion of dependence among transformations, and using it to constrain the positions at which a transformation can be used. 3 No matter the ordering among t , t , and t , we can always assign to them positions before t or t 2 3 4 5 9 without losing solutions. 4 Notice that t , t , and t lie on a cycle in the net. For this reason, each of them could contribute to 2 3 4 provide goods to the inputs of the other. 7.2. SCO Dependencies and Solution Template Positions 1 t0 t1 t2 t3 t4 Solution t5 Template t6 t7 t8 t9 t10 #Variables 11 2 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 3 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 4 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 5 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 6 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 7 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 8 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 9 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 10 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 153 11 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 12 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 13 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 14 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 15 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 16 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 17 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 11 Table 7.8: Positions assigned a-priori without constraints. 7.2 SCO Dependencies and Solution Template In this section we formally introduce a solution template that limits the possible positions each SCOs can take (like in table 7.7) without losing any solution class. With this purpose, firstly we formally introduce the concept of dependency among SCOs. Next, we introduce a function that constrain the SCOs to hold a limited number of positions within a solution sequence, that is a solution template. But before that we would like to clarify the concept of dependency. The fact that an SCO t depends on another SCO t′ does not enforce that t′ must be forcedly executed before t. In fact this could happen. The fact that t depends on t′ only means that it is always possible to change the relative order of t and t′ bringing t′ in front without losing solutions classes. 7.2.1 The SCO Dependency Graph (SDG) In this section we formally capture the concept of dependency among SCOs. All the background knowledge required to understand this section is summarised in section 2.4.2. An SCO dependency graph (SDG) is a graph that encodes the dependencies, in terms of precedence relationships, between the SCOs5 in T . The SDG is a directed graph whose nodes stand for SCOs, and an edge from SCO t to SCO t′ reflects that there exists a good that is both output of t and input to t′ . Example 7.4. The SDG associated to example 7.1 (see figure 7.1) is depicted in figure 7.2(b). For the sake of comprehension, we include a copy of figure 7.1 in figure 7.2(a). Definition 7.1 (SCO Dependency Graph). Given a set of bids in the XOR bidding language, such that T is the overall set of SCOs, the associated SCO Dependency Graph (SDG) is a graph SDG = (V, E) such that: 5 Recall that, given the input to a MMUCA WDP, T is the set of overall SCOs present in all bids. The T corresponding to the bid of example 7.1 is represented in equation 7.10. 154 Chapter 7. Connected Component-based Solver • Each SCO is a vertex: V = T , • A directed arc connects two SCOs t and t′ iff there exists a good that is both output of t and input to t′ . More formally, (t, t′ ) ∈ E iff Ot ∩ It′ 6= ∅ An SDG may or may not contain cycles. However, we have to assume that the graph is cyclic in the general case. As explained in section 2.4.3, a (cyclic) graph defines a preorder . over T . We denote this preorder as a pair (T, .). The semantics of the preorder is that t . t′ iff a path exists between t and t′ . As illustrated in section 2.4.3, a preorder allows the existence of pairs (t, t′ ) such that t . t′ and t′ . t. Example 7.5. In the order defined by the graph in figure 7.2(b) we have that t1 . t5 and t2 . t8 . However, considering that t2 . t3 and t3 . t2 , t2 and t3 cannot be ordered among them. Figures 7.2 (a) and (b) depict the PTN structure representing the SCOs of example 7.1 along with the corresponding SDG. We recall from chapter 2 that, given a set T equipped with a preorder ., we can define an equivalence relation ∼ on T as follows: t ∼ t′ iff t . t′ and t′ . t (7.14) Example 7.6. Regarding the example of figure 7.2(b), the equivalence classes are: [t0 ] = {t0 } (7.15) [t1 ] = {t1 } (7.16) [t2 ] = {t2 , t3 , t4 } [t5 ] = {t5 } (7.17) (7.18) [t6 ] = {t6 , t7 } [t8 ] = {t8 } (7.19) (7.20) [t9 ] = {t9 } [t10 ] = {t10 } (7.21) (7.22) (7.23) Recall also that it is possible to define a strict partial order over the quotient set (T /∼ , ≺) such that: [t] ≺ [t′ ] iff t . t′ and t 6. t′ (7.24) Equivalently, we define a strict order on the set T (T, ≺) such that: t ≺ t′ iff [t] ≺ [t′ ] Example 7.7. As to the example in figure 7.2(b), [t2 ] ≺ [t5 ] (t2 ≺ t5 ) since there exists a simple path from t2 to t5 (ht2 , t5 i)6 . However [t2 ] ≺ [t4 ] does not hold since, although a simple path exists from t2 to t4 (ht2 , t4 i), we have that t2 ∼ t4 . In fact there are cycles (ht2 , t4 , t3 , t2 i). 6 Recall that according to the notation employed in section 2.4.2 a path in a graph is noted as hv , . . . , v i, n 1 where the vi are the nodes belonging to the path. 7.2. SCO Dependencies and Solution Template 155 t1 t0 g2 t0 t1 t10 t3 t2 g3 t2 g4 t4 g1 t6 t5 t4 t9 t5 g5 t9 t6 t7 g7 t8 t7 t3 t8 g6 (a) A PTNS representing SCOs (b) SDG scc0 scc0 scc1 t0 t1 t10 scc1 scc234 scc234 t2 scc67 scc5 t6 t5 t4 scc5 scc10 scc67 t9 scc10 t7 scc9 scc9 t3 t10 scc8 t8 (c) SCCs of the SDG scc8 (d) The strict order Figure 7.2: A PTN structure, the corresponding SDG, SCC, and Order Relation. Then, we are now ready to formally define the concept of dependence. We recall that two SCOs t, t′ can be such that: (1) t depends on t′ and t′ does not depend on t; or (3) t and t′ are mutually dependent; or (4) t and t′ are not dependent on one another. More formally, we can distinguish the following three cases: (1) t ≺ t′ : t depends on t′ . A one-way directed path between t and t′ exists in the SDG. Then, all the SCOs along the path connecting t to t′ can contribute to increase the input goods of t′ . Then, t′ depends on their execution. For instance, in example 7.7, we have that t5 depends on t2 . Therefore, pushing t ahead of t′ Chapter 7. Connected Component-based Solver 156 in a solution sequence does not cause a loss of solution classes. (2) t′ ∼ t: t and t′ are mutually dependent. There exist both a simple path from t to t′ and another one from t′ to t. Therefore, they lie on a simple cycle of the SDG. For instance, in figure 7.2(b), we have that t2 ∼ t4 . Obviously, we cannot order them since the circularity of the relationship implies that they depend on each other. Then, we may risk to lose some solution class if we change their relative order in a solution sequence. (3) t 6. t′ and t′ 6. t: no path exists between t and t′ . The relative positions of t and t′ within the solution sequence does not affect the feasibility of the solution in any case. Then, it does not matter the relative order of t and t′ in the solution sequence, and it can be changed arbitrarily. In what follows we present three examples referring to the three items in the list above. Example 7.8 (Dependence). In example 7.2 we were able to move t1 in the first position of the solution sequence without losing solutions, whereas we could not do the same for t2 . This happens since t1 does not depend on any SCO (∄t such that t ≺ t′ ), whereas t2 depends on t1 (t1 ≺ t2 ) and t0 (t0 ≺ t2 ). Then, t1 and t0 must hold positions previous to t2 . This is why in the solution template in table 7.7, t2 comes after t1 and t0 . Example 7.9 (Mutual Dependence). In example 7.3, we saw that in the case of t2 , t3 , and t4 we could not assign to each of these SCOs only one place in the solution sequence. In fact, we have that t2 ∼ t3 ∼ t4 . Then, in order to consider all the possible orderings among them, we assigned to them positions 5, 6, 7, and 8 in the solution template of table 7.7. Example 7.10 (Independence). In example 7.2 we were able to move t1 in the first position of the solution sequence without losing solutions. The reader can check that equivalently t0 can be brought to the first position without affecting the validity of the solution. Thus, the solution template of table 7.7 can be modified by switching the positions of t0 and t1 as shown in table 7.9. Positions 1 2 3 4 Solution t t t t Template 0 0 0 1 5 t2 t3 t4 6 t2 t3 t4 7 t2 t3 t4 8 9 10 11 12 t2 t3 t5 t9 t10 t10 t4 13 14 15 16 17 t6 t7 t6 t7 t6 t7 t6 t t7 8 Table 7.9: Interchanging the positions of t1 and t0 . Hence, while we can a-priori establish an order among SCOs belonging to different equivalence classes, for SCOs within the same equivalence class we cannot since they are mutually dependent. As to the case of SCOs, we can chose any ordering. 7.2. SCO Dependencies and Solution Template 157 7.2.2 Computing the equivalence classes As shown in section 2.4, the definition of Strongly Connected Component (SCC) in graph theory coincides with the notion of equivalence class we defined above. The very good news is that there exists an algorithm that can find the SCCs of a graph (V, E) in polynomial time (Θ(V + E)), as explained in (Cormen, 2001). The fact that we have available this algorithm significantly simplifies the first of our subproblems, that is the problem of finding an execution order among SCOs. In fact, once obtained the strongly connected components, enforcing a suitable ordering among them amounts to building a solution template. Henceforth, we will refer indifferently to equivalence classes or SCCs. Example 7.11. The strongly connected components of the graph in figure 7.2(b) are: scc0 = {t0 } = [t0 ] scc1 = {t1 } = [t1 ] scc67 = {t6 , t7 } = [t6 ] scc8 = {t8 } = [t8 ] scc234 = {t2 , t3 , t4 } = [t2 ] scc5 = {t5 } = [t5 ] scc9 = {t9 } = [t9 ] scc10 = {t10 } = [t10 ] They are graphically depicted in figure 7.2(c). As mentioned in section 2.4, it is also possible to define a strict order among equivalence classes (SCCs), graphically depicted in figure 7.2(d). 7.2.3 Order Enforcing Function We mentioned at the beginning of this section that our aim is to build a template that allows us to a-priori limit the set of positions that each SCO can hold within a solution sequence in such a way that no solution class is lost. As illustrated by the template in table 7.7, there is a link between the dependencies among SCOs and their relative order. Most precisely, a solution template must comply with the strict order stemming from dependencies. Next, we provide a formal definition of solution template, the so-called D-bounded Order Enforcing Function. Definition 7.2 (D-bounded Order Enforcing Function). Given a strict order (T /∼ , ≺) and a multi-set D ∈ NT , a D-bounded Order Enforcing Function S : {1, . . . , |D|} → T /∼ is a sequence of equivalence classes satisfying the following constraints: |S −1 S(i) ≺ S(j) ⇒ i < j X D(t′ ) ∀[t] ∈ T /∼ ([t])| = (7.25) (7.26) t′ ∈[t] Where |S −1 ([t])| is the number of times the equivalence class [t] appears in the sequence S. Henceforth, S will denote a D-bounded order enforcing function for (T /∼ , ≺). Equation 7.25 guarantees that all the position assigned to the equivalence classes are in increasing order with respect to (T /∼ , ≺). This means that if [t] comes before 158 Chapter 7. Connected Component-based Solver [t′ ] according to (T /∼ , ≺), then [t] comes before [t′ ] in S. Equation 7.26 ensures that enough positions in S are available to contain all the SCOs in D with their multiplicity. For instance, if three units of t0 are offered, it means that up to three copies of t0 may be present in the solution sequence. Then, three positions must be assigned to t0 in S. Notice that there is no overlapping among the positions assigned to different equivalence classes in virtue of equation 7.25. Example 7.12. If D is the multi-set of the overall SCOs received in the MMUCA of example 7.1. We define a D-bounded enforcing function S as follows: S(1) = [t1 ]; S(2) = [t0 ]; S(3) = [t0 ]; S(5) = [t2 ]; S(4) = [t0 ]; S(6) = [t2 ]; S(7) = [t2 ]; S(9) = [t5 ]; S(8) = [t2 ]; S(10) = [t9 ]; S(11) = [t10 ]; S(13) = [t6 ]; S(12) = [t10 ]; S(14) = [t6 ]; S(15) = [t6 ]; S(17) = [t8 ]; S(16) = [t6 ]; Departing from solution template in table 7.7 we can represent function S as shown in table 7.10. The solution template readily leads to the mapping in table 7.10 by substituting each set of elements for the equivalence class it belongs to. For instance {t2 , t3 , t4 } for [t2 ] and {t6 , t7 } for [t6 ]. Positions 1 2 3 4 5 6 7 8 ... Equiv. classes [t1 ] [t0 ] [t0 ] [t0 ] [t2 ] [t2 ] [t2 ] [t2 ] . . . ... 9 10 11 12 13 14 15 16 17 . . . [t5 ] [t9 ] [t10 ] [t10 ] [t6 ] [t6 ] [t6 ] [t6 ] [t8 ] Table 7.10: D-bounded enforcing function for example 7.1. We employ S −1 to indicate the inverse of an enforcing function S. S −1 ([t]) indicates the set of integers (positions) that map to the equivalence class [t] via S. More formally: S −1 ([t]) = {m ∈ {1, . . . , |D|} | S(m) = [t]} Example 7.13. Regarding example 7.12, S −1 ([t6 ]) = S −1 ([t7 ]) = {13, 14, 15, 16} In what follows, we show that it is always possible to build at least one solution template. We prove this by construction. This result is fundamental to our purposes since the S function is employed to encode our problem. 7.2. SCO Dependencies and Solution Template 159 Lemma 7.1. Given a strict order (T /∼ , ≺) and a multi-set D ∈ NT such that ∀t ∈ T D(t) ≥ 1, at least a D-bounded order enforcing function S exists. Proof of lemma 7.1 Let (q1 , q2 , ..., qk ), where k = |T /∼ |, be an ordering of the elements of T /∼ satisfying ≺. Then, we build S as follows: S(1) = q1 S(2) = q1 S(λ1 + 1) = q2 S(λ1 + 2) = q2 ... ... Pk−1 Pk−1 S( l=1 λl + 1) = qk S( l=1 λl + 2) = qk P where λi = t∈qi D(t) Notice that S satisfies the 7.25 and 7.26. ... ... ... ... S(λ1 ) = q1 S(λ1 + λ2 ) = q2 ... Pk−1 S( l=1 λl + λk ) = qk constraints specified by equations Notice that this proof also explains how to practically build a solution template given the SCCs. S is thus a function that assigns positions within a sequence to set of SCOs. The main property of S is that every solution that DIP finds can be reordered into an equivalent and feasible solution that fulfils the solution template S. In order to formally define the concept of fulfilment, we have to introduce some notation. In fact, we need to link a solution to DIP to the solution template S. We begin by introducing partial sequences, a generalisation of the concept of sequence that captures the formal representation of a solution to solver DIP (see table 7.1). 7.2.4 Partial Sequences We begin by recalling the definition of sequence. Definition 7.3 (Sequence). A Sequence over a non-empty finite set T is a function K : [1, n] → T , with n ∈ N. Notice that in table 7.1 we represented a solution as a mapping from positions within a sequence to SCOs. In what follows we illustrate the concept of partial sequence, which intuitively is a sequence with “holes”, meaning that there could be some positions of the sequence that are empty. This notion will be employed to formally capture solution sequences like the ones in tables 7.1, 7.2, and 7.3. Definition 7.4 (Partial Sequence). A Partial Sequence over a non-empty finite set T is a partial function K : [1, n] → T , with n ∈ N. The fact the function is partial implies that some integers may have no image, representing the holes in the sequence. From now on, we will employ the following notation: (1) |K| the length of the sequence. Henceforth, we will assume |K| = n; (2) K −1 : T → 2[1,n] is a partial injective function such that m ∈ K −1 (t) iff K(m) = t (inverse function); (3) |K −1 (t)| is the number of times t appears in sequence K; Chapter 7. Connected Component-based Solver 160 (4) Given a multi-set D : T → N, we will note as D(t) the multiplicity of t in D; (5) Dom(K) is the subset of [1, n] that admits an image via K (domain); (6) Im(K) = {t ∈ T | K(m) = t for some m ∈ [1, n]} (image) Example 7.14. The partial sequence representing the solution sequence in table 7.1 is: K(1) = t0 K(2) = t2 K(5) = t1 K(6) = t0 K(7) = t4 K(8) = t0 K(9) = t2 K(14) = t3 Obviously, a solution sequence can not contain more SCOs than the ones submitted in bids overall. Then, we further refine the representation of solutions by limiting the number of times each SCO can appear within a partial sequence. Definition 7.5 (D-bounded Partial Sequence). Given a partial sequence K over a set T and a multi-set D ∈ NT , we say that K is D-bounded if: |K −1 (t)| ≤ D(t) ∀t ∈ Im(K) (7.27) Example 7.15. The partial function defined in example 7.14 is bounded by the multi-set D in equation 7.9: D = {t0 , t0 , t0 , t1 , t2 , t2 , t3 , t4 , t5 , t6 , t6 , t7 , t7 , t8 , t9 , t10 , t10 } this happens since: |K −1 (t0 )| = 3 and D(t0 ) = 3 implies |K −1 (t0 )| ≤ D(t0 ) ...... (7.28) (7.29) and a similar equation applies to all the other elements in Im(K). Notice that the multi-set D = ⊎ij Dij associated to an MMUCA bounds all of its solutions, as state in the following observation. Remark 7.1. Every solution to an MMUCA is a D-bounded partial sequence. Now that we have all the formal tools to describe a solution, we can define when a solution fulfils a solution template S (order enforcing function). This is a central point and leads us to the definition of S-fulfilment: 7.3. The improved IP formulation 161 Definition 7.6 (S-fulfilment). Given a D-bounded partial sequence K and a D-bounded order enforcing function S, we say that K fulfils S iff: ∀i ∈ dom(K) K(i) ∈ S(i) (7.30) This means that a solution K complies with a solution template if each SCO in K takes on a position allowed by S. Example 7.16. COnsider table 7.11 • the partial sequence K in does not fulfil the order enforcing function (solution template) S, since K(1) = t2 and S(1) = [t1 ], but t2 6∈ [t1 ]; • the partial sequence K ′ fulfils S. In table the highlighted SCOs do not hold the positions enforced by the solution template. Positions 1 (S) Solution t1 Template K K′ 2 3 4 t0 t0 t0 t0 t2 t1 t0 t0 t0 5 t2 t3 t4 t1 t2 6 t2 t3 t4 t0 t4 7 t2 t3 t4 t4 t2 8 9 10 11 12 t2 t3 t5 t9 t10 t10 t4 t0 t2 t3 13 14 15 16 17 t6 t7 t6 t7 t6 t7 t6 t8 t7 t3 Table 7.11: Partial sequence fulfilling (K ′ ) and not fulfilling (K ′ ) S in table 7.10. Then, now we can explain why the solution template represented by S is of central importance. We will formally prove in section 7.4 that each partial sequence, solution to the MMUCA WDP, can be reordered into an equivalent and feasible solution that fulfils S. Consequently, if we limit the search space so that only the solutions fulfilling S are included, we guarantee that no solution class is lost. Therefore, we achieve what we intended, obtaining a space search reduction without sacrificing solution classes. In the next section we show how to apply an ordering enforcing function to ILP. We will present a new solver for the MMUCA WDP, that employs considerably less decision variables than DIP by exploiting S. 7.3 The improved IP formulation The aim of this section is to introduce a new IP that improves solver DIP. We call the improved solver, described in the remaining of this section, solver CCIP. The idea underlying the improvement of solver DIP is to consider as possible solutions only partial sequences fulfilling a D-bounded order enforcing function S and excluding all other solutions. With this purpose, we employ the order enforcing function introduced in definition 7.2. Chapter 7. Connected Component-based Solver 162 In section 7.3.1, we introduce a preliminary version of the IP formulation of solver CCIP. In section 7.3.2 we introduce a further simplification that allows to eliminate part of the constraints. In section 7.3.3 we show that CCIP turns into a CMWOSP solver when the Mixed Auction Net is acyclic. Finally, in section 7.3.4 we show that CCIP turns into the DIP solver when the SDG is connected. 7.3.1 The Model As usual, the input to the MMUCA WDP S is a set of bids Bidij , each one over a multiset Dij along with some price pij . D = ij Dij is the multi-set of all the submitted SCOs. Then, the maximum length of the solution sequence is δ = |D|. According to remark 7.1, a partial sequence representing a solution to the WDP is always bounded by D, since the partial sequence will at most contain all the submitted SCOs. Then, we consider a D-bounded order enforcing function S. The associated order relation (T /∼ , ≺) is the one defined by the SDG graph on T . In solver DIP we employed binary decision variable xm ijk taking on value 1 iff SCO tijk is selected at the m-th position within the solution sequence. In the case of DIP, m ranges in all the positions of the solution sequence (m ∈ [1, δ]). However, now we can assign a limited number of positions to each SCO via S. If we want to allow as feasible solutions only partial sequences fulfilling S, we only create decision variables for the positions each SCO can hold. More precisely we create decision variables xm ijk for all m ∈ S −1 ([tijk ]). By means of this operation we manage to drastically reduce the search space. Next, analogously to section 6.2, we employ the following auxiliary decision variables. Firstly, xijk is an integer variable that represents the number of positions that SCO tijk holds in the solution sequence. Secondly, xij is a binary decision variables taking on value one if bid Bidij is selected and 0 otherwise. Then, we impose the following constraints. (1) We obtain the number of positions that SCO tijk holds in the solution sequence (xijk ) by summing up xm ijk over all the positions m assigned to [tijk ]: X xm (7.31) xijk = ijk ∀ijk m∈S −1 ([tijk ]) Example 7.17. Regarding example 7.1 we have: xt2 = x5t2 + x6t2 + x7t2 + x8t2 (7.32) xt0 = x2t0 + x3t0 + x4t0 (7.33) and and so on. (2) We are interested in that at most one SCO can hold each position. Consequently, we impose that: X xm (7.34) ijk ≤ 1 ∀m tijk ∈S(m) 7.3. The improved IP formulation 163 Notice that the sum is only over the SCOs of a single equivalence class. These constraints enforce that the solution is a partial sequence. Without such a constraint we could have more than one SCO assigned to the same position of the sequence. Example 7.18. Following example 7.1, at step 5 (m = 5) the following constraints hold: (7.35) x5t2 + x5t3 + x5t4 ≤ 1 (3) We need decision variables controlling if a given bid has been selected. As we know, the semantics of a bid implies that selecting at least one SCO within a bid implies selecting all the SCOs within the same bid with the corresponding multiplicity. That is: xijk = xij · Dij (tijk ) ∀ijk (7.36) Example 7.19. For SCO t0 in bid Bid11 of the MMUCA of example 7.1 we have: (7.37) xt0 = x11 · 3 and so on. (4) We impose that the XOR semantics of a bid is fulfilled, i.e. at most one bid per bidder can be selected: X xij ≤ 1 ∀i (7.38) j (5) We need to encode the constraint enforcing that each SCO selected is enabled at any step of the solution sequence. U0 (g) + m−1 X X xlijk · [Oijk (g) − Iijk (g)] ≥ l=0 tijk ∈S(l) X xm ijk · Iijk (g) tijk ∈S(m) (7.39) ∀g ∈ G, ∀m ∈ [1, δ] (6) We express the constraint enforcing that the goods available to the auctioneer at the end of the solution sequence is at least Uout : U0 (g) + ℓ X X xm ijk · [Oijk (g) − Iijk (g)] ≥ Uout (g) ∀g ∈ G (7.40) m=0 tijk ∈S(m) In table 7.12 we summarise the CCIP ILP formulation. Finally, solving the MMUCA WDP is equivalent to optimise the objective function: X xij · pij (7.41) max ij subject to constraints (a-f) in table 7.12. Chapter 7. Connected Component-based Solver 164 (a) ∀ijk X xijk = xm ijk m∈S −1 ([tijk ]) (b) ∀ijk (c) ∀i xijk = xij · Dij (tijk ) X ∀ijk xij ≤ 1 j (d) ∀m X xm ijk ≤ 1 tijk ∈S(m) (e) ∀g ∈ G U0 (g) + ℓ X X xm ijk · [Oijk (g) − Iijk (g)] ≥ Uout (g) m=0 tijk ∈S(m) ∀g ∈ G U0 (g) + m−1 X X l=0 tijk ∈S(l) (f) ∀m ∈ [1, δ] xlijk · [Oijk (g) − Iijk (g)] ≥ X xm ijk · Iijk (g) tijk ∈S(m) (g) max X xij · pij ij Table 7.12: Resume of the IP formulation of solver CCIP. 7.3.2 Eliminating some Equations There is a further simplification that we can add. Not only we can reduce the number of variables, but we are also able to eliminate some redundant constraints. It follows from some considerations on the IP structure that we can remove some constraints from solver CCIP because redundant. In what follows we provide the corresponding intuitions. Equation (7.39) ensures that enough goods are present to perform the selected SCOs at each step of the solution sequence. It must be applied at each step of the solution 7.3. The improved IP formulation 165 sequence. U0 (g) + m−1 X X xlijk · [Oijk (g) − Iijk (g)] ≥ l=0 tijk ∈S(l) X xm ijk · Iijk (g) (7.42) tijk ∈S(m) ∀g ∈ G, ∀m ∈ [1, δ] Equation (7.40) states that at the end of the sequence at least Uout goods are available to the auctioneer. U0 (g) + ℓ X X xm ijk · [Oijk (g) − Iijk (g)] ≥ Uout (g) ∀g ∈ G (7.43) m=0 tijk ∈S(m) The application of the two constraints above plus the fact that S limits the possible position assignments makes some of those constraints redundant. In particular, we can get rid of constraint 7.42 at each step m if the group of SCO assigned to step m via S does not belong to any cycle of the graph. The following example will clarify the statement. Example 7.20. Consider the MMUCA WDP presented in example 7.1. In particular, we will focus on the equations regarding good g4 just before the firing of t5 . Then, considering that the only SCOs that can add or remove tokens to g4 are {t2 , t4 , t5 , t9 }, equation 7.43 becomes7 : (7.46) xt2 − xt4 − xt5 − xt9 ≥ 0 Notice that the xti in in equation 7.46 are integer, not binary variables. Now we consider equation 7.42 at step 9 and for good g4 . According to table 7.7, SCO t5 is assigned to position 9. Then, equation 7.42 becomes8: xt2 − xt4 ≥ xt5 7 Equation (7.49) 7.43 can be rewritten as 0+ ℓ X X xlt · [Ot (g4 ) − It (g4 )] ≥ 0 (7.44) l=0 t∈{t2 ,t4 ,t5 ,t9 } that can be rewritten as X 0+ xt · [Ot (g4 ) − It (g4 )] ≥ 0 (7.45) t∈{t2 ,t4 ,t5 ,t9 } P since xt = ℓl=0 xlt (equation 6.91). Expanding equation 7.45, we obtain 7.46. 8 Equation 7.42 can be rewritten as: 0+ 8 X X xlt · [Ot (g4 ) − It (g4 )] ≥ x9t5 · It5 (g4 ) (7.47) l=0 t∈T Once again, since the only SCOs that can add or remove tokens to g4 are {t2 , t4 , t5 , t9 } and their assigned positions in table 7.7 are {5, 6, 7, 8, 9, 10}, equation 7.47 becomes: X X (7.48) 0+ xlt · [Ot (g4 ) − It (g4 )] ≥ x9t5 · It5 (g4 ) l∈{5,6,7,8} t∈{t2 ,t4 } The reader can check that expanding this expression we obtain equation 7.49. Chapter 7. Connected Component-based Solver 166 Notice that equation (7.49) is automatically satisfied if equation (7.46) is fulfilled. Then, equation 7.49 is redundant, and we can get rid of it. Example 7.20 above shows an important properties of our model. This property is not very intuitive because it depends on the equations and on their relationships. Anyway, as we mentioned above, this property does not hold if the SCO lies on a simple cycle or on a self-loop of the SDG. A counter example will clarify this sentence. Example 7.21. We consider again example 7.1, but in this case we focus on the equations for good g1 . Notice that a a self-loop is present on t10 . This self-loop prevents to apply the same reasoning of example 7.20. First, we write the equivalent of equation 7.46 and we obtain: (7.50) xt9 + xt10 − xt10 ≥ 0 =⇒ xt9 ≥ 0 Next, we consider equation 7.42 at step 11. We obtain: xt9 − xt10 ≥ 0 (7.51) It is easy too see that equation 7.50 does not imply equation 7.51. Then, we cannot get rid of equation 7.51. Intuitively, equation 7.43 is a global condition enforcing that at the end of the sequence the global input-output balance at each good of the net in figure 7.1 is positive. On the other hand, equation 7.42 is local to each step, and enforces that enough input goods are available at each step. As showed by example 7.21, we have to check constraint 7.42 only when the SCOs assigned to position m belong to a cycle. Notice that by definition each time an equivalence class contains n > 1 SCOs, each SCO in the equivalence class belongs to a simple cycle of length n. Example 7.22. (1) t10 in figure 7.2(a) has good g1 both as input and output. Then it belongs to a self-loop (ht10 , t10 i). (2) t2 belongs to the simple cycle ht2 , t4 , t3 , t2 i. (3) t1 does not belong to any cycle. To conclude, with respect to the encoding of solver CCIP presented in section 7.3.1, we can get rid of a set of inequations. Thus, besides reducing the number of variables, we decrements the number of constraints of solver DIP. Employing the terminology introduced in section 7.3.2, we can say that equation 7.39 must be added only if the SCOs assigned to step m by S belong to a simple cycle. Then, defining LF as: LF = {m ∈ {1, . . . ℓ} | S(m) contains a simple cycle} We can rewrite equation (7.39) as: U0 (g) + m−1 X X l=0 tijk ∈S(l) xlijk · [Oijk (g) − Iijk (g)] ≥ X xm ijk · Iijk (g) (7.52) tijk ∈S(m) ∀g ∈ G, ∀m ∈ LF In appendix A.3 we present the CCIP model with reduced constraints encoded in the OPL language (see section 2.1.2 and (Van Hentenryck, 1999)). 7.3. The improved IP formulation 167 Problem Size ThePnumber of decision variables in the above integer program is of the order of O( ijk |S −1 (tijk )|) (corresponding to xm ijk ). More in details, we create a binary decision variable for each bid Bidij ∈ B, for a total of |B| binary decision variables. Then, we create a decision variable xijk for each SCO tijk ∈ T , for a total of |T | decision variables. Then, we create a decision variable for each SCO tijk ∈ T and P for each position it is allowed to take on within the solution sequence, for a total of ijk |S −1 (tijk )| binary decision variables. Then, we create a total of |B| + X ijk X |S −1 (tijk )| ∈ O( |S −1 (tijk )|) ijk decision variables. With a similar process, we compute the total number of constraints, that is: 2|T | + |L| + δ + |G|(1 + |LF |) 7.3.3 (7.53) The CMWOSP-based solver is a special case of CCIP In this section, we show that the CMWOSP-based solver introduced in section 6.1.5 is a special case of CCIP. Say that we know that no cycles are present in the TDG. That means that we will have exactly as many SCCs as the number of SCOs. Then, we have that equation (a) in table 7.15 turns into: xijk = xm ijk (7.54) Considering this, • equation (d) becomes redundant and we can eliminate it; • equation (e) turns into U0 (g) + ℓ X X xijk · [Oijk (g) − Iijk (g)] ≥ Uout (g) ∀g ∈ G (7.55) m=0 tijk ∈S(m) that can be rewritten as: X U0 (g) + xijk · [Oijk (g) − Iijk (g)] ≥ Uout (g) ∀g ∈ G (7.56) ijk Since the net has no cycles, it happens that |LF | = 0. Then, equation (f) can be eliminated. Since xm ijk is not employed in any equation, we can eliminate equation (7.54) as well. Then, joining equations (b), (c), and (g) in table 7.15 with equation (7.56), we obtain exactly the same ILP model as the one in equations (7.55). Chapter 7. Connected Component-based Solver 168 7.3.4 CCIP amounts to DIP when the SDG is connected Analogously, we show that when the SDG is connected CCIP turns into DIP. If the SDG is connected, then there is a big SCC encompassing all the SCOs. It happens that: ∀m ∈ [1, δ] S(m) = T LF = {1, . . . , δ} (7.57) (7.58) Then, we create decision variables xm ijk ∀tijk ∈ S(m). Then, basically, we create the same decision variables as in DIP. Next, the constraint in equation (7.52) must be applied at each step of the solution sequence. Then, we obtain the same formulation as DIP. 7.4 Equivalence between solvers DIP and CCIP In this section we formally prove that no solution class is lost limiting the possible positions of SCOs via S. This result is indirectly proved by showing that: • each solution found by solver DIP can be reordered into a solution to CCIP; and • each solution to solver CCIP is also a solution to DIP. If this holds, then we are guaranteed that: (1) for each solution in DIP solution space there is always an equivalent solution in CCIP solution space; and (2) the CCIP solution space is a subset of the DIP solution space. Then, CCIP does not lose solutions nor create new solutions not fulfilling DIP. Such proof is rather complex. Then, before going on, we introduce some definitions and constructs that will be employed in the demonstration. To this end, in sections 7.4.1 and 7.4.2 we provide formal tools to capture the notion of reordering of a solution. Then, in section 7.4.4 we introduce some properties of partial sequences of SCOs to be employed for the proof. Finally, in section 7.4.5, we provide the formal proof. 7.4.1 Subsequences In what follows we introduce the concept of subsequence of a partial sequence. A subsequence of some partial sequence is a new sequence obtained from the former one by removing some of the elements and all the empty positions without disturbing the relative positions of the remaining elements. An example will clarify the sentence: Example 7.23. Consider the partial sequence in table 7.13. Position 1 Sequence 1 t0 2 t2 3 4 5 t1 6 t0 7 t4 8 t0 9 t2 10 11 12 13 14 15 16 17 Revenue t3 +3 USD Table 7.13: Example of solution found by solver DIP. Example of subsequences of the partial sequence of table 7.13 are showed in the following. At the left hand side we have shown the subsequence, while on the right 7.4. Equivalence between solvers DIP and CCIP 169 hand side the original partial sequence with highlighted the elements selected to form the subsequence. The element ǫ indicates a hole in the partial sequence. ht1 , t4 , t2 i ht1 , t0 , t0 , t2 i ht0 , t2 , ǫ, ǫ, t1 , t0 , t4 , t0 , t2 , ǫ, ǫ, ǫ, ǫ, t3 , ǫ, ǫ, ǫi ht0 , t2 , ǫ, ǫ, t1 , t0 , t4 , t0 , t2 , ǫ, ǫ, ǫ, ǫ, t3 , ǫ, ǫ, ǫi (7.59) (7.60) ht1 i ht4 , t2 i ht0 , t2 , ǫ, ǫ, t1 , t0 , t4 , t0 , t2 , ǫ, ǫ, ǫ, ǫ, t3 , ǫ, ǫ, ǫi ht0 , t2 , ǫ, ǫ, t1 , t0 , t4 , t0 , t2 , ǫ, ǫ, ǫ, ǫ, t3 , ǫ, ǫ, ǫi (7.61) (7.62) ht2 , t1 , t4 i ht0 , t4 , t2 , t3 i ht0 , t2 , ǫ, ǫ, t1 , t0 , t4 , t0 , t2 , ǫ, ǫ, ǫ, ǫ, t3 , ǫ, ǫ, ǫi ht0 , t2 , ǫ, ǫ, t1 , t0 , t4 , t0 , t2 , ǫ, ǫ, ǫ, ǫ, t3, ǫ, ǫ, ǫi (7.63) (7.64) Notice that the order among the elements is maintained. That is, for instance t3 comes after t2 in the partial sequence of table 7.1, then the same must happen in equation 7.64. Definition 7.7 (Subsequence of a partial sequence). Say K : [1, n] → T is a partial sequence. We say that K ′ is a subsequence of K iff: • K ′ is a sequence of elements of T . More formally, K ′ : {1, . . . , m} → T where m ∈ N and9 m ≤ n. • There is a strictly increasing function (called characteristic function of the sequence) f : {1, . . . , m} → [1, n] such that: K ′ (i) = K(f (i)) ∀i ∈ {1, . . . , m} Example 7.24. The characteristic function of subsequence 7.59 is: f (1) = 5 → the first element of K ′ corresponds to the fifth element of K f (2) = 7 → the second element of K ′ corresponds to the seventh element of K f (3) = 9 → the third element of K ′ corresponds to the nine-th element of K We call the inverse characteristic function of a subsequence K ′ the function retrieving the position of an element of the subsequence within the original sequence. −1 −1 We denote it as fK ′ : [1, n] → {1, . . . , m}. For instance fK ′ (j) = k means that the position within the original sequence of the j − th element of the subsequence was k. Example 7.25. The inverse of the characteristic function of example 7.24 is: f −1 (5) = 1 f −1 (7) = 2 f −1 (9) = 3 Given a partial sequence K : N → T and a set T ′ ⊆ T , we define the subsequence of K restricted to T ′ , denote as K|T ′ , as the subsequence of K obtained removing from K all the elements not belonging to T ′ . More formally: 9 Notice that K ′ is a sequence, not a partial sequence. Chapter 7. Connected Component-based Solver 170 Definition 7.8 (Sequence restricted to a subset). Given a partial sequence K : N → T and a set T ′ ⊆ T , K|T ′ (to be read as K restricted to T ′ ) is a subsequence of K such that: −1 −1 |K|T (t)| ′ (t)| = |K ∀t ∈ T ′ (7.65) −1 |K|T ′ (t)| = 0 ∀t 6∈ T ′ (7.66) Example 7.26. Given the partial sequence of table 7.13, K|{t2 ,t3 ,t4 } = ht2 , t4 , t2 , t3 i. In the following section we introduce a formalism to describe how to order a partial sequence in order to make it comply with a solution template. 7.4.2 Reordering Sequences The main goal of this section is to introduce the theoretical tools to check whether the reordering of a partial sequence complies with a solution template. We recall that this is useful since we have to prove that, for each solution to DIP, there always exists a reordering of it that complies with the solution template. Then, in this section, as a first step we provide a definition of reordering of a partial sequence that fulfils the solution template S. Intuitively, an S-fulfilling reordering is a reordering of K into a new partial sequence K ′ that fulfils S and that preserves the order defined by K among the SCOs within the same equivalence class. Before giving the formal details, we present an example. Example 7.27. Consider order enforcing function S and the partial sequence K in table 7.14. In table 7.14 we present also K ′ , an S−fulfilling reordering of K, and K ′′ a partial sequence that is not an S−fulfilling reordering of K. Notice that in K ′ the elements t0 and t1 have been reordered, whereas the elements of the equivalence class [t2 ] maintain the same order as in K. Observe that K ′′ fulfils S, but the elements of the equivalence class [t2 ] are in a different relative order than in K (t2 comes after t4 ). Positions 1 (S) Solution t1 Template K K′ K ′′ 2 3 4 t0 t0 t0 t0 t2 t1 t0 t0 t0 t1 t0 t0 t0 5 6 7 8 9 10 11 12 t2 t2 t2 t2 t3 t3 t3 t3 t5 t9 t10 t10 t4 t4 t4 t4 t1 t0 t4 t0 t2 t2 t4 t2 t3 t4 t2 t2 t3 13 14 15 16 17 t6 t7 t6 t7 t6 t7 t6 t t7 8 t3 Table 7.14: Examples of S-fulfilling (K ′ ) and not S-fulfilling (K ′′ ) reordering of K. Thus, we proceed to the formal definition of S−fulfilling reordering. Definition 7.9 (S-fulfilling reordering). Given a D-bounded partial sequence K and a D-bounded order enforcing function S, K ′ is an S-fulfilling reordering of K iff: (1) K ′ fulfils S 7.4. Equivalence between solvers DIP and CCIP ′ (2) K|q = K|q 171 ∀q ∈ T /∼ Point (1) implies that K ′ complies with the solution template. Point (2) of definition 7.9 implies that the order among SCOs belonging to the same equivalence class in K ′ is the same as in K. In section 7.4 we will be interested in retrieving the original position in of the elements of a reordered sequence. That is, given K ′ S-fulfilling reordering of K, we are interested in retrieving the original position i in K of the j-th element of K ′ , as shown in the following example. Example 7.28. Consider the partial sequences K and K ′ employed in example 7.27. Say that we are interested in retrieving the original positions within K of the 7th element of K ′ . From table 7.14 we know that K ′ (7) = t2 . The natural way of doing it would be to look for the position of SCO t2 in K. But this does not work since t2 appears more than once in K. Indeed, we have that K −1 (t2 ) = {5, 7}. Then, we have ′ to recur to the characteristic functions that are employed to build the subsequences K|q and K|q (point (2) of definition 7.9). Remark 7.2. Say K ′ is an S fulfilling reordering of K. Then, the original position s̃ in K of the m̃-th element of K ′ is: s̃ = fK|q fK−1′ (m̃) (7.67) |q Where q = [K ′ (m̃)] is the equivalence class that contains the m̃-th element of K ′ , −1 fK is the characteristic function associated to the subsequence K ′ |q , and fK|q is the ′ |q inverse characteristic function associated to the subsequence K|q (see definitions 7.7 and 7.8). Now we are going to provide an existence result: no matter which is the partial sequence, there always exists an S-fulfilling reordering of it. Hence, in what follows we provide both a theorem of existence and a way to build an S-fulfilling reordering. Proposition 7.1. Given a D-bounded partial sequence K and a D-bounded order enforcing function S, an S-fulfilling reordering K ′ always exists. Proof of proposition 7.1 The demonstration is carried out by construction. For each equivalence class [t] ∈ T /∼ we define two sequences. One contains all the integers mapping to [t] via S (i.e. S −1 ([t])) ordered in increasing value. The other one is the sequence K restricted to the set [t] (the subsequence K|[t] ). Then, ∀[t] ∈ T /∼ : be (s1 , s2 , . . . , si , . . . , sa ) s.t. si < si+1 and {si }ai=1 = S −1 ([t]) be (t1 , t2 , . . . , tj , . . . , tb ) = K|[t] (7.68) (7.69) Then, we define K ′ as K ′ (si ) = ti ∀i ∈ [1, . . . , b] and ∀[t] ∈ T /∼ . Point (2) of definition 7.9 is trivially satisfied by construction. Point (1) of definition 7.9 is satisfied if K(si ) ∈ S(si ). But per construction we have that K(si ) = ti , ti ∈ [t] and S(si ) = [t]. In the following section we add some complementary definitions about sequences and order relationships. Chapter 7. Connected Component-based Solver 172 7.4.3 Order Fulfilling Sequences Our aim is to assess the positions to a-priori assign to SCOs in such a way that the order established by the SDG is not violated. We explained in section 7.2.1 that we have to make sure that all the SCOs such that t ≺ t′ must be assigned positions such that t comes before t′ in the sequence. Thus, the first step is knowing which ones, among the possible solutions, do not violate the strict order imposed by (T /∼ , ≺). With this purpose, we give a definition to decide whether a partial sequence fulfils a strict order relationship. Definition 7.10 (Order Fulfilling Sequence). We say that a partial sequence K over T fulfils an order relation (T /∼ , ≺) iff: ∀i, j ∈ dom(K) [K(i)] ≺ [K(j)] ⇒ i < j (7.70) This definition formally states that a partial sequence K fulfils the order relationship ≺ only if the relative order among SCOs within K does not violate ≺. Example 7.29. The partial function K in table 7.14 does not fulfil the order relationship defined by the SDG in figures 7.2(b) and (c). K violates the order relationship in various points. For instance, we have that t2 appears before t1 although t1 ≺ t2 holds. Observe that this does not mean that this solution is not valid, but only that it does not fulfil the order relation. On the opposite, partial sequence K ′ and K ′′ in table 7.14 fulfil the order relationship ≺. As mentioned above, S is a template that a partial sequence must adhere in order to fulfil ≺. Hence, we must define the conditions for a partial sequence to satisfy a given solution template. In what follows we formally show that a sequence fulfilling S also fulfils the order relationship ≺. Lemma 7.2. If K fulfils S, then K fulfils (T /∼ , ≺). Proof of lemma 7.2 From equations 7.30 and 7.25 it follows that [K(i)] ≺ [K(j)] ⇒ i < j. The order enforcing function is exactly the solution template we were looking for. Any partial sequence (and thus any solution) fulfilling it also fulfils the order relationship (T /∼ , ≺). This is a very important property, since it means that the precedence relationship among SCOs are fulfilled within such a partial sequence. In what follows, we detail some definition and properties employed in the proof of section 7.4.5. 7.4.4 Properties of partial sequences of SCOs In this section we demonstrate some properties of partial sequences of SCOs that fulfil an order relationship (T /∼ , ≺). Those properties will be useful in section 7.4.5. In particular we will deal with a special case: the case in which two SCOs t and t′ are such that t . t′ but t comes after t′ in a partial sequence fulfilling (T /∼ , ≺). We will 7.4. Equivalence between solvers DIP and CCIP 173 call it the case of forward swapping. Notice that this can happen only if t and t′ are in the same equivalence class. Then, in what follows: • T is a set of SCOs equipped with the preorder defined by its SDG (T, .) (as in section 7.2.1). Recall that a SCO t ∈ T is composed by a pair of multisets of goods: t = (It , Ot ), where It , Ot ∈ NG . • J : N → T is a partial sequence of SCOs that fulfils the order relationship (T /∼ , ≺). g J(z̃) J(m̃) m̃ ≤ z̃ g1 g2 (a) g is output of J(z̃) and input of J(m̃). 0 m̃ z̃ (b) Position m̃ comes before position z̃ in the J partial sequence. Figure 7.3: J(z̃) is forwardly swapped with J(m̃) in g. J has some important properties that we detail in the following. But before that, we give an important definition, the definition of SCOs forwardly swapped. We provide an example with some intuitions of the definition of forwardly swapped. For instance, figure 7.3 graphically depicts the case in which J(z̃) is forwardly swapped with J(m̃). Intuitively, say that m̃ is a position of the partial sequence J such that the associated SCO J(m̃) has g as an input good10 (IJ(m̃) (g) > 0). Say also that further ahead in the sequence, at position z̃ ≥ m̃, there is a SCO that has g as output good (OJ(z̃) (g) > 0). In such a case we say that SCO J(z̃) is forwardly swapped with J(m̃). In figure 7.3(a) we show that g is both input of J(m̃) and output of J(z̃), whereas in figure 7.3(b) we graphically represent that z̃ comes after m̃ in the J solution sequence. 10 The notation here is such that OJ (l) means Oijk where the corresponding SCO is tijk = J(l) Chapter 7. Connected Component-based Solver 174 t1 , 1 1 1 t0 , 3 g2 1 t10 , 2 1 t3 , 1 t2 , 2 g3 11 1 1 t4 , 1 1 g4 1 g1 1 t5 , 1 g5 1 1 1 1 t9 , 1 1 t6 , 2 t7 , 2 1 1 g7 1 1 t ,1 1 8 g6 Figure 7.4: Part of the SDG of example 7.1 Definition 7.11 (Forwardly Swapped). Given a partial sequence J that fulfils an order relationship (T /∼ , ≺), a good g ∈ G and two positions m̃, z̃ ∈ dom(J) such that: (1) IJ(m̃) (g) > 0 (2) m̃ ≤ z̃ (3) OJ(z̃) (g) > 0 then we say that J(z̃) is forwardly swapped with J(m̃) in g. If m̃ = z̃ we say that J(m̃) has a self-loop. In what follows we present a lemma that describes three important properties of partial sequences with swapped SCOs. The lemma is very intuitive. The intuition behind this is explained by the following example. Example 7.30. Consider the partial sequence K ′ in table 7.14 . By definition it fulfils S. Say m̃ = 6, then we have that K ′ (m̃) = t4 . We also have that It4 (g4 ) > 0 (see figure 7.4). In figure 7.4 we extend figure 7.1 by highlighting in thick black the SCOs 7.4. Equivalence between solvers DIP and CCIP 175 that are concerned in this example. Observe that t2 , whose output good is g4 , is at position z̃ = 7 of K ′ , after t4 . The reader can check that: (1) t2 and t4 belong to a simple cycle; (2) t4 ≺ t5 , t4 ≺ t9 ; and (3) t2 ∼ t4 . This means that if J(z̃) is forwardly swapped with J(m̃) in g, then it holds that: (1) J(m̃) and J(z̃) belong to the same equivalence class; (2) any SCO t that has g as input good must be such that either J(m̃) ≺ t or J(m̃) ∼ t; (3) any SCO t that has g as output good must be such that either t ≺ J(m̃) or t ∼ J(m̃). These properties are generalised in the following lemma. Lemma 7.3. If J(z̃) is forwardly swapped with J(m̃) in g, then: (1) J(m̃) ∼ J(z̃); (2) for all t such that It (g) > 0, either J(m̃) ∼ t or J(m̃) ≺ t; (3) for all t such that Ot (g) > 0, either J(m̃) ∼ t or t ≺ J(m̃). Proof of lemma 7.3 (1) If z̃ = m̃ this is trivially true. Otherwise, we have that J(z̃) . J(m̃) since g is output of J(z̃) and input of J(m̃). If we had that J(m̃) 6∼ J(z̃), then [J(z̃)] ≺ [J(m̃)] would hold. Hence, from definition 7.9: [J(z̃)] ≺ [J(m̃)] ⇒ z̃ ≺ m̃ (7.71) that is against the initial hypothesis. Then, we can conclude that J(m̃) ∼ J(z̃). (2) J(z̃) . t since g is output of J(z̃) and input of t. But we know from the previous point that J(m̃) ∼ J(z̃). Then, it cannot be J(m̃) 6. t by transitivity. At this point only two possibilities remain, either J(m̃) ∼ t or J(m̃) ≺ t. If m̃ = z̃ the same discussion holds setting J(m̃) = J(z̃). (3) It is clear that t . J(m̃) since g is output of t and input of J(m̃). But we know from the previous point that J(m̃) ∼ J(z̃). At this point only two possibilities remain, either t ∼ J(m̃) or t ≺ J(m̃). If m̃ = z̃ the same discussion holds setting J(m̃) = J(z̃). Notice that from lemma 7.3 follows that, under the hypothesis considered above, there cannot be any SCO with g as input or output good that is not in relation with J(m̃) via .. Corollary 7.1. If J(z̃) is forwardly swapped with J(m̃) in g, then for all t such that Ot (g) > 0 or It (g) > 0: it cannot be t 6. J(m̃). 176 7.4.5 Chapter 7. Connected Component-based Solver Equivalence between solvers In this section we prove that no solution class is lost by limiting the positions via an ordering enforcing function. We prove this result indirectly. Instead of relying on the definition of MMUCA WDP, we build our proof departing from the corresponding ILP formulation, that is DIP (see section 6.2). In fact, if we prove that (1) each solution to DIP can be reordered into a solution to CCIP, and that (2) each solution to CCIP is also a solution to solver DIP, then we demonstrate that no solution class is lost. In fact, there is a reason for employing this indirect proof. By doing this, we also prove that the operation performed in section 7.3.2 — the elimination of part of the constraints of solver CCIP— is legal. With this in mind we demonstrate the following two theorems: Theorem 7.1. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils all the constraints of solver CCIP. Theorem 7.2. Given a partial sequence J, solution to solver CCIP, it fulfils all the constraints of DIP. Theorems 7.1 and 7.2 will be proved in the remaining of the chapter. Relying on those theorems, we can prove that: Corollary 7.2. Any solution found by solver DIP can be reordered into a solution to solver CCIP. Proof of corollary 7.2 Say H is a solution to solver DIP with objective value cH . Assume that there exists an S-fulfilling reordering J of H that is not a solution to solver CCIP. The cost associated to solution sequence J is equal to the cost cH associated to solution H since J is a reordering of H. For theorem 7.1 J fulfils all the constraints of CCIP. Since J is not an optimal solution to solver CCIP, there must exist another solution J ′ to solver CCIP with objective value cJ ′ > cJ = cH . However, from theorem 7.2, we have that each solution to solver CCIP fulfils all the constraints imposed by DIP . Then, J ′ should be an optimal solution to DIP since it fulfils all its constraints and its objective value is larger than cH . This is against the hypothesis that the solution is H. It follows that J is an optimal solution to CCIP. Corollary 7.3. Any solution found by solver CCIP is a solution to solver DIP. Proof of corollary 7.3 Say J is an optimal solution to solver CCIP with cost cJ . Assume that it is not an optimal solution to solver DIP. From theorem 7.2 we have that J fulfils all the constraints of solver DIP. Then, there should be another solution H of DIP with cost cH > cJ . In this case, in virtue of theorem 7.1, it could be reordered into a solution sequence fulfilling the constraints of solver CCIP. Since H fulfils the constraints of CCIP and has cost cH > cJ , it should be an optimal solution to solver CCIP. This is against the hypothesis that the solution is J with objective value cJ . It follows that J is an optimal solution to DIP. 7.4. Equivalence between solvers DIP and CCIP 177 7.4.6 Proof of theorem 7.1 As mentioned above, a solution to the IP model of the MMUCA WDP defined in section 6.2 can be expressed by means of a partial sequence H : {1, . . . , |D|} → T such that11 H(m) = t iff xm t = 1. A solution to solver CCIP, too, can be expressed by means of a partial sequence J : {1, . . . , |D|} → T such that J(m) = t iff xm t = 1. The first step is thus proving that for each solution to DIP there exists a reordering of it that fulfils the constraints of CCIP. The intuition behind this theorem is illustrated by the following example: Example 7.31. Consider again example 7.27. The partial sequence K ′ in table 7.14 is an S-fulfilling reordering of sequence K in table 7.14 . Recall that K is a solution to the MMUCA of example 7.1 found by solver DIP. K ′ is a still valid solution to the MMUCA of example 7.1. With theorem 7.1 we aim at demonstrating the universality of the result of example 7.31: any S-fulfilling reordering of a solution is still a valid solution to the MMUCA WDP. For the sake of simplicity we resume the IP CCIP in table 7.15. Since the proof of theorem 7.1 is complex and rather long, we begin by demonstrating several lemmas. First, we show that J fulfils equations (a),(b), and (c) in table 7.15. Equation (a) sums into xijk the number of times SCO tijk appears in a solution sequence. Equation (b) enforces that either all or none of the SCOs within a bid are selected. Equation (c)enforces that at most one bid is selected for each bidder. Lemma 7.4. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils constraints (a),(b), and (c) in table 7.15. Proof of lemma 7.4 xijk of equation 6.91 counts the number of times tijk appears in the solution H. Thus, we have that xijk = |H −1 (tijk )|. On the other hand, xijk in equation 7.15(a) counts the number of times SCO tijk appears in J. Then, we have xijk = |J −1 (tijk )|. Since J is an S-fulfilling reordering of H, from point (2) of definition 7.9 we can derive that |H −1 (tijk )| = |J −1 (tijk )| ∀tijk . Then, the variables xijk assume the same values in equation 6.91 for H as in equation (a) in table 7.15 for J. From this follows trivially that equations (b) and (c) in table 7.15 are fulfilled by J if equations 6.91 and 6.92 are fulfilled by H. Furthermore, the objective values of the two IPs DIP and CCIP assume the same optimal value, i.e. equations 6.96 and (g) in table 7.15 assume the same values for H and J respectively. Next we consider equation (d) in table 7.15. Equation (d) enforces that at most one SCO can hold each position of the solution sequence. Lemma 7.5. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils constraint (d) in table 7.15. Proof of lemma 7.5 Constraint (d) in table 7.15 is fulfilled iff at most one SCO is selected at each position of the solution sequence. Since J is a partial sequence, it 11 In order to ease the notation we will henceforth employ t for indicating the generic SCO t ijk . Equivalently, we will employ tp to indicate tip jp kp and t′ to indicate ti′ j ′ k′ . Chapter 7. Connected Component-based Solver 178 (a) ∀ijk X xijk = xm ijk m∈S −1 ([tijk ]) (b) ∀ijk (c) ∀i xijk = xij · Dij (tijk ) X ∀ijk xij ≤ 1 j (d) ∀m X xm ijk ≤ 1 tijk ∈S(m) (e) ∀g ∈ G U0 (g) + ℓ X X xm ijk · [Oijk (g) − Iijk (g)] ≥ Uout (g) m=0 tijk ∈S(m) ∀g ∈ G U0 (g) + m−1 X X l=0 tijk ∈S(l) (f) ∀m ∈ LF xlijk · [Oijk (g) − Iijk (g)] ≥ X xm ijk · Iijk (g) tijk ∈S(m) (g) max X xij · pij ij Table 7.15: Resume of the IP formulation of solver CCIP. cannot be the case that more than one SCOs is associated to a single position. Then it is always fulfilled. Next, we consider equation (e) of table 7.15. Equation (e) enforces that the goods available to the auctioneer at the end of the solution sequence is at least Uout . Lemma 7.6. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils constraints (e) of table 7.15. Proof of lemma 7.6 We can rewrite equation (e) of table 7.15 considering that the 7.4. Equivalence between solvers DIP and CCIP solution is J. Then we have: X U0 (g) + 179 [OJ(m) (g) − IJ(m) (g)] ≥ Uout (g) (7.72) m∈dom(J) Now we rewrite equation 6.95 of solver DIP considering that the solution is H: X U0 (g) + [OH(m) (g) − IH(m) (g)] ≥ Uout (g) (7.73) m∈dom(H) Notice that ∀t ∈ T |H −1 (t)| = |J −1 (t)| since J is an S − f ulf illing reordering of H. Then, the Left Hand Side (LHS) of equations 7.72 and 7.73 assume the same value. Then, trivially, equation (e) of table 7.15 is fulfilled by J if equation 6.95 is fulfilled by H. The most complex demonstration is ensuring that all the selected SCOs are enabled at each step. This means checking that equation (f) of table 7.15 is always fulfilled by J given that 6.94 is fulfilled by H. Then, we further divide the demonstration of this lemma in some sub lemmas. But before that, we rewrite equations 6.94 and (f) of table 7.15 considering that the solutions are H and J respectively12: U0 (g) + m−1 X [OH(l) (g) − IH(l) (g)] ≥ IH(m) (g) (7.74) l=0 ∀g ∈ G, ∀m ∈ [1, ..., ℓ] for equation 6.94 and U0 (g) + m−1 X [OJ(l) (g) − IJ(l) (g)] ≥ IJ(m) (g) (7.75) l=0 ∀g ∈ G, ∀m ∈ [1, ..., ℓ] for equation (f) of table 7.1513 . In the demonstration, we will prove that equation 7.75 is fulfilled by J for a general good g and at a step m̃ that complies with different hypothesis. The different hypothesis will be treated in the different lemmas that follow. The first non trivial case is obviously when the SCO associated to step m̃ requires input goods from g. In this case, too, we have to distinguish two sub-cases that are described in lemmas 7.7 and 7.9. Lemma 7.7 deals with the case in which there is no SCO that adds tokens into g holding a position after m̃ − 1 in partial solution sequence J, whereas lemma 7.9 considers the complementary case. 12 In order not to overcharge the notation, we write m−1 P l=0 13 We instead of P . l≺m:l∈dom(J ) should add constraint 7.75 only for steps m associated to SCOs belonging to cycles (m ∈ LF ). Instead, we add it for every m. However, this case is more restrictive and then, if it is satisfied in this case, it will be also fulfilled if we remove the equations corresponding to m 6∈ LF . Chapter 7. Connected Component-based Solver 180 Lemma 7.7. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils constraints (f) of table 7.15 at a step m̃ and at a good g such that: • IJ(m̃) (g) > 0 • ∀z̃ ≥ m̃ OJ(z̃) (g) = 0 Proof of lemma 7.7 In this case we can write equation 7.75 as14 : U0 (g) + ℓ X OJ(l) (g) ≥ l=0 m̃ X IJ(l) (g) (7.77) l=0 since after step m̃ no SCO can add further contributions to good g. We can also write the following inequation: m̃ X IJ(l) (g) ≤ l=0 ℓ X IJ(l) (g) (7.78) l=0 since there could be SCOs with positions after m̃ that remove tokens from g. Then, equation 7.77 is fulfilled if the following equation is fulfilled: U0 (g) + ℓ X OJ(l) (g) ≥ ℓ X IJ(l) (g) (7.79) l=0 l=0 Considering that equation 7.72 holds, equation 7.79 is satisfied. Now we deal with the most problematic sub-case, i.e. when there exists a SCO that can add tokens into g and holds a position after m̃. Notice that this case is someway connected to the case of forwardly swapped SCOs (see definition 7.11). In order to cover this case, we have to demonstrate two lemmas. The first follows: Lemma 7.8. Given a partial sequence H, solution to solver DIP, and an S-fulfilling reordering of it J, assume that at a step m̃ ∈ dom(J) and for a good g ∈ G it holds that: (1) IJ(m̃) (g) > 0, i.e. g is an input good to transition J(m̃); (2) ∃z̃ ≥ m̃ such that OJ(z̃) (g) > 0, i.e. J(z̃) is forwardly swapped with J(m̃) in g; (3) q = [J(m̃)], i.e q is the equivalence class of J(m̃); 14 Equation 7.75 can be rewritten in an equivalent form if we bring to the right hand side of the equation all the terms containing I: U0 (g) + m̃−1 X l=0 OJ (l) (g) ≥ m̃ X l=0 IJ (l) (g) (7.76) 7.4. Equivalence between solvers DIP and CCIP 181 ( m̃) , i.e. s̃ is the position in H corresponding to the position m̃ (4) s̃ = fH|q fJ−1 |q in J 15 . Then, we have that: s̃−1 X OH(l) (g) ≤ l=0 m̃−1 X OJ(l) (g) (7.80) m̃−1 X IJ(l) (g) (7.81) l=0 and s̃−1 X IH(l) (g) ≥ l=0 l=0 Proof of lemma 7.8 We begin by checking that equation 7.80 holds. Recall that since hypothesis (2) of lemma 7.8 holds, from lemma 7.3 we have that all the SCOs t with g as output good (Ot (g) > 0) that exist are such that t ≺ J(m̃) or t ∼ J(m̃). Then, only those SCOs can contribute to increase the Right Hand Side (RHS) and LHS of equation 7.80. With this in mind we show that equation 7.80 is fulfilled. Then, denoting t̃ = J(m̃) = H(s̃), we have that: (1) All the SCOs t=J(p) such that t ≺ t̃ and Ot (g) > 0 have added their contribution to the RHS of equation 7.80, but not necessarily to the LHS. This is because for point (1) of definition 7.9 we have that: [J(p)] ≺ [J(m̃)] ⇒ p ≺ m̃ (7.82) Oppositely, not necessarily all the SCOs t ≺ t̃ have added their contribute to the LHS of equation 7.80. (2) Any SCO t ∼ t̃ that has added its contribute to the RHS of equation 7.80 has also given its contribute to the LHS either. This is because per hypothesis of Sfulfilling reordering H|[J(m̃)] = J|[J(m̃)] , i.e. the order in which the SCO within the same equivalence class are executed is the same for H and J. Similarly, we check that equation 7.81 is fulfilled. Recall that since hypothesis (2) of lemma 7.8, from lemma 7.3 we have that all the SCOs t with g as input good (It (g) > 0) that exist are such that J(m̃) ≺ t or t ∼ J(m̃). Then, only those SCOs can contribute to increase the RHS and LHS of equation 7.80. With this in mind we show that equation 7.81 is fulfilled since, denoting t̃ = J(m̃) = H(s̃), we have that: 15 Since H is a reordering of J, there must exists a step s̃ to which-is associated the SCO corresponding to the m̃-th position of J. Step s̃, corresponding to the original position in H of the m̃-th element of J, can be computed as explained in proposition 7.2. Recall that fH|[J(m̃)] is the characteristic function of the sequence H restricted to the set [J(m̃)], whereas fJ−1 |[J(m̃)] restricted to the set [J(m̃)]. is the inverse characteristic function of the sequence J Chapter 7. Connected Component-based Solver 182 (1) No SCO t such that t > t̃, and It (g) > 0 has given its contribute to the RHS of equation 7.81. This is because, say t = J(p), then for point (1) of definition 7.9 we have that: [J(m̃)] ≺ [J(p)] ⇒ m̃ ≺ p (7.83) Oppositely, some of the SCOs t̃ ≺ t may have contributed to increase the LHS of equation 7.81 (2) Any SCO t such that t ∼ t̃ that has not executed in the RHS of equation 7.80 has not been executed in the LHS either. This is because per hypothesis H|[J(m̃)] = J|[J(m̃)] , i.e. the order in which the SCO within the same equivalence class are executed is the same for H and J. With the result of lemma 7.8 at hand we can proceed to deal with the most problematic sub-case: Lemma 7.9. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils constraints (f) of table 7.15 at a step m̃ and at a good g such that: • IJ(m̃) (g) > 0 • ∃z̃ ≥ m̃ such that OJ(z̃) (g) > 0 Proof of lemma 7.9 Notice that we are under the hypothesis (1) and (2) of lemma 7.8. .As we mentioned in footnote 15, since J is a reordering of H, there exists a must −1 position s̃ of H corresponding to position m̃ in J. That is s̃ = fH|q fJ|q (m̃) , as in hypothesis (4) of lemma 7.8. Now consider that equation 7.74 is fulfilled for all m, since H is a solution to solver DIP. In particular it will hold at position s̃. Then, if we rewrite expressions 7.74 and 7.75 at those steps s̃ and m̃ U0 (g) + s̃−1 X OH(l) (g) − IH(l) (g) ≥ IH(s̃) (g) (7.84) OJ(l) (g) − IJ(l) (g) ≥ IJ(m̃) (g) (7.85) l=0 U0 (g) + m̃−1 X l=0 an we check that the LHS of equation 7.84 is smaller than the LHS of equation 7.85, we are sure that equation 7.85 is fulfilled at step m̃, since it is fulfilled in equation 7.84 per hypothesis. Then, we check if the following equation is fulfilled: s̃−1 X l=0 OH(l) (g) − IH(l) (g) ≤ m̃−1 X l=0 OJ(l) (g) − IJ(l) (g) (7.86) 7.4. Equivalence between solvers DIP and CCIP 183 With easy algebraic SCOs is is easy to check that equation 7.86 is satisfied if both equation s̃−1 X OH(l) (g) ≤ l=0 m̃−1 X OJ(l) (g) (7.87) m̃−1 X IJ(l) (g) (7.88) l=0 and equation s̃−1 X IH(l) (g) ≥ l=0 l=0 are satisfied. In virtue of lemma 7.8 the equations above are satisfied. The last lemma deals with a trivial case. That is, when we consider a good g and a step m̃ of the partial sequence J for which g in not an input good to the selected SCO J(m̃). Since g is not an input good, equation 7.75 assume a trivial form. Lemma 7.10. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils constraints (f) of table 7.15 at a step m̃ and at a good g such that IJ(m̃) (g) = 0 Proof of lemma 7.10 The SCO enabled at step m̃ does not require input goods from good g. It is a trivial case since if the equation was enabled at step m̃ − 1 it is enabled at step m̃. At step 1 it is enabled since U0 (g) ≥ 0. In conclusion, we showed that equation 7.76 is fulfilled for every m and for every g when J is the solution sequence. Then we can now give a further lemma: Lemma 7.11. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils constraints (f) of table 7.15. Proof of lemma 7.11 all the possible cases are covered by lemmas 7.10, 7.7, and 7.9. Finally, after proving all the parts of the theorem, we restate it and prove it. Theorem 7.3. Given a partial sequence H, solution to solver DIP, any S-fulfilling reordering J of H fulfils all the constraints of solver CCIP. Proof of theorem 7.1 All the equations are covered by lemmas 7.4, 7.5, 7.6, 7.11 7.4.7 Proof of theorem 7.2 At this point we have to check that the other way around is true, too. That is, given a solution to solver CCIP, this fulfils all the constraints of solver DIP. Proof of theorem 7.2 First, notice that imposing that xm ijk = 0 ∀m 6∈ S([tijk ]) for DIP we obtain the same equations as for solver CCIP, excepting expression (f) of table 7.15. The fact the we do apply the expression only when the position m is associated Chapter 7. Connected Component-based Solver 184 to a SCO belonging to a cycle (m ∈ LF ) creates an asymmetry between the two problems. However, in what follows we show that equation (f) of table 7.15 is automatically fulfilled for J in solver CCIP when m 6∈ LF . We rewrite equation (f) of table 7.15 considering that the solution is J (as in equation 7.75) for a generic step m̃ 6∈ LF to which a SCO t̃ = J(m̃) is associated: U0 (g) + m̃−1 X [OJ(l) (g) − IJ(l) (g)] ≥ IJ(m̃) (g) (7.89) l=0 Per absurd, say that for a solution J of solver CCIP this does not hold: U0 (g) + m̃−1 X [OJ(l) (g) − IJ(l) (g)] < IJ(m̃) (g) (7.90) l=0 Notice that constraint 7.72 enforces that at the end of the sequence the units of good g available must be at least 0: U0 (g) + ℓ X [OJ(m) (g) − IJ(m) (g)] ≥ Uout (g) ≥ 0 (7.91) m=0 Then, if equation 7.90 holds at step m̃, there must exist some SCO t = J(z̃), holding a position z̃ ≥ m̃ in the solution sequence that adds tokens into g (Ot (g) > 0). we have two cases: (1) z̃ = m̃: in this case J(m̃) has a self-loop, and thus J(m̃) belongs to the cycle hJ(m̃), J(m̃)i. (2) z̃ > m̃: In this case J(z̃) is forwardly swapped with J(m̃) in g. From this follows that, in virtue of point (1) of lemma 7.3, J(z̃) ∼ J(m̃). Then, J(m̃) belongs to a cycle. Both of the possibilities contradicts the initial hypothesis m̃ 6∈ LF . Then, we can conclude that any solution to solver CCIP fulfils equation 7.89 when m̃ does not belong to a cycle. 7.5 Conclusions In this chapter we have proposed a representation of the MMUCA WDP that considerably reduces the search space. This is obtained by reducing the space of feasible solutions. We have showed that the pruned solutions can be always reordered into equivalent solutions belonging to the reduced solution space. Such a reduction in the solution space entails a reduction in the size of the search space. Notice also that computing the order enforcing function is computationally easy. In fact, there is a very efficient algorithm to compute the SCCs of the SDG graph (Cormen, 2001). This is an important point to consider. Thus, we managed to divide 7.5. Conclusions 185 the MMUCA WDP problem into two subproblems, and one of those subproblems is solvable in polynomial time. Obviously, the number of decision variables and the size of the search space depend on the size of cycles in a mixed auction net.PIn fact, we showed that the number of required decision variables for CCIP is O( ijk |S −1 (tijk )|). Thus, the bigger the strongly connected components, the more the number of decision variables. In the next section we provide a preliminary empirical test that confirms that the reduction in the search space corresponds to a reduction in the solving time of CCIP with respects to DIP. Finally, notice that when all the SCOs form a unique Strongly Connected Component (i.e. the SDG is connected), DIP and CCIP provide exactly the same ILP model. Whereas when the SCOs do not form any cycle, CCIP is equivalent to the CMWOSPbased solver. Then. we can infer that CCIP perfectly exploits the topology associated to SCOs and generalises both solvers CCIP and DIP. Chapter 8 Empirical Evaluation The purpose of this chapter is to perform a preliminary empirical evaluation of the CMWOSP-based (presented in section 6.1.5), DIP, and CCIP solvers. In fact, our goal is to provide some useful hints on the applicability of MMUCAs. The chapter is structured as follows. In section 8.1, we motivate the experiments provided in this chapter. In section 8.2 we summarise the artificial data set generator for MMUCAs presented in (Vinyals, 2007b), and detail the corresponding algorithm. In section 8.3, we analyse some early, empirical results after: • running and comparing DIP and CCIP solvers on arbitrary network topologies; • running the CMWOSP-based solver on acyclic network topologies1 . Finally, we draw some conclusions in section 8.4. 8.1 Motivation Despite its potential for application, and like CAs, little is known about the practical application of MMUCAs since no real-world data is available to test WD algorithms. Such results are unlikely to come up unless researchers are provided with algorithms or test suites to generate artificial data representative of the auction scenarios a WD algorithm is likely to encounter. In the very recent past, there have been some attempts to empirically evaluate the performances of MMUCA WDP algorithms. In particular, Vinyals et. al. (Vinyals et al., 2007a; Vinyals et al., 2007b; Vinyals, 2007b) carefully analyse the performances of the DIP solver, after providing an algorithm to generate artificial data sets that are representative of the sort of scenarios a WD algorithm is likely to encounter. In those works Vinyals et al. show that DIP scales up to small and medium scenarios depending on the testing parameters. 1 We recall that the CMWOSP-based solver, introduced in section 6.1.5, can only deal with acyclic network topologies. 187 188 Chapter 8. Empirical Evaluation In this chapter, we employ Vinyals’ bid generator algorithm to generate artificial data and subsequently compare the performances of Integer Programming (IP) implementations of the DIP, CCIP, and CMWOSP-based solvers. In appendix A we present those models encoded in the OPL language (see section 2.1.2 and (Van Hentenryck, 1999)). Firstly, we compare DIP and CCIP on arbitrary network topologies. Recall that, as proved in chapter 7, CCIP provides a more concise IP formulation than DIP in terms of both number of decision variables and constraints. In this chapter we empirically quantify the computational cost reduction deriving from the reduction of the number of decision variables. Secondly, we run the CMWOSP-based solver to assess the performances of CCIP on acyclic networks. Notice that our empirical evaluation focuses on a proof-of-concept scenario. Therefore, an accurate quantitative comparison would require a much wider range of scenarios. However, this is left out for future work because it is beyond the scope of this thesis. 8.2 The Artificial Data Set Generator In order to perform our evaluation, we employ a test set generator designed and implemented by Vinyals in her master’s thesis (Vinyals, 2007b), and thoroughly explained in other publications (Vinyals et al., 2007a; Vinyals et al., 2007b). Vinyals et. al present an algorithm to generate artificial data that is representative of the sort of scenarios a winner determination algorithm is likely to encounter and provide a very detailed analysis of the computational performance of DIP. The empirical evaluation contained in this chapter has been developed in close collaboration with Vinyals. In what follows, we summarise the details of the generator proposed by Vinyals et. al. Firstly, we specify the requirements the generator is expected to fulfil, and then we present some implementation details. Since the bid generator is not a contribution of this dissertation, we only briefly summarise some of the bid generator features. The reader that is interested in the bid generator details should refer to the above mentioned publications. 8.2.1 Bid Generator Requirements In order to test and compare MMUCA WD algorithms, researchers must be provided with algorithms or test suites to generate artificial data that is representative of the auction scenarios a WD algorithm is likely to encounter. Hence, WD algorithms can be accurately tested, compared, and improved. Unfortunately, we cannot benefit from any previous results in the literature since they do not take into account the notion of SCO introduced in chapters 4 and 5. In this section, we make explicit the requirements for a bid generation technique considering that in MMUCA agents trade SCOs instead of goods. A naive approach to artificial bid generation would be to create bids uniformly at random. However, this approach would generate unrealistic bids and therefore unrealistic scenarios. Let us consider a random bid b = (1′ (I, O), p). If goods appearing 8.2. The Artificial Data Set Generator 189 in sets I and O are selected uniformly at random, there is little chance that they will represent a realistic SCO. Also, if p is chosen uniformly at random, it will not be related with the actual values of the goods in the sets I and O and consequently the SCO would be either too profitable or too expensive for the auctioneer, unrealistically easing the problem. If individual bids uniformly at random generated may be unrealistic, bundles of random bids also present similar drawbacks. Then, testing WD algorithms on these scenarios is almost useless, because any extracted conclusion cannot be used in real settings. The bid generator has to satisfy a number of requirements to make the artificial bids close to the bids that are likely to appear in a real-world auction. In what follows, we introduce an example to illustrate the requirements the generator must fulfil. Example 8.1. Consider the assembly of a car’s engine, whose structure is depicted in Figure 8.1. In the figure, we employ a graphical representation analogous to Place Transition Nets. Notice that each part in the diagram, in turn, is produced form further components or raw materials. For instance, a cylinder ring (part 8) is produced by transforming some amount of stainless steel with the aid of an appropriate machine. Therefore, there are several production levels involved in the making of a car’s engine. A MMUCA allows to run an auction where bidders can bid over bundles of parts, bundles of SCOs, or any combination of parts and SCOs. Notice that the result of an MMUCA WD algorithm would be an ordered sequence of bids making explicit how bidders coordinate to progressively transform goods till producing engines as final products. Therefore, an MMUCA would allow to assemble a supply chain from bids. Since MMUCAs generalise CAs, as discussed in chapter 5, the approach is to depart from artificial data sets generators for CAs, keeping the requirements summarised in (Leyton-Brown and Shoham, 2006), namely: (1) there is a finite set of goods; (2) certain goods are more likely to appear together than others; (3) the number of goods in a bundle is often related to which goods compose the bundle; (4) valuations are related to which goods appear in the bundle; (5) valuations can be configured to be sub-additive, additive or super-additive in the number of goods requested; and (6) sets of XOR’ed bids are constructed on a per-bidder basis. Notice though that the requirements above must be reformulated, and eventually extended, in terms of SCOs since a bidder in a MMUCA bids over a bundle of SCOs, whereas a bidder in a CA bids over a bundle of goods. Hence, in what follows we discuss the CA requirements listed above reformulated for MMUCA. 190 Chapter 8. Empirical Evaluation Figure 8.1: Components of a car engine. 1. There is a finite set of SCOs. A CA generator bundles goods from a given set of goods to construct bids. What is the set of SCOs from which a MMUCA generator constructs bids? In order to provide a proper answer we must take inspiration on realistic scenarios faced by buyers and providers. If so, within a given market we expect several producers to offer the very same or similar services (SCOs) at different prices, as well as several consumers to require the very same or similar services (SCOs) valued at different prices. In other words, within a given market we can identify a collection of common services that companies request and offer. For instance, in the example in Figure 8.1, several providers may offer to assemble a cylinder through the very same SCO: t = (6′ screws + 1′ cylinder line + 1′ cylinder rig + 1′ cylinder head, 1′ cylinder) Eventually, a provider may either offer to perform such SCO several times (e.g. as many times as cylinders are required), or to bundle it with other SCOs, or the two. Hereafter, we shall consider the common goods and services in a given market to be represented as a collection of SCOs that we shall refer to as market SCOs. Therefore, market SCOs are equivalent to the goods in a combinatorial auction, that is the object providers and buyers can request and offer. Hence, bids for MMUCAs shall be composed as combinations of market SCOs. In this generator, the set of market SCOs is always finite and includes at least two market SCOs for every good in G, ensuring that every good is individually available to buy and/or sell. As an example, Figure 8.2 depicts a sample of market SCOs if intending to build the car engine in Figure 8.1. 8.2. The Artificial Data Set Generator 191 Figure 8.2: Market SCOs for a car’s engine. 2. Certain SCOs are more likely to appear together than others. In any market, services and goods are related to each other. For example, the production process for a good can also generate some by-products that can be sold with it or used in another industrial process. Also, some services or products are usually bought together by the final customer. 3. There could be multiple copies of similar SCOs in a bundle. Since bids are composed as combinations of market SCOs, we must introduce the notion of SCO multiplicity as the counterpart of good multiplicity (the number of units of a given good within an offer or a request). Say that in a CA a bidder submits a bid for the goods in multi-set {2′ engine + 1′ piston}. It is clear that the multiplicity of good engine in this bundle is two, whereas the multiplicity of good piston is one. When SCOs are considered things change slightly. In fact, there are two ways to assign a multiplicity to SCOs, one is repeating the SCO several times , and the other one is to simultaneously increase the required input goods and produced output goods while maintaining the same input/output ratio. For instance, consider the following supply chain operation t = (3′ a, 2′ b) = (It , Ot ) (8.1) Then, we could repeat three times it either offering three times operation t, namely: D = 3′ t = 3′ (3′ a, 3′ b) (8.2) or triplicating both the input and output goods: D = (3 · It , 3 · Ot ) = (9′ a, 6′ b) (8.3) Chapter 8. Empirical Evaluation 192 Notice that the semantics of the two types of multiplicity are different. On the one hand, equation (8.2) means that three copies of the same SCOs are offered and can be separately used at three different steps of the solution sequence. On the other hand, equation (8.3) implies that the three copies must be employed at the very same step. That is, while in the former case there can be three different steps in the solution sequence in which 3 copies of “a” are available, in the latter case the bidder needs nine copies if “a” available at a given step to perform the operation. Then, we will refer to the multiplicity intended as in equation (8.3) as repetition multiplicity, whereas to the one in equation (8.2) as component-wise multiplicity. 4. Valuations are related to which SCOs appear in the bundle; furthermore SCO valuations keep consistency with respect to bidder valuations for goods involved in each SCO. A further issue has to do with the way bidders value SCOs and bundles of SCOs. Notice that performing a SCO to assemble the engine in Figure 8.1 results in a new product that has more market value than its parts. Therefore, a car maker values the SCO according to his expected benefits, namely the difference between the expected market value of the engine and the cost of its parts. Therefore, if the parts cost $850 and the expected market value of the engine is $1000, the car maker should be willing to offer to pay less than $150 for the SCO. On the other hand, any provider is expected to request less than $150 in order to perform the SCO. In general, buyers and providers in a MMUCA should value a SCO on the basis of the difference between the expected market value of its output goods and the cost of its input goods. Notice though that we are not assuming here that such difference must always be positive. Likewise bidders should value bundles of SCOs considering the values of SCOs included in it. 5. Appropriate valuations can be configured to be sub-additive, additive or super-additive in the number of SCOs requested. This requirement tries to capture the multiplicity-based (volume- based) discounts policies that are applied in real world. Significant discounts are applied in real markets when goods and services are traded at certain number of units. For example in figure 8.1, we observe that screws are usually traded in higher quantities than full engines. Thus, not surprisingly the same (percentage) discount may apply to an offer for 100 screws than to an offer for 5 engines. Hence, an offer to produce more than 5 engines, being more unlikely, should reflect higher discounts. 6. Sets of XOR’ed bids are constructed on per-bidder basis. We recall from chapter 5 that when a bidder submits different bids in XOR he declares that they are mutually exclusive offers. For example, the following offer BID 1 (1 ′ (1′ engine, ∅), 100) BID 2 (1 ′ (2′ engine, ∅), 190) XOR (8.4) (8.5) stands for a bidder that offers to buy two engines or one engine but in any case three engines. On the other hand when a bidder expresses complementarity he translates the OR bids as XOR bids. For example if a bidder wants to buy one engine or one cylinder 8.2. The Artificial Data Set Generator 193 he submits the following XOR-bid: BID 1 (1 ′ ′ (1′ engine, ∅), 100) XOR ′ (1 cylinder, ∅), 30) XOR ′ ′ BID 3 (1 (1 cylinder + 1 engine, ∅), 120) BID 2 (1 ′ (8.6) (8.7) (8.8) As you can observe in both cases bids submitted in the same XOR bid are likely to have similarities and, consequently, combining bids into XOR bids uniformly at random does not capture this property. 7. Unrequested goods by the auctioneer may become involved in the auction. Finally, we add a last requirement that stems from the fact that, unlike auctioneers in CAs, not all goods involved in a MMUCA must be requested by the auctioneer. Back to our example of a car maker in need of engines depicted in Figure 8.1, it can run a MMUCA only requesting engines. Thereafter, bidders may offer already-assembled engines, or other goods (e.g. parts like crankcases, crankshafts, or screws) that jointly with SCOs over such goods help produce the requested goods. Figure 8.3: Modules of the bid generator and their interaction. 8.2.2 An Algorithm for Artificial Data Set Generation In what follows we describe a bid generation algorithm that automates the generation of artificial data sets for MMUCA while capturing the requirements above. The algorithm’s purpose is to generate MMUCA WDP (each one composed of a collection of XOR bids and the set of goods available to and requested by the auctioneer) that can be subsequently fed into an MMUCA WD algorithm. The algorithm starts by generating the set of goods involved in MMUCA. Next, it generates the goods the auctioneer requests. After that, it creates a subset of atomic SCOs, which are the 194 Chapter 8. Empirical Evaluation market SCOs to employ for bid generation. Thereafter, it generates bids as linear combinations of market SCOs, which are subsequently priced according to a pricing policy. The resulting bids are further composed into XOR (mutually exclusive) bids because the XOR language is fully expressive (as proved in section 5.3.6). Hence, the bid generation algorithm2 assumes that each bidder formulates a single XOR bid, being the number of bidders equal to the number of XOR bids. In figure 8.3 we depict the different modules of the generator and their interaction (Vinyals, 2007a). Good Generation. This process requires the number of different goods (ngoods ) involved in an auction along with the maximum price any good can take on (maxP rice). Based on these values, it assesses for each good g: (1) its average market price (µg ) drawn from a uniform distribution U [1, maxP rice] where maxP rice stands for the maximum market price any good can take on; and (2) the distribution to assess its multiplicity, or more precisely, the success probability (ggeometric ) of a geometric probability distribution from which the good multiplicity can be drawn. Requested Goods Generation. This process assesses the number of units of each good the auctioneer requests, namely the multiset Uout . Since the auctioneer must not request all goods, this process selects a subset of the goods in G to be part of Uout . Firstly, it determines whether a good g is requested by the auctioneer by comparing the value drawn from a uniform distribution U [0, 1] with pgood requested , the probability of adding a new good to Uout . Once a given good g is included in Uout , the number of units requested for g is drawn from a geometric distribution with the success probability ggeometric obtained by the good generation process. Notice that by selecting a subset of the goods we fulfil the requirement 7 listed in section 8.2.1 unrequested goods by the auctioneer may be involved in the auction. Market SCOs Generation. This process generates a finite set of SCOs to be employed as the building blocks to subsequently compose bids and consequently fulfilling requirement 1 listed in section 8.2.1. For each good, this procedure constructs two market SCOs, one with only input goods (I-SCO) and one with only output goods (O-SCO). Each SCO involves a single good with multiplicity one. For instance, ({engine}, {}) and ({}, {engine}) stand respectively for the I- SCO and O-SCO for good engine. After that, the algorithm generates a limited number of market SCO (IO-SCOs) with both input and output goods (nIO market SCOs ). In order to generate each market IO-SCO, this procedure chooses the goods to include in its input and output set employing the probabilities of adding some good to the input and output set respectively (pgood in input and pgood in output ). Whenever a good is included to either the input or output set, its multiplicity is calculated from a geometric distribution parametrised by ggeometric . Finally, we attach to each market SCO a probability distribution to draw its component-wise multiplicity. It is assumed that the bid generation process, detailed by algorithm 1, uses a geometric distribution to calculate the component-wise multiplicity of each market SCO. Hence, the generation of market SCOs assesses the success 2 Here we only provide the bid generation algorithm. The interested reader must refer to (Vinyals, 2007b) for a complete description of all algorithms required by the artificial data set generator. 8.2. The Artificial Data Set Generator 195 probability to be employed by such geometric distributions, namely the probability of adding an extra unit of a SCO already included in a bundle bid. Thus, each SCO t is assigned a success probability tgeometric . However, success probabilities cannot be uniformly at random generated because SCOs are defined over multisets of goods, and therefore consistency must be kept with respect to the success probabilities assigned to each good by the good generation process. Therefore, the success probability for each SCO is set as follows. Given a SCO t = (I, O), for each good g involved in the SCO, The success probability of t is set to: |m (g)−m (g)| I O tgeometric = min ggeometric g∈G (8.9) where mI (g) (respectively mO (g)) stands for the number of occurrences of g in I (respectively O). Bid Generation. The bid generation algorithm (algorithm 1) generates bids that are subsequently combined into XOR bids, each one encoding the offer or request of a bidder. This process makes explicit: (1) which SCOs and how many of them to offer/request in a bundle; (2) how to price the bundle; and (3) which bids to combine in an XOR bid. In what follows we detail each of this functions: (1) Selecting the SCOs requested in a bundle and their multiplicities. Firstly, for each XOR bid (XORBid ) the algorithm composes each bid (Bid ) by combining the market SCOs (M T S ) returned by the market SCO generation process. The number of market SCOs (nT ransf Bid ) to compose each bid is obtained from a normal distribution N (µadd new SCO , σadd new SCO ) (line 12). Market SCOs are chosen from the set of market SCOs (M T S ) and their component-wise multiplicity in the bundle bid is obtained from a geometric distribution with success probability tgeometric (line 15-16). By assessing the number of units to include in a bundle using a probabilistic distribution that depends on each SCO we partially fulfil requirement 3: there could be multiple copies of similar SCOs in a bundle. In fact, in this way SCOs repeated as in equation (8.3) are likely to appear. In this way the authors provide a repetition multiplicity associated to SCOs as well. We also consider that, given an existing bundle, not all SCOs are equally likely to be requested because certain SCOs (for which complementarities hold) will be more likely to appear together than others, as stated by requirement 2 in section 8.2.1. To ease these complementarities we assume that the probability of adding a new market SCO to an existing bundle only depends on the last SCO added and not on the whole bundle (Markov property). It is clear that different copies of the same SCOs may be included in the solution. That is, we may have repetitions of SCOs (as the one in equation (8.2)). Then, requirement 3 is completely fulfilled. Chapter 8. Empirical Evaluation 196 (2) Pricing the bundle. Next, the algorithm prices the SCO according to its component-wise multiplicity (lines 17-21). To fulfil valuations requirements listed in section 8.2.1, a pricing policy must provide the means to price a good, Algorithm 1 Bid Generation(M T S, nXOR bids , µ, σprices , µadd new XOR clause , σadd new SCO , µadd new SCO , σadd new SCO , α) 1: for g = 1 to ngoods do 2: for b = 1 to nXOR bids do 3: pprices bid [b, g] ← µ[g] · N (1, σprices ) 4: end for 5: end for 6: Bids ← ∅ 7: for b = 1 to nXOR bids do 8: XORBid ← EmptyXORBid() 9: nXORClauses ← N (µadd new XOR clause , σadd new XOR clause ) 10: for x = 1 to nXORClauses do 11: Bid ← EmptyCombinatorialBid() 12: nT ransf Bid ← N (µadd new SCO , σadd new SCO ) 13: if x == 1 then 14: for t = 1 to nT ransf Bid do 15: M T ← Select a SCO using Markov model from M T S with state M T 16: multiplicity ← Geometric(M T.tgeometric ) bid B. 17: T.inputs ← M T.inputs · multiplicity 18: T.outputs ← MP T.outputs · multiplicity P pprices bid [b, g] − 19: T.price ← pprices bid [b, g] g∈T.outputs 20: g∈T.inputs pof f er ← (T.tgeometric )multiplicity 1−pof f er 21: discount ← α 1−e 1−e 22: Bid.t ← Bid.t ∪ T 23: Bid.price ← Bid.price + T.price · (1 − discount) 24: end for 25: else 26: model ←Uniformly At Random generate a number between 1 and x-1 27: Bid ← XORBid(model) 28: if nT ransf Bid ≥ length(XORBid(model).t) then 29: Bid ← removeRandomT ransition(Bid) 30: Bid ← recalculateP rices(Bid) 31: end if 32: if nT ransf Bid ≤ length(XORBid(model).t) then 33: Bid ← addRandomT ransition(Bid) 34: Bid ← recalculateP rices(Bid) 35: end if 36: end if 37: XORBid ← XORBid ∪ {Bid} 38: end for 39: Bids ← Bids ∪ {XORBid} 40: end for 41: return Bids 8.2. The Artificial Data Set Generator 197 a SCO, multiple units of the very same SCO, and a bundle of SCOs in a realistic manner. As to pricing goods, in order to vary prices among bidders, the algorithm generates a price for bidder b for good g, represented as pprices bid [b, g], from a normal distribution N (µ[g], σprices ), where µ[g] stands for good g’s average price in the market and σprices for the variance among bidders’ prices (lines 2-4). Thereafter, a SCO’s price for bidder b is assessed in terms of the difference from his valuation of its output goods with respect to his valuation of its input goods (line 19). Accordingly, SCO valuations keep consistency with respect to bidder valuations for goods involved in each SCO as stated by requirement 5 in section 8.2.1. Each bid valuation is obtained by adding the prices of its SCOs (line 23). Hence valuations are related to which SCOs compose the bundle as stated by requirement 6 although varying among different bidders. Furthermore we propose to introduce super-additivity by applying multiplicity-based discounts to SCOs addressing the requirement that valuations can be configured to be sub-additive, additive o super-additive in the number of SCOs requested. In other words, as a general rule, the more unlikely for a SCO to be traded at certain units (multiplicity), the higher the discount to apply to its overall price. In this way we try to capture in a realistic manner the way multiplicity-based (volume-based) discounts are applied in the real world. Therefore, given SCO t, we firstly assess the probability pof f er of the SCO to be traded with component-wise multiplicity m from a geometric distribution with success probability tgeometric as follows: pof f er = tgeometric multiplicity (line 20). Secondly, we compute the discount 1−pof f er . Indeed, in this way to apply (discount) as follows: discount = α 1−e 1−e we manage to apply higher discounts to more unlikely offers within the range [0, α]. Notice too that setting α to zero leads to no discounts, and thus to no super-additivity. (3) Which bids to combine in an XOR bid. Finally, after creating each bid, the algorithm adds it to the XOR bid under construction (line 37). The number of bids that compose an XOR bid is obtained from a normal distribution N (µadd new XOR clause , σadd new XOR clause ) (line 9). We consider here requirement 7 listed in section 8.2.1 and since different bids in XOR-relationships stand for different alternatives or options for the bidder we propose to generate similar bids for the same XORBid. The first bid of each XORBid is generated uniformly at random (lines 13-24) whereas the rest of bids are created applying some modifications over one existing bid in the bundle (lines 25-36). The number of modifications depends on the difference between the number of SCOs assigned to the new bid and the existent one: • if it is less we remove randomly one SCO; • if it is greater we add uniformly at random new SCOs; and • if it is equal we apply once both operations. In all cases we finally recalculate the prices following the proposed price policy. Hence the requirement that sets of XOR’ed bids are constructed on a per-bidder basis is fulfilled. Chapter 8. Empirical Evaluation 198 ngoods nIO market SCOs max price σprices pgood requested µadd new SCO σadd new SCO µadd new XOR clause σadd new XOR clause pgood in input pgood in output α p ISCOs p OSCOs allow cycles 20 n SCOs/3 100 0.05 0.3 1.0 0 1.0 0 0.2 0.1 0.1 0.6 0.1 1 Table 8.1: Artificial generator parameter values. 8.3 Empirical Evaluation In this section, we firstly provide a preliminary comparison of DIP and CCIP on arbitrary supply chain network topologies. Next, we run the CMWOSP-based solver on acyclic network topologies. 8.3.1 DIP versus CCIP In what follows, we provide a preliminary experiment to quantitatively assess the size of the supply chain formation scenarios that CCIP allows to solve compared to DIP. According to (Hillier and Lieberman, 1986), the number of decision variables is a good index of the difficulty of an optimisation problem (although not the only one). Since the number of decision variables of both DIP and CCIP depend on the number of SCOs within the submitted bids, in order to compare their computational performances and to analyse their scalability, we have chosen to observe their solving times as the number of SCOs increases. In order to compare the DIP and CCIP MMUCA WD algorithms, we have employed randomly generated MMUCA WDPs using the artificial data set generator presented in section 8.2. We have set the generator parameters for this experiment as listed in Table 8.1. We ran our experiments as follows. We generated MMUCA WDP instances with SCOs within the range [0, 300]. We sampled the interval to generate 50 WDP instances every 20 SCOs. Both solvers DIP and CCIP were fed with the very same WDP instances. We solved each WDP instance using implementations of both solvers on CPLEX 10.1 (ILOG, 2007), recording both the solutions and solving times. Moreover, we set a maximum time limit to 4800 seconds for each solver to find a solution for each WDP instance. Whenever any of the solvers exceeded the time limit, we marked the WDP as time exceeded and assigned. After that, we set its solving time to the time 8.3. Empirical Evaluation 199 Figure 8.4: Comparison between DIP and CCIP. limit to subsequently record it. Notice that we only considered feasible WDP instances to calculate solving times since the time required by CPLEX to prove unfeasibility is (usually) significantly lower than the time required to find an optimal solution. Finally, we ran all tests on a Dell Precision 490 with double processor Dual-Core Xeon 5060 running at 3.2 GHz with 2Gb RAM on a Linux 2.6. Figures 8.4 and 8.5 summarise the results of this experiment. Figure 8.4 depicts the median of the solving times obtained when varying the number of SCOs. Figure 8.5 shows for both DIP and CCIP the number of instances that have been solved within the time limit. Then, given a time limit, CCIP was able to solve problems with more than twice the number of SCOs than DIP did solve. Indeed, whereas 120 represents the empirical limit (∼50% of solved instances) on the number of SCOs for DIP, CCIP starts reaching the time limit when solving WDP instances containing more than 250 SCOs. Furthermore, for WDPs with close to 100 SCOs, DIP is in median about 70 times slower than CCIP. This ratio rapidly increases as the number of SCOs gets close to 120 in the presented scenario. The observations stemming from this experiment are very promising. They indicatethat we can obtain substantial reductions in the solving time when employing CCIP instead of DIPdepending on the features of the scenario. The search space reduction obtained with solver CCIP translates into a significant decrease in computational solving time complexity. Chapter 8. Empirical Evaluation 200 Figure 8.5: Number of instances solved within the time limit (4800 sec.). 8.3.2 Performances of the CMWOSP-based solver In this section we aim at testing the performances of the CMWOSP algorithm (that can be used only when the Mixed Auction Net is acyclic). Recall that (section 7.3.3) at the theoretical level the CMWOSP-based and CCIP solvers are equivalent when the Mixed Auction Net is acyclic. However, if we employ CCIP we should compute the strongly connected components beforehand. In this case, since we a-priori know that the Mixed Auction Net is acyclic, we directly employ the CMWOSP-based solver. We have run this experiment as described in section 8.3.1, but enforcing the bid generator to build instances with no cycles. Figure 8.6 shows the CPU time required to solve problem instances on acyclic nets for the CMWOSP-based solver. Notice that the axis time scale in figure 8.6 is nearly four orders of magnitude smaller than in figure 8.4. Hence, cycles in the mixed auction net may lead to a significant increase in computational cost. 8.4 Conclusions In this chapter we presented a preliminary empirical comparison of the CMWOSPbased, DIP and CCIP solvers. Firstly, we compared DIP and CCIP on any type of 8.4. Conclusions 201 0.35 CMWOSP solver Median Solving Times (sec.) 0.3 0.25 0.2 0.15 0.1 0.05 0 40 60 80 100 120 140 160 180 200 Number of SCOs 220 240 260 280 300 Figure 8.6: Experiments with acyclic network topologies (reduced time scale). network topology. Next, we empirically assessed the performances of the CMWOSPbased solver on acyclic Mixed Auction Nets. In chapter 7, we proposed CCIP, a solver that dramatically improves the computational efficiency of DIP by taking advantage of the topological characteristics of WDPs. At the theoretical level, we proved that CCIP brings a drastic reduction in the number of decision variables required to solve the WDP. In this chapter, we have empirically observed that in the presented scenario CCIP: (1) can deal with WDPs with more than twice SCOs than DIP; (2) can significantly reduce the computation time (by a factor larger than 70). Finally, we observed that in the considered parameter setting the CMWOSP-based solver is four orders of magnitude faster in solving acyclic instances than DIP and CCIP in solving instances produced by Vinyals’ generator. Chapter 9 Conclusions and Future Work In this chapter, we draw some conclusions about the work developed in this dissertation and we show some open paths to future development. 9.1 Conclusions Most of the currently studied and employed combinatorial auctions deal with the negotiation of goods, disregarding eventual production relationships holding among them. The information about such relationships helps improve the outcome of a negotiation. In order to fill this gap, we introduced two novel combinatorial auction extensions that help in determining the revenue-maximising strategy for partner selection in supply chain network design and planning. The former, called Multi Unit Combinatorial Reverse Auctions with Transformability Relationships among Goods (MUCRAtR), copes with make-or-buy decisions. The latter, called Mixed Multi-unit Combinatorial Auctions (MMUCA), deals with make-or-buy-or-collaborate decisions. Below, we separately summarise our two contributions. 9.1.1 Make-or-Buy Decisions In chapter 1, we thoroughly described the requirements that must be fulfilled in order to solve make-or-buy decision problems. Since we built upon combinatorial auctions, we also explained the of CAs limitations that hinder their application to our problem. In table 9.1 we recall both the requirements and the corresponding CAs limitations associated with the make-or-buy decision problem. We observed that all the CAs limitations stem from the fact that they can neither express nor represent an auctioneer’s internal manufacturing operations. The first requirement hindering the application of CAs to our problem is that they can neither represent internal manufacturing operations nor the producer/consumer relationships among them. In order to apply CAs to solve the make-or-buy decision problem, we provided a formal framework to represent internal manufacturing operations. At this aim we decided to employ Place/Transition Nets (PTNs) (Reisig, 1985) because: 203 204 Chapter 9. Conclusions and Future Work Requirements CAs MUCRAtR express a request on bundles of goods X X express an auctioneer’s initial stock X express producer/consumer relationships among internal operations X specify an auctioneer’s final requirements X express relationships among manufacturing operations, auctioned goods, and received bids X 6 formally and graphical represent the search space associated to the auctioneer’s decision problem X 7 specify the auctioneer’s internal cost structure X 8 information about which in-house operations to perform and in which order X 1 2 3 4 5 Table 9.1: Requirements of to the make-or-buy problem. (1) they naturally help us capture the notion of manufacturing operation; (2) they have a well-defined semantics that can naturally accommodate the notion of sequence of operations and consumer/producer relationships; (3) they have an integrated description of both states and actions to characterise the search space where operations occur; (4) they have a large number of formal analysis methods that allow the investigation of structural and behavioural (dynamic) properties of the net; and (5) they have a graphical representation that is intuitively very appealing to study problems related to the topology of the supply chain. Thus, we modelled the internal production structure of an auctioneer by means of a PTN, that we referred to as P T NI . Not only does this formal representation allow us to describe the quantity of resources either produced or consumed by a manufacturing operation, the producer/consumer relationships among operations, and the quantity of goods available to an auctioneer after each operation, but it also allow us to express preconditions over a manufacturing operation by means of a firing rule. By the application of the firing rule, we impose that a manufacturing operation can only be run if its input goods are available. This property is critical for the correct representation of a production process: the implementation order of a production process is constrained by the availability of resources at each step. Then, a P T NI completely specifies an auctioneer’s internal manufacturing operations and the producer/consumer relationships among them (requirement (5) in table 9.1). Moreover, a P T NI allows an auctioneer to specify his requirements and communicate them to bidders (requirement (4) in table 9.1). This is obtained by specifying a configuration (marking) to end up with. If an auctioneer communicates to a set of bidders his P T NI along with a description of the final state of such PTN describing his requirements, then the bidders can infer all the possible configurations of offers fulfilling such requirements. 9.1. Conclusions 205 Next, in order to express the relationships among internal manufacturing operations, auctioned goods, and received bids ( requirement (3) in table 9.1), we incorporated the received bids into P T NI . At this aim, we exploited the fact that a bid that offers goods can be regarded as a transition (bid transition) that injects tokens into P T NI . Unlike transitions corresponding to manufacturing operations, bid transitions do not consume input resources and can be fired only once. The P T NI augmented with bid transitions was called P T NE (where E stands for Extended). By means of a P T NE , an auctioneer can compactly express all the possible outcomes of any of his possible decisions. By decision we mean the selection of bids together with a sequence of internal operations to perform. Thus, a P T NE both formally and graphically represents the search space associated to the auctioneer’s decision problem (requirement 6 in table 9.1). We successfully linked bids, manufacturing operations, and goods at auction, and we fully represent all the possible decisions an auctioneer may take in a unified representation. However, the goal of the auctioneer is not only to find a feasible outcome, but also to find an outcome that minimises his costs. Thus, an auctioneer needs to quantify the cost associated to each decision. With this aim, he has to associate a cost to the selection of a bid, and a cost to the performance of a manufacturing operation. Unfortunately, in their original definition, place transition nets do not incorporate the notion of cost associated to the firing of a transition. Then, we defined a new type of Place Transition Net, the so-called Weighted Place Transition Nets (WPTN), to express the notion of cost associated to transition firings or to the firing of sequences of transitions. Then, we transformed both P T NI and P T NE into WPTNs by associating to each operation transition the cost of the corresponding manufacturing operation and to each bid transition the bid cost. The resulting WPTNs were called Transformability Network Structure (TNS) and Auction Net respectively: a TNS completely describes an auctioneer’s internal manufacturing operations, whereas an Auction Net compactly represents the set of possible auctioneer’s decisions along with the corresponding cost. Then, Transformability Network Structure and Auction Net allow the auctioneer to express his internal cost structure and to incorporate it into his decision problem (requirement (7) in table 9.1). The auctioneer needs to select the set of offers along with the sequence of internal manufacturing operations to perform that minimise his costs and allow him to obtain his final requirements (point (8) in table 9.1). With this purpose, we defined the auctioneer’s decision problem as an optimisation problem on the Auction Net. Thus, we introduced a new type of reachability problem over WPTNs, and called this new optimisation problem the Constrained Maximum Weight Occurrence Sequence Problem (CMWOSP). Intuitively, this optimisation problem involves finding an optimal cost sequence of transitions on a WPTN that leads to a final state which fulfils some constraints. Additionally, we provided an important result on the CMWOSP. We showed that the CMWOSP can be solved by means of Integer Programming on acyclic WPTNs, namely on WPTNs that do not contain any directed cycle. The CMWOSP perfectly captures the semantics of the auctioneer’s decision problem in a MUCRAtR: to find the set of bid and operation transitions that minimises 206 Chapter 9. Conclusions and Future Work an auctioneer’s revenue. Thus, we formalised the auctioneer’s decision problem in a MUCRAtR as a CMWOSP on the Auction Net. Two major benefits, and therefore contributions, stemmed from the formalisation of the MUCRAtR WDP by means of a CMWOSP: (1) the CMWOSP provides as a result both the set of bids to accept and the sequence of operations to perform in order to obtain the auctioneer’s final requirements (requirement (8) in table 9.1); (2) the make-or-buy decision problem can be solved by means of Integer Programming for a large class of supply chain network topologies (acyclic). Summarising, we provide to the auctioneer with a formalism to express his requirements and communicating them to bidders; and a rule for determining the optimal allocation, i.e. the set of winning bids and the sequence of internal operations to perform. In this way we provide a solution to all the requirements needed for extending combinatorial auctions for dealing with the make-or-buy decision problem. The solution to the WDP that we provide can be employed as a decision support system in different settings: • Combinatorial auctions. As a winner determination solver in a MUCRAtR. • Negotiation. A buyer, after receiving a set of offers from his providers, can compute the best offers and eventually counter-offer. • What-if supply chain analysis. A buyer, aware of the prices and capacities of his providers, can test different configurations of his supply chain. Summary of MUCRAtR contributions To summarise, the main contributions related to the make-or-buy decision problem are: • MUCRAtR, an extension of combinatorial auctions that allows dealing with make-or-buy decision problems in scenarios characterised by combinatorial preferences. This new auction type provides an auctioneer with a framework to optimise his outsourcing strategy. • Weighted Place Transition Nets (WPTN), an extension of Place Transition Nets. In WPTNs it is possible to associate a weight (cost) to the firing of each transition. WPTN is a formal framework introduced to represent the MUCRAtR space of auctioneer’s decisions and associated revenues. • Constrained Maximum Weighted Occurrence Sequence Problem (CMWOSP), a new reachability problem defined on WPTNs. It formalises the problem of selecting a cost-maximising sequence of actions leading from an initial state to a set of possible final states. • ILP solution to the CMWOSP. We prove that the CMWOSP can be solved by means of ILP when the underlying WPTN is acyclic. We obtain this contribution by exploiting results imported from the literature on Place Transition Nets. 9.1. Conclusions 207 • Formalisation of the MUCRAtR WDP as a CMWOSP on an Auction Net. We show that CMWOSP perfectly captures the features of the auctioneer’s decision problem in a MUCRAtR. This results provides three important benefits: (1) an ILP formulation for a wide class of MUCRAtR WDPs (acyclic); (2) a formalism (PTN) to analyse the decision problem; and (3) the result of the WDP provides both the set of selected bids and the sequence of operations to perform. 9.1.2 Make-Or-Buy-Or-Collaborate In the second part of this dissertation we dealt with the make-or-buy-or-collaborate decision problem. As thoroughly explained in section 1.4.2, most of the requirements arising in the make-or-buy-or-collaborate decision problem are currently not supported by state-of-the-art methodologies and tools. In table 9.2 we summarise the requirements and the limitations of two state-of-the-art solutions, namely combinatorial auctions and task dependency networks. MMUCA In order to overcome such limitations, we introduced an extension to combinatorial auctions, called Mixed Multi-unit Combinatorial Auctions (MMUCA), that fulfils all the requirements of this decision problem. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Requirements express an offer/request on bundles of goods express an offer of a SCO with a single output product express an offer of a SCO with multiple output products express a request of a SCO express the offer/request of a bundle of SCOs express combinations of bids express the min/max number of times SCOs are performed express resource sharing express an auctioneer’s initial stock express the auctioneer’s final requirements support acyclic supply chain networks support cyclic supply chain networks compute the scheduled sequence of SCOs to perform ensure computational tractability while preserving optimality solve SCF decision problem solve the make-or-buy-or-collaborate decision problem formally represent the search space graphically represent the search space assess the computational tractability based on the problem structure CAs X TDN X X X X X Table 9.2: Requirements of the make-or-buy-or-collaborate problem. MMUCAs support the trading of operations across the supply chain: from the supply and demand of components to the supply and demand of manufacturing operations Chapter 9. Conclusions and Future Work 208 or services. With the aim of making MMUCA operative: (1) we provided a formal language allowing bidders to express offers and requests over supply chain operations; and (2) we formalised the optimisation problem faced by an auctioneer aiming at selecting the subset of the offered supply chain operations maximising his revenue. As to the formal language, we introduced a general-purpose concept that can represent any operation or service negotiated across the supply chain by any supply chain stakeholder, the so-called supply chain operation (SCO). The characterising features of SCOs are the required and consumed input resources and the output resources produced by the service. According to requirements (1-8) in table 9.2, the different actors involved in a MMUCA require a language to express the offer/request of supply chain operations. Then, we extended traditional bidding languages in the literature to deal with SCOs. Bidding Language We set SCOs as the atomic entities that can be negotiated across a supply chain. Building upon such building blocks, we defined a new bidding language that allows bidders: (1) associating a value to bundles of SCOs within an atomic bid; and (2) combining atomic bids into complex expressions encoding a wide variety of preferences over SCOs. The provided bidding language generalises state-of-the art bidding languages and provides supports to express bids in the following auction types: • Multi-unit combinatorial auctions, where there may be several indistinguishable copies of the same good available in the system. • Double auctions where there are multiple buyers and multiple sellers. We integrate direct and reverse auctions, i.e. the auctioneer will be able to both sell and buy goods within a single auction. Or considering the bidders’ point of view, a bidder can submit both offers and demands on sets of goods. • Combinatorial exchanges. Combinatorial case of double auctions. In this auction type both buyers and seller submit combinatorial bids. • Multi-unit Combinatorial Reverse Auctions with Transformability Relationships among Goods (MUCRAtR). We integrate the notion of internal manufacturing operation into MMUCAs. • Combinatorial auctions (Walsh et al., 2000). for supply chain formation introduced in 9.1. Conclusions 209 The novelty of our bidding language with respect to the above-mentioned auction types is that we further extend the idea of manufacturing operations by allowing agents to also bid for supply chain operations. Since in our language a bidder is allowed to bid over bundles of supply chain operations, such language captures potential complementarities among such operations. This extension offers a higher degree of expressiveness and allows to generalise bidding languages for the above-listed auction types. Summarising, the proposed bidding language can express several types of complex bids and allows for bids on bundles of SCOs. By means of the introduced bidding language we overcome requirements (1-8) in table 9.2. The Winner Determination Problem As to the Winner Determination Problem, we cannot rely on previous definitions in the literature. According to requirement (13) in table 9.2, and similarly to MUCRAtR, a new dimension comes into play: the order among SCOs. For this reason, we provided a new and general definition of winner determination problem that builds upon our SCO-based bidding language. The WDP describes the rules to: • select the winning bids that maximise an auctioneer’s revenue; and • assess the execution order of the SCOs contained in the winning bids. Notice that the winning bids are those that: • they fulfil the constraints specified by bidders via the bidding language; • they maximise the auctioneer revenue. and the sequence of SCOs representing the execution order is such that: • it contains all and only the SCOs included in the winning bids; • it is implementable, i.e. each SCO in the sequence must have its required inputs available at the position where it is scheduled; and • it produces at its end at least the set of goods required by the auctioneer. Observe that the order in which agents consume and produce goods is of central importance in our model and affects the definition of the winner determination problem. The rule to assess the set of winners provides a solution to requirements 10, 13, 15, and 16 in table 9.2. By including the constraint that the goods available after running all the selected supply chain operations are the ones specified by the auctioneer, we provided a solution to requirement (9) in table 9.2. Since the definition does not depend on the particular topology of the supply chain network, we provided a solution to requirement (11-12) in table 1.2. The new WDP definition extends and generalises the definition of winner determination for: • Multi-unit combinatorial auctions 210 Chapter 9. Conclusions and Future Work • Double auctions • Combinatorial exchanges • MUCRAtR • Combinatorial auctions for supply chain formation Thus, we provided both a bidding language and a definition of winner determination problem that extends and generalises all the above-mentioned auction types. The bidding language along with the winning rule fully characterises Mixed Multi-unit Combinatorial Auctions (MMUCAs). A mathematical framework for the MMUCA WDP Analogously to the MUCRAtR WDP, we provided a mapping of the MMUCA winner determination problem to a Constrained Maximum Weight Occurrence Sequence Problem on the Mixed Auction Net. Via this mapping, we obtained the same advantages as in the case of MUCRAtR: (1) the solution is expressed as a sequence of SCOs; (2) we provide a formal framework to analyse the properties of the decision problem; and (3) we obtain an ILP-based formulation of the MMUCA WDP for acyclic Mixed Auction Nets. The Mixed Auction Net provides a formalism to reason about MMUCAs, and therefore also about all the WDPs associated to auctions subsumed by MMUCA (requirements (17-18) in table 9.2). In particular, we showed that the Mixed Auction Net subsumes the TNS and the Transformability Network Structure (Walsh and Wellman, 2003). Solving the MMUCA WDP In this dissertation we provided three different IP solvers for computing the solutions to the MMUCA WDP. The first one is based on the mapping to CMWOSP. This solver deals with acyclic supply chain network topologies. The second one (DIP) was directly built upon the definition of MMUCA WDP and applies to arbitrary network topologies. The third one (CCIP) improves the performances of the second solver by exploiting some domain knowledge. The CMWOSP-based Solver. By mapping to CMWOSP we obtain an ILP-based formulation of the MMUCA WDP with integer programming for a wide class of WPTN topologies. The DIP Solver. We showed that restricting the Mixed Auction Net to be acyclic is a significant limitation in some scenarios: it does not allow representing cyclic operations, resource sharing, and so on. We provided a new IP formulation, called Direct Integer Programming (DIP) solver, that is directly built upon the definition of MMUCA WDP. DIP solves the WDP associated to any supply chain network topology, thus broadening the classes of solvable problems. 9.1. Conclusions 211 The CCIP solver. The main drawback of DIP is that it generates a number of decision variables and constraints that limit its applicability to small-size and medium-size scenarios. DIP guarantees optimality, but decrements the computational tractability. We proposed an ILP-based formulation for MMUCA WDP, namely the Connected Component Based Integer Programming Solver (CCIP), that dramatically improves the computational efficiency of DIP. A search space reduction is achieved by analysing and exploiting the precedence relationships among SCOs. We conclude by observing that our approach solves some of the problems related to centralised approaches to supply chain formation and scheduling (see section 3.3.1). Firstly, we can reduce the complexity associated to optimise the scheduling problem. In fact, we have that • the complexity of the scheduling problem is reduced due to the absence of time dimension, without losing the possibility to express precedence relationships among operations; and • we provide a very efficient optimisation problem solver (CCIP). Secondly, agents are not forced to reveal all their information truthfully. The part of information revealed by agents (the bidders) is regulated by the bidding language and the market-based mechanism. In market-based mechanisms agents can act strategically, hide or lie on critical information, decide what to communicate and what not. Empirical Evaluation In the last part of this dissertation we provided a preliminary proof of concept about the performances of the CMWOSP-based, DIP and CCIP solvers in a single scenario. On the one hand, we compared DIP and CCIP on arbitrary network topologies. On the other hand, we empirically assessed the performances of the CMWOSP-based solver on acyclic Mixed Auction Nets. We observed that in the considered parameter setting: • CCIP outperforms DIP • acyclic instances are much easier to solve Summary of MMUCA Contributions To summarise, the contributions in this dissertation related to the make-or-buy-orcollaborate decision problem are listed in what follows. • MMUCA is a new type of auction that allows to deal with make-or-buy-orcollaborate decisions. This new auction type provides an auctioneer with a framework to optimally select supply chain partners. MMUCA generalises and extends several types of auctions (including MUCRAtR). Our contribution develops along two dimensions: – MMUCA Bidding Language. We provide a novel bidding language that allows agents to trade any type of operation across the supply chain. Such a language extends and generalises several previous bidding languages. Chapter 9. Conclusions and Future Work 212 – MMUCA Winner Determination Problem. We provide a definition of winner determination problem that selects, among the received bids, the revenue-maximising ordered sequence of supply chain operations to perform. The definition of MMUCA WDP extends and generalises the definition of winner determination problem of several existing auction types. • Mixed Auction Net is a WPTN that compactly represents the space of possible decisions an auctioneer may take, along with the revenue associated to each decision. Thus, it formally and graphically represents the search space associated to the MMUCA WDP, and therefore of the make-or-buy-or-collaborate decision problem. • Mapping the MMUCA WDP to the CMWOSP. We succeeded in mapping the MMUCA WDP to a CMWOSP on the Mixed Auction Net. As in the case of MUCRAtR, three benefits stemmed from this mapping: (1) the provided solution is a sequence of SCOs; (2) a whole corpus of theoretical results from the PTN literature can be imported to analyse the decision problem; and (3) we obtain an ILP formulation of the WDP for acyclic Mixed Auction Nets. • MMUCA WDP Solvers. – CMWOSP-Based Solver. This ILP-based solver is based on the mapping of MMUCA and MUCRAtR to a CMWOSP and applies only to acyclic mixed auction nets. – DIP solver. This ILP-based solver works on arbitrary supply chain network topologies. It overcomes a set of limitations connected with the use of the CMWOSP-based solver. – CCIP solver. This ILP-based solver dramatically improves the performances of DIP solver because it allows a more concise representation of the optimisation problem. This is obtained by exploiting the precedence relations among supply chain operations. Finally, consider that MUCRAtR and Combinatorial Auctions for supply chain formation are a special case of MMUCA. Thus, the three solvers presented above can be used to solve problems on any network topologies for them as well. Thus, besides broadening the applicability of MMUCAs, we have also broadened the applicability of MUCRAtR and CAs for SCF. MUCRAtR and CAs for SCF can be extended to any network topology! 9.2 Future Work We believe that this dissertation opens several paths to future developments. The most interesting extension we envisage to MMUCAs is the incorporation of time and uncertainty in the MMUCA model. On the one hand, we envisage the possibility to express the release time and duration of a supply chain operation. This information should be also included within the winner 9.2. Future Work 213 determination problem. In this way, an auctioneer would be able to fix deadlines to have his production process completed. Moreover, the participants to the supply chain would synchronise their operations by fulfilling not only the producer/consumer relationships, but also eventual time constraints. On the other hand, an auctioneer may be interested in assigning a success probability to each supply chain operation. In this way, he could minimise the incidence of failures and shortcoming across the supply chain. Next, in order to outperform CCIP we plan to explore the design of a local algorithm. Although solutions may be sub-optimal with a local approach, the number of transformations that can be dealt with is expected to be larger, and hence the size of the supply chain scenarios we could tackle. Furthermore, a more realistic setting requires to incorporate logistic providers, besides component suppliers, contract manufacturers, and final customers. We do believe that, by relying on the intuitions provided by the graphical representation of WPTNs, we can easily incorporate constructs dealing with this kind of problems. Along the same line, we aim at assessing the value of our approach in actual scenarios with real-world data (for instance in the automotive industry). If this was not possible, we plan to improve the artificial bid generator summarised in section 8.2 by incorporating actual-world supply chain topologies, following the strategy of (Leyton-Brown and Shoham, 2006). Furthermore, we need to perform extensive experiments with different parameter settings in order to empirically assess the improvement of CCIP over DIP under different market conditions. As to bidding languages, we have seen that the XOR-language is fully expressive (over finitely-peaked valuations) in section 5.3. Future work should address the expressive power of different fragments of the bidding language and compare the succinctness of different fragments for certain classes of valuations: which languages can express what valuations, and which languages can do so using less space than others? As to the case of direct single-unit combinatorial auctions, several results are given by Nisan (Nisan, 2006), and some of these results may be relatively easy to transfer to our model. Theoretically, as to mechanism design, we do believe that we provided to game theorists a new interesting and difficult problem. An interesting question to consider in future work would be what exactly the auctioneer should announce when opening an MMUCA. In the case of direct auctions this is the set of goods to be sold. If bidding for transformations is possible, however, it may be difficult to foresee what types of goods will be relevant to a solution, as this depends on the transformation capabilities of the bidders in the market. Notice also that we have not provided any suggestion on how to run a MUCRAtR. This is not within the scope of this dissertation since it is a subject of mechanism design. However, in order to illustrate how our contribution can be used by a given mechanism, we offer an example about how a MUCRATR could be run: (1) the auctioneer sends to bidders a WPTN representing his internal cost structure along with some constraints on the final state of the WPTN (its requirements) (2) the bidders compose and send back to the auctioneer meaningful combinatorial offers based on the received information 214 Chapter 9. Conclusions and Future Work (3) the auctioneer builds an auction net and solves a CMWOSP on it (4) from the CMWOSP solution the auctioneer can extract the set of winning bids and the sequence of internal operations to subsequently perform As to the mapping of the MMUCA WDP to CMWOSP, we have only exploited a small portion of its potentiality. We recall that we employed it to provide an ILP formulation for solving the WDP when the underlying topology is acyclic. However, we do believe that we can exploit further theoretical tools derived by our mapping along several dimensions. Some examples of this idea follows. First, it is known from the literature that it is possible to increase the classes of Petri nets for which the state equation represents the whole reachability set. As an example one may add linear side constraints to the state equation (Esparza and Melzer, 2004). Therefore, we would like to assess the applicability of these types of techniques to our problem. Secondly, the validity of the mapping from MMUCA WDP to WPTNS is not restricted to bids in the XOR language, but in fact it can easily cope with other languages. For instance, as explained in section 5.5, the extension to the OR-of-XOR bidding language is trivial. Third, and most importantly, our mapping allows to analyse structural and behavioural properties of the solutions to the MMUCA WDP. Thus, we aim at exploring the Petri net techniques that is possible to import in the context of MMUCAs. Finally, we do strongly believe that CMWOSP can be employed to study other optimisation problems. In fact, the extension of CMWOSP to a broader class of optimisation problems that share similar features is a path that deserves much attention. In particular, we talk about domains characterised by preconditions and postconditions on variables interacting at multiple levels. The most promising of those domains is surely deterministic planning. Appendix A OPL models of the MMUCA WDP solvers In this appendix, we present the ILP models of the solvers presented in this disseration expressed in the OPL modeling language (Van Hentenryck, 1999). We present the CMWOSP-based (section 6.1.5), the DIP (section 6.2.2), and the CCIP (section 7.3.1) solvers. A.1 The CMWOSP-based Solver {string} Goods=...; int nBids=...; int nTransformations=...; int nGoods=...; int nBidders=...; range Bids = 1..nBids; range Transfs = 1..nTransformations; range Bidders= 1..nBidders; //DECLARATIONS //Input goods of each transformation int T_in[Transfs][Goods]=...; //Output goods of each transformation int T_out[Transfs][Goods]=...; // Associates to each SCO the multiplicity it appears // within the bid int multiplicity[Transfs]=...; //A set contains the transitions indexes corresponding //to the same atomic bid 215 Appendix A. OPL models of the MMUCA WDP solvers 216 {int} transf_same_bids[Bids]=...; //Associates to each SCO its bid int transf_to_bids[Transfs]=...; //Which bids compose which XORbid {int} xor_bids[Bidders]=...; //Initial marking provided by the auctioneer for free int U_in[Goods]=...; //RFQ goods required by the auctioneer int U_out[Goods]=...; //The cost associated to each bid float costs[Bids]=...; //Variables associated to eac SCO is fired at each step dvar boolean x_t[Transfs]; //Variables associated to atomic bids dvar boolean x_b[Bids]; //THE MODEL minimize sum(b in Bids) x_b[b]*costs[b]; subject to { //(1) Each SCO can be fired as many times as its // multiplicity if only if its bid is activated. // This condidition also controls that selecting // at least one SCO within a bid implies selecting // all the SCOs within the same bid forall(t in Transfs) ctOnePositionSelected: (x_t[t]) ==(x_b[transf_to_bids[t]]*multiplicity[t]); //(2) We enforce that the atomic bids submitted // by each bidder are exclusive (XOR) forall(b in Bidders) ctXORbid: A.2. The DIP solver 217 (sum ( j in xor_bids[b]) x_b[j]) <=1; //(3) After having performed all the selected SCOs, // the set of goods held by the auctioneer must be // a superset of the final goods Uout forall(g in Goods) ctFinalConfiguration: (U_in[g] + sum(j in Transfs) x_t[j]* ... ...*(T_out[j][g]-T_in[j][g]))>=U_out[g]; } A.2 The DIP solver {string} Goods=...; int nBids=...; int nTransformations=...; int nGoods=...; int nBidders=...; int nSteps=...; range range range range Bids = 1..nBids; Transfs = 1..nTransformations; Bidders= 1..nBidders; Steps= 1..nSteps; //Input goods of each transformation int T_in[Transfs][Goods]=...; //Output goods of each transformation int T_out[Transfs][Goods]=...; // Associates to each transformation the multiplicity it //appears within the bid int multiplicity[Transfs]=...; //A set contains the transitions indexes corresponding // to the same atomic bid {int} transf_same_bids[Bids]=...; //Associates to each transformation its bid int transf_to_bids[Transfs]=...; //Which bids compose which XORbid {int} xor_bids[Bidders]=...; 218 Appendix A. OPL models of the MMUCA WDP solvers //Initial marking provided by the auctioneer for free int U_in[Goods]=...; //RFQ goods required by the auctioneer int U_out[Goods]=...; //The cost associated to each bid float costs[Bids]=...; //Variables associated to which transformation is fired // at each step dvar boolean x_t[Steps][Transfs]; //Variables associated to atomic bids dvar boolean x_b[Bids]; minimize sum(b in Bids) x_b[b]*costs[b]; subject to { //(1) Each transformation can be fired as many times //as its multiplicity if only if its bid is activated. //This condidition also controls that selecting at //least one transformation within a bid implies selecting // all the transformations within the same bid forall(t in Transfs) ctOnePositionSelected: (sum(p in Steps) x_t[p][t])==... ...==(x_b[transf_to_bids[t]]*multiplicity[t]); //(2) We impose that at most one transformation is // selected at each position of the sequence forall(p in Steps) ctOneTransformationSelected: sum(t in Transfs) x_t[p][t] <=1; //(3) We enforce that the atomic bids submitted // by each bidder are exclusive (XOR) forall(b in Bidders) ctXORbid: (sum(j in xor_bids[b]) x_b[j]) <=1; A.3. The CCIP Solver //(4) Check that each transition selected is enabled // at steps in the solution sequence where more than // one transition can be fired forall(s in Steps,g in Goods) ctEnoughInputs: (U_in[g]+sum(k in 1..s-1,j in Transfs) x_t[k][j]*... ...*( T_out[j][g] - T_in[j][g]) )>= ... ...>= sum(l in Transfs) x_t[s][l]*T_in[l][g]; //(5) After having performed all the selected //transformations, the set of goods held by the // auctioneer must be a superset of the final goods // Uout forall(g in Goods) ctFinalConfiguration: (U_in[g]+sum(s in Steps,j in Transfs) x_t[s][j]*... ...*(T_out[j][g]-T_in[j][g]))>=U_out[g]; } A.3 The CCIP Solver {string} Goods=...; //Good names int nBids=...; //Number of bids int nTransformations=...; //Number of transformations int nGoods=...; //Number of goods int nBidders = ...; //Number of bidders or XORbids //Number of solutions positions // = number of transformations * multiplicities int nSteps=...; range range range range Bids = 1..nBids; Transfs = 1..nTransformations; Bidders=1..nBidders; Steps=1..nSteps; //Input goods of each transformation int T_in[Transfs][Goods]=...; //Output goods of each transformation int T_out[Transfs][Goods]=...; // Associates to each transformation the multiplicity // it appears within the bid int multiplicity[Transfs]=...; 219 220 Appendix A. OPL models of the MMUCA WDP solvers //A set contains the transitions indexes corresponding // to the same atomic bid {int} transf_same_bids[Bids]=...; //Associates to each transformation its bid int transf_to_bids[Transfs]=...; //A set contains the transitions indexes corresponding // to bids of the same bidder {int} xor_bids[Bidders]=...; //Initial marking provided by the auctioneer for free int U_in[Goods]=...; //RFQ goods required by the auctioneer int U_out[Goods]=...; //The cost associated to each bid float costs[Bids]=...; //This array associates to each position in the solution // the set of transformations that can fire int S[Steps][Transfs] = ...; //This array associates 1 when the set of transformations // that might be fired at this position is >1 or is one // transformation that contains a self-loop int steps_to_check[Steps]=...; //Variables associated to which transformation is fired // at each step dvar boolean x_t[Steps][Transfs]; //Variables associated to atomic bids dvar boolean x_b[Bids]; minimize sum(b in Bids) x_b[b]*costs[b]; subject to { //(1) Each transformation can be should be fired as many // times as its multiplicity if only if its bid is activated. //This condidition also controls that selecting at least A.3. The CCIP Solver 221 // one transformation within a bid implies selecting all // the transformations within the same bid forall(t in Transfs) ctOnePositionSelected: (sum(p in Steps) x_t[p][t])==(x_b[transf_to_bids[t]]*... ...*multiplicity[t]); //(2) At most one transformation can fire at each position forall(p in Steps) ctOneTransformationSelected: sum(t in Transfs) x_t[p][t] <=1; //(3) XOR semantics of a bid is fulfilled, at most one bid // per bidder can be selected forall(b in Bidders) ctXORbid: (sum(j in xor_bids[b]) x_b[j])<=1; //(4) Check that each transition selected is enabled at // steps in the solution sequence where more than one // transition can be fired forall(s in Steps:steps_to_check[s]==1,g in Goods) ctEnoughInputs: (U_in[g]+sum(k in Steps:k<s,j in Transfs) x_t[k][j]*... ...*(T_out[j][g]-T_in[j][g]) )>= ... ...>= sum(l in Transfs) x_t[s][l]*T_in[l][g]; //(5) After having performed all the selected, // transformations the set of goods held by the // auctioneer must be a supersetof the final goods Uout forall(g in Goods) ctFinalConfiguration: (U_in[g]+sum(s in Steps, j in Transfs) x_t[s][j]*... ...*(T_out[j][g]-T_in[j][g]))>=U_out[g]; //(6) Transformations that can fired in each position // of the solution sequence are restricted by function S forall(p in Steps, j in Transfs) ctTransformationsPosition: x_t[p][j]<=S[p][j]; } Bibliography Aissaoui, N., Haouari, M., and Hassini, E. (2007). Supplier selection and order lot sizing modeling: A review. Computers and Operations Research, 34(12):3516– 3540. Alonso-Ayuso, A., Escudero, L., Garı́n, A., Ortuño, M., and Pérez, G. (2003). An Approach for Strategic Supply Chain Planning under Uncertainty based on Stochastic 0-1 Programming. Journal of Global Optimization, 26(1):97–124. An, N., Elmaghraby, W., and Keskinocak, P. (2005). Bidding strategies and their impact on revenues in combinatorial auctions. Journal of Revenue and Pricing Management, 3(4):337–357(21). Andersson, A., Tenhunen, M., and Ygge, F. (2000). Integer programming for combinatorial auction winner determination. In Fourth International Conference on Multiagent Systems (ICMAS 2000), pages 39–46, Boston, MA. Ausubel, L. M., Cramton, P., and Milgrom, P. (2006). The Clock-Proxy Auction: A Practical Combinatorial Auction Design, chapter 5. Combinatorial Auctions. MIT Press. Ausubel, L. M. and Milgrom, P. (2006a). Ascending Proxy Auctions, chapter 3. Combinatorial Auctions. MIT Press. Ausubel, L. M. and Milgrom, P. (2006b). The Lovely but Lonely Vickrey Auction, chapter 1. Combinatorial Auctions. MIT Press. Babanov, A., Collins, J., and Gini, M. (2003). Asking the right question: Risk and expectation in multiagent contracting. Artificial Intelligence For Engineering Design Analysis And Manufacturing, 17:173–186. Ball, M. O., Donohue, G. L., and Hoffman, K. (2006). Auctions for the Safe, Efficient, and Equitable Allocation of Airspace System Resources, chapter 20. Combinatorial Auctions. MIT Press. Banks, J., Ledyard, J., and Porter, D. (1989). Allocating Uncertain and Unresponsive Resources: An Experimental Approach. The RAND Journal of Economics, 20(1):1–25. 223 224 BIBLIOGRAPHY Bartels, A., Ragsdale, J., Pohlmann, T., Young, G. O., and Brown, K. (2005). The forrester wave: e-sourcing suites, Q4 2005. Technical report, Forrester. Tech Notes. Bernardinello, L. and de Cindio, F. (1992). A survey of basic net models and modular net classes. In Advances in Petri Nets 1992, The DEMON Project, pages 304–351, London, UK. Springer-Verlag. Bichler, M., Davenport, A., Hohner, G., and Kalagnanam, J. (2006). Industrial Procurement Auctions, chapter 23. Combinatorial Auctions. MIT Press. Blizard, W. and File, P. (1988). Multiset theory. Notre Dame J. Formal Logic, 30(1):36– 66. Blum, C. and Roli, A. (2003). Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Computing Surveys (CSUR), 35(3):268–308. Boutilier, C., Goldszmidt, M., and Sabata, B. (1999). Sequential Auctions for the Allocation of Resources with Complementarities. Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence table of contents, pages 527–523. Boutilier, C. and Hoos, H. (2001). Bidding languages for combinatorial auctions. Proceedings of the 17th International Joint Conference on Artificial Intelligence, pages 1211–1217. Burkeman, O. (5 september 2005). The wiki way. Guardian Unlimited www.guardian.co.uk/technology/2007/sep/05/news.netrich. Cantillon, E. and Pesendorfer, M. (2006). Auctioning Bus Routes: The London Experience, chapter 22. Combinatorial Auctions. MIT Press. Caplice, C. and Sheffi, Y. (2006). Combinatorial Auctions for Truckload Transportation, chapter 21. Combinatorial Auctions. MIT Press. Christie’s (2007). Online. http://www.christies.com/. Coase, R. (1937). The Nature of the Firm. Economica, 4(16):386–405. Cohen, M. and Lee, H. (1988). Strategic Analysis of Integrated Production-Distribution Systems: Models and Methods. Operations Research, 36(2):216–228. Collins, J. (2002). Solving Combinatorial Auctions with Temporal Constraints in Economic Agents. PhD thesis, University Of Minnesota. Corbett, M. (2004). The Outsourcing Revolution: Why it Makes Sense and how to Do it Right. Dearborn Trade Pub. Cormen, T. (2001). Introduction to Algorithms. MIT Press. Cramton, P. (2006). Simultaneous Ascending Auctions, chapter 4. Combinatorial Auctions. MIT Press. BIBLIOGRAPHY 225 Cramton, P., Shoham, Y., and Steinberg, R., editors (2006). Combinatorial Auctions. MIT Press. Davey, B. and Priestley, H. (2002). Introduction to Lattices and Order. Cambridge University Press. de Vries, S. and Vohra, R. (2003). Combinatorial auctions: A survey. INFORMS Journal of Computing, 15(3):284–309. DMReview.com online news (March 22, 2006). Business outsourcing makes strong push forward with small and midsize deals. Online News. DMReview.com online news (October 31, 2005). Worldwide bpo market steadily expands. Online News. Dyer, J. (2000). Collaborative Advantage: Winning Through Extended Enterprise Supplier Networks. Oxford University Press US. Ebay (2007). Online. http://www.ebay.com. Engel, Y., Wellman, M. P., and Lochner, K. M. (2006). Bid expressiveness and clearing algorithms in multiattribute double auctions. In EC ’06: Proceedings of the 7th ACM conference on Electronic commerce, pages 110–119, New York, NY, USA. ACM Press. Erenguc, S., Simpson, N., and Vakharia, A. (1999). Integrated production/distribution planning in supply chains: An invited review. European Journal of Operational Research, 115(2):219–236. Ertogral, K., Wu, S., and Burke, L. (1998). Coordination Production and Transportation Scheduling in the Supply Chain. Dept. IMSE, Lehigh Univ., Bethlehem, PA, Tech. Rep. Esparza, J. and Melzer, S. (2004). Verification of safety properties using integer programming: Beyond the state equation. Formal Methods in System Design, 16:159– 189. Fourer, R., Gay, D., and Kernighan, B. (1989). AMPL: A Mathematical Programming Language. AT&T Bell Laboratories. Fujishima, Y., Leyton-Brown, K., and Shoham, Y. (1999). Taming the computational complexity of combinatorial auctions: Optimal and approximate approaches. In Proceeding of the Sixteenth International Joint Conference on Artificial Intelligence (IJCAI’99), pages 548–553. Gaonkar, R. and Viswanadham, N. (2001). Collaboration and information sharing in global contractmanufacturing networks. Mechatronics, IEEE/ASME Transactions on, 6(4):366–376. BIBLIOGRAPHY 226 Gaonkar, R. and Viswanadham, N. (2005). Strategic sourcing and collaborative planning in Internet-enabled supply chain networks producing multigeneration products. Automation Science and Engineering, IEEE Transactions on [see also Robotics and Automation, IEEE Transactions on], 2(1):54–66. Greaver, M. (1999). Strategic Outsourcing: A Structured Approach to Outsourcing Decisions and Initiative. AMACOM. Hammer, M. (2001). 79(8):82–91. The Superefficient Company. Harvard Business Review, Harary, F. (1999). Graph Theory. Perseus Books. He, M., Jennings, N., and Leung, H. (2003). On agent-mediated electronic commerce. IEEE Transactions on Knowledge and Data Engineering, 15(4):985–1003. Hillier, F. and Lieberman, G. (1986). Introduction to Operation Research. McGrawHill. Holte, R. C. (2001). Combinatorial auctions, knapsack problems, and hill-climbing search. In Lecture Notes in Computer Science, volume 2056, pages 57 – 66. Springer-Verlag, Heidelberg. ILOG (2007). Cplex. http://www.ilog.com/products/cplex/. Jayaraman, V. and Pirkul, H. (2001). Planning and coordination of production and distribution facilities for multiple commodities. European Journal of Operational Research, 133(2):394–408. Jennings, N. and Wooldridge, M. (1998). Applications of intelligent agents. Agent technology: foundations, applications, and markets table of contents, pages 3–28. Kalagnanam, J. and Parkes, D. (2003). Auctions, Bidding and Exchange Design. Chapter 10. Supply Chain Analysis in the eBusiness Era. Edited by David Simchi-Levi, S. David Wu and Z. Max Shen. Kallrath, J. (2002). Planning and scheduling in the process industry. OR Spectrum, 24(3):219–250. Kallrath, J. (2004). Modeling Languages in Mathematical Optimization. Kluwer Academic Pub. Kellerer, H., Pferschy, U., and Pisinger, D. (2004). Knapsack problems. Springer New York. Klemperer, P. (2004). Auctions: Theory and Practice. Princeton University Press. Krishna, V. (2002). Auction Theory. Academic Press. Land, A., Powell, S., and Steinberg, R. (2006). PAUSE: A Computationally Tractable Combinatorial Auction, chapter 6. Combinatorial Auctions. MIT Press. BIBLIOGRAPHY 227 Lau, J., Huang, G., Mak, K., and Liang, L. (2006). Agent-based modeling of supply chains for distributed scheduling. Systems, Man and Cybernetics, Part A, IEEE Transactions on, 36(5):847 – 861. Laubacher, R. and Malone, T. (2003). Retreat of the Firm and the Rise of the Guilds: The Employment Relationship in an Age of Virtual Business. Inventing the Organization of the 21st Century. Malone TW, Laubacher R, Scott-Morton MS (eds). MIT Press. Lee, Y., Jeong, C., and Moon, C. (2002). Advanced planning and scheduling with outsourcing in manufacturing supply chain. Computers & Industrial Engineering, 43(1-2):351–374. Lee, Y., Kumara, S., and Chatterjee, K. (2003). Multiagent based dynamic resource scheduling for distributed multiple projects using a market mechanism. Journal of Intelligent Manufacturing, 14(5):471–484. Lehmann, D., Mueller, R., and Sandholm, T. M. (2006). The winner determination problem, chapter 12. Combinatorial Auctions. MIT Press. Leyton-Brown, K. and Shoham, Y. (2006). Combinatorial Auctions, chapter 18. A Test Suite for Combinatorial Auctions. MIT Press. Leyton-Brown, K., Shoham, Y., and Tennenholtz, M. (2000). An algorithm for multiunit combinatorial auctions. In Proceedings of the American Association for Artificial Intelligence Conference (AAAI), pages 56–61. Lih, A. (2003). Wikipedia as Participatory Journalism: Reliable Sources? Metrics for evaluating collaborative media as a news resource. Nature, 2004. Lindo Systems Inc. (2007). Lingo. http://www.lindo.com/products/lingo. Lipton, R. (1976). The reachability problem requires exponential space. Technical Report 62, Yale University. Lucking-Reiley, D. and Spulber, D. (2001). Business-to-Business Electronic Commerce. The Journal of Economic Perspectives, 15(1):55–68. Makhorin, A. GNU Linear Programming Kit: Modelling Language GNU MathProg. Makhorin, A. (2001). Glpk – gnu linear programming toolkit. http://www.gnu.org/directory/GNU/glpk.html. [Online; accessed 25-Oct-2007]. Mas-Colell, A., Whinston, M., and Green, J. (1995). Microeconomic Theory. Oxford University Press. McAfee, R. and McMillan, J. (1987). Auctions and Bidding. Journal of Economic Literature, 25(2):699–738. Microsoft (2007). Excel. http://office.microsoft.com/en-us/excel/. 228 BIBLIOGRAPHY Milgrom, P. (2004). Putting Auction Theory to Work. Cambridge University Press. Minahan, T., Howarth, F., and Vigoroso, M. (2002). Making e–sourcing strategic. Research report, Aberdeen Group, Boston. Mowshowitz, A. (2002). Virtual Organization: Toward a Theory of Societal Transformation Stimulated by Information Technology. Quorum/Greenwood. Muller, R. (2006). Tractable Cases of the Winner Determination Problem, chapter 13. Combinatorial Auctions. MIT Press. Murata, T. (1989). Petri nets: Properties, analysis and applications. In IEEE, volume 77, pages 541–580. Nisan, N. (2000). Bidding and allocation in combinatorial auctions. In Proc. 2nd ACM Conference on Electronic Commerce (EC-2000). ACM Press. Nisan, N. (2006). Bidding Languages for Combinatorial Auctions, chapter 9. Combinatorial Auctions. MIT Press. Norman, T., Preece, A., Chalmers, S., Jennings, N., Luck, M., Dang, V., Nguyen, T., Deora, V., Shao, J., Gray, W., et al. (2004). Agent-based formation of virtual organisations. Knowledge-Based Systems, 17(2-4):103–111. Ottens, B. (2007). Comparing winner determination algorithms for mixed multi-unit combinatorial auctions. Master’s thesis, Universiteit van Amsterdam., Netherlands. Papadimitriou, C. and Steiglitz, K. (1982). Combinatorial optimization: algorithms and complexity. Prentice-Hall, Inc. Upper Saddle River, NJ, USA. Parkes, D. C. (2006). Iterative Combinatorial Auctions, chapter 2. Combinatorial Auctions. MIT Press. Pekec, A. and Rothkopf, M. H. (2003). Combinatorial auction design. Manage. Sci., 49(11):1485–1503. Petri, C. (1962). Kommunikation mit Automaten. PhD thesis, Rheinisch-Westfälisches Institut f. instrumentelle Mathematik an d. Univ. Petri, C. (1966). Kommunikation mit automaten. Schriften des iim nr. 2, Institut fur Instrumentelle Mathematic, 1962. Technical report, English translation: Technical Report RADC-TR-65-377, Griffiths Air Base, New York. Quinn, J. and Hillmer, F. (1995). Strategic Outsourcing. The McKinsey Quarterly, (1). Reis, J., Mamede, N., and O Neill, H. (2001). Locally perceiving hard global constraints in multi-agent scheduling. Journal of Intelligent Manufacturing, 12(2):223–236. Reisig, W. (1985). Petri nets: an introduction. Springer-Verlag, New York, NY, USA. BIBLIOGRAPHY 229 Reyes-Moro, A., Rodrı́guez-Aguilar, J. A., López-Sánchez, M., Cerquides, J., and Gutiérrez-Magallanes, D. (2003). Embedding decision support in e-sourcing tools: Quotes, a case study. Group Decision and Negotiation, 12:347–355. Rosenschein, J. and Zlotkin, G. (1994). Rules of encounter. MIT Press Cambridge, Mass. Rothkopf, M. H., Pekec, A., and Harstad, R. M. (1998). Computationally manageable combinational auctions. Management Science, 44(8):1131–1147. Sabri, E. and Beamon, B. (2000). A multi-objective approach to simultaneous strategic and operational planning in supply chain design. Omega, 28(5):581–598. Sandholm, T. (2002). Algorithm for optimal winner determination in combinatorial auctions. Artificial Intelligence, 135(1-2):1–54. Sandholm, T. (2006a). Expressive commerce and its application to sourcing. Proceedings of the Innovative Applications of Artificial Intelligence. Sandholm, T. (2006b). Optimal Winner Determination Algorithms, chapter 14. Combinatorial Auctions. MIT Press. Sandholm, T., Suri, S., Gilpin, A., and Levine, D. (2002). Winner determination in combinatorial auction generalizations. In AAMAS ’02: Proceedings of the first international joint conference on Autonomous agents and multiagent systems, pages 69–76, Bologna, Italy. ACM Press. Schrage, M. (2007). The Myth of Commoditization. Sloan management review, 48(2):10–14. Shaeffer, L. D. (September 11, 2007). Five More Keys to Engaging the Customer to Produce Real Innovation: Lessons From LEGO. Simchi-Levi, D., Kaminsky, P., and Simchi-Levi, E. (2000). Designing and Managing the Supply Chain: Concepts, Strategies, and Case Studies. Irwin/McGraw-Hill. Smith, R. (1980). The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver. IEEE Transactions on Computers, 29(12):1104– 1113. Sotheby’s (2007). Online. http://www.sothebys.com/. SourceForge, S.F. (2007). http://www.sourceforge.net. SourceForge.net Home Page. Syropoulos, A. Mathematics of Multisets. Pre-proceedings of the Workshop on Multiset Processing, pages 286–295. Tapscott, D. and Williams, A. (2006). Wikinomics: how mass collaboration changes everything. Portfolio. 230 BIBLIOGRAPHY Tarek, A. and Lopez-Benitez, N. (2004). Optimal legal firing sequence of petri nets using linear programming. Optimization and Engineering, 5(1):25–43. Team, I. S. C. (2001). Strategic sourcing: Applications to turn direct materials procurement into competitive advantage. Technical report, Stephens Inc. Industry Report. Van Hentenryck, P. (1999). The OPL optimization programming language. MIT Press Cambridge, MA, USA. Vinyals, M. (2007a). Bid generator figures. Internal Communication. Vinyals, M. (2007b). On the empirical evaluation of mixed multi-unit combinatorial auctions. Master’s thesis, Universitat Autonoma de Barcelona. Vinyals, M., Cerquides, J., and Rodriguez-Aguilar, J. A. (2007a). On the empirical evaluation of mixed multi-unit combinatorial auctions. Workshop on Agent Mediated Electronic Commerce IX,AMEC. Vinyals, M., Giovannucci, A., Cerquides, J., Meseguer, P., and Rodriguez-Aguilar, J. A. (2007b). Towards a realistic bid generator for mixed multi-unit combinatorial auctions. 14th Workshop on Experimental Evaluation of Algorithms for Solving Problems with Combinatorial Explosion RCRA. Viswanadham, N. (2002). The past, present, and future of supply-chain automation. IEEE Robotics & Automation Magazine, 9(2):48–56. Wagner, T., Guralnik, V., and Phelps, J. (2003). TAEMS agents: enabling dynamic distributed supply chain management. Electronic Commerce Research and Applications, 2(2):114–132. Walsh, W. and Wellman, M. (2003). Decentralized supply chain formation: A market protocol and competitive equilibrium analysis. Journal of Artificial Intelligence Research, 19:513–567. Walsh, W. E. (2001). Market protocols for decentralized supply chain formation. PhD thesis. Chair-Michael P. Wellman. Walsh, W. E., Wellman, M. P., and Ygge, F. (2000). Combinatorial auctions for supply chain formation. In Proc. of the 2nd ACM Conference on Electronic Commerce. Wooldridge, M. and Jennings, N. (1995). Intelligent Agents: Theory and Practice. Knowledge Engineering Review, 10(2):115–152. Wurman, P., Walsh, W., and Wellman, M. (1998). Flexible double auctions for electionic commerce: Theory and implementation. Decision Support Systems, 24:17– 27. Zhang, X. (2002). Sophisticated Negotiation in Multi-agent Systems. PhD thesis, University of Massachusetts at Amherst. BIBLIOGRAPHY 231 Zlotkin, G. and Rosenschein, J. (1996). Mechanism design for automated negotiation, and its application to task oriented domains. Artificial Intelligence, 86(2):195–244. Monografies de l’Institut d’Investigació en Intel·ligència Artificial Num. 1 Num. 2 Num. 3 Num. 4 Num. 5 Num. 6 Num. 7 Num. 8 Num. 9 Num. 10 Num. 11 Num. 12 Num. 13 Num. 14 Num. 15 Num. 16 Num. 17 Num. 18 Num. 19 Num. 20 J. Puyol, MILORD II: A Language for Knowledge–Based Systems, (1995). J. Levy, The Calculus of Refinements, a Formal Specification Model Based on Inclusions, (1995). Ll. Vila, On Temporal Representation and Reasoning in Knowledge– Based Systems, (1995). M. Domingo, An Expert System Architecture for Identification in Biology, (1995). E. Armengol, A Framework for Integrating Learning and Problem Solving, (1998). J. Ll. Arcos, The Noos Representation Language, (1998). J. Larrosa, Algorithms and Heuristics for Total and Partial Constraint Satisfaction, (1998). P. Noriega, Agent Mediated Auctions: The Fishmarket Metaphor, (1999). F. Manyà, Proof Procedures for Multiple-Valued Propositional Logics, (1999). W. M. Schorlemmer, On Specifying and Reasoning with Special Relations, (1999). M. López-Sánchez, Approaches to Map Generation by means of Collaborative Autonomous Robots, (2000). D. Robertson, Pragmatics in the Synthesis of Logic Programs, (2000). P. Faratin, Automated Service Negotiation between Autonomous Computational Agents, (2003). J. A. Rodrı́guez, On the Design and Construction of Agent-mediated Electronis Institutions , (2003). T. Alsinet, Logic Programming with Fuzzy Unification and Imprecise Constants: Possibilistic Semantics and Automated Deduction, (2003). A. Zapico, On Axiomatic Foundations for Qualitative Decision Theory - A Possibilistic Approach, (2003). A. Valls, ClusDM: A multiple criteria decision method for heterogeneous data sets, (2003). D. Busquets, A Multiagent Approach to Qualitative Navigation in Robotics, (2003). M. Esteva, Electronic Institutions: from specification to development, (2003). J. Sabater, ReGreT, a trust and reputation model for multi-agent systems, (2003). Num. 21 Num. 22 Num. 23 Num. 24 Num. 25 Num. 26 Num. 27 Num. 28 Num. 29 Num. 30 Num. 31 Num. 32 J. Cerquides, Improving Algorithms for Learning Bayesian Network Classifiers, (2005). M. Villaret, On Some Variants of Second-Order Unification, (2005). M. Gómez, Open, Reusable and Configurable Multi-Agent Systems: A Knowledge Modelling Approach, (2005). S. Ramchurn, Multi-Agent Negotiation Using Trust and Persuasion, (2005). S. Ontañon, Ensemble Case-Based Learning for Multi-Agent Systems, (2006). M. Sánchez, Contributions to Search and Inference Algorithms for CSP and Weighted CSP, (2006). C. Noguera, Algebraic Study of Axiomatic Extensions of Triangular Norm Based Fuzzy Logics, (2007). E. Marchioni, Functional Definability Issues in Logics Based on Triangular Norms, (2007). M. Grachten, Expressivity-Aware Tempo Transformations of Music Performances Using Case Based Reasoning, (2007). I. Brito, Distributed Constraint Satisfaction, (2007). E. Altamirano, On Non-clausal Horn-like Satisfiability Problems, (2007). A. Giovannucci, Computationally Manageable Combinatorial Auctions for Supply Chain Automation, (2008).