INSTITUT FÜR INFORMATIK

Similar documents
INSTITUT FÜR INFORMATIK

The Greedy Method. Introduction. 0/1 Knapsack Problem

1 Example 1: Axis-aligned rectangles

Luby s Alg. for Maximal Independent Sets using Pairwise Independence

8 Algorithm for Binary Searching in Trees

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

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

Recurrence. 1 Definitions and main statements

Sngle Snk Buy at Bulk Problem and the Access Network

J. Parallel Distrib. Comput.

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

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

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

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

How To Calculate An Approxmaton Factor Of 1 1/E

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

Project Networks With Mixed-Time Constraints

Joint Scheduling of Processing and Shuffle Phases in MapReduce Systems

We are now ready to answer the question: What are the possible cardinalities for finite fields?

Fisher Markets and Convex Programs

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

Loop Parallelization

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

Real-Time Process Scheduling

What is Candidate Sampling

DEFINING %COMPLETE IN MICROSOFT PROJECT

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

Support Vector Machines

An Alternative Way to Measure Private Equity Performance

How To Solve A Problem In A Powerline (Powerline) With A Powerbook (Powerbook)

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.

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

1. Measuring association using correlation and regression

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

How To Calculate The Accountng Perod Of Nequalty

Availability-Based Path Selection and Network Vulnerability Assessment

Generalizing the degree sequence problem

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

Period and Deadline Selection for Schedulability in Real-Time Systems

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

Enabling P2P One-view Multi-party Video Conferencing

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

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

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

BERNSTEIN POLYNOMIALS

Energy Efficient Routing in Ad Hoc Disaster Recovery Networks

Extending Probabilistic Dynamic Epistemic Logic

This circuit than can be reduced to a planar circuit

Virtual Network Embedding with Coordinated Node and Link Mapping

1. Fundamentals of probability theory 2. Emergence of communication traffic 3. Stochastic & Markovian Processes (SP & MP)

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

Calculation of Sampling Weights

Ring structure of splines on triangulations

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

To Fill or not to Fill: The Gas Station Problem

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

OPTIMAL INVESTMENT POLICIES FOR THE HORSE RACE MODEL. Thomas S. Ferguson and C. Zachary Gilstein UCLA and Bell Communications May 1985, revised 2004

where the coordinates are related to those in the old frame as follows.

General Auction Mechanism for Search Advertising

The Mathematical Derivation of Least Squares

Chapter 4 ECONOMIC DISPATCH AND UNIT COMMITMENT

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

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

NPAR TESTS. One-Sample Chi-Square Test. Cell Specification. Observed Frequencies 1O i 6. Expected Frequencies 1EXP i 6

Linear Circuits Analysis. Superposition, Thevenin /Norton Equivalent circuits

Embedding lattices in the Kleene degrees

Fault tolerance in cloud technologies presented as a service

Betting on Permutations

The OC Curve of Attribute Acceptance Plans

Implementation of Deutsch's Algorithm Using Mathcad

Forecasting the Direction and Strength of Stock Market Movement

On the Interaction between Load Balancing and Speed Scaling

Formulating & Solving Integer Problems Chapter

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

How To Know The Components Of Mean Squared Error Of Herarchcal Estmator S

New Approaches to Support Vector Ordinal Regression

Energy Conserving Routing in Wireless Ad-hoc Networks

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

PERRON FROBENIUS THEOREM

Optimization of network mesh topologies and link capacities for congestion relief

THE METHOD OF LEAST SQUARES THE METHOD OF LEAST SQUARES

Heuristic Static Load-Balancing Algorithm Applied to CESM

Stochastic Games on a Multiple Access Channel

Parallel greedy algorithms for packing unequal circles into a strip or a rectangle. Timo Kubach, Andreas Bortfeldt und Hermann Gehring

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

denote the location of a node, and suppose node X . This transmission causes a successful reception by node X for any other node

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

Figure 1. Inventory Level vs. Time - EOQ Problem

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

Equlbra Exst and Trade S effcent proportionally

On the Interaction between Load Balancing and Speed Scaling

VoIP over Multiple IEEE Wireless LANs

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

The Retail Planning Problem Under Demand Uncertainty

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

The Geometry of Online Packing Linear Programs

INTERPRETING TRUE ARITHMETIC IN THE LOCAL STRUCTURE OF THE ENUMERATION DEGREES.

An efficient constraint handling methodology for multi-objective evolutionary algorithms

Lecture 2 Sequence Alignment. Burr Settles IBS Summer Research Program 2008 bsettles@cs.wisc.edu

Online Advertisement, Optimization and Stochastic Networks

Transcription:

INSTITUT FÜR INFORMATIK An EPTAS for schedulng jobs on unform processors: usng an MILP relaxaton wth a constant number of ntegral varables Klaus Jansen Bercht Nr. 1002 February 2010 CHRISTIAN-ALBRECHTS-UNIVERSITÄT ZU KIEL

An EPTAS for schedulng jobs on unform processors: usng an MILP relaxaton wth a constant number of ntegral varables Klaus Jansen Insttut für Informatk Unverstät zu Kel, Germany kj@nformatk.un-kel.de February 15, 2010 Abstract We present an effcent polynomal tme approxmaton scheme (EPTAS) for schedulng on unform processors,.e. fndng a mnmum length schedule for a set of n ndependent jobs on m processors wth dfferent speeds (a fundamental NP-hard schedulng problem). The prevous best polynomal tme approxmaton scheme (PTAS) by Hochbaum and Shmoys has a runnng tme of (n/ǫ) O(1/ǫ2). Our algorthm, based on a new mxed nteger lnear programmng (MILP) formulaton wth a constant number of ntegral varables and an nterestng roundng method, fnds a schedule whose length s wthn a relatve error ǫ of the optmum, and has runnng tme 2 O(1/ǫ2 log(1/ǫ) 3) + poly(n). 1 Introducton We consder the followng fundamental problem n schedulng theory. Suppose that we are gven a set J of n ndependent jobs J j wth processng tme p j and a set P of m non-dentcal processors P that run at dfferent speeds s. If job J j s executed on processor P, the machne needs p j /s tme unts to complete the job. The problem s to fnd an assgnment a : J P for the jobs to the processors that mnmzes the total executon tme, max =1,...,m J j :a(j j )=P p j /s. Ths s the mnmum tme needed to complete the executon of all jobs on the processors. The problem s denoted Q C max and t s also called the mnmum makespan problem on unform parallel processors. We may assume that the number m of processors s bounded by the number of jobs (otherwse select only the fastest n machnes n O(m) tme). Furthermore, for smplcty we suppose that s 1 s 2... s m (otherwse we have to sort the speed values). Results. The problem for unform (and also dentcal) processors has been demonstrated to be NP-hard [17, 20] and the exstence of a polynomal tme algorthm for t would mply P = NP. Hochbaum and Shmoys [23, 24] presented a famly of polynomal tme approxmaton algorthms {A ǫ ǫ > 0} for schedulng on dentcal and unform processors, where each algorthm A ǫ generates a An extended abstract of ths paper appeared at the Proceedngs of the Internatonal Colloquum on Automata, Languages and Programmng, ICALP 2009, LNCS 5555, 562-573. Research supported n part by the EU project AEOLUS, contract number 015964 1

