Chapter 3 DISTRIBUTED AUCTIONS FOR TASK ASSIGNMENT
3.3 Cost-Preferred Auction Scheme
3.3.2 Potential Winner Determination and Payment Calculation
When STOi receives service information{fjγ} and asking price{aij}from one or more MUDs, based on {fjγ}, {aij}, fiπ, andbi, STO i forms a set of available MUDs as
Γc(πi) ={γj|(Tij ∩Tiu)6=∅, Rγj ⊆Rπi, and aij ≤bi},
in which Tu
i denotes the un-scheduled time duration for task πi at the current round of
auction. This computation is implemented in lines 2-7 of Algorithm 2.
Potential Winner Determination Initially, the set of potential winners isW(πi) =
∅. To schedule working time, STO i first sorts all the available MUDs in Γc(π
i) in a non-
decreasing order in terms of their asking prices and gets a sorted set Γc0(πi) (see line 8 in
Algorithm 2). Next, STO i scans the available MUDs in Γc0(πi) and allocates un-scheduled
time slots in a greedy manor. Specifically speaking, if MUD γj’s current available working
Tu
i )∩(
S
γj0∈W(πi) Ts
ij0)6= (Tij∩Tiu), MUD γi can be chosen as a potential winner and assigned
a set of time slots that has not been allocated to current potential winners in W(πi), i.e., Tijs = (Tij ∩Tiu)\(Tij ∩Tiu∩( S
γj0∈W(πi)
Tijs0)) (see lines 9-14 in Algorithm 2).
Payment Calculation After completing task scheduling, STO i computes the pay-
ment for each potential winning MUD γj via identifying γj’s critical neighbor, which is defined to be the MUD γk in Γc(πi) where if aij is higher than aik, γj can not be scheduled.
Different from the previous works [9, 17–19, 21, 41, 42] in which each winner has only one critical neighbor, each winning MUDγj in the auction CPAS has one or more critical neigh- bors because the time slots of Ts
ij could be scheduled to one or more other available MUDs
if MUD γj does not join the auction (see lines 17 - 32 of Algorithm 2). Thus, the payment
is calculated according to every critical neighbor of winner γj. In order to find the critical neighbors, STOisorts all the MUDs in Γc
−γj(πi) = Γ c(π
i)\γj in the non-decreasing order in
terms of their asking prices, selects winners again in the sorted set Γc0−γj(πi), and schedules
working time to them. Any MUD γk is a critical neighbor of MUDγj if their allocated time durations are overlapping, i.e., Tiks0 ∩ Tijs0 6= ∅, where Tiks0 is the time duration assigned to MUD γk and Tijs0 records the remaining time duration in Tijs that is not allocated to others.
So the corresponding critical payment is aik|Tiks0∩Tijs0|. But, if no critical neighbor is found for MUD γj, its critical payment is STO i’s budget bi|Tijs0|.
Then, STO iannounces the auction results {Ts
ij} and {pij}to the MUDs.
Remark: Via Algorithm 2, each potential winning MUD can receive a working time
duration Ts
ij that contains one or more sub-time durations. For example, the time du-
ration of task πi is from 1:00pm to 5:00pm, winner γj’s working time duration is Tijs =
{[2:00pm, 3:00pm], [4:30pm, 5:00pm]} containing two sub-time durations, and the number of working time slots is |Ts
Algorithm 2: Cost-Preferred Task Scheduling & Pricing for Task πi input : fπ
i , bi, Tiu,Γ,{f γ
j},{aij} output: W(πi),{Tijs},{pij}
1 Set Γc(πi) = ∅, W(πi) = ∅,{Tijs}={∅}, and {pij}={0}; 2 for each γj ∈Γ with submitted fjγ and aij do
3 Calculate Tij;
4 if (Tij ∩Tiu)6=∅, Rjγ ⊆Rπi, and aij ≤bi then 5 Γc(πi) = Γc(πi)∪γj;
6 Sort all MUDs in Γc(πi) in non-decreasing order based on {aij} and obtain the
sorted set Γc0(πi); 7 for j = 1 to |Γc0(πi)|do 8 if (Tij ∩Tiu)∩( S γj0∈W(πi) Ts ij0)6= (Tij ∩Tiu)then 9 W(πi) =W(πi)∪γj; 10 Tijs = (Tij ∩Tiu)\(Tij ∩Tiu∩( S γj0∈W(πi) Ts ij0)); 11 for each γj ∈Wiπ do 12 Set {Tiks0}={∅} and Tijs0 =Tijs;
13 Sort all the MUDs in Γc(πi)\γj in a non-decreasing order based on {aik} and
obtain the sorted set Γc0−γ
j(πi); 14 Set k = 1 andW−γj(πi) =∅; 15 while k ≤ |Γc0−γ j(πi)| and T s0 ij 6=∅ do 16 if (Tik∩Tiu)∩( S γj0∈W−γj(πi) Tijs00)6= (Tik∩Tiu) then 17 W−γj(πi) = W−γj(πi)∪γk, 18 Tiks0 = (Tik∩Tiu)\(Tik∩Tiu∩( S γj0∈W −γj(πi) Tijs00)); 19 if Tiks0∩Tijs0 6=∅ then 20 pij =pij +aik|Tiks0∩T s0 ij|, 21 Tijs0 =Tijs0\(Tiks0∩Tijs0); 22 k=k+ 1; 23 if Tijs0 6=∅then 24 pij =pij +bi|Tijs0|.