There are n {\displaystyle n} jobs and m {\displaystyle m} workers ("m" stands for "machine", since the problem comes from scheduling jobs to computers). Worker i {\displaystyle i} can do job j {\displaystyle j} in time T i , j {\displaystyle T_{i,j}} . If worker i {\displaystyle i} is assigned a set of jobs J i {\displaystyle J_{i}} , then he can execute them in time:
Given an allocation J 1 , … , J m {\displaystyle J_{1},\dots ,J_{m}} of jobs to workers, The makespan of a project is:
An optimal allocation is an allocation of jobs to workers in which the makespan is minimized. The minimum makespan is denoted by M i n M a k e S p a n {\displaystyle MinMakeSpan} .
A mechanism is a function that takes as input the matrix T {\displaystyle T} (the time each worker needs to do each job) and returns as output:
The utility of worker i {\displaystyle i} , under such mechanism, is:
I.e, the agent gains the payment, but loses the time that it spends in executing the tasks. Note that payment and time are measured in the same units (e.g., we can assume that the payments are in dollars and that each time-unit costs the worker one dollar).
A mechanism is called truthful (or incentive compatible) if every worker can attain a maximum utility by reporting his true timing vector (i.e., no worker has an incentive to lie about his timings).
The approximation factor of a mechanism is the largest ratio between M a k e s p a n {\displaystyle Makespan} and M i n M a k e s p a n {\displaystyle MinMakespan} (smaller is better; an approximation factor of 1 means that the mechanism is optimal).
The research on truthful job scheduling aims to find upper (positive) and lower (negative) bounds on approximation factors of truthful mechanisms.
The first solution that comes to mind is VCG mechanism, which is a generic truthful mechanism. A VCG mechanism can be used to minimize the sum of costs. Here, we can use VCG to find an allocation which minimizes the "make-total", defined as:
Here, minimizing the sum can be done by simply allocating each job to the worker who needs the shortest time for that job. To keep the mechanism truthful, each worker that accepts a job is paid the second-shortest time for that job (like in a Vickrey auction).
Let OPT be an allocation which minimizes the makespan. Then:
(where the last inequality follows from the pigeonhole principle). Hence, the approximation factor of the VCG solution is at most m {\displaystyle m} – the number of workers.
The following example shows that the approximation factor of the VCG solution can indeed be exactly m {\displaystyle m} . Suppose there are n = m {\displaystyle n=m} jobs and the timings of the workers are as follows:
Then, the VCG mechanism allocates all tasks to worker 1. Both the "make-total" and the makespan are n = m {\displaystyle n=m} . But, when each job is assigned to a different worker, the makespan is 1 + ϵ {\displaystyle 1+\epsilon } .
An approximation factor of m {\displaystyle m} is not very good, and many researchers have tried to improve it over the following years.
On the other hand, there are some impossibility results that prove that the approximation factor cannot be too small.
The approximation factor of every truthful deterministic mechanism is at least 2.2: 177-
The proof is typical of lower bounds in mechanism design. We check specific scenarios (in our case, specific timings of the workers). By truthfulness, when a single worker changes his declaration, he must not be able to gain from it. This induces some constraints on the allocations returned by the mechanism in the different scenarios.
In the following proof sketch, for simplicity we assume that there are 2 workers and that the number of jobs is even, n = 2 k {\displaystyle n=2k} . We consider the following scenarios:
Hence, the approximation factor of the mechanism must be at least 2.
Consider the special case of Uniform-machines scheduling, in which the workers are single-parametric: for each worker there is a speed, and the time it takes the worker to do a job is the job length divided by the speed. The speed is the worker's private information, and we want to incentivize machines to reveal their true speeds. Archer and Tardos3 prove that a scheduling algorithm is truthful if and only if it is monotone. This means that, if a machine reports a higher speed, and all other inputs remain the same, then the total processing time allocated to the machine weakly increases. For this problem:
Nisan, Noam; Ronen, Amir (2001). "Algorithmic Mechanism Design". Games and Economic Behavior. 35 (1–2): 166–196. CiteSeerX 10.1.1.16.7473. doi:10.1006/game.1999.0790. /wiki/CiteSeerX_(identifier) ↩
Archer, A.; Tardos, E. (2001-10-01). "Truthful mechanisms for one-parameter agents". Proceedings 42nd IEEE Symposium on Foundations of Computer Science. pp. 482–491. doi:10.1109/SFCS.2001.959924. ISBN 0-7695-1390-5. S2CID 11377808. 0-7695-1390-5 ↩
Auletta, Vincenzo; De Prisco, Roberto; Penna, Paolo; Persiano, Giuseppe (2004). "Deterministic Truthful Approximation Mechanisms for Scheduling Related Machines". In Diekert, Volker; Habib, Michel (eds.). Stacs 2004. Lecture Notes in Computer Science. Vol. 2996. Berlin, Heidelberg: Springer. pp. 608–619. doi:10.1007/978-3-540-24749-4_53. ISBN 978-3-540-24749-4. 978-3-540-24749-4 ↩
Ambrosio, Pasquale; Auletta, Vincenzo (2005). "Deterministic Monotone Algorithms for Scheduling on Related Machines". In Persiano, Giuseppe; Solis-Oba, Roberto (eds.). Approximation and Online Algorithms. Lecture Notes in Computer Science. Vol. 3351. Berlin, Heidelberg: Springer. pp. 267–280. doi:10.1007/978-3-540-31833-0_22. ISBN 978-3-540-31833-0. 978-3-540-31833-0 ↩
Andelman, Nir; Azar, Yossi; Sorani, Motti (2005). "Truthful Approximation Mechanisms for Scheduling Selfish Related Machines". In Diekert, Volker; Durand, Bruno (eds.). Stacs 2005. Lecture Notes in Computer Science. Vol. 3404. Berlin, Heidelberg: Springer. pp. 69–82. doi:10.1007/978-3-540-31856-9_6. ISBN 978-3-540-31856-9. 978-3-540-31856-9 ↩
Kovács, Annamária (2005). "Fast Monotone 3-Approximation Algorithm for Scheduling Related Machines". In Brodal, Gerth Stølting; Leonardi, Stefano (eds.). Algorithms – ESA 2005. Lecture Notes in Computer Science. Vol. 3669. Berlin, Heidelberg: Springer. pp. 616–627. doi:10.1007/11561071_55. ISBN 978-3-540-31951-1. 978-3-540-31951-1 ↩