schedule of length (1 +ǫ)opt(i) for each nstance I and has runnng tme polynomal n the nput sze I. Such a famly of algorthms s called a polynomal tme approxmaton scheme (PTAS). It s allowed that the runnng tme of each algorthm A ǫ s exponental n 1/ǫ. In fact, the runnng tme of the PTAS for unform processors by Hochbaum and Shmoys [24] s (n/ǫ) O(1/ǫ2). If ǫ s small, then the runnng tme of the algorthm can be very large. Two restrcted classes of approxmaton schemes were defned that avod ths problem. An effcent polynomal tme approxmaton scheme (EPTAS) s a PTAS wth runnng tme f(1/ǫ)poly( I ) (for some functon f), whle a fully polynomal tme approxmaton scheme (FPTAS) runs n tme poly(1/ǫ, I ) (polynomal n 1/ǫ and the sze I of the nstance). Snce the schedulng problem on unform (and also dentcal) processors s NP-hard n the strong sense (as t contans bn packng and 3-partton as specal cases) [17], we cannot hope for an FPTAS. For dentcal processors, Hochbaum and Shmoys (see [22]) and Alon at el. [1] gave an EPTAS wth runnng tme f(1/ǫ) + O(n), where f s doubly exponental n 1/ǫ. The exstence of an EPTAS for unform processors s mentoned as an open problem by Epsten and Sgall [10]. Our man result s the followng: Theorem 1.1 There s an EPTAS (a famly of algorthms {A ǫ ǫ > 0}) whch, gven an nstance I of Q C max wth n jobs and m processors wth dfferent speeds and a postve number ǫ > 0, produces a schedule for the jobs of length A ǫ (I) (1 + ǫ)opt(i). The runnng tme of A ǫ s 2 O(1/ǫ2 log(1/ǫ) 3) + poly(n). Interestngly, the runnng tme of the EPTAS s only sngle exponental n 1/ǫ. For an ntroducton to the effcency of polynomal tme approxmaton schemes we refer to Cesat and Trevsan [2], for an overvew of parameterzed complexty to Downey and Fellows [7] and Flum and Grohe [13], and for a recent survey of parameterzed complexty and approxmaton algorthms see Marx [31]. For a survey about complexty, algorthms and approxmablty of machne schedulng problems we refer to a revew by Chen, Potts and Woegnger [4]. Most of the work on ths fundamental schedulng problem has been done already more than 20 years ago. Horowtz and Sahn [25] proposed an approxmaton scheme for schedulng on a fxed number m of unform processors (wth runnng tme (n/ǫ) O(m) ). Gonzales, Ibara, and Sahn [18] n 1977 analyzed LPT (largest processng tme) lst schedules on unform processors and proved that LPT produces a schedule of length between 1.5 and 2 tmes the optmum. Fresen and Langston [15] analyzed a varaton of the MULTIFIT algorthm derved from bn packng and proved that ts worst-case performance bound s wthn 1.4 of the optmum. Ths has been later mproved to 1.38 by Chen [3]. Hochbaum and Shmoys [23] ntroduced the dual approxmaton approach for dentcal and unform processors and used the relatonshp between these schedulng problems and the bn packng problem. Ths relatonshp between schedulng on dentcal processors and bn packng problem had been exploted already by Coffman, Garey and Johnson [6]. For other work on schedulng on dentcal processors we refer to [14, 16, 19]. Usng the dual approxmaton approach, Hochbaum and Shmoys [23] proposed a PTAS for schedulng on dentcal processors wth runnng tme (n/ǫ) O(1/ǫ2). The man dea n ther approach s to guess the length of the schedule by usng bnary search and to consder the correspondng bn packng nstance (wth scaled dentcal bn sze equal to 1). Then they dstngush between large tems wth sze > ǫ and small tems wth sze ǫ. For the large tems they use a dynamc programmng approach to calculate the mnmum number of bns needed to pack them all. Afterwards, they pack the remanng small tems n a greedy way n enlarged bns of sze 1 + ǫ (.e. they pack nto any bn that currently contans tems of total sze at most 1; and f no such bn exsts, then they open a new bn). 2

