Research Article

Fairness of Task Allocation in Crowdsourcing Workflows

Algorithm 2

TaskAllocation().
Input: given workflow:
Output: {totalCost, overallFairness, completedTime}
(1)for , initialize , , , and
(2)While > 0 Do
(3) Get by calling findLongestPath ()
(4)IfThen
(5)  Let current_node = 
(6)  Let S=
(7)  For i = 1 to Do
(8)   Get the list of nominees for
(9)   Group nominees by similarity
(10)   Set for each group
(11)   Get candidates by multicasting nominees by group
(12)   Calculate the overallFairness
(13)   Calculate the indicator or for all candidates
(14)   Sort the list by or
(15)   Select the top candidate for
(16)   Remove from
(17)   totalCost + =
(18)   completedTime = 
(19)  End For
(20) Update parameters of remaining tasks after finishing S
(21)  End If
(22)End While
(23) return {totalCost, overallFairness, completedTime}