Jump to content

Truthful job scheduling

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Erel Segal (talk | contribs) at 18:16, 28 December 2015 (Created page with ''''Truthful job scheduling''' is a mechanism design variant of the Job shop scheduling problem from operations research. We have a project composed...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Truthful job scheduling is a mechanism design variant of the Job shop scheduling problem from operations research.

We have a project composed of several "jobs" (tasks). There are several workers. Each worker can do any job, but for each worker it takes a different amount of time to finis each job. Our goal is to allocate jobs to workers such that the total makespan of the project is minimized. In the standard Job shop scheduling problem, the timings of all workers are known, so we have a standard optimization problem. In contrast, in the truthful job scheduling problem, the timings of the workers are not known. We ask each worker how much time he needs to do each job, but, the workers might lie to us. Therefore, we have to give the workers an incentive to tell us their true timings by paying them a certain amount. The challenge is to design a payment mechanism which is incentive compatible.

The truthful job scheduling problem was introduced by Nisan and Ronen in their 1999 paper on Algorithmic mechanism design.

Definitions

There are jobs and workers ("m" stands for "machine", since the problem comes from scheduling job streams to computers). Worker can do job in time . If worker is assigned a set of jobs , then he can execute them in time:

Given an allocation of jobs to workers, The makespan of a project is: