1 / 23

An auction mechanism for scheduling batches on uniform machines

An auction mechanism for scheduling batches on uniform machines. Tamás Kis Computer and Automation Research Institute Budapest, Hungary. Outline. A batch scheduling model Known results on Q |batch|. Job auctions A randomized truthful mechanism Polynomial time computations Conclusions.

miyo
Télécharger la présentation

An auction mechanism for scheduling batches on uniform machines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An auction mechanism for scheduling batches on uniform machines Tamás Kis Computer and Automation Research Institute Budapest, Hungary

  2. Outline • A batch scheduling model • Known results on Q|batch|. • Job auctions • A randomized truthful mechanism • Polynomial time computations • Conclusions

  3. A batch scheduling model • m machines M1, M2,...,Mm with speeds s1≥ s2≥... ≥ sm • g groups of identical jobs, group Gj is characterized by the tripe (nj , pj , uj) • nj : number of jobs in Gj • pj : amount of work of each job in Gj • uj: amount of sequence independent setup work • all the data is part of the input • before processing the first job from some Gj on some machine Mi , a setup of length uj/si is needed, then the processing time of each job allocated to Miis pj/si • preemption of setup or job processing is not allowed

  4. Batch scheduling (cont.) • Jobs from the same group may be processed in parallel on different machines • Objective: minimize the makespan Q|batch-setup, pjk=pj , uij=uj | Cmax

  5. Some known approximation results • Non-preemptive case • M.Y. Kovalyov and Y.M. Shafransky (1994), „Scheduling of identical jobs on uniform machines in batches”, Working paper • Strong NP hardness result forQ|pj=1, nj=n, uj=1, dj=1|Cj≤dj • P. Brucker, M.Y. Kovalyov, Y.M. Shafransky and F. Werner (1998), „Batch scheduling with deadlines on parallel machines”, Annals of Operations. Res., vol 83. • FPTAS for fixed number of machines (unrelated machine environment contains Q as a special case) • Preemptive case • C.L. Monma and C.N. Potts (1993), „Analysis of heuristics for preemptive parallel machine scheduling with batch setup times”, Operations Res., vol 45. • Only parallel machines, (2-1/(m/2+1))-approx

  6. Motivation • A. Archer and E. Tardos (2001), „Truthful Mechanisms for One-Parameter Agents”, Proceedings of the 42nd IEEE Symposium on Foundations of Computer Science. • Gave a simple 2-approximation algorithm for Q||Cmax based on a McNaughton type algorithm and rounding

  7. Lower bounds on C*max • In any optimal schedule if a job from group Gj is processed on Mi , then (uj +pj)/si ≤ C*max • Let i(j) be the last machine with (uj +pj)/si(j) ≤ C*max. Suppose u1+p1 ≥ u2+p2 ≥... ≥ ug+pg. Then i(1) ≤i(2) ≤... ≤i(g). Therefore, • The lower bound Tlbon C*max

  8. The 2-approximation algorithm • Determine a fractional assignment of jobs to machines: • Sort the groups in decreasing uj+pjorder • Compute Tlb • Starting with group G1 and machine M1, put the groups consecutively on the machines. When a machine is filled up to time Tlb , continue with the next machine. Break jobs or setups into two parts, when necessary. • Then on each machine there can be at most two broken activities (setup or job), at the first and at the last position, resp. Join the broken parts on the slower machine and insert also a setup, when necessary.

  9. Illustration Tlb s1 n1p1 u2 p2 M1 u1 Tlb s2 p2 u3 n3p3 M2 Tlb s3 M3 n4p4

  10. Illustration Tlb s1 n1p1 u2 p2 M1 u1 Tlb s2 u2 p2 p2 u3 n3p3 M2 Tlb s3 M3 u4 n4p4

  11. Job Auctions Secret data (cost of unit work) M1 1/s1 M2 1/s2 Dispatcher (u1, p1, n1) (u2, p2, n2) . . (ug, pg, ng) Mm 1/sm Dispatcher wants to distribute the jobs between the machines while minimizing the makespan Machines are selfish and want to maximize their profit

  12. Auction protocol Three steps • Dispatcher asks a bid from each machine (bid = cost of unit work) • Each machine Misends in a bid bi • Dispatcher assigns the jobs and hands a payment to each machine • Machines may not tell the truth • True cost of unit work: ti= 1/si • Its bid: bi • Payment to Mi : Pi(bi ) • The work assigned to Mi : wi(bi ) • Cost of Mi : proportional to the work assigned, costi (bi ) = ti wi(bi ) • Profit of Mi : Pi(bi ) - costi (bi )

  13. Truthful mechanisms Ensure that machines maximize their profit when telling the true costs Theorem (Archer & Tardos, 2001) There exists a payment function ensuring truth telling if and only if the work assigned to each machine Mi is monotone decreasing in the bid bi, when the others’ bids are fixed. wi(bi) bi Payment:

  14. Randomized mechanisms • If the assignment depends on random variables, then we consider expected Cmax • Accordingly, machines have expected profit • Machines maximize expected profit • However, the dispatcher minimizes true makespan

  15. Monotone schedules Algorithm • Compute Tlb • Schedule the groups on machines in decreasing uj+pj order with time limit 2TlbHow to cut jobs (groups) at 2Tlb : • If a job does not fit on a machine, but there is already a setup for the group of the job, cut the job at 2Tlb • If there is no setup yet for the group of the job, put a job and a proportional setup on the machine How to continue on the next machine: • Put a whole setup before the first job on a machine, if there are more than one jobs left from the same group • Otherwise put the remaining fraction of the last job and a proportional setup

  16. Example 2Tlb/b1 M1 u1 n1 p1 fu2 fp2 2Tlb/b2 (1-f) p2 p2 M2 u2 2Tlb/b3 M3 u2 u3 n3 p3

  17. Rounding • Round the solution: • Consider the fractions of jobs assigned to machines as probabilities • If a whole job of a group is assigned to a machine, then schedule a whole setup as well • If an f fraction of a job is assigned to Miand an (1-f ) fraction is assigned to Mi+1, then assign the job to Mi with prob. f, and to the next machine with prob. (1-f ) • If only an f fraction of a job is assigned to a machine, assign the job and a preceding setup with prob. f

  18. Properties of Randomized Algorithm Theorem • The length of monotone schedule is 2Tlb • The exprected length is also 2Tlb • After rounding, the length is 4Tlb ≤4C*max

  19. Computing the payment ThmPi(bi) can be comuted in polynomial time Proof (sketch) 2T’lb/b1 M1 u1 n1 p1 f*u2 f*p2 2T’lb/b’2 (1-f*) p2 p2 M2 u2 2T’lb/b3 M3 u2 u3 n3 p3

  20. Computing the payment (cont.) • Consider the function T(x) = 2Tlb(x) (bid of Miis x; the bids of all other machines are fixed) • Assume bi< b’i ,then T(bi)≤T(b’i) • T(x) consists of segments {c, c/x, c/(d+x)}, the number of pieces is polynomial • We insert new break-points due to setups • Each group goes through three phases: • First, only some fraction of the first job of a group is scheduled on a machine and a proportional setup • Then, at least a whole job and a whole setup is assigned to the same machien • Finally,. some fraction of the last job of the group and a proportional setup is assigned to the machine

  21. Computing the payment (cont.) w(x’) x’

  22. Computing the payment (cont.) • Idea: assume the break-points and the functions wi(x) are computed up to x’. Determine the smallest x’’>x’ such that • Mi becomes full, or ceases to be full, or • a group changes phase on Mi or on a machine preceding Mi At the same time we compute the function wi(x) on the new segment It can be shown that the number of new breakpoints is polynomial

  23. Open problems • Can we trick the randomized mechanism? • Can we get a better deterministic performance guarantee in the batch scheduling model?

More Related