1
Workflow Resource Allocation & Multi-attribute auctions
Abert PlàeXiT – University of Girona
Advisors: Beatriz López & Javier Murillo
LIP6 Seminar – Université Pierre et Marie Curie Paris VI (12-2-2012)
2
eXiT: Control Engineering and Intelligent Systems
• University of Girona
• Interests– Machine Learning– Workflows– Multi-Agent Systems– Auctions
• Domains:– Medicine– Logístics
• eXiT research group
• Interests– Case Based Reasoning– Multivariate statistical process
control– Signal Processing
– Electrical
3
Girona
4
• Preliminary Work– Domain– Workflow Monitoring & Modeling– MAS Workflow Management System
• Workflow Resource allocation through auctions– Auctions in workflows
• Multi-attribute auctions– GSP & Position Auctions– GSPMA2
– Results
Workflow Resource Allocation through Auctions
Hospital
Medical device manufacturers
Medical Device Maintenance Service
1. Preliminary Work
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.)
[1] López et Al. 2010, Medical equipment maintenance support with service-oriented multi-agent services
Medical Device Maintenance Service
Preliminary Work
• Other requirements:– Deadlines - Technician licenses– Quality of Service - …– - Payments made a posteriori
Medical device manufacturers
Technicians
8
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
9
Workflow modeling
• Petri nets extension: Resource aware petrinets
10
Workflow modeling
• Resource-aware Petri net (include resources)
Type: TransportResources in the organization: 2Currently used resources: 1 Fireable
Type: TransportResources in the organization: 2Currently used resources: 2
Non Fireable
11
Workflow management system (WMS)
• Architecture
12
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
WF Agent C
WF Agent D
Resource Agent 1
Resource Agent 2
Resource Agent n
WMS
MAS-WMS
External Resource
Agent
[1]Pla et Al. 2011, Petri Net Based Agents for Coordinating Resources in a Workflow Management System
13
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
14
Workflow monitoring• Each task has an estimated execution time (e.g. MeanTaskTime)• 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+remainingTasks(mean time) > Wfdeadline• Early delay detection
MeanTaskTime1 = m1 MTT2 = m2
p0 p1 p2 p3 pf
WF_MeanTime = m1+m2+m3
MTT3= m3
Workflow Elapsed Time WF Deadline = prestablished
15
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
WMS detects a possible delay
Delay produced
16
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
17
2. Workflow resource allocation through auctions
18
Resource allocation
• A workflow agent monitors and manages all the instances of a workflow type [1]– Call for auctions when they need resources
Resource Agent 1
Resource Agent 2
Workflow Agent A
Resource Type A
19
Resource allocation
• A workflow agent monitors and manages all the instances of a workflow type [1]– Call for auctions when they need resources
Resource Agent 1
Resource Agent 2
Workflow Agent A
Resource Type A
20
Resource allocation
• A workflow agent monitors and manages all the instances of a workflow type [1]– Call for auctions when they need resources
Resource Agent 1
Resource Agent 2
Workflow Agent A
Resource Type A
21
Resource allocation
• A workflow agent monitors and manages all the instances of a workflow type [1]– Call for auctions when they need resources
Resource Agent 1
Resource Agent 2
Workflow Agent A
Resource Type A
AUCTION!
22
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
23
Resource allocation
24
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
[1] Pla, Murillo and López 2011. Workflow resource allocation throught auctions
25
Part 3 – Multi-attribute auctions
26
Multi-attribute auctions
Not only satisfy the restriction
27
Multi-attribute auctions
Not only satisfy the restriction
C 10:10 11.17 250€
Maybe ending before witha small price increase ishelpful for the whole system
28
Multi-attribute auctions
Evaluation function
Score
Determines the auctioneer
preferencesand the winner
29
Multi-attribute auctions: attributes
• Deadlines• Quality• Resource Licenses• Ecological Footprint• Safety• Tolerance• …
30
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
31
Position auctions: GSP
• Used to assign a set of positions:– Internet advertising
– Pay per click• Generalized second price – The winning bid pays (or receives) the amount that
bided the second best bidder
[2][1]
[1] Varian 2007. Position auctions.[2] Athey and Ellison, 2011. Position auctions with consumer search
32
Position Auctions: Google Adsense
• Example: 1 position available for the “ipod” google search
Bidder Bidded payperclick
Payperclick Nº clicks Revenue
Cdiscount 0.07 0.05
eBay 0.05
Mp3markt 0.045
Fnac 0.03
Darty 0.025
Apple 0.01
33
Position Auctions: Google Adsense
Cdiscount: 0.05€ per click10000 clicks
500€
Apple: 0.01€ per click1000000 clicks
10000€
What if….
34
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.
35
Position Auctions: Google AdsenseBided Ppc “Quality” Score (Ppc * Q)
Cdiscount 0.07 7 0.49eBay 0.05 15 0.75Mp3markt 0.045 2 0.90Fnac 0.03 30 0.99Darty 0.025 20 0.50Apple 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.000 clicks = 99999€
36
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.
37
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
• GSPMA2: Generalized Second Price Multi-Attribute Auction
38
GSPMA2: 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.
39
GSPMA2: 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
40
GSPMA2: Payment
• The winning bidder recieves the amount that it should have bidded to match the second best bid:
f(payment,a1i,…an
i) = f(bi,a1i+1,…an
i+1)Price End Time License* Score (product)
Bidder A 9 15 2 270
Bidder B 15 12 1 180
*1 is equivalent to the best license
payment * 12 * 1 = 270payment = 270 / (12)
payment = 22.5
41
GSPMA2: Payment
• Otherwhise, if the 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,a1’i,…an’
i) = f(bi,a1i,…an
i)
42
GSPMA2: Payment
f(payment,a1’i,…an’
i) = f(bi,a1i,…an
i)
• If the real ending time is 14payment * 14 * 11 = 180
payment = 180/14payment = 12.85
Price End Time License* Score (product)
Bidder A 9 15 2 270
Bidder B 15 12 1 180
43
GSPMA2: Payment
• Example of evaluations and payments when using just the ending time attribute:
44
GSPMA2: 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 (Z3). It does not exist.
• Requirement: evalutaion function must be strictly monotonic
[1] Lehman, O’Callaghand and Shoham 2002, Truth revelation in approximately efficient combinatorial auctions
45
GSPMA2: 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 2nd Spanish ART competition[3] Lee and Szymanski 2005, A novel auction mechanism for selling time-sensitive e-services
46
GSPMA2: Performance
• Comparation with Parkes 2005 mechanism:
Cheatingagents
Adaptative agents
47
GSPMA2: Performance
• Comparation with Parkes 2005 mechanism:
Cheatingagents
Adaptative agents
GSPMA2: Performance
• Switching cheating strategy to adaptative strategy
Cheaters
GSPMA2: Performance
• Comparation with Parkes 2005 mechanism:
– More efficient against cheating agents– Less delayed workflows
– More expensive for the workflows
50
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
51
Current work
• Adapt GSPMA2 to combinatorial auctions:– Combine VCG auctions with GSPMA2 • Select winners and scores using VCG• Transform scores to payments using GSPMA2 fafa
– Test incentive compatibility
– Apply to new domains
52
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
53
Workflow Resource Allocation through Auctions
Abert PlàeXiT – University of Girona
Advisors: Beatriz López & Javier Murillo
54
55
56
57
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
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
Part 4 – Multi-attribute auctions
59
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 FAIR!
Part 4 – Multi-attribute auctions
60
Multi-attribute auction: Vickrey problem
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
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
61
Multi-attribute auction: Vickrey problem
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
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 200€ FAIR!
62
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
63
64
• Repetitive
65
Workflow resource allocation through auctions
2 Workflow typesMany instantiations (under demand)
All need resources!Part 3 – – Resource allocation (auctions)
Top Related