Workflow Resource Allocation Multiattribute auctions Abert Pl e
Workflow Resource Allocation & Multi-attribute auctions Abert Plà e. Xi. T – University of Girona Advisors: Beatriz López & Javier Murillo LIP 6 Seminar – Université Pierre et Marie Curie Paris VI (12 -2 -2012) 1
e. Xi. T: Control Engineering and Intelligent Systems • University of Girona • e. Xi. T research group • Interests – – Machine Learning Workflows Multi-Agent Systems Auctions • Domains: – Medicine – Logístics – Case Based Reasoning – Multivariate statistical process control – Signal Processing – Electrical 2
Girona 3
Workflow Resource Allocation through Auctions • Preliminary Work – Domain – Workflow Monitoring & Modeling – MAS Workflow Management System • Workflow Resource allocation through auctions – Auctions in workflows • Multi-attribute auctions – GSP & Position Auctions – GSPMA 2 – Results 4
1. Preliminary Work Medical device manufacturers Hospital Medical Device Maintenance Service
Preliminary Work • 2 type of workflows: [1] – Expected workflows (Planned in advance using a planner) – Unexpected workflows (Faults in devices, delayed urgent workflows, etc. ) Hospital Medical Device Maintenance Service [1] López et Al. 2010, Medical equipment maintenance support with service-oriented multi-agent services
Preliminary Work • Other requirements: – Deadlines – Quality of Service – - Technician licenses -… - Payments made a posteriori Medical device manufacturers Technicians Medical Device Maintenance Service
Preliminary Work – Need to model the workflows of the MDMS • Petri nets (RAPN) – Need to monitor concurrent workflows in the MDMS • Workflow Management System • Delay Detection 8
Workflow modeling • Petri nets extension: Resource aware petrinets 9
Workflow modeling • Resource-aware Petri net (include resources) Type: Transport Resources in the organization: 2 Currently used resources: 1 Type: Transport Resources in the organization: 2 Currently used resources: 2 Fireable Non Fireable 10
Workflow management system (WMS) • Architecture 11
WMS MAS-WMS • Monitoring using agents [1] – 1 Workflow agent for each kind of workflow – 1 Resource agent for each resource WF Agent A WF Agent B Resource Agent 1 Resource Agent 2 External Resource Agent n WMS WF Agent C WF Agent D MAS-WMS [1]Pla et Al. 2011, Petri Net Based Agents for Coordinating Resources in a Workflow Management System 12
MAS-WMS • Resource agent – Handles a resource – Defends its interests – Characterized by cost, capacity, category, etc. • Workflow agents – Handles all the workflow instances of a workflow pattern. – Resource allocation (Part 3) – Change workflow priority in case of delay 13
Workflow monitoring • Each task has an estimated execution time (e. g. Mean. Task. Time) • The sum of MTT is the Workflow mean time • Token contains information about the initial workflow time instant and the task initial time • Using the token information we can know the workflow elapsed time (WET) and the time spent in the current task • WET+remaining. Tasks(mean time) > Wfdeadline • Early delay detection p 0 p 1 Mean. Task. Time 1 = m 1 Workflow Elapsed Time p 2 MTT 2 = m 2 p 3 pf MTT 3= m 3 WF_Mean. Time = m 1+m 2+m 3 WF Deadline = prestablished 14
Workflow monitoring • Experiments: Workflow simulations • Workflows: RMI and MEEM • Resources: 4 Technician Type A 1 Technician Staff Leader • Parameters: 500 time units p= 0. 05 Delay produced WMS detects a possible delay 15
Summary • Workflows in Medical device maintenance service • How to model workflows including information about the needed resources? – Resource Aware Petri Nets – Inclusion of Resource to Petri Nets • How to monitor workflows and predict delays? – Monitorization on the task level – Workflow Management System 16
2. Workflow resource allocation through auctions 17
Resource allocation • A workflow agent monitors and manages all the instances of a workflow type [1] – Call for auctions when they need resources Workflow Agent A Resource Type A Resource Agent 1 Resource Agent 2 18
Resource allocation • A workflow agent monitors and manages all the instances of a workflow type [1] – Call for auctions when they need resources Workflow Agent A Resource Type A Resource Agent 1 Resource Agent 2 19
Resource allocation • A workflow agent monitors and manages all the instances of a workflow type [1] – Call for auctions when they need resources Workflow Agent A Resource Type A Resource Agent 1 Resource Agent 2 20
Resource allocation • A workflow agent monitors and manages all the instances of a workflow type [1] – Call for auctions when they need resources Workflow Agent A Resource Type A AUCTION! Resource Agent 1 Resource Agent 2 21
Reverse auction • Workflow agent: the auctioneer – The buyer – – – Different attributtes to be fullfilled Time Restritctions (Starting & Ending Time) Resource Category (E. g. Tehcnician License) Quality … • Resource agents: the bidders - The sellers - The one with the lowest bid wins the auction 22
Resource allocation 23
Resource allocation • We have analyzed WDP using attributes independently [1] • Price – – – Balanced market price Providers equilibrium Decrease costs for workflow agent Suitable for internal & external providers + Delays • Time – – – Shortens workflow timings Reduces number of delays Indicated for dealing with internal providers Arises cost Faster resources can increase their prices 24 [1] Pla, Murillo and López 2011. Workflow resource allocation throught auctions
Part 3 – Multi-attribute auctions 25
Multi-attribute auctions Not only satisfy the restriction 26
Multi-attribute auctions Not only satisfy the restriction C 10: 10 11. 17 250€ Maybe ending before with a small price increase is helpful for the whole system 27
Multi-attribute auctions Evaluation function Score Determines the auctioneer preferences and the winner 28
Multi-attribute auctions: attributes • • Deadlines Quality Resource Licenses Ecological Footprint Safety Tolerance … 29
Multi-attribute auction: The keys • Evaluation function/WDP: – Multi-criteria functions • How much to pay? – Vickrey? – First price? – Second price? – Our solution: Inspired on Google GSP auctions 30
Position auctions: GSP • Used to assign a set of positions: – Internet advertising [1] [2] – Pay per click • Generalized second price – The winning bid pays (or receives) the amount that bided the second best bidder [1] Varian 2007. Position auctions. [2] Athey and Ellison, 2011. Position auctions with consumer search 31
Position Auctions: Google Adsense • Example: 1 position available for the “ipod” google search Bidder Bidded payperclick Payperclick Cdiscount 0. 07 0. 05 e. Bay 0. 05 Mp 3 markt 0. 045 Fnac 0. 03 Darty 0. 025 Apple 0. 01 Nº clicks Revenue 32
Position Auctions: Google Adsense What if…. Cdiscount: 0. 05€ per click 10000 clicks 500€ Apple: 0. 01€ per click 1000000 clicks 10000€ 33
Position Auctions: Google Adsense • Google adds a “quality” parameter which indicates the probability of a user to click an advert. [1] • It is based in google traffic statistics, google page rank, etc. • The parameter is provided by google itself. (The auctioneer) [1] Varian 2007. Position auctions. 34
Position Auctions: Google Adsense Bided Ppc “Quality” Score (Ppc * Q) Cdiscount 0. 07 7 0. 49 e. Bay 0. 05 15 0. 75 Mp 3 markt 0. 045 2 0. 90 Fnac 0. 03 30 0. 99 Darty 0. 025 20 0. 50 Apple 0. 01 100 1. 00 • Pay the minimum to beat the next bidder: • ppc(bi) = score(bi+1)/qi • ppc(apple) = 0. 99/100 = 0. 0099€ per click • Google revenue: 0. 0099€ * 1. 000 clicks = 99999€ 35
Multi-attribute GSP auctions • In Google Adsense the attributes are provided for the auctioneer, so they cannot be falsified. • In the workflow domains, the attributes are provided by the bidders. Bidders can lie. 36
Workflow resource allcoation • Task allocation for workflows: – Reverse auctions • Auctioneers are the buyers • Lowest bid wins – Payment after the task is done – Bundle of attributes provided by the bidders • GSPMA 2: Generalized Second Price Multi. Attribute Auction 37
GSPMA 2: Generalized Second Price Multi-Attribute Auction • Based on Google GSP • Evaluation function to score and rank the bids • The winning bidder receives the amount that it should have bided to beat the score of its following bid • When breaking the agreement with the auctioneer (false attribute bid) they payment received is reduced in order to meet the same score with the “real” attributes. 38
GSPMA 2: Evaluation Function • Multi-criteria function that unifies the attributes and the bid: – Product (as in Google Ads) – Sum – Weighted Product – Weighted Sum – Aggregated Indices … • Linear & cardinal preferences 39
GSPMA 2: Payment • The winning bidder recieves the amount that it should have bidded to match the second best bid: f(payment, a 1 i, …ani) = f(bi, a 1 i+1, …ani+1) Price End Time License* Score (product) Bidder A 9 15 2 270 Bidder B 15 12 1 180 payment * 12 * 1 = 270 payment = 270 / (12) payment = 22. 5 *1 is equivalent to the best license 40
GSPMA 2: Payment • Otherwhise, if the resource breaks the agreement, the winning bidder recieves an amount which gives to te task attributes the same score as the initial bid f(payment, a 1’i, …an’i) = f(bi, a 1 i, …ani) 41
GSPMA 2: Payment f(payment, a 1’i, …an’i) = f(bi, a 1 i, …ani) Price End Time License* Score (product) Bidder A 9 15 2 270 Bidder B 15 12 1 180 • If the real ending time is 14 payment * 14 * 11 = 180 payment = 180/14 payment = 12. 85 42
GSPMA 2: Payment • Example of evaluations and payments when using just the ending time attribute: 43
GSPMA 2: Incentive comptibility • With this mechanism truthful bidding is the dominant strategy [1] – Exactness – Monotonicity – Critical – Participation • Tried to find a counter-example using a constraint solver (Z 3). It does not exist. • Requirement: evalutaion function must be strictly monotonic 44 [1] Lehman, O’Callaghand Shoham 2002, Truth revelation in approximately efficient combinatorial auctions
GSPMA 2: Performance • Comparation with another Multi-attribute auction mechanism: – Parkes Vickrey Multi-attribute adaptation [1] • Parameters for the task/resource allocation: – Minimum initial time and Maximum Ending Time – Resource licenses (1 to 10 where) – Economic cost • Agents strategies: – Cheating [2] – Adaptative [3] [1] Parkes and Kalagnanam 2005, Iterative multiattribute vickrey auctions. [2] Muñoz and Murillo 2008, Agent UNO: Winner in the 2 nd Spanish ART competition [3] Lee and Szymanski 2005, A novel auction mechanism for selling time-sensitive e-services 45
GSPMA 2: Performance • Comparation with Parkes 2005 mechanism: Adaptative agents Cheating agents 46
GSPMA 2: Performance • Comparation with Parkes 2005 mechanism: Adaptative agents Cheating agents 47
GSPMA 2: Performance • Switching cheating strategy to adaptative strategy Cheaters
GSPMA 2: Performance • Comparation with Parkes 2005 mechanism: – More efficient against cheating agents – Less delayed workflows – More expensive for the workflows
Conclusions • Managing unexpected workflows in a Medical Device Maintenance Service. • Need to allocate workflow tasks to resources. • Reverse multi- attribute auctions – Quality, time, licenses, etc. • Generalized Second Price multi-attribute auctiosn 50
Current work • Adapt GSPMA 2 to combinatorial auctions: – Combine VCG auctions with GSPMA 2 • Select winners and scores using VCG • Transform scores to payments using GSPMA 2 fafa – Test incentive compatibility – Apply to new domains 51
Future Work • Repetitive auctions • Multicriteria functions – Test the incentive compatibility for other MCf – Is the best way to evaluate the bid? • Non linear preferences • Test new cheating agents 52
Workflow Resource Allocation through Auctions Abert Plà e. Xi. T – University of Girona Advisors: Beatriz López & Javier Murillo 53
54
55
56
Multi-attribute auction: The keys • Vickrey auction example Price End Time Value (price*end_time) Auctioneer rank Bid 1 100€ 1 100 2 Bid 2 150€ 0. 5 75 1 Bid 3 250€ 0. 9 225 3 Part 4 – Multi-attribute auctions 57
Multi-attribute auction: Vickrey problem • Vickrey auction example (second price) Price End Time Value (price*end_time) Auctioneer rank Bid 1 100€ 1 100 2 Bid 2 150€ 0. 5 75 1 Bid 3 250€ 0. 9 225 3 Part 4 – Multi-attribute auctions 58
Multi-attribute auction: Vickrey problem • Vickrey auction example (second price) Price End Time Value (price*end_time) Auctioneer rank Bid 1 100€ 1 100 2 Bid 2 150€ 0. 5 75 1 Bid 3 250€ 0. 9 225 3 BID 2 wants 150€ Gets 100€ NOT Part 4 – Multi-attribute auctions FAIR! 59
Multi-attribute auction: Vickrey problem Price End Time Value (price*end_time) Auctioneer rank Bid 1 100€ 1 100 2 Bid 2 150€ 0. 5 75 1 Bid 3 250€ 0. 9 225 3 Pay function acording to WDP (value function): · How much better is the winner than the second? · Related with the evaluation function Pay = 100* (1/0. 5) = 200 60
Multi-attribute auction: Vickrey problem Price End Time Value (price*end_time) Auctioneer rank Bid 1 100€ 1 100 2 Bid 2 150€ 0. 5 75 1 Bid 3 250€ 0. 9 225 3 Pay function acording to WDP (value function): Example 1: proportional Pay =sec(bid_price)* sec(bid_time)/Win(bid_time) Pay = 100* (1/0. 5) = 200 BID 2 wants 150€ Gets 200€ FAIR! 61
What to study • Evaluation functions – Multicriteria • How evaluation function, WDP and payment mechanism are related – How to avoid cheating in repetitive auctions • Is it incentive compatible? … • Is it a good smart solution? Part 4 – Multi-attribute auctions 62
63
• Repetitive 64
Workflow resource allocation through auctions Many instantiations (under demand) 2 Workflow types Part 3 – – Resource allocation (auctions) All need resources! 65
- Slides: 65