The tme complexty has been mproved to (n/ǫ) O(1/ǫ log(1/ǫ)) by Leung [30]. Hochbaum and Shmoys (see [22]) and Alon at al. [1] acheved an mprovement to lnear tme by usng an nteger lnear program for the cuttng stock formulaton of bn packng for the large tems and a result on nteger lnear programmng wth a fxed number of varables by Lenstra [28]. Ths gves an EPTAS for dentcal processors wth runnng tme f(1/ǫ) + O(n) where f s doubly exponental n 1/ǫ. For unform processors, the decson problem for the schedulng problem wth makespan at most T can be vewed as a bn packng problem wth dfferent bn szes. Usng an ǫ-relaxed verson of ths bn packng problem, Hochbaum and Shmoys [24] were also able to obtan a PTAS for schedulng on unform processors wth runnng tme (n/ǫ) O(1/ǫ2). The man underlyng dea n ther algorthm s a nce roundng technque and a non-trval dynamc programmng approach over the dfferent bns ordered by ther szes. Methods. We use the dual approxmaton method by Hochbaum and Shmoys [24] to transform the schedulng problem nto a bn packng problem wth dfferent bn szes. Next, we structure the nput by roundng bn szes and processng tmes to values of the form (1 + δ) and δ(1 + δ) wth Z, respectvely. After sortng the bns accordng to ther szes, c 1... c m, we buld three groups of bns: B 1 wth the largest K bns (where K s constant). Let G be the smallest ndex such that capacty c K+G+1 γc K where γ < 1 depends on ǫ (such an ndex G exsts for c m γc K ). In ths case B 2 s wth the set of the next G largest bns (where the maxmum sze c max (B 2 ) = c K+1 dvded by the mnmum sze c mn (B 2 ) = c K+G s bounded by a constant 1/γ and B 3 s the set wth the remanng smaller bns (of sze smaller than γc K ). Ths generates a gap of constant sze between the capactes of bns n B 1 and B 3. If the rate c m /c K (where c m s the smallest bn sze) s larger the constant γ, then we obtan a smpler nstance wth only two groups B 1 and B 2 of bns. For B 1 we compute all packngs for the very large tems (those whch only ft there). If there s a feasble packng, then we set up a mxed nteger lnear program (MILP), or an nteger lnear program (ILP) n the smpler case, to place the other tems nto the bns. The placement of a large tem nto the second group B 2 s done va ntegral confguraton varables (smlar to the ILP formulaton for bn packng by Fernandez de la Vega and Lueker [11]). We use fractonal confguraton varables for the placement of large tems nto B 3. Furthermore, we use addtonal fractonal varables to place small tems nto B 1, B 2, and B 3. The MILP (and the ILP n the smpler case) has only a constant number of ntegral varables and, therefore, can be solved va the algorthm by Lenstra or Kannan [28, 27]. In order to avod that the runnng tme s doubly exponental n 1/ǫ, we use a recent result by Esenbrand and Shmonn [9] about nteger cones. To apply ther result we consder a system of equaltes for the ntegral confguraton varables and round the correspondng coeffcents. Then each feasble soluton of the modfed MILP and ILP contans at most O(1/δ log(1/δ) 2 ) ntegral varables wth values larger than zero. By choosng the strctly postve ntegral varables n the MILP and ILP, we are able to reduce the number of ntegral confguraton varables from 2 O(1/δ log(1/δ)) to O(1/δ log(1/δ) 2 ). The number of choces s bounded by 2 O(1/δ2 log(1/δ) 3). Next, we consder a rounded verson of the modfed smaller MILP and ILP formulatons n order to solve the correspondng LP feasblty problem more effcently. Although we stll have a huge number of varables, one can solve the LP feasblty problem for the MILP va the separaton problem of the dual lnear program and then usng technques from Grötschel, Lovasz and Schrjver [21]. Afterwards, we round the fractonal varables n the MILP soluton to ntegral values. In the frst phase of the roundng we reduce the number of strctly postve fractonal confguraton varables for each block B l (that contans bns wth smlar capactes) from 2 O(1/δ log(1/δ)) to O(1/δ log(1/δ)) usng deas from [26]. Afterwards we round down each such fractonal varable to the next smaller ntegral value. In the second phase we transform a system of (n-)equaltes for the other varables correspondng to the packng of the small tems nto a schedulng problem on unrelated machnes. 3

The fractonal soluton of the schedulng problem can be rounded nto another soluton wth only few fractonal values usng deas from [32]. The correspondng remanng fractonal varables n the system of (n-)equaltes are rounded down agan to the next ntegral values. The effect of the roundng s that most of the tems can be placed drectly nto the bns. Only a few of them cannot be placed ths way, and here s where the K largest bns and the gap between B 1 and B 3 come nto play. We prove that these tems can be moved to the K largest bns by ncreasng ther sze only slghtly. Organzaton of the paper. In Secton 2 we gve defntons, notatons and show how to structure the nput and how to defne the three bn groups. In Secton 3, we consder the smpler case wth only two bn groups and the property that the bns n the second group have a constant number of dfferent capactes. In ths smpler case we descrbe an ILP formulaton (see Secton 3.1); we show how to solve ths ILP and gve the frst deas to place tems nto the bns (see Secton 3.2). In Secton 4 we consder the more general case wth three groups of bns. In Secton 4.1 we set up our MILP relaxaton and n Secton 4.2 we show how to solve t. Then n Secton 4.3 we descrbe the roundng technque and n Secton 4.4 we show how to pack the jobs va the rounded MILP soluton. Here we bound also the total sze of tems that cannot be placed drectly nto bns. 2 Modfyng the nput Frst, we compute a 2-approxmate soluton usng the algorthm by Gonzales et al. [18]. It generates a schedule of length B(I) 2OPT(I). Then take the nterval [B(I)/2,B(I)] and use bnary search to test values for the optmum or approxmate schedule. In the followng we choose a value δ < ǫ such that 1/δ s ntegral (we specfy the value later). Notce that OPT(I) [B(I)/2,B(I)] and that the length (δ/2)b(i) δopt(i). That mples that the nterval [B(I)/2,B(I)] can be dvded nto 1/δ subntervals of length δb(i)/2 and that there s at least one subnterval [B(I)/2 + (δ/2)b(i), B(I)/2 + ( + 1)(δ/2)B(I)] wth {0,..., 1/δ 1} that contans the optmum length OPT(I). To fnd one of these ntervals, we use a standard dual approxmaton method that for each value T ether computes an approxmate schedule of length T(1 + αδ) (where α s a constant) or shows that there s no schedule of length T. The schedulng problem can be transformed nto a bn packng problem wth varable bn szes as descrbed by Hochbaum and Shmoys [24]. For a gven value T for the makespan we can generate m bns wth capactes c = T s. Usng the orderng of the speed values we have c 1 c 2... c m. The goal s now to fnd a packng for the jobs nto these m bns. Let us round the processng tme p j of each job to the next pale p j of the form δ(1+δ) k j wth k j Z, so p j p j = δ(1+δ) k j (1+δ)p j. If we have a subset A of jobs wth j A p j c, then the total ncreased processng tme j A p j s bounded by c (1 + δ). Furthermore, we can round the enlarged capactes c (1 + δ) to the next power c of (1+δ). That mples c (1+δ) c = (1+δ) l c (1+δ) 2 wth l Z. By normalzaton we may suppose that the mnmum capacty c mn = mn =1,...,m c = 1. Lemma 2.1 If there s a feasble packng of n jobs wth processng tmes p j nto m bns wth capactes c 1... c m, then there s also a packng of n jobs wth rounded processng tmes p j = δ(1 + δ) k j (1 + δ)p j nto m bns wth rounded bn capactes c = (1 + δ) l c (1 + δ) 2. Notce that the exponent k j n p j = δ(1+δ) k j can be negatve. For k j < 0 the processng tme of a job s smaller than δ and small compared to the capactes of all bns. These jobs wll be handled as tny jobs n a specal way (see end of ths Secton). In the next step we dvde the bns nto dfferent bn groups. The frst bn group B 1 conssts of the K largest bns, where K = O(1/δ log(1/δ)). If 4

c max (B)/c mn (B) s bounded by a constant C, then by usng the followng Lemma there s only a constant number O(log C/δ) of dfferent capactes n bn group B. Lemma 2.2 If c max (B)/c mn (B) C for some constant C and the set of capactes n B s c(b) = {(1 + δ) x, (1 + δ) x+1,...,(1 + δ) y } wth x,y Z + and x < y, then c(b) 2 log(c)/δ + 1 for any δ (0, 1/2]. Proof: Usng the assumpton on B, c max (B)/c mn (B) = (1 + δ) y x C. Therefore, the number of elements (1 + δ) n B s equal to y x + 1 log(c)/ log(1 + δ) + 1 2 log(c)/δ + 1; for the second nequalty we use log(1 + δ) δ δ 2 δ/2 for δ (0, 1/2]. If c mn (B)/c max (B ) C for two bn groups B and B wth C > 1, then there s a gap of sze C between the capactes of the bns n the two groups. Dependng on another constant γ (where γ = Θ(δ 2 )) we obtan ether two or three bn groups: Case 1: There s at least one bn wth capacty at most γc K. Let G be the smallest ndex such that c K+G+1 γc K. Ths mples that c K+G > γc K. In ths case we have three groups of bns: B 1 = {b 1,...,b K }, B 2 = {b K+1,...,b K+G }, and B 3 = {b K+G+1,...,b m }. Notce that B 2 has a constant number of dfferent capactes (usng c K+1 /c K+G c K+1 /γc K 1/γ). In addton we obtan a gap of at least 1/γ between the capactes n B 1 and B 3. Case 2: All bns have capacty larger than γc K. Ths mples that c m > γc K. In ths case we have only two groups of bns B 1 = {b 1,...,b K } and B 2 = {b K+1,...,b m }. In ths case B 2 has a constant number of dfferent capactes (usng c K+1 /c m c K+1 /γc K 1/γ). Let B 1 = {b 1,...,b K } be the subset of B 1 wth the bns that have capacty larger than δ/(k 1)c max (B 1 ). By a further modfcaton of the bn packng nstances we obtan the followng result. Lemma 2.3 If there a soluton for the orgnal nstance (J, M) of our schedulng problem wth makespan T and correspondng bn szes c 1... c m, then there s a feasble packng for nstance (J, B 1 B 2 B 3 ) or nstance (J, B 1 B 2 ) wth rounded bn capactes c = (1 + δ) l c (1 + δ) 3 and rounded processng tmes p j = δ(1 + δ) k j (1 + δ)p j. In addton we have one of the followng four scenaros: 1. two bn groups B 1 and B 2 wth gap of 1/δ between c mn (B 1) and c max (B 2 ) and constant number of dfferent capactes n B 2. 2. two bn groups B 1 and B 2 wth a constant number of dfferent capactes n B 1 B 2. 3. three bn groups B 1, B 2, B 3 wth gap of 1/δ between c mn (B 1) and c max (B 2 ) and gap of 1/γ between c mn (B 1 ) and c max (B 3 ). Furthermore B 2 has a constant number of dfferent capactes. 4. three bn groups B 1, B 2 and B 3 wth gap of 1/γ between c mn (B 1 ) and c max (B 3 ) and constant number of dfferent capactes n B 1 B 2. Proof: Dependng on the constant γ we have obtaned ether an nstance wth three or two bn groups. Let us consder now the largest K bns more carefully. The maxmum capacty c max (B 1 ) s equal to c 1. If there are bns n B 1 wth capacty < (δ/(k 1))c max (B 1 ), then we may take all jobs placed nto these bns and put them on top of b 1. The total load of these jobs s at most ((K 1)δ/(K 1))c 1 = δc 1. In order to store these jobs we enlarge the capacty of the frst bn b 1 to c 1 = (1 + δ)c 1. All other capactes reman the same,.e. c = c for > 1. Usng Lemma 2.2 5

we obtan a feasble packng of all n jobs nto the bns wth enlarged and rounded capactes. Next we analyze the structure of the nstances wth two or three bn groups n more detal. We have two nterestng cases correspondng to c max (B 1) = (1 + δ)c 1 and c K+1 : Case A: c K+1 < (δ2 /((K 1)(δ + 1)))c max (B 1). In ths case all remanng bns n B 1 have capacty larger than c mn (B 1) (δ/((k 1)(δ + 1)))c max (B 1) and all bns n B 2 have capacty c K+1 < δc mn(b 1). Ths mples that we have now a gap of 1/δ between the capactes of the bns n B 1 and B 2. Case B: c K+1 > (δ2 /((K 1)(δ + 1)))c max (B 1). In addton we know that c K+G /c K+1 γ n case 1 and c m/c K+1 γ n case 2. Ths mples that c max (B 1)/c mn (B 2 ) (K 1)(δ + 1)/(γδ 2 ) n both cases. Ths mples that we have only a constant number of dfferent capactes n B 1 B 2. In scenaro 2 and 4, c max (B 1 B 2 )/c mn (B 1 B 2 ) s bounded by (K 1)(δ+1)/(γδ 2 ) = O(K/(γδ 2 )). On the other hand, n scenaro 1 and 3 we have c max (B 2 )/c mn (B 2 ) 1/γ. If there are less than K = O(1/δ log(1/δ)) bns n the nstance, then we can apply the algorthm for scenaro 1 where B 1 contans K K bns and B 2 =. In the LP relaxaton later we use only the larger bns n B 1, but n the fnal roundng step we may also use the smaller bns n B 1. A packng of jobs nto bn b wth capacty c c (1+δ) 3 corresponds to a schedule for the jobs on processor P wth load at most c /s c (1 + δ) 3 /s = T(1 + δ) 3. In other words, a packng nto bns wth enlarged capactes for T (1+δ)OPT(I) gves us a schedule of length T(1 + δ) 3 OPT(1 + δ) 4. For T OPT(1 + δ), our algorthm (as descrbed n Secton 3 and 4) generates a schedule of length at most T(1 + αδ), where α s a constant, or asserts that there s no schedule of length T. For δ mn(ǫ/(α + 2), 1), ths mples n the frst case a schedule of length at most T(1 + αδ) OPT(1 + αδ)(1 + δ) OPT(1 + (α + 2)δ) OPT(1 + ǫ). Notce that we have a set J tny of jobs wth tny processng tme δ c m. Let S tny be the total sze of tny jobs,.e. S tny = J j J tny p j. If there s a feasble schedule wth makespan T, then the total processng tme j J p j s smaller or equal to the total area of the correspondng bns m =1 c. If ths nequalty does not hold, then we can dscard the choce wth makespan T (n fact we have to ncrease the makespan n ths case). Therefore, we can elmnate n a frst step all tny jobs. If there exsts a packng for the other jobs nto bns of sze c, then we can generate a feasble packng for all jobs nto enlarged bns of sze c (1 + δ). Ths can be done by a greedy algorthm that packs the tny jobs nto the free space left (by allowng to use an addtonal δ-fracton of the capactes). Ths works, snce the processng tme of each tny job s at most δ c m δ c for = 1,...,m and the nequalty above holds. 3 Soluton for smpler nstance (J, B 1 B 2 ) In ths secton we manly study scenaro 1 (for an llustraton see also Fgure 1). Note that scenaro 2 can be seen as a specal case of scenaro 1 where B 1 = (see also the dscusson at the end of the secton). Let us suppose that B 1 contans K K bns wth capactes c 1 c 2... c K where c K δ/((k 1)(δ + 1)) c 1 and that B 2 contans further bns c K+1 c m wth c K+1 δ c K (the other bns n B 1 wth smaller sze can be neglected). Ths means that we have a gap between B 1 and B 2 (see also Fgure 1). In the frst part of our algorthm we pre-assgn the huge jobs wth processng tme larger than δ c K to the frst K K machnes. Usng the propertes above, there are at most K c 1 /(δ c K ) K(K 1)(1+δ)/δ 2 many such jobs. If there are more jobs, then there s no feasble soluton wth makespan T and we are done. Here we use also the fact that c K+1 δ c K and that, therefore, the huge jobs ft only on the frst K machnes. Now we have to assgn the huge jobs to the frst K machnes. Snce the number of machnes K K = O(1/δ log(1/δ)) and the number of jobs H K(K 1)(1 + δ)/δ 2 O(1/δ 4 log(1/δ) 2 ) 6

1/δ 1/γ B 1 B 2 Fgure 1: Scenaro 1. are both constant (where the values depend on 1/ǫ), ths can be done n constant tme f(1/ǫ). A feasble packng of huge jobs s ndcated n Fgure 2. In fact the number of possble assgnments can be bounded by (1/δ log(1/δ)) O(1/δ4 log(1/δ) 2 ) 2 O(1/δ4 log(1/δ) 3). Agan, f there s no feasble assgnment, then there s no correspondng schedule wth makespan T. As an alternatve we compute an approxmate soluton wth accuracy ρ for the huge jobs. For ths step we ether could use the PTAS for schedulng on unform machnes [24] or an FPTAS for schedulng on unrelated machnes [12]. The runnng tme of the PTAS for unform machnes wth a constant number of jobs (as above calculated) s (1/δ 4 log(1/δ) 2 ) O(1/ρ2) 2 O(1/ρ2 log(1/δ)) = 2 O(1/δ2 log(1/δ)) (usng ρ = δ). On the other hand, ths ncreases the frst K bn capactes from c to c (1+δ) for = 1,...,K and the makespan from T(1 + δ) 3 to T(1 + δ) 4. 3.1 The ILP formulaton After the assgnment for the huge jobs J 1,...,J H we have a free area of S 0 = K =1 c (1+δ) H j=1 p j n B 1 for the remanng jobs wth processng tme p j δ c K. A subset of these remanng jobs wll be placed later n a greedy way on the frst K machnes. But before, we set up an nteger lnear program (ILP) for the bns n B 2. Suppose that the set of dfferent capactes n B 2 s denoted by { c(1),..., c(l)} = { c K+1,..., c m } (where c(1) > c(2) >... > c(l)). In ths case c(1) = c K+1 = c K+1 and c(l) = c m = c m. Let m 1,...,m L be the number of machnes (bns) of sze c(l) = (1 + δ) r l for l = 1,...,L. The m l machnes of the same speed form a block B l of bns wth the same capacty c(l). Note that we specfy n the followng the capacty of a bn group by c(l). In addton we have n 1,...,n P of jobs wth sze δ(1 + δ) k j for j = 1,...,P (all of sze > δ(1 + δ) r L and δ c K ). Notce that jobs wth sze wthn ((1 + δ) r 1,δ c K ) cannot be packed nto bns of B 2. Suppose that the frst P P job szes are larger than (1 + δ) r 1 = c K+1. These (non-huge) jobs wll be placed later va the ILP nto the frst K bns or block B 0. 7

1/δ 1/γ B 1 B 2 Fgure 2: Packng huge jobs. In the ILP below we use C (l) 1,...,C (l) h l as confguratons or multsets wth numbers δ(1 + δ) j [δ(1 + δ) r l, (1 + δ) r l] (these are large processng tmes correspondng to Bl ) where the total sum s ) be the number of and let sze(c (l) ) = j a(j,c(l) )δ(1+δ) j c(l). In the ILP below we use an ntegral varable x (l) to ndcate bounded by c(l) = (1 + δ) r l (the capacty of the bns n block Bl ). Let a(j,c (l) occurrences of number δ(1+δ) j n confguraton C (l) be the total sum of the numbers n C (l) the length of the confguraton C (l). Furthermore, we have addtonal varables to place jobs as small ones nto other bns. To do ths, for j > P let a j {1,...,L} be the smallest ndex such that δ(1 + δ) k j s at least δ(1 + δ) ra j. For each block B l wth l a j, the processng tme δ(1 + δ) k j s large correspondng to the block. If there s no such ndex, then the processng tme δ(1 + δ) k j < δ(1 + δ) L = δ c m and we have a tny job. These jobs are removed n the frst step of our algorthm and wll be added at the end. Note that a job of sze wthn (δ(1 + δ) r 1, (1 + δ) r 1 ] could be placed as a large job n an approxmate or optmal soluton nto a bn of group B 1. In our algorthm we mplctly place such a job as a small job nto one of the frst K bns. We use varables y j,l for l = 0, 1,...,a j 1 to ndcate the number of jobs of sze δ(1 + δ) k j placed as a small one n block B l. B 0 represents here for smplcty the block wth the frst K bns. The frst P job szes do not ft nto the bns n group B 2. Therefore, we use for these job szes only one varable y j,0 = n j and set the ndex a j = 0. We use the followng ILP: x(l) m l for l = 1,...,L l, a(k j,c (l) )x (l) + a j 1 l=0 y j,l = n j for j = P + 1,...,P sze(c(l) )x (l) + j:l<a j y j,l δ(1 + δ) k j m l c(l) for l = 1,...,L P j=1 y j,0δ(1 + δ) k j S 0 8

x (l) ntegral 0 for l = 1,...,L and = 1,...,h l y j,0 = n j for j = 1,...,P y j,l ntegral 0 for j = P + 1,...,P and l = 0,...,a j 1 The frst L nequaltes guarantee that we use only m l bns for each group B l. The next P P equaltes are used to cover the n j jobs wth processng tmes δ(1 + δ) k j. Here a job s ether taken as a large one va the x (l) varables or as a small one va the y j,l varables. The next L nequaltes bound the total sze of all jobs assgned to block B l by the area of the m l bns wth capacty c(l). The last nequalty corresponds to the small jobs that are assgned va the y j,0 varables to block B 0. These small jobs must have a total area bounded by the free space S 0 n the frst K bns. Ths s descrbed by the last nequalty. Lemma 3.1 Each feasble packng of the tems nto the bns of sze c corresponds to a feasble soluton for the ILP. On the other hand, each feasble soluton for the ILP can be transformed nto a packng where the bn szes are enlarged to (1 + 2δ) c. Proof: The frst drecton s qute obvous. Take out frst the tems that are small correspondng to a bn. Then the other tems can be grouped accordng to the packng and to ther szes together nto confguratons for each block B l. Let x (l) be the number of bns n the packng wth confguraton C (l) n B l. Then, the frst L nequaltes are satsfed automatcally. Then, let ỹ j,l be the number of small tems wth sze δ(1 + δ) k j packed n block B l. Snce all tems are packed nto the bns, the next P P equaltes are also satsfed. In addton the total area of all tems packed nto block B l s exactly sze(c(l) ) x (l) + j:l<a j ỹ j,l δ(1 + δ) k j and, therefore, s bounded by the total area m l c(l) of block B l. Concernng block B 0, the total area j ỹj,0δ(1 + δ) k j of the small jobs packed nto B 0 must be smaller than the free space S 0. On the other hand, suppose that there s a feasble soluton ( x, ȳ) for the ILP. Then use x (l) bns wth confguraton C (l) for each l and. Usng ths space we can place n j a j 1 l=0 ȳj,l jobs wth processng tme δ(1 + δ) k j (for j = P + 1,...,P). In addton each block B l gets ȳ j,l jobs wth sze δ(1 + δ) k j for each j wth l < a j. We can pack these small jobs nto the bns of block B l one after another as long as a bn capacty s at most c(l)(1 + δ). Usng the area constrants we know that these jobs ft together wth the long ones nto each block B l for l = 1,...,L. In ths procedure we enlarge the capactes of the bns from c to (1+δ) c. Fnally, the small jobs wth area P j=1 y j,0δ(1 + δ) k j are placed wth the same procedure nto the K enlarged bns. Ths s possble, snce the total area (va the last nequalty of the ILP) s bounded by S 0. As above the capactes of the frst K bns are enlarged from c (1 + δ) to at most c (1 + δ) + δ c K (1 + 2δ) c. Notce that we have already ncreased the frst K capactes for the huge jobs. Note that we could nsert the tny jobs together wth the small jobs at the same tme wthout ncreasng the capactes a second tme. The Lemma above mples that f the ILP has a feasble ntegral soluton then we obtan a feasble packng nto bns of capacty c (1 + 2δ) c (1 + 2δ)(1 + δ) 3 c (1 + δ) 5 and a correspondng schedule of length at most T(1 + δ) 5. The set B 2 has a constant number of dfferent capactes usng the property c max (B 2 )/c mn (B 2 ) 1/γ (see also Fgure 1). Ths means that (1 + δ) r 1 /(1 + δ) r L 1/γ. Therefore, r 1 >... > r L 0, r 1 r L O(log(1/γ)/δ), and L r 1 r L + 1 O(log(1/γ)/δ) O(1/δ log(1/δ)) usng γ = Θ(δ 2 ). Furthermore, each confguraton contans at most 1/δ numbers or jobs wth large processng tmes. Ths mples that the number of confguratons s also bounded by a constant that depends on 1/δ. Lemma 3.2 The number of varables n the ILP s at most 2 O((1/δ) log(1/δ)) and the number of constrants s O((1/δ) log(1/δ)) (not countng the non-negatvty constrants). In addton, the cardnalty of each set P l (the number of large job szes wthn block B l ) s at most O(1/δ log(1/δ)). 9

Proof: Let P l = {j {P + 1,...,P } δ(1 + δ) k j (δ(1 + δ) r l, (1 + δ) r l]} be the ndces of job szes that are large correspondng to block B l for l 1. For δ 1/2 we have P l 2/δ log(1/δ). To see ths consder all job szes δ(1+δ) (δ(1+δ) k, (1+δ) k ]. Ths s exactly the set {δ(1+δ) k+1,...,δ(1+ δ) k+ 1 } wth 1 elements, where δ(1+δ) k+ > (1+δ) k and δ(1+δ) k+ 1 (1+δ) k. Now the frst condton s equvalent to (1 + δ) > 1/δ or > log 1+δ (1/δ) = log 2 (1/δ)/ log 2 (1 + δ). Ths mples that the number of job szes s at most log 2 (1/δ)/ log 2 (1 + δ). Snce log 2 (1 + δ) δ δ 2 δ/2 for all δ 1/2 and δ 1/2, we get log 2 (1/δ)/ log 2 (1 + δ) log 2 (1/δ)/(δ/2) = 2/δ log 2 (1/δ). The number of confguratons n one block B l s bounded by 2 O(1/δ log(1/δ)). In fact we can descrbe a confguraton by an assgnment f : {1,...,1/δ} P l {0}. Here f() P l ndcates the th sze or processng tme used for = 1,...,1/δ. If a confguraton contans less than 1/δ szes, then we can ndcate ths wth f() = 0 for some. The total number of such assgnments s bounded by ( P l + 1) 1/δ = 2 O(1/δ log(1/δ log(1/δ))) = 2 O(1/δ log(1/δ)) O(1/δ log(1/δ)). In total we have L 2 plus (L + 1) (P P ) ntegral varables (not countng the fxed varables y j,0 = n j for j = 1,...,P that can be nserted drectly). Snce L O(1/δ log(1/δ)), the number of job szes P P wthn the nterval [δ(1 + δ) r L, (1 + δ) r 1 ] can be bounded also by O(1/δ log(1/δ)). To see ths bound calculate the number of elements δ(1 + δ) [δ(1 + δ) r L,δ(1 + δ) r 1 ] and the number of elements δ(1 + δ) (δ(1 + δ) r 1, (1 + δ) r 1 ]. The cardnalty of the frst set s { (1 + δ) [(1 + δ) r L, (1 + δ) r 1 ]} r 1 r L + 1 O(1/δ log(1/γ)) O(1/δ log(1/δ)) and the cardnalty of the second set s P 1 O(1/δ log(1/δ)). Therefore, the total number of ntegral varables s 2 O(1/δ log(1/δ)) and total number of lnear (n-) equaltes s 2L + P P + 1 = O(1/δ log(1/δ)) (not countng the constrants x (l) 0 and y j,l 0). O(K/γδ 2 ) B 1 B 2 Fgure 3: Scenaro 2. In scenaro 2 (see also Fgure 3) we do not have to consder a separate set B 1 or the frst K bns. Clearly, here we can elmnate all varables y j,0. Notce that there s no job of sze larger than (1 + δ) r 1 = c(1) = c max (B 1 B 2 ) (otherwse there s no feasble soluton and we are done). We suppose n the followng that k 1 r 1. We get mmedately the followng ILP: 10

x(l) m l for l = 1,...,L l, a(k j,c (l) )x (l) + a j 1 l=1 y j,l = n j for j = 1,...,P sze(c(l) )x (l) + j:a j >l y j,lδ(1 + δ) k j m l c(l) for l = 1,...,L x (l) ntegral 0 for l = 1,...,L and = 1,...,h l y j,l ntegral 0 for j = 1,...,P and l = 1,...,a j 1 Here the largest capacty dvded by the smallest capacty c max (B 1 B 2 )/c mn (B 1 B 2 ) s bounded by O((K 1)(δ + 1)/(γδ 2 )) = O(K/(γδ 2 )) = O(1/δ 5 log(1/δ)) usng K = O(1/δ log(1/δ)) and γ = Θ(δ 2 ). Ths mples that (1 + δ) r 1 r L O(1/δ 5 log(1/δ)), r 1 r L O(1/δ log(1/δ)) and L r 1 r L + 1 O(1/δ log(1/δ)). The number of job szes wth values n (δ(1 + δ) r L, (1 + δ) r 1 ] s also bounded by P O(1/δ log(1/δ)). Ths mples that the number of ntegral varables s 2 O(1/δ log(1/δ)) and that the number of nequaltes s O(1/δ log(1/δ)). 3.2 How to solve the ILP? The natural way to solve the ILP wth a constant number of varables s to use the classcal algorthm by Lenstra [28]. Ths approach was also mentoned by Hochbaum and Shmoys [22] and Alon et al [1] for schedulng on dentcal machnes. Ths would gve runnng tme d O(d2) s = 2 O(d2 log(d)) s where the dmenson d = 2 O(1/δ log(1/δ)) and s s the length of the nput. Therefore, the runnng tme can be bounded by 2 2O(1/δ2 (log(1/δ)) 2 )s doubly exponental n 1/δ. A better way s to use the algorthm by Kannan [27] wth runnng tme d O(d) s and to use a nce result by Esenbrand and Shmonn [9] about nteger cones nt cone(x) = {λ 1 x 1 +... + λ t x t t 0;x 1,...,x t X;λ 1,...,λ t Z 0 }, where X IR m s a fnte set and m corresponds to the number of constrants. Theorem 3.1 [9] Let X Z m be a fnte set of nteger vectors and let b nt cone(x). Then there exsts a subset X X such that b nt cone( X) and X 2m log(4mm) where M = max x X x. In our context t corresponds to the number of varables, λ to the varables and x to the vectors wth the coeffcents of the varables. In the followng we show how to apply ths result for our (x (l) ) varables. To do ths we need nteger coeffcents wth small sze. The frst L+P P constrants have already ths form and the values a(k j,c (l) ) are bounded by 1/δ. We round now the values sze(c (l) ) up to the next multple of δ 2 (1 + δ) r l = δ2 c(l). The rounded value sze (C (l) usng δ c(l) sze(c (l) ). Therefore, a feasble soluton of our orgnal ILP satsfes sze (C (l) )x (l) + y j,l δ(1 + δ) k j m l c(l)(1 + δ). j:a j >l ) sze(c (l) )(1 + δ) Furthermore, let us dvde the L constrants above by δ 2 c(l) (l = 1,...,L). Then, the coeffcents of x (l) are now sze (C (l) )/(δ 2 c(l)) = a,l δ 2 c(l)/δ 2 c(l) = a,l {1/δ,...,1/δ 2 + 1/δ}. Usng our assumpton that 1/δ s ntegral, the coeffcents are also ntegral and bounded by 2/δ 2. 11

Notce that ncreasng the capacty of all bns and dvdng all coeffcents as above mples also a feasble soluton for the modfed ILP. Now let us consder a feasble soluton for the modfed ILP. Consderng only the x (l) varables we obtan the followng system of equaltes: x(l) = m l for l = 1,...,L l, a(k j,c (l) )x (l) = n j for j = P + 1,...,P sze (C (l) ) = Area(l,large) for l = 1,...,L, δ 2 c(l) x (l) where the values m l, n j and Area(l,large) are gven by the feasble soluton. Then, the result by Esenbrand and Shmonn [9] mples that there s an ntegral soluton of ths system wth at most 2m log(4mm) 2(2L + P P ) log(4(2l + P P )2/δ 2 ) O(1/δ(log(1/δ)) 2 ) many ntegral varables wth values larger than zero (usng m = 2L + P P, and L,P P O(1/δ log(1/δ)) and max x X x 2/δ 2 ). Therefore, a feasble soluton for the modfed ILP contans only O(1/δ(log(1/δ)) 2 ) many ntegral nonzero varables x (l) > 0. By enumeraton we can choose a subset of sze O(1/δ(log(1/δ) 2 ), set the other x (l) varables equal to 0 and solve the smaller ILP nstance wth the polynomal number of varables. The number of remanng varables n the small ILP s bounded by (L + 1)(P P ) + O(1/δ(log(1/δ)) 2 ) = O(1/δ 2 (log(1/δ)) 2 ). Ths mples the followng result. Lemma 3.3 If there s a feasble soluton for the orgnal ILP, then there s at least one small ILP nstance wth a feasble soluton. The number of varables n each small ILP nstance s O(1/δ 2 log(1/δ) 2 ). The number of choces or small ILP nstances s bounded by ( ) 2 O(1/δ log(1/δ)) 2 O(1/δ2 (log(1/δ)) 3). O(1/δ(log(1/δ)) 2 ) The small ILP has stll non-ntegral coeffcents and the runnng tme to solve an ILP depends also on the sze s of the nput. Therefore, we wll modfy the small ILP a second tme. We round up the coeffcents sze (C (l) ) and δ(1+δ) k j to the next multple of δ 2 (1+δ) r L. Let sze(c (l) ) = a,l δ 2 (1+δ) r L be the rounded value for the confguraton C (l) and b j δ 2 (1 + δ) r L be the rounded value for the processng tme δ(1 + δ) k j. Snce δ(1 + δ) k j and sze (C (l) ) are both larger than δ(1 + δ) r L, we can replace the nequaltes sze (C (l) )x (l) + y j,l δ(1 + δ) k j m l c(l)(1 + δ) j by a,l δ 2 (1 + δ) r L x (l) + j Dvdng the nequaltes by δ 2 (1 + δ) r L, the coeffcents a,l (1 + δ)r l+2 δ 2 (1 + δ) r L b j δ 2 (1 + δ) r L y j,l m l c(l)(1 + δ) 2. + 1 1 (1 + δ) 2 + 1 O( 1 γ δ 2 δ 4) and b j δ(1 + δ)r 1 δ 2 (1 + δ) r L + 1 1 γ 1 δ + 1 O( 1 δ 3). 12

Above we have used that (1+δ) r 1 /(1+δ) r L = c max (B 2 )/c mn (B 2 ) 1/γ. The same modfcaton can be used for the area constrant P j=1 y j,0δ(1 + δ) k j S 0 wth new rght hand sde S0 new (here we round the coeffcents also to a multple b j of δ 2 (1 + δ) r L, and set C = P j=1 y j,0δ(1 + δ) k j ). The new constrant s P j=p +1 y j,0 b j δ 2 (1 + δ) r L + C S new 0. In ths case, we have to ncrease also the free space S 0 to S 0 (1 + δ). By ncreasng the capactes of the frst K bns, the new free space S0 new = K =1 c (1+δ) 2 H j=1 p j S 0 (1+δ). Then, the old nequalty P j=p +1 y j,0δ(1+δ) k j +C S 0 mples the constrant wth the rounded coeffcents and rght hand sde S0 new. Here we use that δ(1 + δ) k j δ c(l) = δ(1 + δ) r L (otherwse the job would be tny) and that the roundng error for each job δ 2 (1 + δ) r L s at most a δ-fracton of ts processng tme. In addton the coeffcents bj δ 2 (1+δ) r L dvded by δ 2 (1+δ) r L can be bounded by O(1/γ 1/δ 2 ) = O(1/δ 4 ). Furthermore notce that we can round down the rght hand sdes to the next nteger values. Therefore we obtan the followng statement. Lemma 3.4 If there s a feasble soluton of the orgnal ILP (wth bn capactes c(l)), then there s also a feasble soluton of at least one modfed small ILP nstance wth the followng constrants: x(l) m l for l = 1,...,L l, a(k j,c (l) )x (l) + a j 1 l=0 y j,l = n j for j = P + 1,...,P (l) ā,lx + j:l<a bj j y j,l m l c(l)(1+δ) 2 δ 2 c(l) for l = 1,...,L P b j=p +1 j y j,0 (Snew 0 C) δ 2 c(l) The ILP nstance has only O(1/δ 2 log(1/δ) 2 ) ntegral varables (x (l),y j,l ) wth coeffcents bounded by O(1/δ 4 ). Notce that we have ncreased the capactes of the bns n group B l from c(l) to now c(l)(1+δ) 2 (for l 1) and the bns b n group B 0 from c to c (1 + δ) 2 for = 1,...,K. Let us consder the rght hand sdes of the nequaltes more carefully. Notce that the values can be reduced to O(1/δ 4 [ x(l) + j y j,l]) O(1/δ 4 [m l + j n j]) O(n/δ 4 ) and O(1/δ 4 j y j,0) O(n/δ 4 ), respectvely. Therefore, the length s of the ILP nstance can be bounded by poly(1/δ) log(n) and the dmenson d = O(1/δ 2 log(1/δ) 2 ). Usng the algorthm by Kannan [27] the runnng tme to solve one ILP nstance s at most d O(d) s 2 O(1/δ2 (log(1/δ)) 3) log(n). Over all choces of ntegral varables, the overall runnng tme for scenaro 1 and 2 s bounded by 2 O(1/δ2 (log(1/δ)) 3) log(n) + O(n) 2 O(1/δ2 (log(1/δ)) 3) + poly(n). The algorthm for scenaro 1 works as follows: gven: bn set B 1 = {b 1,...,b K } and B 2 = {b K+1,...,b m }. (0) f n j=1 p j > m =1 c then assert that there s no soluton for the makespan and stop. (1) remove the tny jobs wth sze δ c m and try to pack the huge jobs wth sze > δ c K nto the frst K enlarged bns. (2) f there s a feasble packng for the huge jobs nto the enlarged K bns then (2.1) for each choce wth O(1/δ log(1/δ) 2 ) ntegral x (l) - varables (2.1.1) set up the modfed small ILP wth bounded coeffcents, (2.1.2) apply the algorthm by Kannan to the ILP nstance and store a soluton (f there s any), 13

1/δ 1/γ B 1 B 2 Fgure 4: Packng jobs usng x (l) varables. (2.2) f there s at least one feasble soluton ( x, ȳ) then (2.2.1) pack the large and small jobs accordng to the soluton ( x, ȳ) nto the enlarged bns, (2.2.2) place the tny jobs nto the free space of the enlarged bns, (2.2.3) assert that there s a soluton wth the approxmate makespan (and output the correspondng packng). otherwse assert that there s no soluton for the makespan. otherwse assert that there s no soluton for the makespan. If there s a schedule of length T, then there s at least one modfed ILP nstance wth a feasble soluton ( x, ȳ). The capactes n ths modfed ILP are c (l) = c(l)(1 + δ) 2 for each block B l and c = c (1+δ) 2 for = 1,...,K (n B 1). In the frst phase of our algorthm we pack the huge jobs nto bns of sze c (1+δ). Then, accordng to the feasble ILP soluton we pack frst the jobs va the x (l) values nto the bns of block B l (see Fgure 4). Then usng the ȳ j,l values we place jobs as small ones nto the correspondng bns that are enlarged here from c (l) to c (l)(1+δ). Fnally we pack the tny jobs n the free space left (but here we do not enlarge the bns a second tme). Ths s possble usng the area argument. In total, ths gves us a feasble packng wth bn capactes c (1+δ) 3 c (1+δ) 6 and a correspondng schedule of length at most T(1+δ) 6 OPT(1+δ) 7 OPT(1+ǫ) for δ ǫ/16 and ǫ 1. In scenaro 2, we do not consder the separate set B 1. Here c max (B 1 B 2 )/c mn (B 1 B 2 ) s at most (1 + δ) r 1 r L O(1/δ 5 log(1/δ)). On the other hand L,P O(1/δ log(1/δ)). The same arguments as above can be appled, only the coeffcents n the second modfed ILP are bounded by 1/δ 2 (1 + δ) r 1+2 r L O(1/δ 7 log(1/δ)). 14

1/δ 1/γ B 1 B 2 Fgure 5: Packng of small and tny jobs. 4 General case wth dfferent gaps In ths secton we consder now scenaros 3 and 4 (wth three bn groups). Frst, we study scenaro 3. For the huge jobs wth processng tmes > δ c K we use the same approach as n the prevous secton. If there s no assgnment for the H huge jobs nto the frst K enlarged bns of group B 1, then there s no schedule of length T and we are done. Otherwse we wll fnd a feasble approxmate assgnment wth free space S 0 = K =1 c (1 + δ) H j=1 p j and use now a mxed nteger lnear program (MILP) as descrbed below. 4.1 The MILP relaxaton The set B 2 contans now m l bns of sze c(l) = (1 + δ) r l for l = 1,...,L and B3 m l bns of sze c(l) = (1 + δ) r l for l = L + 1,...,L + N. Note that c(1) = ck+1, c(l) = c K+G, c(l + 1) = c K+G+1 and c(l + N) = c m. Usng our assumptons we have a constant number of dfferent capactes n B 2, c max (B 2 )/c mn (B 2 ) 1/γ and a gap of 1/γ between c mn (B 1 ) and c max (B 3 ) (see also Fgure 6 for an llustraton). Furthermore we have n j jobs of sze δ(1 + δ) k j for j = 1,...,P (all wth processng tme larger than δ c(l + N) = δ(1 + δ) r L+N and smaller than or equal to δ c K ). Suppose (as n the other scenaros) that we have elmnated the tny jobs J tny wth processng tmes at most δ(1 + δ) r L+N and that the area constrant for all jobs s satsfed (otherwse we have to ncrease the makespan T and the correspondng bn szes). a multset wth numbers δ(1 + δ) j (δ(1 + δ) r l, (1 + δ) r l] (l) (these are the large processng tmes). Note that C contans at most 1/δ numbers. Let a(j,c (l) ) be the number of occurrences of number δ(1+δ) j n confguraton C (l) and let sze(c (l) ) = j a(j,c(l) )δ(1+δ) j c(l) be the total sum of the numbers n C (l). In the MILP below we use an ntegral or fractonal varable x (l) to ndcate the length of the confguraton Smlar to the ILP n the prevous secton we use as a confguraton C (l) 15

1/δ 1/γ B 1 B 2 B 3 Fgure 6: Scenaro 3. C (l). For each job sze δ(1 + δ) k j (1 + δ) r 1, let a j be the smallest ndex n {1,...,L + N} such that δ(1 + δ) k j δ(1 + δ) ra j. If there s no such ndex, then we have a tny processng tme δ(1 + δ) k j < δ(1 + δ) r L+N = δ c m. These jobs are removed n the frst step of our algorthm and wll be added at the end. In addton for j = 1,...,P and l = 0,...,a j 1 we use varables y j,l to ndcate the number of jobs of sze δ(1 + δ) k j to be placed as a small job n group B l wth bn szes c(l) = (1 + δ) r l. Agan, B0 s the block wth the largest K bns. Suppose that the frst P (non-huge) job szes (1 + δ) k j are wthn ((1 + δ) r 1,δc K ]. These job szes do not ft nto the bns n group B 2 B 3. Therefore we use for these job szes (as n the ILP) only one varable y j,0 = n j and set a j = 0. Furthermore, notce that each processng tme for j P + 1 s small correspondng to B 0. We use now the followng MILP: x(l) m l for l = 1,...,L + N l, a(k j,c (l) )x (l) + a j 1 l=0 y j,l = n j for j = P + 1,...,P sze(c(l) )x (l) + j:l<a j y j,l δ(1 + δ) k j m l c(l) for l = 1,...,L + N P j=1 y j,0δ(1 + δ) k j S 0 x (l) ntegral 0 for l = 1,...,L and = 1,...,h l x (l) 0 for l = L + 1,...,L + N and = 1,...,h l y j,l 0 for j = P + 1,...,P and l = 0,...,a j 1 y j,0 = n j for j = 1,...,P Interestngly, the varables y j,l (wth excepton of the fxed varables y j,0 = n j for j P ) are n general fractonal varables. In fact we could use the same assumpton also n the other two scenaros 1 and 2 and would obtan also an MILP formulaton. But then the algorthms for these scenaros are more complcated, snce we have to round the correspondng values afterwards. For the MILP relaxaton, we can prove the followng result. 16

Lemma 4.1 Each feasble packng for the jobs nto the bns corresponds to a feasble soluton of the MILP. Proof: Frst, we take out all jobs that are small correspondng to a bn. Place the huge jobs correspondng to the packng nto the frst block B 0. Then, the other jobs can be grouped together as confguratons for each block B l. Let x (l) be the number of bns wth correspondng confguraton C (l) n block B l. Then, the frst L+N nequaltes are satsfed drectly. Then, let ỹ j,l be the number of jobs that are packed as small jobs wth sze δ(1 + δ) k j n block B l. Snce all jobs are packed, the next P P nequaltes are also satsfed. In addton, the total area of all jobs n block B l s exactly sze(c(l) ) x (l) + j ỹj,lδ(1 + δ) k j, and ths clearly s bounded by the total area m l c(l) of block B l. Therefore, the next L+N nequaltes are also satsfed. The last nequalty s true, snce the area j ỹj,0δ(1 + δ) k j of the small jobs n B 0 must be smaller than the free space S 0. Lemma 4.1 mples that the MILP s a relaxaton of the packng problem for jobs nto bns wth dfferent szes. Notce that the feasble soluton generated above has only ntegral values. On the other hand, we show later how to round an MILP soluton to obtan a feasble packng wth enlarged capactes. Lemma 4.2 The number of varables n the MILP s n 2 + n2 O(1/δ log(1/δ)), the number of ntegral varables s at most 2 O(1/δ log(1/δ)), and the number of constrants (not countng the non-negatvty constrants) s at most O(n). Proof: The number of confguratons per block B l s agan bounded by 2 O(1/δ log(1/δ)). The number L s bounded by O(1/δ log(1/γ)) = O(1/δ log(1/δ)) usng that c max (B 2 )/c mn (B 2 ) s at most 1/γ and γ = Θ(δ 2 ). Thus, the number of ntegral varables s at most 2 O(1/δ log(1/δ)). Snce the number m of machnes s bounded by the number n of jobs, the number of blocks ncludng B 0 s L + N + 1 n and number of job szes P n. Ths mples that the total number of varables s at most n 2 + n 2 O(1/δ log(1/δ)) and that the number of constrants s at most O(n). O(K/γδ 2 ) 1/γ B 1 B 2 B 3 Fgure 7: Scenaro 4. In scenaro 4, the set B 1 B 2 (and also B 1 B 2 ) has a constant range of capactes,.e. c max (B 1 B 2 )/c mn (B 1 B 2 ) (K 1)(δ +1)/(γδ 2 ). Furthermore, there s a gap of 1/γ between c mn (B 1 ) and 17

c max (B 3 ). Therefore we can use a smlar approach as n scenaro 3 wth blocks B 1,...,B L wthn B 1 B 2. Here we obtan an MILP wth ntegral confguraton varables for B 1 B 2 and fractonal confguraton varables for B 3. The number of ntegral varables here s agan 2 O(1/δ log(1/δ)), and the value L O(1/δ log((k 1)/(γδ 2 ))) = O(1/δ log(1/δ)). As above the number of constrants s at most O(n) and the number of all varables s at most n 2 + n2 O(1/δ log(1/δ)). 4.2 How to solve the MILP? For the MILP we use the same argument va the nteger cone for the (x (l) ) varables. In addton we round the szes or processng tmes of large tems or jobs to solve later the correspondng LP n the underlyng algorthm of Lenstra and Kannan more effcently. Each large sze δ(1 + δ) k j C (l) s rounded up to the next multple of δ 2 (1 + δ) r l for l = 1,...,L. Let round l [δ(1 + δ) k j ] be the rounded number n block B l. Ths generates also modfed confguratons wth total sze at most c(l)(1 + δ) = (1 + δ) rl+1, snce at most 1/δ tems n each confguraton are rounded up. Notce that roundng up dfferent numbers δ(1 + δ) (δ(1 + δ) r l, (1 + δ) r l] up to roundl [δ(1 + δ) ] generates dfferent rounded numbers. Suppose by contradcton that two rounded numbers are equal round l [δ(1 + δ) +1 ] = round l [δ(1 + δ) ]. Then the dstance between the orgnal numbers δ(1 + δ) +1 δ(1 + δ) = δ 2 (1 + δ) s at most δ 2 (1 + δ) r l, and ths s possble only f rl. But ths s a contradcton, snce should be larger than r l. C (l) C (l) h l Let 1,..., be the sequence of all confguraton or parttons of c(l)(1+δ) nto the rounded numbers {round l [δ(1 + δ) k j ] δ(1 + δ) k j (δ(1 + δ) r l, (1 + δ) r l]}. Then, the equalty for each job sze j {P + 1,...,P } has now the form l,:round[δ(1+δ) kj (l) ] C a(k j, a j 1 (l) C )x (l) + y j,l = n j, l=0 C (l) where a(k j, ) s the number of occurrences of the rounded value round[δ(1 + δ) k j ] n addton we have as new constrants (l) sze( C )x (l) + y j,l δ(1 + δ) k j m l c(l)(1 + δ) j (l) C. In for l = 1,...,L and P y j,0 δ(1 + δ) k j S 0. j=1 Clearly, f there s a feasble soluton for the orgnal MILP, then there s also a feasble soluton (l) for the MILP wth modfed coeffcents. Now, the values sze( C ) are multples of δ 2 (1 + δ) r l and bounded by (1 + δ) rl+1. By dvdng the correspondng constrants by δ 2 (1 + δ) r l, the coeffcents of x (l) are agan ntegral and bounded by 2/δ 2. Therefore, usng the same argument as for the ILP (wth a system of equaltes for the (x (l) ) varables) each feasble ntegral soluton of MILP has at most O(1/δ(log(1/δ)) 2 ) ntegral varables wth values larger than zero. Let P(B 2 ) be ndces of the large job szes correspondng to a block B l B 2 (.e. P(B 2 ) = {j δ(1+δ) k j (δ(1+δ) r L, (1+δ) r 1 ]}). The cardnalty of P(B 2 ) can be bounded by O(1/δ log(1/δ)) (see also Lemma 3.2). To prove the bound for the number of ntegral varables consder for the x (l) varables of the 18