INSTITUT FÜR INFORMATIK



Similar documents
The Greedy Method. Introduction. 0/1 Knapsack Problem

Luby s Alg. for Maximal Independent Sets using Pairwise Independence

8.5 UNITARY AND HERMITIAN MATRICES. The conjugate transpose of a complex matrix A, denoted by A*, is given by

1 Example 1: Axis-aligned rectangles

benefit is 2, paid if the policyholder dies within the year, and probability of death within the year is ).

Recurrence. 1 Definitions and main statements

J. Parallel Distrib. Comput.

8 Algorithm for Binary Searching in Trees

v a 1 b 1 i, a 2 b 2 i,..., a n b n i.

DEFINING %COMPLETE IN MICROSOFT PROJECT

An MILP model for planning of batch plants operating in a campaign-mode

Module 2 LOSSLESS IMAGE COMPRESSION SYSTEMS. Version 2 ECE IIT, Kharagpur

Joint Scheduling of Processing and Shuffle Phases in MapReduce Systems

2008/8. An integrated model for warehouse and inventory planning. Géraldine Strack and Yves Pochet

Support Vector Machines

Project Networks With Mixed-Time Constraints

) of the Cell class is created containing information about events associated with the cell. Events are added to the Cell instance

What is Candidate Sampling

How To Calculate An Approxmaton Factor Of 1 1/E

Power-of-Two Policies for Single- Warehouse Multi-Retailer Inventory Systems with Order Frequency Discounts

Feature selection for intrusion detection. Slobodan Petrović NISlab, Gjøvik University College

Multiplication Algorithms for Radix-2 RN-Codings and Two s Complement Numbers

Loop Parallelization

Adaptive Fractal Image Coding in the Frequency Domain

To Fill or not to Fill: The Gas Station Problem

Sngle Snk Buy at Bulk Problem and the Access Network

BERNSTEIN POLYNOMIALS

Institute of Informatics, Faculty of Business and Management, Brno University of Technology,Czech Republic

Chapter 4 ECONOMIC DISPATCH AND UNIT COMMITMENT

Enabling P2P One-view Multi-party Video Conferencing

Forecasting the Direction and Strength of Stock Market Movement

Logical Development Of Vogel s Approximation Method (LD-VAM): An Approach To Find Basic Feasible Solution Of Transportation Problem

How Sets of Coherent Probabilities May Serve as Models for Degrees of Incoherence

Availability-Based Path Selection and Network Vulnerability Assessment

Minimal Coding Network With Combinatorial Structure For Instantaneous Recovery From Edge Failures

Multi-Resource Fair Allocation in Heterogeneous Cloud Computing Systems

Extending Probabilistic Dynamic Epistemic Logic

On the Interaction between Load Balancing and Speed Scaling

Rate Monotonic (RM) Disadvantages of cyclic. TDDB47 Real Time Systems. Lecture 2: RM & EDF. Priority-based scheduling. States of a process

Virtual Network Embedding with Coordinated Node and Link Mapping

On the Interaction between Load Balancing and Speed Scaling

Efficient Project Portfolio as a tool for Enterprise Risk Management

On the Optimal Control of a Cascade of Hydro-Electric Power Stations

行 政 院 國 家 科 學 委 員 會 補 助 專 題 研 究 計 畫 成 果 報 告 期 中 進 度 報 告

Research Article Enhanced Two-Step Method via Relaxed Order of α-satisfactory Degrees for Fuzzy Multiobjective Optimization

A DYNAMIC CRASHING METHOD FOR PROJECT MANAGEMENT USING SIMULATION-BASED OPTIMIZATION. Michael E. Kuhl Radhamés A. Tolentino-Peña

The Development of Web Log Mining Based on Improve-K-Means Clustering Analysis

An Enhanced Super-Resolution System with Improved Image Registration, Automatic Image Selection, and Image Enhancement

Traffic State Estimation in the Traffic Management Center of Berlin

Examensarbete. Rotating Workforce Scheduling. Caroline Granfeldt

A hybrid global optimization algorithm based on parallel chaos optimization and outlook algorithm

The Geometry of Online Packing Linear Programs

Simulation and optimization of supply chains: alternative or complementary approaches?

POLYSA: A Polynomial Algorithm for Non-binary Constraint Satisfaction Problems with and

Level Annuities with Payments Less Frequent than Each Interest Period

Real-Time Process Scheduling

A Simple Approach to Clustering in Excel

How To Solve An Onlne Control Polcy On A Vrtualzed Data Center

When Network Effect Meets Congestion Effect: Leveraging Social Services for Wireless Services

General Auction Mechanism for Search Advertising

Activity Scheduling for Cost-Time Investment Optimization in Project Management

Answer: A). There is a flatter IS curve in the high MPC economy. Original LM LM after increase in M. IS curve for low MPC economy

THE DISTRIBUTION OF LOAN PORTFOLIO VALUE * Oldrich Alfons Vasicek

This paper concerns the evaluation and analysis of order

An Interest-Oriented Network Evolution Mechanism for Online Communities

Simple Interest Loans (Section 5.1) :

Compiling for Parallelism & Locality. Dependence Testing in General. Algorithms for Solving the Dependence Problem. Dependence Testing

Software project management with GAs

An Alternative Way to Measure Private Equity Performance

Multi-Source Video Multicast in Peer-to-Peer Networks

Logistic Regression. Lecture 4: More classifiers and classes. Logistic regression. Adaboost. Optimization. Multiple class classification

Finite Math Chapter 10: Study Guide and Solution to Problems

NON-CONSTANT SUM RED-AND-BLACK GAMES WITH BET-DEPENDENT WIN PROBABILITY FUNCTION LAURA PONTIGGIA, University of the Sciences in Philadelphia

Equlbra Exst and Trade S effcent proportionally

Production. 2. Y is closed A set is closed if it contains its boundary. We need this for the solution existence in the profit maximization problem.

PAS: A Packet Accounting System to Limit the Effects of DoS & DDoS. Debish Fesehaye & Klara Naherstedt University of Illinois-Urbana Champaign

Optimization of network mesh topologies and link capacities for congestion relief

Linear Circuits Analysis. Superposition, Thevenin /Norton Equivalent circuits

A Novel Methodology of Working Capital Management for Large. Public Constructions by Using Fuzzy S-curve Regression

How To Understand The Results Of The German Meris Cloud And Water Vapour Product

L10: Linear discriminants analysis

This circuit than can be reduced to a planar circuit

Maintenance Scheduling by using the Bi-Criterion Algorithm of Preferential Anti-Pheromone

Causal, Explanatory Forecasting. Analysis. Regression Analysis. Simple Linear Regression. Which is Independent? Forecasting

n + d + q = 24 and.05n +.1d +.25q = 2 { n + d + q = 24 (3) n + 2d + 5q = 40 (2)

Section 5.4 Annuities, Present Value, and Amortization

Data Broadcast on a Multi-System Heterogeneous Overlayed Wireless Network *

Generalizing the degree sequence problem

Energy Conserving Routing in Wireless Ad-hoc Networks

Heuristic Static Load-Balancing Algorithm Applied to CESM

New Approaches to Support Vector Ordinal Regression

A Prefix Code Matching Parallel Load-Balancing Method for Solution-Adaptive Unstructured Finite Element Graphs on Distributed Memory Multicomputers

Transcription:

INSTITUT FÜR INFORMATIK Schedulng jobs on unform processors revsted Klaus Jansen Chrstna Robene Bercht Nr. 1109 November 2011 ISSN 2192-6247 CHRISTIAN-ALBRECHTS-UNIVERSITÄT ZU KIEL

Insttut für Informat der Chrstan-Albrechts-Unverstät zu Kel Olshausenstr. 40 D 24098 Kel Schedulng jobs on unform processors revsted Klaus Jansen Chrstna Robene Bercht Nr. 1109 November 2011 ISSN 2192-6247 e-mal: {j, cot}@nformat.un-el.de Parts of ths results have been publshed as extended abstract n Proceedngs of the 9th Worshop on Approxmaton and Onlne Algorthms (WAOA 2011). The research was supported by DFG project JA612/14-1, Desgn and analyss of effcent polynomal approxmaton schemes for schedulng and related optmzaton problems.

Abstract We study the problem of schedulng jobs on unform processors wth the objectve to mnmze the maespan. In schedulng theory ths problem s nown as Q C max. We present an EPTAS for schedulng on unform machnes avodng the use of an MILP or ILP solver. Instead of solvng (M)ILPs we solve the LPrelaxaton and use structural nformaton about the closest ILP soluton. For a gven LP-soluton x we consder the dstance to the closest ILP soluton y n the nfnty norm,.e. x y. We call ths dstance max -gap(a δ ), where A δ s the constrant matrx of the consdered (I)LP. For dentcal machnes and δ = Θ(ε) the matrx A δ has ntegral entres n {0,..., (1 + δ)/δ} and O(1/δ log(1/δ)) rows representng job szes and 2 O(1/δ log2 (1/δ)) columns representng confguratons of jobs, so that the column sums are bounded by (1 + δ)/δ. The runnng-tme of our algorthm s 2 O(1/ε log(1/ε) log(c(aδ)) + O(n log n) where C(A δ ) denotes an upper bound for max -gap(a δ ). Furthermore, we can generalze the algorthm for unform machnes and obtan a runnng-tme of 2 O(1/ε log(1/ε) log(c(ãδ)) + poly(n), where Ãδ s the constrant matrx for a sub-problem consdered n ths case. In both cases we show that C(A δ ), C(Ãδ) 2 O(1/ε log2 (1/ε)). Consequently, our algorthm has runnng-tme at most 2 O(1/ε2 log 3 (1/ε)) + O(n log n) for dentcal machnes and 2 O(1/ε2 log 3 (1/ε)) + poly(n) for unform machnes, the same as n [12]. But, to our best nowledge, no nstance s nown to tae on the value 2 O(1/ε log2 (1/ε)) for max -gap(a δ ) or max -gap(ãδ). If C(Ãδ), C(A δ ) poly(1/ε), the runnng-tme of the algorthm would be 2 O(1/ε log2 (1/ε)) + poly(n) and thus mprove the result n [12]. 1 Introducton In ths paper we study the problem of schedulng jobs on unform processors wth the objectve to mnmze the maespan. In schedulng theory ths problem s nown as Q C max and s formally descrbed as follows. We are gven a set J of n Jobs J j wth processng tmes p j and a set P of m processors P, each of them runnng wth a certan speed s. A job J j needs p j /s tme unts to be fnshed, f t s executed on P. Wthout loss of generalty we assume that the number m of processors s bounded by the number n of jobs and that the processors are sorted by decreasng speed,.e. s 1 s 2... s m. For an nstance I let OP T (I) denote the length of an optmum schedule A polynomal tme approxmaton scheme (PTAS) for Q C max s a famly of polynomaltme approxmaton algorthms (A ε ) ε>0, where for an nstance I the output of each algorthm A ε s a schedule of length (1+ε)OP T (I) and the runnng-tme of A ε s bounded by a polynomal n the nput length I. The runnng-tme of every A ε s allowed to be exponental n 1/ε, whch can lead to very large runnng-tmes f ε s very small. Therefore we dstngush furthermore effcent polynomal-tme approxmaton schemes (EPTAS) that have runnng-tme bounded by f(1/ε)poly( I ) for a functon f, and fully polynomal-tme approxmaton schemes (FPTAS) wth runnng-tme bounded by a polynomal n both, 1/ε and I. Known Results. In [5] and [6] the problem was shown to be NP-hard even for dentcal processors. In 1976 Horowtz and Sahn [11] presented an approxmaton scheme for a 3

constant number m of unform processors. Later Gonzales et al. [5] showed for the same problem that the LPT lst algorthm (usng largest processng tme frst polcy) has output n [1.5 OP T (I), 2 OP T (I)]. Hochbaum and Shmoys presented a PTAS for Q C max wth runnng-tme (n/ε) O(1/ε2) [9],[10]. For dentcal processors the complexty was mproved to (n/ε) O(1/ε log(1/ε)) by Leung [18]. Snce the problem was shown to be NPhard n the strong sense [5], no FPTAS exsts. But, for dentcal processors Hochbaum [8] and Alon et al. [1] developed an EPTAS wth runnng-tme f(1/ε) + O(n), where f s a functon doubly exponental n 1/ε. In [12] Jansen gave an EPTAS for schedulng jobs on unform processors usng an MILP relaxaton wth runnng-tme 2 O(1/ε2 log 3 (1/ε)) + poly(n). Sanders et al. obtaned a robust onlne algorthm for schedulng on dentcal machnes wth compettve rato (1 + ε) and mgraton factor β(ε) = 2 O(1/ε log2 (1/ε)) so that the runnng-tme for ncorporatng a newly arrved job s constant. It mantans and updates a data structure n tme doubly exponental n 1/ε, namely 2 2O(1/ε log2 (1/ε)), n each teraton. Ths s done by comparng the dstance between solutons for ILPs wth dfferent rght hand sdes. The general case for unform processors s not consdered. Our Results. In ths wor we present an EPTAS for schedulng on unform machnes avodng the use of an MILP or ILP solver. In our new approach nstead of solvng (M)ILPs we solve the LP-relaxaton and use structural nformaton about the closest ILP soluton. For a gven LP-soluton x we consder the dstance to the closest ILP soluton y n the nfnty norm,.e. x y. For the constrant matrx A δ of the consdered LP we call ths dstance max -gap(a δ ) := max{mn{ y x : y soluton of ILP} : x soluton of LP}. Let C(A δ ) denote an upper bound for max -gap(a δ ). The runnng-tme of our algorthm s 2 O(1/ε log(1/ε) log(c(a δ)) + poly(n). We show that C(A δ ) 2 O(1/ε log2 (1/ε)). Consequently, our algorthm has runnng-tme at most 2 O(1/ε2 log 3 (1/ε)) + poly(n), the same as n [12]. But, to our best nowledge, no nstance s nown to tae on the value 2 O(1/ε log2 (1/ε)) for max - gap(a δ ). We conjecture C(A δ ) poly(1/ε). If that holds, the runnng-tme of the algorthm would be 2 O(1/ε log2 (1/ε)) + poly(n) and thus mprove the result n [12]. Methods. Assume that we are gven an nstance Ī of m dentcal processors and n jobs wth only d dfferent processng tmes p j, such that there are n j jobs of each sze. We use the dual approxmaton method by Hochbaum and Shmoys [10] to fnd a value T for the optmum maespan and transform the schedulng problem nto a bn pacng problem wth bn sze T. Then the problem can be descrbed va the followng confguraton ILP for d dfferent tem szes: x m a(j, )x n j for j = 1,..., d x Z 0. (ILP (d)) A confguraton C s a multset of processng tmes p j so that ther total sum s bounded by T. The nteger a(j, ) denotes the number of jobs of processng tme p j n C. In ILP (d) 4

the varable x s the number of bns n whch jobs are paced accordng to confguraton C. Solvng an ILP s always dffcult [15, 16], so what nd of nformaton about the structure of the ILP-soluton can we get from a soluton of the LP-relaxaton? For the constrant matrx A := (a(j, )) j of the above ILP (d) we consder max -gap(a). Havng an upper bound C(A) for max -gap(a) and havng an optmum fractonal soluton x we conclude that there exsts an optmum soluton y of ILP (d) so that y x C(A) for x C(A). So we now how a subset of the bns B B has to be flled wth jobs n the optmum soluton y. We can reduce the nstance to an nstance Īred by tang out the bns n B and those jobs that are paced n B : m := m x C(A) processors x >C(A) ñ j := n j (1) a(j, ) x C(A) for all processng tmes p j. x >C(A) In Fgure 1 for example we have C(A) = 3. Gven an optmum fractonal soluton x we conclude that there exsts an optmum soluton y of the ILP wth x y 3. Thus, f x = 7.5 we have y 5. Therefore we now that there s an ntegral soluton of ILP (1) where at least 5 bns are occuped wth confguraton C. We tae out these 5 bns and the correspondng jobs. Keep n mnd that f the number of dfferent C(A δ ) = 3 and x = 7.5 y 5 Fgure 1: Reducng the nstance. job szes and the number of jobs per bn s bounded by a constant, the total number of remanng jobs n Īred can be bounded by a functon n the value C(A) namely by #(non-zero varables n LP-soluton) #(jobs per bn) C(A). Coo et al. [3] showed for general (I)LPs that max -gap(a) s bounded by tmes the number of varables, where s the maxmum absolute value of a subdetermnant of the constrant matrx A. So for an nstance I wth dentcal machnes our algorthm (for a formal descrpton see Algorthm 1) frst chooses δ Θ(ε) and fnds by bnary search a canddate T for the maespan wth OP T (I) T (1 + δ)op T (I). By scalng we can assume that T = 1 and round the processng tmes p j to values p j = δ(1 + δ) j wth j Z such that p j p j (1 + δ)p j. Consequently, we have to enlarge the bn capactes slghtly to (1 + δ)t = (1 + δ). Wth Ī we denote the nstance of rounded jobs, that are large,.e. p j > δ. Notce that we have at most O(1/δ) large jobs per bn and by the roundng we have R O(1/δ log(1/δ)) dfferent large job szes (see also Lemma 2.1). We set up a confguraton ILP for Ī wth 2 O(1/δ log2 (1/δ)) varables and constrant matrx A δ as descrbed above and solve the LPrelaxaton or decde that no soluton exsts. In the latter case we ncrease the value T 5

and restart. Solvng the LP-relaxaton can be done n tme poly(1/δ, log n) [7]. Usng the theorem by Coo et al. [3] we show that C(A δ ) s at most 2 O(1/δ log2 (1/δ)) (refer to Lemma 2.3). Havng a soluton of the LP-relaxaton we can reduce the nstance as descrbed n equaton (1). Snce the number of non-zero varables n a basc soluton of the LPrelaxaton s bounded by ran(a δ ) O(1/δ log(1/δ)), the number of remanng large jobs n Īred s bounded by 2 O(1/δ log(1/δ) log(c(a δ)/δ)). We allocate them by a dynamc programmng approach. If ths fals, we ncrease T and restart. In the end the small jobs are added greedly. The runnng-tme s composed as follows sortng the tems by sze + bnary search on T solvng the LP dynamc program + addng small jobs. Ths gves total runnng-tme O(n log n) + O(log(1/ε))poly(1/ε, log n)2 O(1/ε log(1/ε) log(c(a δ))) + O(n) O(n log n) + poly(log n)2 O(1/ε log(1/ε) log(c(a δ))) 2 O(1/ε log(1/ε) log(c(a δ))) + O(n log n). The algorthm for unform processors s much more complex. Snce we have dfferent bn capactes for unform machnes, we cannot drectly apply the technques used for dentcal machnes. Therefore, we dstngush between three dfferent scenaros for the shape of the bn szes. For each scenaro we gve an algorthm that solves the problem n tme 2 O(1/δ log(1/δ) log(c(ãδ))) + poly(n) that apples our new technque to a subset of the nstance. Furthermore, we use a new technque to round LP solutons for fractonal bn pacng producng only few extra bns. In all cases the runnng tme depends on C(Ãδ) and s 2 O(1/ε2 log 3 (1/ε)) + poly(n) n the worst case for C(Ãδ). Here, the matrx Ãδ descrbes the constrants appearng n an ILP-approach that characterzes a more general schedulng problem as the one for dentcal machnes: the jobs have a bounded number of dfferent szes and the machnes run group-wse wth the same speed, so we have confguratons for each group. The entres of à δ are ntegers n {0, 1,..., (1 + δ)g(1/δ)/δ} and the column sums are bounded by (1 + δ)g(1/δ)/δ + 1 for a functon g(1/δ) = poly(1/δ) that wll be specfed later. The value C(Ãδ) s an upper bound for max -gap(ãδ). We found out that the value for matrces descrbng schedulng problems can be exponental n the number of dfferent tem szes (see Lemma 2.5). But, no nstance s nown to tae on the upper bound for max -gap(a δ ) or max -gap(ãδ). Therefore, an open queston s to fnd a better bound for max -gap(a δ ) and max -gap(ãδ). One can also thn of a robust onlne algorthm for dentcal processors or even for unform processors wth mproved runnng-tme usng smlar technques. Organzaton of the paper. In Secton 2 we descrbe the algorthm for dentcal processors fully detaled. Moreover, we show that max -gap(a δ ) s bounded from above and that the value s bounded from below. In Secton 3 we present an effcent algorthm for unform processors that avods to solve (M)ILPs and uses an upper bound for max -gap(ãδ) nstead. Here, we proceed by case dstncton and consder three dfferent scenaros for the bn szes. Consequently, a subdvson of Secton 3 s gven by the three cases. 2 Schedulng on Identcal Processors An overvew about our algorthm s gven n Algorthm 1. Below we descrbe our approach step by step. 6

Algorthm 1 Algorthm for dentcal machnes 1: Obtan wth lst schedulng algorthm a schedule of length LS(I) 2OP T (I). 2: Compute a value T [LS(I)/2, LS(I)]. 3: Round the processng tmes of the jobs and dstngush small and large jobs 4: Solve an LP-relaxaton and fnd a schedule for a subset of the large jobs and reduce the nstance to I red. 5: f LP has no feasble soluton then 6: ncrease T and go to step 3. 7: end f 8: Dynamc program for I red. 9: f the dynamc program for I red does not fnd a feasble soluton for m machnes then 10: ncrease T and go to step 3. 11: end f 12: Schedule the small jobs behnd the large ones.. Computng an approxmate value for the maespan. We frst compute a near optmum value T for the maespan. Let LS(I) be the length of a schedule generated by the lst schedulng algorthm wth LS(I) 2OP T (I) where OP T (I) s the mnmum schedule length among all solutons. Ths mples that LS(I)/2 OP T (I) LS(I). In the followng we choose a value δ mn(ε/4, 1/2). Usng bnary search over the nterval [LS(I)/2, LS(I)] we compute a value T such that OP T (I) T (1 + δ)op T (I). Notce that the nterval [LS(I)/2, LS(I)] can be dvded nto 1/δ subntervals of length (δ/2)ls(i) δop T (I). To fnd the correspondng nterval, we use the dual approxmaton method by Hochbaum and Shmoys [9] that for a gven value T ether computes an approxmate schedule of length at most T (1 + δ) or shows that there s no schedule of length T. Usng bnary search over the nterval, we compute a value T (1 + δ)op T (I) and an approxmate schedule below of length at most (1+2δ)T (1+2δ)(1+δ)OP T (I) (1+4δ)OP T (I) (1+ε)OP T (I) for δ 1/2 and δ ε/4. Notce that O(log(1/ε)) steps are suffcent n the bnary search. Roundng. As descrbed n the ntroducton the schedulng problem can be transformed nto a bn pacng problem wth bn szes T [2]. By scalng we may assume that T = 1. Let Ī be the nstance wth the rounded processng tmes. Clearly, for any set A of jobs wth j A p j 1 we have for the total rounded processng tme j A p j (1 + δ). We partton the jobs now nto large and small jobs. A job j s large, f the processng tme p j δ. Other jobs wth p j < δ are called small. Lemma 2.1. Let A be a set {a(1 + δ) x,..., a(1 + δ) y } wth x, y Z +, x < y and a IR +. Then A log(max(a)/ mn(a))/δ + 1 and A 2 log(max(a)/ mn(a))/δ + 1 for any δ (0, 1/2]. Proof. Usng the assumpton on A, max(a)/ mn(a) = (1 + δ) y x. Therefore, the number of elements a(1 + δ) n A s equal to y x + 1 = log(max(a)/ mn(a))/ log(1 + δ) + 1. 7

Usng log(1 + δ) δ δ 2 δ/2 for δ (0, 1/2] and log(1 + δ) δ, the cardnalty of A s at least log(max(a)/ mn(a))/δ + 1 and at most 2 log(max(a)/ mn(a))/δ + 1. By the lemma above the number of dfferent large rounded processng tmes s bounded by R = 2 log((1 + δ)/δ)/δ + 1 = O(1/δ log(1/δ)). Wth n j we denote the number of jobs n Ī wth processng tme δ(1 + δ)j for j = 0,..., R 1. (I)LP-formulaton for large jobs The assgnment of the large jobs to the bns can be formulated as a confguraton ILP as n ILP (d) for d = R wth exponentally many varables. We denote t wth ILP (R). Here a confguraton s a multset of large rounded processng tmes,.e. values δ(1 + δ) j [δ, (1 + δ)] so that ther total sum s bounded by 1 + δ. Snce there are at most (1 + δ)/δ many large jobs on a processor wth maespan (1 + δ), the number of multsets wth large processng tmes s bounded by ((1 + δ)/δ) O(1/δ log(1/δ)) = 2 O(1/δ log2 (1/δ)). Let a(j, ) be the number of occurrences of value δ(1 + δ) j n C. Consequently the matrx A δ := (a(j, )) j s the constrant matrx of ILP (R). To avod now the algorthm by Lenstra or Kannan to compute an optmum soluton of ILP (R), we consder ts LP-relaxaton LP (R). We can solve LP (R) usng Theorem (6.6.5) n [7]: The frst constrant of LP (R) can be transformed nto an objectve { functon mn cx wth R 1 c 1. The resultng dual s a maxmzaton problem of the form max j=0 n jy j y P }, { where P = y R R } j a(j, )y j 1, 1 C, y 0. The polyhedron P has facet complexty at most ϕ := R( log( 1+δ ) + 1) + 2 = O(1/δ δ log2 (1/δ)), snce each nequalty descrbng P has encodng length at most ϕ. Accordng to Theorem (6.6.5) n [7] there s an algorthm that fnds a basc optmum soluton of the dual of the dual,.e. the modfed LP (R). The runnng-tme s bounded by a polynomal n ϕ and n the encodng length of (n 0,..., n R 1 ), whch s n O(1/δ log(1/δ) log(n)). Thus, the runnng-tme s bounded by poly(1/δ, log(n)). Reducng the nstance of large jobs. Let x be an optmum basc soluton of LP (R) and let C(A δ ) be an upper bound for max -gap(a δ ). Let Īred be the correspondng reduced nstance acheved as n (1). From x we obtan a pacng for the large rectangles n Ī\Īred as descrbed n the ntroducton. Now, each basc soluton of the LP-relaxaton has at most O(1/δ log(1/δ)) many varables wth value larger than 0. In addton the reduced varables x x C(A δ ) are bounded by C(A δ ). Snce j a(j, ) (1+δ)/δ for each confguraton C, we can bound the number of remanng jobs n Īred,.e. ñ O(1/δ 2 log(1/δ)c(a δ )). Furthermore, we may suppose that m ñ; snce more processors are not necessary. Dynamc program for reduced nstance. An assgnment of the remanng jobs n I red can be computed va dynamc programmng n tme (ñ) O(1/δ log(1/δ)) 2 O(1/δ log(1/δ) log(c(a δ)/δ)). We smply go over the machnes and store vectors (x 1,..., x R ) wth numbers x j of jobs wth processng tme p j for j = 1,..., R used by the frst processors for = 1,..., m. If the algorthm does not fnd a feasble assgnment, we now that the orgnal ILP (R) has no feasble soluton and have to ncrease T. 8

Small jobs. Once we have an assgnment of the large jobs, we can pac the small jobs. They can be paced greedly onto the processors, f the total sze of the small and large jobs s bounded by m (the total sum of all bn capactes). Addng the small jobs ncreases the maespan by at most δ. Therefore, the overall maespan s at most (1 + 2δ). If the condton above does not hold or f p max = max j=1,...,n p j > 1, there s no schedule of length T = 1. 2.1 Bounds for max -gap(a δ ) and the runnng-tme To obtan an upper bound C(A δ ) for max -gap(a δ ) we use an nterestng result by Coo et al. [3]. They proved that the maxmum dstance between an optmum soluton of the LP and a closest optmum soluton of the ILP (and vce versa) s bounded by a functon n the dmenson and the coeffcents of the underlyng matrx. Theorem 2.2. [3] Let A be an ntegral (M N) matrx, such that each subdetermnant s at most n absolute value, and let b and c be vectors. Suppose that both objectve values () mn{c T x Ax b} and () mn{c T x Ax b; x Z N } are fnte. Then: (a) for each optmum soluton y of () there exsts an optmum soluton z of () wth y z N and (b) for each optmum soluton z of () there exsts an optmum soluton y of () wth y z N. Note that the theorem above also holds, f we have addtonal nequaltes of the form x 0. Furthermore, we can use c T x = x as objectve functon nstead of the nequalty x m n ILP (d). For schedulng on dentcal processors the objectve values of the ILP formulaton for the rounded large jobs Ī and ts LP relaxaton both are fnte. Consequently, max -gap(a δ ) s bounded by N. In the followng we gve bounds for the parameters N and. Lemma 2.3. The number of varables N n the modfed ILP, the maxmum absolute value over all subdetermnants correspondng to the matrx A δ and max -gap(a δ ) are at most 2 O(1/δ log2 (1/δ)). Proof. The number N of varables n the modfed ILP s equal to the number of confguratons, so t s bounded by 2 O(1/δ log2 (1/δ)). On the other hand, the absolute value of the determnant of a quadratc (M M) sub-matrx A of A δ wth column vectors A 1,..., A M and det(a) = can be bounded usng the Hadamard s nequalty det(a) M A 2. (2) =1 Snce the coeffcents of a column A correspond to a confguraton C, the sum of the entres s bounded by (1 + δ)/δ. Therefore, usng the nequalty A 2 A 1, we obtan A 2 A 1 O(1/δ log(1/δ)) j=1 9 a(j, ) (1 + δ)/δ. (3)

Ths mples that s at most (2) O(1/δ log(1/δ)) =1 O(1/δ log(1/δ)) (3) A 2 =1 (1 + δ) δ = 2 O(1/δ log2 (1/δ)). (4) We conclude that max -gap(a δ ) s also at most 2 O(1/δ log2 (1/δ)). Ths mples the followng theorem Theorem 2.4. For a lst of n jobs I Algorthm 1 produces a schedule on m machnes wth maespan at most (1 + ε)op T (I) n tme 2 O(1/ε log(1/ε) log(c(a δ))) + O(n log n) 2 O(1/ε2 log 3 (1/ε)) + O(n log n). If C(A δ ) = poly(1/ε), the runnng-tme mproves to 2 O(1/ε log2 (1/ε)) + O(n log n). On the other hand, the value can be qute large. But note that a lower bound for max -gap(a δ ) remans unnown. Lemma 2.5. The maxmum value over all subdetermnants of the coeffcent matrx A δ = (a(j, )) s at least 2 Ω(1/δ log2 (1/δ)). Proof. The number of rounded processng tmes p j n the nterval [δ, δ 1/2 ] s at least log(δ 1/2 /δ)/δ = 1/δ log(δ 1/2 ). For each rounded processng tme p j = δ(1 + δ) j [δ, δ 1/2 ] for j = 0,..., 1/δ log(δ 1/2 ) 1, we tae one confguraton or multset C j whch conssts of only δ 1/2 numbers p j,.e. C j = {0 : δ(1 + δ) 0,..., 0 : δ(1 + δ) j 1, δ 1/2 : δ(1 + δ) j, 0 : δ(1 + δ) j+1,..., 0 : δ(1 + δ) 1/δ log(δ 1/2 ) 1 }. The determnant of the matrx correspondng to these confguratons C 0,..., C 1/δ log(1/δ 1/2 ) 1 s (δ 1/2 ) Ω(1/δ log(δ 1/2 )) = 2 Ω(1/δ log2 (δ 1/2 )) = 2 Ω(1/δ log2 (1/δ)). Ths mples that 2 Ω(1/δ log2 (1/δ)). 3 Schedulng on Unform Processors For unform processors we can compute a 2 - approxmaton usng the LPT algorthm studed by Gonzales et al. [5]. Here LP T (I) 2OP T (I) where LP T (I) s the schedule length generated by the LPT algorthm. Smlar to dentcal processors, we can splt the nterval [LP T (I)/2, LP T (I)] nto 1/δ subntervals of length (δ/2)lp T (I) δop T (I) and transform the schedulng problem wth maespan T nto a bn pacng problem wth bn szes c 1... c m (where c = T s ). By scalng we assume c m = 1. As for dentcal machnes we round the job szes p j to values p j = δ(1 + δ) j (1 + δ)p j. Addtonally we round and ncrease slghtly the bn capactes c to values c = (1 + δ) l c (1 + δ) 2. Let the nstance of rounded jobs and bn capactes be denoted wth Ī. For a set of bns B let c mn (B) := mn{c b B}. Analogously we defne c max (B). 10

Lemma 3.1. [12] If there s a feasble pacng of n jobs wth processng tmes p j nto m bns wth capactes c 1,..., c m, then there s also a pacng of the n jobs wth rounded processng tmes p j = δ(1 + δ) j (1 + δ)p j nto the m bns wth rounded bn capactes c = (1 + δ) l c (1 + δ) 2. In the general case wth dfferent bn szes, we dstngush between three dfferent scenaros dependng on the structure of the set of bns n the nstance. Let g : N N and f : N N be functons so that g(1/δ) 1/δ log 2 (1/δ) wth g = poly(1/δ) and f(1/δ) = max{ (1 + δ + log 2 (1/δ))/δ, 1/δ 4 log(g(1/δ)/δ)c(ãδ)}. The constant C(Ãδ) s stll an upper bound for max -gap(ãδ). Here Ãδ s a matrx correspondng to a more general schedulng problem wth O(1/δ log(1/δ)) rows (dfferent job szes) and 2 O(1/δ log2 (1/δ)) columns (confguratons) wth ntegral entres n {0, 1,..., (1 + δ)g(1/δ)/δ} and column sums bounded by (1 + δ)g(1/δ)/δ + 1 smlar to the constrant matrx of the confguraton ILP used for dentcal processors. We consder the followng three scenaros: Case 1: For all {1,..., m} we have c 1 / c m g(1/δ). Case 2: There exsts an ndex K + 1 f( 1 /δ) wth c 1 / c < g( 1 /δ) for 1 K and c 1 / c g( 1 /δ) for K + 1 m. Case 3: There exsts an ndex K + 1 > f( 1 /δ) wth c 1 / c < g( 1 /δ) for 1 K and c 1 / c g( 1 /δ) for K + 1 m. In the frst scenaro all bns have smlar capactes. More precsely the capacty of every bn s bounded from above by g( 1 /δ) (Keep n mnd that c mn := mn c = 1). Ths scenaro can be solved very smlar to the problem wth dentcal machnes. In the second scenaro we consder two dfferent bn groups B 0 := {b 1,..., b K } and B 1 := {b K+1,..., b m }. For B 0 we preprocess an assgnment of large jobs ( p j > δc mn (B 0 )) va a dynamc program and obtan a set of assgnment vectors V. If the dynamc program does not fnd a feasble soluton for B 0, we ncrease T. For v V we allocate large jobs fractonally nto B 1 va an LP. If the LP does not have a feasble soluton we compute a dfferent vector v. If we stll do not fnd an LP soluton, we ncrease T. Then we round the soluton of the LP wth a novel roundng technque usng a subroutne for bn pacng wth dfferent bn szes that produces only few extra bns. In the end the small jobs are scheduled behnd the large ones. An overvew of the overall algorthm gves Algorthm 2. The thrd scenaro s the most complcated case. Here we have three bn groups B 0 = {b 1,..., b K }, B 1 = {b > K, c δc mn (B 0 )} and the remanng bns B 2 = B \ (B 0 B 1 ). If B 1 we dstngush large, medum and small jobs, else we only have large and small jobs: A job s called large f p j > δc mn (B 0 ) and medum f p j (δc mn (B 1 ), δc mn (B 0 )]; other jobs are called small. We frst allocate a subset of the large jobs nto B 0 and B 1 usng a lnear program. As n the case for dentcal machnes for a gven soluton x of the LP we reduce the nstance by the number of large jobs surely paced n the closest ntegral soluton. If the LP has no feasble soluton we have to ncrease T and restart. Va dynamc programmng our algorthm obtans an assgnment of the remanng large jobs nto B 0 and B 1 (f there s none, ncrease T ). The medum jobs are paced wth a bn pacng subroutne nto B 1. Fnally, the allocated medum and large jobs are ft together wth the remanng jobs and the small jobs are added. An overvew of the algorthm for 11

ths case s gven n Fgure 3. In the next followng we descrbe the algorthm n each case fully detaled. 3.1 Algorthm for Case 1 Usng Lemma 2.1, the number of dfferent rounded bn szes s at most L = 2/δ log(g(1/δ))+ 1, snce g(1/δ) = poly(1/δ) we have L = O(1/δ log(1/δ)). In ths scenaro a job s called large, f p j = δ(1 + δ) j δ c m = δ, otherwse a t s called small. Let p mn be the mnmum large processng tme,.e. p mn = mn{p j p j δ, j = 1,..., n}. Clearly, p mn δ f the set s non-empty. Snce p max = max j=1,...,n p j c 1 g(1/δ), we obtan p max / p mn g(1/δ)/δ. Thus, the total number of dfferent rounded large processng tmes s at most R = 2/δ log(g(1/δ)/δ) + 1. Snce g(1/δ) = poly(1/δ) we obtan R = O(1/δ log(1/δ)). Let n j be the number of jobs wth processng tme δ(1 + δ) j for j = 0,..., R 1 and let m l be the number of bns wth capacty or bn sze c l = (1 + δ) l 1 for l = 1,..., L. All bns wth capacty (1 + δ) l 1 form a bloc B l of dentcal bns. The overall algorthm wors very smlar to the one n the dentcal case. Allocatng large jobs. For the the assgnment of the large jobs to the bns, we set up an nteger lnear program, whch s bloc by bloc smlar as the one for the case of dentcal machnes. Here we ntroduce for each bn sze l {1,..., L} confguratons C l C l as multsets of numbers δ(1 + δ) j [δ, c l ], where the total sum s bounded by c l for l = 1,..., L. Furthermore, let a(j, (l) ) be the number of occurrences of processng tme δ(1 + δ) j n confguraton C (l). In the ILP below we use an ntegral varable x (l) to ndcate the number of confguratons C (l) n bloc B l.,l x (l) m l for l = 1,..., L a(j, (l) )x (l) n j for j = 0,..., R 1 x (l) Z 0 for = 1,..., C (l), l = 1,..., L The number of constrants of the ILP (not countng the non-negatvty constrants x (l) 0) s at most R + L O(1/δ log(1/δ)) and the number of varables s bounded by (g(1/δ)/δ) O(1/δ log(1/δ)) 2 O(1/δ log2 (1/δ)), snce g(1/δ) = poly(1/δ). To apply Theorem 2.2, we multply the frst L nequaltes by ( 1) and obtan ( 1)x(l) m l for l = 1,..., L. Let Ãδ be the matrx wth column vectors A (l) correspondng to varables x (l),.e. A (l) = (0,..., 0, 1, 0,..., 0, a(1, (l) ),..., a(r, (l) )) T. Agan, let C(Ãδ) be an upper bound for max -gap(ãδ). Suppose that there s feasble soluton of the ILP. Our algorthm frst solves the correspondng LP relaxaton smlar as for dentcal machnes: Snce g(1/δ) = poly(1/δ) the polyhedron correspondng to the dual has facet complexty bounded by O(1/δ log 2 (1/δ)) and the prce vector of the dual has encodng length at most O(1/δ log(1/δ) log(n)). Thus, accordng to Theorem 6.6.5 n [7] we fnd a basc optmum 12

soluton of the LP relaxaton n tme poly(1/δ, log(n)). (y (l) Snce the ILP s feasble, the LP relaxaton has a feasble soluton ( x (l) ), too. Let ) be a feasble soluton of the ILP wth dstance (n the maxmum norm) bounded by x (l) C(Ãδ) for all. Such a soluton y exsts snce both, LP and ILP are feasble. If x l > C(Ãδ) we set y (l) = x (l) C(Ãδ) and use y (l) confguratons of type for bloc B l. Now we can reduce the nstance as follows: C(Ãδ),.e. y (l) C (l) m l := m l ñ j := n j : x (l) >C(Ãδ),l: x (l) >C(Ãδ) x (l) C(Ãδ) bns n bloc B l for l = 1,..., L a(j, (l) ) x (l) C(Ãδ) jobs wth rounded processng tmes δ(1 + δ) j for j = 0,..., R 1. Let I red be the reduced nstance. Notce that each basc feasble LP soluton ( x (l) ) has at most O(1/δ log(1/δ)) varables wth value strctly larger than 0. Snce c max g( 1 /δ) the coeffcents of the constrant matrx of the ILP a(j, (l) ) are bounded by g( 1/δ)/δ. By C(Ãδ) n the LP are bounded by C(Ãδ). Thus, the total number ñ = j ñj of remanng jobs s at most O( (C(Ãδ)g(1/δ))/δ 2 log(1/δ)). Furthermore, an assgnment of the remanng large jobs can be computed va a dynamc program n tme constructon the reduced varables x (l) x (l) ( ) C(Ãδ )g(1/δ) log(1/δ) (ñ) O(1/δ log(1/δ)) O(1/δ log(1/δ) log δ 2 2 ). If the algorthm does not fnd a feasble assgnment, then we now that the orgnal ILP has no feasble soluton. Upper bound for max -gap(ãδ). upper bound for max -gap(ãδ). Here we can use agan Theorem 2.2 to acheve an Lemma 3.2. The maxmum absolute value of a subdetermnant of matrx Ãδ max -gap(ãδ) are bounded by 2 O(1/δ log2 (1/δ)). and Proof. Usng A (l) 1 = R j=1 a(j, (l) ) + 1 g( 1 δ ) /δ + 1 we obtan A (l) 2 g( 1 δ ) /δ + 1 and wth Hadamard-nequalty ( g( 1 δ ) /δ + 1) O(1/δ log(1/δ)) 2 O(1/δ log2 (1/δ)). Snce the number of varables N 2 O(1/δ log2 (1/δ)) and the maxmum dstance max -gap(ãδ) can be bounded by N the asserton follows wth Theorem 2.2. Agan 2 Ω(1/δ log2 (1/δ)) and stll a lower bound for max -gap(ãδ) s open. The upper bound mples that the runnng-tme of the dynamc program s n 2 O(1/δ2 log 3 (1/δ)), moreover ths mples the followng theorem 13

Theorem 3.3. For the scenaro n case 1 there s an algorthm that schedules n jobs on m unform processors producng a schedule wth maespan at most (1+ε)OP T (I) n tme 2 O(1/ε2 log 3 (1/ε)) poly(log(n)) + O(n log(n)). If C(A) = poly(1/ε) the runnng-tme mproves to 3.2 Algorthm for Case 2 2 O(1/ε log2 (1/ε)) poly(log(n)) + O(n log(n)). We dvde the bns nto two groups B 0 := {b 1,..., b K } and B 1 := {b K+1,..., b m }. There s a gap g(1/δ) between the largest bn b 1 and bn b K+1, compare to Fgure 2. In partcular we have c 1 / c < g(1/δ) for b B 0 and c 1 / c g(1/δ) for b B 1. A job s called large, f p j δc mn (B 0 ), other jobs are small. < g(1/δ) g(1/δ) 1 2 K K + 1 m B 0 B 1 Fgure 2: Shape of bns n case 2. Preprocessng large jobs for B 0. We frst compute the set of large jobs scheduled n group B 0. Therefore we use a dynamc programmng approach as follows. Wth Lemma 2.1 we conclude that the number of dfferent rounded bn szes n B 0 s at most O(1/δ log(g(1/δ))) and the number q of dfferent large job szes s at most O(1/δ log(g(1/δ)/δ)). Snce g(1/δ) = poly(1/δ) both numbers are n O(1/δ log(1/δ)). Furthermore, the total number of large jobs paced nto B 0 s bounded by (K/δ)g(1/δ). A possble choce of large jobs for the frst K bns can be descrbed by a vector v = (v 1,..., v q ) where v j s the number of jobs wth processng tme r j paced nto B 0. Snce v j Kg(1/δ)/δ, g(1/δ) O(poly(1/δ)) and K f(1/δ) = O(C(Ãδ)), the total number of possble vectors s at most 2 O(1/δ log(g(1/δ)/δ) log(kg(1/δ)/δ)) 2 O(1/δ log(1/δ) log(c(ãδ)). By a dynamc program we compute the set of all possble vectors and correspondng pacngs nto the K bns wth runnng-tme 2 O(1/δ log(1/δ) log(c(ãδ))) = 2 O(1/δ2 log 3 (1/δ)), whch mproves to 2 O(1/δ log2 (1/δ)), f K O(1/δ). Smply go over the machnes and store the possble vectors for the frst machnes for = 1,..., K. Notce that all huge jobs wth processng tme larger than or equal to c mn (B 0 ) have to be placed nto B 0. Consequently, a vector v s feasble, f v corresponds to a pacng nto the K bns and f all huge jobs are placed nto B 0. Let S 0 be the free space K =1 c q j=1 r jv j n B 0. 14

Algorthm 2 Algorthm for case 2 1: Obtan 2 - approxmaton usng the LPT algorthm and compute a value T [LP T (I)/2, LP T (I)]. 2: Round the processng tmes and bn capactes and get rounded nstance Ī. 3: Preprocess assgnment of large jobs ( p j δ) for B 0 va dynamc programmng and obtan feasble assgnment vector v. 4: f the dynamc program does not fnd a feasble soluton for B 0 then 5: ncrease T and go to step 2. 6: end f 7: Allocate large jobs fractonally nto B 1 va an LP. 8: f the LP does not have a feasble soluton then 9: go bac to step 3 (and compute a dfferent vector v). 10: end f 11: Round soluton of the LP wth new roundng technque usng a subroutne for bn pacng wth dfferent bn szes. 12: Schedule the small jobs ( p j < δ) behnd the large ones slghtly ncreasng the bns szes. Allocatng large jobs nto B 1. Notce that tny jobs wth processng tmes p j < δc mn (B 0 ) can be neglected. These jobs can be placed greedly nto slghtly enlarged bns n the last phase of the algorthm. Now we choose and pac the remanng jobs for S 0 and B 1 va a lnear program relaxaton smlar as n the case of dentcal machnes. Here the gap g(1/δ) wll be helpful to move some jobs later nto B 0. We dvde the set of all bns n B 1 nto N groups B l wth m l bns of the same sze c(l). to ndcate the fractonal length of a multset C (l) of large processng tmes p j [δ c(l), c(l)] paced nto bns of sze c(l). Let a(j, (l) ) be the number of the occurrences of p j n C (l) and let sze(c (l) ) = j a(j, (l) ) p j. Furthermore, let n j be the number of jobs wth processng tme p j = δ(1 + δ) j for j = 0,..., R (where δ(1 + δ) R c mn (B 0 ) s the largest nonhuge processng tme). Accordng to Lemma 2.1 R = O(1/δ log(c mn (B 0 )/δc mn (B 0 )) = O(1/δ log(1/δ)). Fnally, we use a varable y j,l to ndcate the fractonal number of jobs of sze δ p j < δ c(l) paced as a small job n B l. For a job sze wth p j δ c(l) (that s large wth respect to B l ) we set y j,l = 0. For jobs wth p j (c max (B 1 ), c mn (B 0 )) we have y j,0 = n j. Furthermore, we may suppose that y j,0 = 0 for jobs wth processng tme at For smplcty we use B 0 = B 0. In the LP below we use a varable x (l) least δc mn (B 0 ). Ths means that the large jobs for B 0 are placed nto B 0 only n the preprocessng step. Ths assumpton s useful for the roundng of the LP. LP(B 1 ) : x(l) m l for l = 1,..., N l, a(j, (l) )x (l) + l y j,l = n j for j = 0,..., R sze(c(l) )x (l) + j y j,lδ(1 + δ) j m l c(l) for l = 1,..., N R j=1 y j,0δ(1 + δ) j S 0 15

x (l) 0 for l = 1,..., L and = 1,..., h l y j,l 0 for j = 0,..., R and l = 0,..., N As n [12] the coeffcents n the last N + 1 constrants of the LP can be rounded and each nequalty can be transformed so that the converted coeffcents are bounded by O(n/δ). The facet complexty of the polyhedron correspondng to the resultng dual lnear program s bounded by (O(R log(n) + n log(n/δ))) = O(n log(n/δ)). The encodng length of the vector of the objectve functon of the dual s bounded by poly(n, 1/δ). Thus, accordng to [7] we acheve a basc optmum soluton of LP(B 1 ) n tme poly(n, 1/δ). New roundng technque. We descrbe here a new approach to round the soluton of the LP usng a subroutne for bn pacng wth dfferent bn szes. Actually, we could also use another roundng method as n [12]. But t requres the gap g(1/δ) to be much larger: In order to bound the addtonal O(1/δ 2 log(1/δ)) bns of sze c max (B 1 ) by the term δc max (B 0 ), the gap g(1/δ) should be at least Ω(1/δ 3 log(1/δ)). So recall the condtons of Case 2, that means that there exsts an ndex K+1 f( 1 /δ) = O(C(Ãδ)) wth c 1 / c < g( 1 /δ) for 1 K wth g(1/δ) 1/δ log 2 (1/δ) and c 1 / c g( 1 /δ) for K + 1 m. In our new approach we subdvde B 1 nto groups of bns D 1,..., D H wth smlar bn szes. These groups are not necessary equal to the groups B 1,..., B N we consdered to set up the above LP-relaxaton. Then we use the soluton of the LP relaxaton above to pac the jobs or tems va a bn pacng algorthm. For each group D the bn pacng algorthm pacs the selected tems nto the group D of bns wth dfferent bn szes plus few addtonal bns of maxmum capacty c max (D ). Based on the subdvson the number of large tem szes can be bounded by d = O(1/δ log(1/δ)) for each group D. Usng a recent result [13], we are able to pac the selected tems nto D plus O(log 2 (d)) = O(log 2 (1/δ)) bns of capacty c max (D ). The overall goal s to obtan a pacng of almost all jobs nto B 1 plus at most O(log 2 (1/δ)) bns of capacty c max (B 1 ). Fnally we use the gap g(1/δ) to move the jobs whch le n the addtonal bns onto the faster machnes wth slghtly ncreased maespan. In the followng we explan n detal how ths roundng wors. c 1 < c max (B 1 )/h(1/δ) c 2 < c max (D 2 )/h(1/δ) b K+1 b 1 1 b 1 b 2 1 b 2 b H 1 m D 1 D 2 D H Fgure 3: Groupng B 1 nto D 1 to D H Suppose that B 1 has a bn b 1 wth c 1 < c max (B 1 )/h(1/δ), where h : IR + IR + s a functon wth poly(1/δ) h(1/δ) 1/δ. W.l.o.g. let 1 {K+1,..., m} be mnmal wth that property. In ths case we buld D 1 = {b K+1,..., b 1 1} and construct the other groups D 2,..., D H teratvely n the same way. The next group D 2 = {b 1,..., b 2 1} fulflls the 16

propertes c mn (D 2 ) = c 2 1 c max (D 2 )/h(1/δ) and c 2 < c max (D 2 )/h(1/δ), see Fgure 3. If all bns have capacty larger than or equal c max (B 1 )/h(1/δ), we have only one group D 1 = {b K+1,..., b m }. Furthermore, f bn b j D has capacty c l for l {1,..., N} we have B l D. Wth Lemma 2.1 we conclude that the number of dfferent bn szes n each group D s at most O(1/δ log(h(1/δ))) and the number of large job szes n D s at most O(1/δ log(h(1/δ)/δ)). Snce h(1/δ) poly(1/δ), both numbers are bounded by O(1/δ log(1/δ)). Consder now a lnear program soluton (x (l), y j,l ) and consder the reduced lnear program LP wth correspondng constrants for the bn group D. LP : x(l) = m l for bns n capacty c(l) n D l, a(j, (l) )x (l) n () j for each large job sze n D x (l) 0 for l = 1,..., L, The value m l m l s the fractonal number of bns of sze c(l) n D and n () j s the fractonal number of large job szes δ(1 + δ) j placed nto D accordng to the soluton of LP(B 1 ). A job sze p j s large n D f p j = δ(1 + δ) j [δ c(l), c(l)] for at least one bn group B l n D wth capacty c(l). If n LP we replace the rght hand sdes n () j by n () j for each large job sze, we have to cover an ntegral number of jobs per large job sze. Thus, the total executon tme p j large n D δ(1 + δ) j of the non-covered large jobs n D can be bounded by c max (D ) j=0 (1 + δ) j = c max (D )(1 + δ)/δ (usng the geometrc sum over the job szes). The analyss for the frst bloc D 1 wth bound c max (D 1 )(1 + δ)/δ for the non-covered jobs above can be even further mproved: Lemma 3.4. If we replace n (1) j by n (1) j n LP, the total processng tme of the noncovered large jobs n D 1 s bounded by (1 + δ) mn{c mn (B 0 ), cmax(d 1)/δ}. Proof. All jobs wth processng tme p j (c max (D 2 ), δc mn (B 0 )) are large or small correspondng to bns n D 1, but small correspondng to B 0. Notce, that jobs wth p j [δc mn (B 0 ), c max (D 1 )] are large correspondng to B 0 and chosen va the preprocessng step above. Ths mples that we may assume y j,0 = 0 for the correspondng values. Snce c mn (B 0 ) > c max (D 1 ) and c max (D 1 )/c max (D 2 ) > h(1/δ) 1/δ, we have c max (D 2 ) < δc max (D 1 ) < δc mn (B 0 ). Therefore, a job wth p j [δc mn (B 0 ), c max (D 1 )] does not ft nto D 2. Moreover, we can assume that the values n (1) j are ntegral. Snce the values n (1) j are ntegral for processng tmes p j [δc mn (B 0 ), c max (D 1 )], the not covered large jobs have processng tmes δc mn (B 0 ). Consequently, the total sum of the executon tmes of the large jobs not covered by the bn pacng subroutne n D 1 s bounded by mn{(1 + δ)c mn (B 0 ), c max (D 1 )(1 + δ)/δ} (as above usng the geometrc sum argument appled to δc mn (B 0 ) nstead of c max (D )). Now a (fractonal) soluton of the modfed LP can be transformed nto an ntegral soluton. That means n () j jobs of sze δ(1 + δ) j can be paced nto the bns n D plus O(log 2 (d)) addtonal bns of sze c max (D ) [13] (where d = O(1/δ log(1/δ)) s the number of dfferent large job szes). Notce that t s allowed to use m l bns nstead of the 17

fractonal number m l of bns n each group B l. Ths s suffcent, snce the overall area l:b l D Area(large, l) of the large jobs paced nto D plus the extra bns remans the same. The (y j,l ) varables can be rounded as before [12] usng a result of Lenstra et al. [17], but here we have to round up (nstead of down) the values N j, the number of jobs of sze δ(1 + δ) j assgned as a small job to the blocs B l for all job szes j. Almost all correspondng small jobs can be paced drectly nto B 1. For each bloc B l there s at most one fractonal varable ỹ j,l and a correspondng small job that does not ft completely n B l. But ths job can be paced nto one bn of B l, f we ncrease the correspondng bn sze slghtly. Lemma 3.5. The total executon tme of the jobs n the addtonal bns for D 1,..., D H s at most (1 + δ) mn{c mn (B 0 ), (1/δ)c max (D 1 )} + O(log 2 (1/δ))c max (D 1 ). Proof. The total executon tme of all jobs n the addtonal bns for D s at most [ 1 + δ δ + O(log 2 (1/δ))]c max (D ) C δ c max(d ) where C s a constant. Usng h(1/δ)c max (D +1 ) c max (D ) ths mples the followng bound for the extra executon tme n D 2,..., D H C 2 c δ max(d ) C δ c max(d 2 ) 0 h(1/δ) h(1/δ) 1/δ C δ c max(d 2 ) 0 δ δ 1/2 2C δ c max(d 2 ) O(1)c max (D 1 ). Wth Lemma 3.4 the total extra executon tme among the bn groups D 1,..., D H s at most (1 + δ) mn{c mn (B 0 ), (1/δ)c max (D 1 )} + O(log 2 (1/δ))c max (D 1 ) + O(1)c max (D 1 ). Notce that all jobs nvolved n the frst term are small correspondng to B 0 (.e. p j δc mn (B 0 )). The other jobs that contrbute to O(log 2 (1/δ))c max (D 1 ) could be large correspondng to B 0, but have processng tme p j c max (D 1 ) = c max (B 1 ). We can now dstrbute the jobs correspondng to the addtonal term among the bns of B 0. We proceed by case dstncton. Case 2.1: K (1 + δ)/δ. In ths case the addtonal term (1 + δ)c mn (B 0 ) wth small jobs of sze at most δc mn (B 0 ) can be dstrbuted onto the frst (1 + δ)/δ bns wth addtonal load 2δc mn (B 0 ). Here smply use a greedy algorthm that dstrbutes a load of at least δc mn (B 0 ) and at most 2δc mn (B 0 ) (f possble) on the frst bns. The last bn gets load at most δc mn (B 0 ). The number of bns needed s at most (1 + δ)/δ K. Ths mples that the frst K bns get load at most c + 2δc mn (B 0 ) (1 + 2δ) c. Ths mples the followng result Lemma 3.6. Let b K+1 be the frst bn such that c 1 / c K+1 g(1/δ) and K (1 + δ)/δ, then we can compute an approxmate schedule of length (1 + O(δ))OP T (I) n tme 2 O(1/δ log(1/δ) log(c(ãδ)/δ)) poly(1/δ, n). 18

Proof. Snce g(1/δ) 1/δ log 2 (1/δ) and c 1 c K+1 g(1/δ) we can schedule the remanng jobs of length p j c max (B 1 ) wth total executon tme O(log 2 (1/δ))c max (D 1 ) nto B 0 n the frst largest bn: We have log 2 (1/δ)c max (B 1 ) log2 (1/δ) c g(1/δ) max (B 0 ) O(δ)c max (B 0 ). Case 2.2: c max (B 0 )/c max (B 1 ) 1/δ 2. In ths case the addtonal processng tme s bounded by ((1 + δ)/δ)c max (D 1 ) + O(log 2 (1/δ))c max (D 1 ) O(1/δ)c max (D 1 ) O(δ)c max (B 0 ). Ths amount can be paced onto the largest bn by ncreasng ts bn sze to (1 + O(δ))c max (B 0 ). We summarze Lemma 3.7. Let g(1/δ) 1/δ 2, then we can compute an approxmate schedule of length (1 + O(δ))OP T (I) n tme 2 O(1/δ log(1/δ) log(c(ãδ)/δ)) poly(1/δ, n). Case 2.3: K < (1 + δ)/δ and c max (B 0 )/c max (B 1 ) < 1/δ 2. Notce that we can also use our general assumpton on g(1/δ). Ths mples that c 1 / c K+1 1/δ log 2 (1/δ). Here let us consder jobs wth processng tme p j n the nterval I = [δc max (D 1 ), mn{δc mn (B 0 ), c max (D 1 )}] and denote wth P cr = { p j I} the processng tmes of those crtcal jobs. Snce max(p cr )/ mn(p cr ) 1/δ, there are at most O(1/δ log(1/δ)) dfferent rounded processng tmes for the crtcal jobs. Furthermore, the total number of crtcal jobs that can be paced nto B 0 s at most Kc max (B 0 )/(δc max (D 1 )) O(1/δ 2 )c max (B 0 )/c max (D 1 ) O(1/δ 4 ) under the second assumpton above. The crtcal jobs can be chosen for B 0 and paced nto the bns n B 0 durng our preprocessng step. For g(1/δ) = O(1/δ log 2 (1/δ)), the large and crtcal jobs can be selected and pre-paced nto B 0 n tme (1/δ 4 O(1/δ log(1/δ)) ) 2 O(1/δ log2 (1/δ)). For each correspondng feasble vector v we set up a lnear program, round the soluton and place the correspondng large jobs nto the bns plus few addtonal bns of sze O(log 2 (1/δ))c max (D 1 ) O(log 2 (1/δ))c max B 0 /g(1/δ) O(δ)c max (B 0 ). In ths case, for all crtcal jobs wth p j P cr we may suppose that y j,0 = 0 (no further such jobs are paced nto B 0 va the LP). Ths mples that the correspondng values n (1) j are ntegral. Here agan we use the fact that a large job n D 1 wth p j δc max (D 1 ) > c max (D 2 ) does not ft nto bn group D 2. In ths case the term for the non-covered jobs n D 1 can be bounded by (1 + δ)c max (D 1 ) δc max (B 0 ). Furthermore, note that for K = O(1/δ), the runnng tme of our algorthm s bounded by 2 O(1/δ log2 (1/δ)) poly(1/δ, n) (compare to Secton 3.2). Ths gves Lemma 3.8. Let b K+1 be the frst bn such that c 1 / c K+1 Ω(1/δ log 2 (1/δ)), K < (1 + δ)/δ and c 1 / c K+1 < 1/δ 2, then we can compute an approxmate schedule of length (1 + O(δ))OP T (I) n tme 2 O(1/δ log2 (1/δ)) poly(1/δ, n). The analyss of all three subcase mples the followng result. Theorem 3.9. In each subcase of case 2 the algorthm produces a schedule of length (1 + O(δ))OP T (I) n tme 2 O(1/δ log(1/δ) log(c(ãδ)) poly(1/δ, n). 19

3.3 Algorthm for Case 3 In ths case we have two or three bn groups dependng on the shape of bn szes as depcted n Fgure 4. Let B 0 = {b 1,..., b K } be the set of the largest bns. Then, we defne B 1 = {b > K, c δc mn (B 0 )} and B 2 = B \ (B 0 B 1 ) as the remanng bns. If B 1 we dstngush large, medum and small jobs. A job s called large f p j > δc mn (B 0 ) and medum f p j (δc mn (B 1 ), δc mn (B 0 )]; other jobs are called small. Note that for a medum job we have p j δc mn (B 0 ) c max (B 1 ) by constructon. If B 1 = we do not have medum jobs. In ths case we have for all > K that c δc mn (B 0 ). Thus, we have an addtonal c gap between c K and c K+1,.e. K c K+1 = c mn(b 0 ) > c mn(b 0 ) = 1. c max(b 1 ) δc mn (B 0 ) δ < g(1/δ) g(1/δ) δc max (B 0 ) 1 2 K K + 1 m B 0 B 1 B 2 Fgure 4: Shape of bns for case 3 Lemma 2.1 mples that the number of dfferent rounded bn szes and large and medum job szes correspondng to B 0 B 1 s bounded by O(1/δ log(g(1/δ)/δ)) and O(1/δ log(g(1/δ)/δ 2 )), respectvely. Notce that both numbers are at most O(1/δ log(1/δ)) snce g(1/δ) = poly(1/δ). Now we dvde the set B = B 0 B 1 B 2 nto N groups B l wth m l bns wth the same rounded bn sze c(l) for l = 1,..., N and set up a lnear program. Later we consder a reduced LP for the frst two bn groups separately. In the LP below we use a varable x (l) to ndcate the fractonal length of a multset C (l) of large processng tmes p j [δ c(l), c(l)] paced nto bns of sze c(l). Let a(j, (l) ) be the number of the occurrences of p j n C (l) and let sze(c (l) ) = j a(j, (l) ) p j. Furthermore, let n j be the number of jobs wth processng tme p j = δ(1 + δ) j for j = 0,..., R (where δ(1 + δ) R s the largest jobs sze). Fnally, we use a varable y j,l to ndcate the fractonal number of jobs of sze δ p j < δ c(l) paced as a small job n B l. x(l) m l for l = 1,..., N l, a(j, (l) )x (l) + l y j,l = n j for j = 0,..., R sze(c(l) )x (l) + j y j,lδ(1 + δ) j m l c(l) for l = 1,..., N x (l) 0 for l = 1,..., N and = 1,..., h l y j,l 0 for j = 0,..., R and l = 1,..., N We suppose that all jobs ft nto the bns,.e. δ(1 + δ) R c max (B 0 ); otherwse there s no schedule wth the correspondng maespan n the bnary search. Suppose that B 0 conssts of L bn groups B l and B 1 conssts of P bn groups, see also Fg. 5. 20

δc mn(b 0) 1... m 1 1... m L B 0 1... m L+1 1... m L+P B 1 Fgure 5: Groups of smlar capactes n B 0 B 1 Allocatng large jobs nto B 0 and B 1. Suppose that the entre LP and the correspondng ILP have a soluton. Consder now the correspondng (x (l) ) varables and constrants for the frst L + P bn groups. Let δ(1 + δ) Rm be the smallest medum job sze and let δ(1 + δ) R l be the smallest large job sze. x(l) m l m l for l = 1,..., L + P l, a(j, (l) )x (l) n j for j = R m,..., R x (l) 0 for l = 1,..., L + P and = 1,..., h l For a large job sze we have p j > δc mn (B 0 ) > c max (B 2 ). Hence, the large jobs have to be scheduled n B 0 B 1. Consequently, we descrbe them by confguraton varables only n the orgnal LP and so the number n j for large jobs covered by the LP above s ntegral and satsfes n j = n j. For medum job szes, there are y j,l varables n the ntal LP and we have n general fractonal varables n j n j. Note that a confguraton C (l) szes by constructon and a confguraton C (l) job szes. C (l) n B 0 contans only large job n B 1 may contan both, large and medum Let be a confguraton wth only large job szes n bn group B l n B 1 and let z (l) (l) (l) be a varable that ndcates the total length of C. For the rest of the paper we call C a bg confguraton. Then, the orgnal confguratons wth both, medum and large job szes, can be parttoned nto groups wth the same arrangement of large jobs accordng (l) to confguraton C (contanng only large jobs). Let Index(, l) be the set of all ndces such that C (l) (l) concdes wth C for the large job szes. Then, z (l) = Index(,l) x(l) and the followng modfed LP for the large job szes has a feasble soluton. LP large x(l) m l for l = 1,..., L z(l) m l for l = L + 1,..., L + P l, a(j, (l) )x (l) + l, a(j, (l) )z (l) n j for j = R l,..., R x (l) 0 for l = 1,..., L + P and = 1,..., h l Snce all large job szes have to be placed nto the frst L + P bn groups and usng the assumpton that the entre ILP has a soluton, the modfed ILP for the large job szes has a feasble soluton, too. Usng the Theorem by Coo et al. [3], there s an ILP 21

soluton (ˆx (l), ẑ (l) ) wth dstances ˆx(l) x (l) and ẑ (l) z (l) bounded by N 2 O(1/δ log2 (g(1/δ)/δ+1)). Notce that the column sum of a column of the constrant matrx j a(j, (l) ) + 1 correspondng to a confguraton s at most c max (B 0 )/(δc mn (B 0 )) + 1 g(1/δ)/δ + 1. Snce g(1/δ) = poly(1/δ), the dstances above are at most C(Ãδ) = 2 O(1/δ log2 (1/δ)). If x (l) or z (l) s larger than C(Ãδ), then we now that there s an nteger soluton wth ˆx (l) x (l) C(Ãδ) or ẑ (l) z (l) C(Ãδ). Then we can reduce our nstance Ī to a reduced nstance I red wth ñ large jobs and m l m l bns per bloc B l as descrbed n the ntroducton. The values of the coeffcents of the constrant matrx are bounded by the number of large jobs per confguraton whch s at most c max (B 0 )/(δc mn (B 0 )) g(1/δ)/δ. The number of strct postve varables of a basc soluton of the modfed LP s at most O(1/δ log(g(1/δ)/δ)). Snce each reduced varable has value at most C(Ãδ), ñ can be bounded by O(1/δ 2 g(1/δ) log(g(1/δ)/δ))c(ãδ). Snce g(1/δ) = poly(1/δ), the number of remanng large jobs s at most ñ poly(1/δ)c(ãδ)2 O(log(1/δ)) C(Ãδ). Moreover, ths mples that we need at most M ñ 2 O(1/δ log2 (1/δ)) machnes for the large jobs n I red. Snce the modfed ILP for the large szes has a feasble soluton, we can fnd a soluton for I red by dynamc programmng. Smply go over the machnes n B 0 B 1 and place the ñ jobs onto the machnes. Ths can be done by computng feasble vectors (x Rl,..., x R ) that correspond to a pacng of x large jobs of sze p nto the frst bns for = 1,..., L+P l=1 m l. In ths way we can fnd a feasble pacng n tme ñ O(1/δ log(g(1/δ)/δ)) 2 O(1/δ log(1/δ) log ñ) 2 O(1/δ log(1/δ) log(c(ãδ))). Algorthm 3 Algorthm for case 3 1: Obtan 2 - approxmaton usng the LPT algorthm. 2: Compute a value T [LS(I)/2, LS(I)]. 3: Round the processng tmes of the jobs and dstngush small, medum and large jobs 4: Allocate a subset of the large jobs nto B 0 and B 1 usng a lnear program and wth Theorem by Coo et al. [3] reduce the nstance. 5: f the lnear program does not have a feasble soluton then 6: ncrease T and go to step 2. 7: end f 8: Va dynamc programmng obtan an assgnment of the remanng large jobs nto B 0 and B 1. 9: f the dynamc program for I red does not fnd a feasble soluton then 10: ncrease T and go to step 2. 11: end f 12: Allocate medum jobs nto B 1 va a bn pacng subroutne. 13: Ft the allocated large and medum jobs together wth the remanng jobs. 14: Schedule the small jobs behnd the large ones.. Allocatng medum jobs. The man dffculty now s to handle the medum jobs. Consder the LP for the medum and large jobs correspondng to bn group B 1. Tae out for a moment the large jobs I large,dp placed by the dynamc program nto B 1. Notce that these large jobs have occuped a subset M large,dp of only M ñ machnes n B 1. Furthermore, 22

notce that there are stll large jobs preassgned va the bg confguratons of length C(Ãδ) = Index(,l) x(l) C(Ãδ) n B 1. Snce we have a feasble LP soluton z (l) for all jobs, the resdual confguratons C (l) (restrcted to medum job szes) wth fractonal lengths x (l) ft nto the gaps ether besdes ther correspondng bg confguratons of lengths z (l) C(Ãδ) or after them. The placement of medum jobs can be seen as a fractonal bn pacng problem wth dfferent bn szes. We round the x (l) varables for B 1 and use our new roundng technque presented n Secton 3.2. Snce medum jobs are small correspondng to B 0 and snce K f(1/δ) (1 + δ + log 2 (1/δ))/δ we can dstrbute medum jobs correspondng to the addtonal term among the frst K bns. Here we use a greedy algorthm that allocates a load of at least δc mn (B 0 ) and at most 2δc mn (B 0 ) on the frst bns. Ths ncreases the maespan by at most 2δc mn (B 0 ). It s also possble that the total area of large jobs pre-assgned va the LP to B 0 s smaller than the total area of large jobs placed va the pre-assgnment wth confguraton lengths x (l) C(Ãδ) and the dynamc program nto B 0. Ths mples that ths addtonal occuped area n B 0 can not be used for medum and small jobs. Then some medum jobs cannot be placed correctly onto the machnes. We show n the lemma below how to place these jobs nto B 0. Furthermore, some small jobs have to be placed nto B 1. But ths s easer and possble, snce these jobs are small correspondng to the bns n B 1 and the total area of large, medum and small jobs correspondng to the varable values x (l) nto B 0 B 1. C (l) and y j,l for l = 1,..., K + L fts Lemma 3.10. The medum jobs, that do not ft nto B 0 because of addtonal large jobs placed by the dynamc program nto B 0, can be dstrbuted among the machnes n B 0, so that the maespan s bounded by (1 + O(δ))OP T (I). Proof. Each addtonal large job placed nto B 0 has sze at most c max (B 1 ) and the total area of these jobs can be bounded by ñc max (B 1 ). A better bound can be obtaned as follows. The number of strct postve varables z (l) n B 1 s at most O(1/δ log(g(1/δ)/δ)). (l) For each such varable a strp wth total area of at most C(A)sze( C ) C(A) c(l) wth large jobs could be moved va the dynamc program to B 0. Ths gves a total area of at most O(1/δ log(g(1/δ)/δ))c(a)c max (B 1 ) that can not be used n the worst case for medum jobs. The number of medum jobs that ft nto such area and can not be paced nto B 0 s bounded by O(1/δ log(g(1/δ)/δ))c(a)c max (B 1 )/(δc mn (B 1 ) O(1/δ 3 log(g(1/δ)/δ))c(a). These jobs can be placed separately onto machnes n B 0, snce the number of machnes s large enough. Repacng process. Pacng the allocated large and medum jobs together wth the remanng jobs nto the bns requres an extensve repacng process descrbed n the followng steps. Step 1: Remove the set A medum of medum jobs placed onto machnes belongng to M large,dp B 1. Rensert the large jobs from I large,dp onto these machnes and place fractonally a subset of A medum nto the remanng gaps. Lemma 3.11. The schedule produced n Step 1 can be made ntegral and has maespan at most (1 + O(δ))OP T (I). 23

Proof. If the total area of the large jobs I large,dp placed va the dynamc program s at most the total area occuped by the reduced varables z (l) = z (l) z (l) C(A), then all medum jobs ft fractonally nto the gaps n B 1. Let A medum,fr be the set of fractonal medum jobs placed nto B 1. Notce that the cardnalty A medum,fr s at most M ñ. Snce f(1/δ)θ(ñ) these jobs can be placed (separately) onto machnes n B 0, ncreasng the maespan by at most δc mn (B 0 ) δop T. If the total area of large jobs s larger than the LP bound, we have to place the remanng set A medum A medum of medum jobs nto B 0. Snce we have A medum M large,dp c max (B 1 ), we conclude A medum M large,dpc max(b 1 ) M large,dp c max(b 0 ) δ 2 g(1/δ)c max(b 0 ) δc mn (B 1 ) O(1/δ 4 log(1/δ))c(a) 2 1/δ log2 (1/δ). Snce f(1/δ) 2 Ω(1/δ log2 (1/δ)), the jobs can be dstrbuted among the bns of B 0. Step 2: Round the (x (l) ) varables correspondng to B 2 and place the jobs va a bn pacng subroutne nto B 2 plus some addtonal bns of sze c max (B 2 ) δc max (B 0 ). Ths can be done va our new roundng technque smlar as the medum jobs are placed n B 1. The addtonal bns can be dstrbuted among the frst K bns. Step 3: As n [12] we round the (y j,l ) varables over the bn groups B l usng a result of Lenstra et al. [17] and place the correspondng jobs greedly onto the machnes. Thereby we have to place n addton one fractonal job per bn group on one machne. Snce the jobs correspondng to y j,l are small n B l we only have to ncrease the bn szes slghtly. Thus, we acheve our man theorem Theorem 3.12. There s an EPTAS for schedulng jobs on unform machnes wth runnng-tme 2 O(1/ε log(1/ε) log(c(ãδ))) + poly(n) = 2 O(1/ε2 log 3 (1/ε)) + poly(n). If C(Ãδ) = poly(1/ε), the runnng-tme mproves to 2 O(1/ε log2 (1/ε)) + poly(n). References [1] N. Alon, Y. Azar, G.J. Woegnger, and T. Yadd: Approxmaton schemes for schedulng on parallel machnes, Journal on Schedulng 1, 1998, 55-66. [2] E.G. Coffman, M.R. Garey, and D.S. Johnson: An applcaton of bn pacng to multprocessor schedulng, SIAM Journal on Computng, 7 (1978), 1-17. [3] W. Coo, A.M.H. Gerards, A. Schrjver and É. Tardos: Senstvty theorems n nteger lnear programmng, Mathematcal Programmng 34 (1986), 251-264. [4] F. Esenbrand and G. Shmonn: Caratheodory bounds for nteger cones, Operatons Research Letters, 34 (2006), 564-568. [5] T. Gonzales, O.H. Ibarra, and S. Sahn: Bounds for LPT schedules on unform processors, SIAM Journal on Computng, 6 (1977), 155-166. [6] R.J. Graham, E.L. Lawler, J.K. Lenstra, and A.H.G. Rnnooy Kan, Optmzaton and approxmaton n determnstc sequencng and schedulng: a survey, Annals of Dscrete Mathematcs, 5 (1979), 287-326. 24

[7] M. Grötschel, L. Lovasz, and A. Schrjver: Geometrc Algorthms and Combnatoral Optmzaton, Sprnger-Verlag, 1987. [8] D.S. Hochbaum: Varous notons of approxmatons: good, better, best, and more, Cha. 9 n: Approxmaton Algorthms for NP-Hard Problems (D.S. Hochbaum, ed.), Prentce Hall, 1997, 346-398. [9] D.S. Hochbaum and D.B. Shmoys: Usng dual approxmaton algorthms for schedulng problems: practcal and theoretcal results, Journal of the ACM, 34 (1987), 144-162. [10] D.S. Hochbaum and D.B. Shmoys: A polynomal approxmaton scheme for schedulng on unform processors: usng the dual approxmaton approach, SIAM Journal on Computng 17 (1988), 539-551. [11] R. Horowtz and S. Sahn: Exact and approxmate algorthms for schedulng nondentcal processors, Journal of the ACM, 23 (1976), 317-327. [12] K. Jansen: An EPTAS for schedulng jobs on unform processors: usng an MILP relaxaton wth a constant number of ntegral varables, SIAM J. Dscrete Math. 24(2): 457-485 (2010). [13] K. Jansen: A fast approxmaton scheme for the multple napsac problem, To appear n: Internatonal Conference on Current Trends n Theory and Practse of Computer Scence, SOFSEM 2012. [14] K. Jansen and C. Robene: Schedulng on unform processors revsted, Techncal Report, Unversty of Kel. [15] R. Kannan: Mnows s convex body theorem and nteger programmng, Mathematcs of Operatons Research 12 (1987), 415-440. [16] H.W. Lenstra: Integer programmng wth a fxed number of varables, Mathematcs of Operatons Research 8 (1983), 538-548. [17] J.K. Lenstra, D.B. Shmoys, and E. Tardos: Approxmaton algorthms for schedulng unrelated parallel machnes, Mathematcal Programmng, 24 (1990), 259-272. [18] J. Leung: Bn pacng wth restrcted pece szes, Informaton Processng Letters, 31 (1989), 145-149. 25