 # A polynomial time 12-approximation algorithm for restricted Santa Claus problem

In this paper, we consider the restricted case of the problem and improve the current best approximation ratio by presenting a polynomial time 12-approximation algorithm using linear programming and semi-definite programming. Our algorithm starts by solving the configuration LP and uses the optimum value to get a 12-gap instance. This is then followed by the well-known clustering technique of Bansal and Sviridenko<cit.>. We then apply the analysis of Asadpour et al. <cit.> to show that the clustered instance has an integer solution which is at least 1/6 times the best possible value, which was computed by solving the configuration LP. To find this solution, we formulate a problem called the Extended Assignment Problem, and formulate it as an LP. We then, show that the associated polytope is integral and gives us an fractional solution of value at least 1/6 times the optimum. From this solution we find a solution to a new quadratic program that we introduce to select one machine from each cluster, and then we show that the resulting instance has an Assignment LP fractional solution of value at least 1/6 times the optimum. We then use the well known rounding technique due to Bezakova and Dani <cit.> on the 12-gap instance to get our 12-approximate solution.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

Resource Allocation problems are fundamental to computing. They provide a vast class of challenging algorithmic questions in many computational settings. A wide class of these problems are max-min fair allocation problems, which focus on distributing the available resources to the underlying entities in the fairest way possible. Santa Claus problem is one of such problems and was proposed by Bansal and Sviridenko. A Santa Claus instance is a triplet where is a set of machines, is a set of jobs to be allocated among the machines in and is a table of dimension indexed by a pair of machine and job such entry constraints the size exerted by job on machine and we are asked to find an allocation of the jobs in among the machines in in such a way that is maximised.

The work due to Bansal and Sviridenko attempts to find the solutions to the problem by developing approximation algorithms using linear programming approach and establishes one negative result and two positive results. The negative result is that the general version of the problem problem has unbounded integrality gap that grows as . Hence a lot of focus has been to understand the complexity of a restricted case of the problem which is known as the restricted Santa Claus problem and is given in Figure 1.

A natural interpretation of the restricted case of the problem is that each job is interested in only some machines for the allocation and has identical size on all such machines. The first positive result in the work due to Bansal and Sviridenko  gives a randomised approximation algorithm for solving the restricted Santa Claus problem using a machine job clustering technique and randomised rounding. The second positive result improves the first result by presenting a approximation algorithm. The paper also specifies a combinatorial conjecture which if true establishes the constant integrality gap of the restricted version.

Later Asadpour et al. established two positive results in connection with the restricted Santa Claus problem. They showed that restricted Santa Claus problem has a integrality gap by proving the conjecture given by Bansal and Sviridenko using the Haxell’s condition for hypergraph perfect matching. They also established a -approximation algorithm for the restricted case by treating the problem as a matching problem in hypergraphs and finding suitable allocations by introducing the notion of alternating tree and this algorithm was later refined to give a -approximate solution. Even though this method provides approximate solutions nearer to the best theoretically known optimum, it lacks due to the exponential time complexity involved in the underlying computation.

A work that is related with the original work due to Bansal and Sviridenko was due to Feige which shows that the algorithm in fact approximates the optimum value to within a constant factor. Even though the work due to Feige established the existence of constant factor approximation algorithms for the restricted Santa Claus problem, it does not give constructive ideas to develop such constant approximation factor approximation algorithms which run in polynomial time. Later in 2017, Chidambaram et al. formulated two approximation algorithms with constant approximation factor and running in polynomial time for solving the restricted case. The first results presents a 36-approximation which uses the machine job clustering technique given in the work due to Bansal and Svridenko along with the alternating tree technique given in the work due to Asadpour et al.. The second algorithm is a 13-approximation algorithm which is a combinatorial algorithm. Both the algorithm uses techniques such as lazy updates and greedy choice to limit the running time to within polynomial factor.

A further related work on Santa Claus problem due to Chakrabarty et.al. showed the existence of a approximation algorithm for the problem which runs in time using a linear program with integrality gap . They also investigated a special case of the problem where each job has non zero size for at most two machines and proved that even this special case is -hard to approximate within a factor less than 2. Another related work due to Woeginger investigated an even more restricted version namely the uniform case where the size of a job on all the machines are the same and they derived a PTAS for this case.

### 1.1 Our Results

In this paper, we focus on solving the restricted Santa Claus problem given in figure 1. This work is motivated by the existence of large gap between the best theoretical integrality gap of for the restricted Santa Claus problem as evident from result due to Asadpour et al.[2, 3] and the approximation ratio of given by the best known polynomial time algorithm due to Chidambaram et al.. We narrow this gap by designing a polynomial time approximation algorithm having an approximation guarantee of 12. More precisely, we prove the following theorem.

###### Theorem 1.

There exists a polynomial time 12-approximation algorithm for the restricted Santa Claus problem.

Our methods are primarily based on Linear Programming with several novel techniques.

1. We use the machine job clustering technique due to Bansal and Sviridenko as the basic platform to design our algorithm. We show that a certain way of machine job clustering ensures the existence an integer solution which assigns small job configurations of size to exactly one machine in each super machine, if we start with a 12-gap instance (Theorem 2). We establish such a machine job clustering by grouping the machines in the input Santa Claus instance into upper class machines and middle class machines. This approach of grouping the machines ensures that we can form variants of Configuration LP involving all the machines and the small jobs in the given instance. We then show that the clustered instance has an integer solution of size , by applying the techniques of Asadpour et.al  . We then show that this integer solution is feasible solution for a configuration LP on the clustered instance with bundles of size . We then compute a fractional solution to this LP and show how to construct an assignment LP instance that is feasible for an assignment of size .

2. We propose a deterministic polynomial time algorithm to choose a single machine from each super machine, which can be assigned small gift configurations. In particular, our algorithm finds a fractional -approximate solution that allocates small job configurations to a list of machines containing exactly one machine from each super machine and the middle class machines.

3. The 12-approximate algorithm uses the fact that a feasible solution of the Configuration LP induces a feasible solution for the Assignment LP which gives the configuration size as the objective function value. We then apply the rounding method due to Bezakova and Dani to obtain the desired 12-approximate solution.

The following are the notable attributes and consequences of our results.

1. The algorithm is conceptually simple and is yet another witness to the effectiveness of the configuration LP to obtained improved approximation ratios.

2. The algorithm neither uses any alternating tree technique[2, 3] nor apply any greedy techniques such as Lazy Local Search and Greedy Players to find the 12-approximate solution. We use the alternating tree method due to Asadpour et.al[2, 3] only to prove that there exists an integer solution that allocates small jobs among the middle class machines and exactly one machine from each super machine in such a way that each of these super machines gets a total size of at least (Theorem 2).

The algorithm does not however have the features of the combinatorial algorithm designed by Chidambaram et.al .

### 1.2 Organisation of the paper

The remainder of the paper is organised as follows. In section 2, we discuss some building blocks of linear programming techniques which are used in Santa Claus problem. This includes a brief overview of the techniques used in the works by Bansal and Sviridenko  and Asadpour et al.[2, 3]

. Section 3 starts with an outline of our algorithm and detail each step as a separate subsection. In section 3.1, we present an outline of our algorithm. Section 3.2 explains how we can classify the set of machines in the given Santa Claus instance into upper class machines and middle class machines. Section 3.3 shows that we can compute a solution for the given instance in polynomial time, if there are no upper class machines within the given instance. In section 3.4, we deal with the case where the Santa Claus instance has one or upper class machines and is this section further divided into four sections. Section 3.4.1 explains how we can form the super machines out of the upper class machines and the composite machines. Section 3.4.2, we define the Modified Configuration LP and the Extended Configuration LP and prove Theorem

2. In section 3.4.3, we define the Extended Assignment Program and use Theorem 2 to prove that we can compute in polynomial time, a list containing exactly one upper class machine from each composite machine and a 6-approximate fractional solution which assigns small job configurations among the machines in the list. We use this result in section 3.4.4 to find the 12-approximate solution for the given Santa Claus instance within polynomial time. We close Section 3 with section 3.5 which gives the proof of our main result(Theorem 1) by combining the results established in the preceding subsections. We conclude the paper in Section 4 giving some areas where the methods specified in this work can be used to derive good results.

## 2 Preliminaries

Throughout this paper we have used terminology from the papers of Bansal and Svirideno , Asadpour et al. . In this paper, we consider the restricted Santa Claus problem and hence we use the term Santa Claus instance to refer to a restricted Santa Claus instance unless stated otherwise. We use two linear programs namely Assignment LP and the Configuration LP to solve the restricted Santa Claus problem. Each of the two linear programs give fractional solutions and these fractional solutions must be transformed to integral solutions without violating the constraints so as to yield a solution for the Santa Claus instance.

### 2.1 Assignment LP and Configuration LP

We denote The Assignment LP for any Santa Claus instance by the notation and is shown in Figure 2.

Here the variable indicates whether job is allocated to machine or not.A feasible solution of

is a vector

that satisfies the constraints. In particular, a feasible solution of is a solution for the Santa Claus instance . A fractional solution of can be turned into a feasible solution by using the following rounding method due to Bezakova and Dani.

###### Lemma 2.1.

Corresponding to a Santa Claus instance , each fractional solution of with objective function value can be converted to a feasible solution with objective function value within polynomial time.

In order to describe the Configuration LP, we first introduce the concept of Configuration or Bundle which is nothing other than a set of jobs. Let be the value of the objective function which we want to achieve. We call a configuration to be a minimal configuration of size if and only if the removal of any job from makes the resulting configuration to have a size strictly less than . Let denote the set of all minimal configurations of size for machine .

We denote the Configuration LP for the instance with minimal configurations of size by the notation and is shown in Figure 3.

Here the variable is denotes whether configuration is allocated to machine or not. The first set of constraints specifies that each machine must be allocated with at least one unit of configuration whereas the second set of constraints specifies that each job must be allocated to at most one machine. A feasible solution of this LP is a vector that satisfies the constraints. For any feasible solution of , we call the parameter to be the total fractional weight of machine with respect to the solution .

We see that the Configuration LP has exponentially many decision variables and polynomially many constraints. Bansal and Sviridenko proposed a method to solve this LP in polynomial time. In this method, we treat the Configuration LP as the primal program and obtain the corresponding dual program which has exponentially many constraints, corresponding to the Configuration LP decision variables and polynomially many decision variables corresponding to the Configuration LP constraints. The separation algorithm for the dual is the minimum knapsack problem which can be solved in polynomial time using dynamic programming technique[10, 11]. Hence the dual program can be solved in polynomial time using the ellipsoid method and a feasible solution of the corresponding primal program which is the Configuration LP, by considering the set of decision variables corresponding to the dual constraints considered by the ellipsoid method and then solving the Configuration LP on those set of decision variables in polynomial time.

We easily see that if is feasible, then is feasible for any such that . The following Lemma shows that a fractional feasible solution can be turned to a fractional feasible solution of the Assignment LP.

###### Lemma 2.2.

Given Santa Claus instance . Each feasible solution of the induces a feasible solution for with objective function at least .

###### Proof.

Let be a feasible solution of for a given Santa Claus instance . Therefore allocates the jobs in to the machines in in such a way that each machine receives job configurations with total size at least . Now we form a vector where is defined as . Since is a feasible solution of the Configuration LP, each machine is assigned at least one unit of configurations with total size of at least , we see that , thereby satisfying the first set of constraints of the Assignment LP with . Furthermore assigns each job to at most one machine and hence , thereby satisfying the second set of constraints of the Assignment LP. Hence we see that is a feasible solution of with objective function value . Hence the Lemma. ∎

### 2.2 α-gap Instance, Big jobs and Small jobs

Let be a Santa Claus instance and be a positive real number such that is feasible. Let be a positive real number. Now we define a new Santa Claus instance namely -gap instance as follows.

###### Definition 2.1.

The -gap instance corresponding to the given instance is defined as the Santa Claus instance where entry of is given by

 Pα[i,j]={P[i,j]if % P[i,j]<\uptauα\uptauotherwise

Hence we see that each job that has size at least on a subset of machines in instance has size on the corresponding set of machines in the -gap instance . Now the following Lemma easily follows.

###### Lemma 2.3.

A feasible solution of is a feasible solution for as well.

We call each job in as big job or small job with respect to the pair of parameters as per the following definition.

###### Definition 2.2.

A job in is said to be a big job with respect to the pair of parameters if and only if for all machines . A job is said to be a small job if and only if it is not a big job.

We use the notation and to denote the set of big jobs and the set of small jobs in respectively. We also use the notation to denote the subset of containing only small job configurations. Since each big job has size , we see that .

### 2.3 Forming clusters of machines and jobs

We now convert any feasible solution of the configuration LP on an -gap instance to another feasible solution for instance itself with good structural properties as follows.

Let be a feasible solution of and let be a weighted bipartite graph defined as L = M,R=J_big, E = { {i,j} x_i{j}¿0,i ∈M and j ∈J_big} and
each edge {i,j} ∈E is given the weight x_i{j} It is easy to see that the graph can be constructed in polynomial time. The following Lemma is due to Bansal and Sviridenko that transforms the feasible solution to another feasible solution by modifying the graph .

###### Lemma 2.4.

The feasible solution of can be transformed to another feasible solution of in polynomial time by modifying the graph to a forest using a cycle elimination procedure in such a way that for each and .

The following is another Lemma due to Bansal and Sviridenko that can be used to obtain a cluster of machines and jobs from the solution 111This Lemma is a modified version of the original Lemma presented in Bansal and Sviridenko, but the modification follows from the proof presented in the paper.

###### Lemma 2.5 (The Clustering Lemma).

Using the forest and the solution , it is possible in polynomial time to cluster the machines and big jobs into groups and respectively with the following properties.

1. For each , .

2. For each , the big jobs in may be placed feasibly on any of the machines in .

3. For each , .

This lemma provides completely flexible way of allocating big jobs to the machines in a cluster. Hence we can find a feasible solution of the Configuration LP in such a way that corresponding to each , the big jobs in are allocated to all the machines in except one machine which is satisfied by allocating one unit of small configurations. From now onwards, we call each set of machines as a Super Machine and each set of jobs in as a Super Job.

### 2.4 The Alternating Tree method for solving the restricted Santa Claus problem

A combinatorial superpolynomial time algorithm due to Asadpour et al.[2, 3] solves the restricted Santa Claus problem and obtains a approximate solution for any . This method presents the problem as a Hypergraph matching problem in a bipartite hypergraph created using a feasible solution of as per the following rules. The vertices in are labeled by the machines, the vertices in are labelled by the jobs in . The set of hyperedges in are formed as per the following rules.

• For each machine and for each big configuration containing big job such that , we add a hyperedge containing exactly and .

• For each machine and for each small job configuration such that , then for each minimal configuration of size , we add a hyperedge containing exactly and .

We form the desired solution of the problem by finding a perfect matching that matches all the vertices in . The method of formation of the matching is iterative and it uses an alternating tree which consists of two types of edges namely Add edges which we would like to add to our current matching and Blocking edges which are the edges in the current matching which block the insertion of add edges into the matching. The method starts with an empty matching and iteratively extends the current partial matching to an additional machine until all the machines get matched as per the following Lemma.

###### Lemma 2.6.

In each step for extending the current matching, we can either match an additional machine by adding an edge which is not blocked by the edges in the current matching, or augment the alternating tree with an edge in such that intersects with some machine vertex in the alternating tree and does not intersect with any job vertex in the alternating tree.

Even though this method can find an integer solution whose integrality gap is close to the best known theoretical value, it takes superpolynomial local search moves to find the perfect matching[2, 3].

## 3 Clustered instances seem promising

Our first step is to start with the super machines obtained by clustering method due to Bansal and Sviridenko . We first give the Algorithm outline.

### 3.1 Algorithm Outline

This outline is only for the 12-approximation. The 4-approximation starts from a 4-gap instance, creates a clustered instance as in Bansal and Sviridenko , and then skips directly to Section 4.

Let be a Santa Claus instance. Now our algorithm on input proceeds as per the following outline.

1. Using binary search over the range of possible values of , we solve to find the highest value such that is feasible .

2. Form the 12-gap instance for the given instance as per Definition 2.1 given in section 2.2.

3. Classify the set of jobs into two categories - and containing the big jobs and the small jobs with respect to the parameters as per Definition 2.2 given in section 2.2.

4. Solve resulting in feasible solution . We then classify the machines in into two categories, upper class machines and middle class machines. Each upper class machine places at least of its total fractional weight from the solution on big job configurations where as each middle class machine places at least of its total fractional weight from on small job configurations. This step is detailed in section 3.2.

5. If has no upper class machines, then each machine in the given instance places at least half of its total fractional weight on small jobs. Hence we find the 12-approximate solution which allocates only small job configurations to all the machines by solving the corresponding Assignment LP and then rounding the resulting fractional solution using Lemma 2.1 due to Bezakova and Dani. We detail this step in section 3.3.

6. If has one or more upper class machines, then we do the following.

1. Form the set of super machines out of the upper class machines and the set of composite machines using the machine job clustering technique due to Bansal and Sviridenko satisfying the conditions in Lemma 2.5 given in section 2.3. The details of this step is given in section 3.4.1.

2. Form the Extended Configuration LP(ECLP) given in section 3.4.2 which is an extension of the Configuration LP over composite machines. We observe that this configuration LP can be solved in polynomial time using the now well-known technique in . We use this solution to find a pair where is a list containing all the middle class machines and exactly one upper class machine from each super machine in and is fractional feasible solution that allocate small job configurations of size at least among the machines in . We detail this step in section 3.4.3. The existence of such a solution is guaranteed by Theorem 2 by proving the existence of an integer solution using the alternating tree technique due to Asadpour et al. given in section 2.4. The details of Theorem 2 is given in section 3.4.2.

3. A particularly interesting result that we present is the conversion of a feasible solution to the ECLP to a feasible solution of a quadratic program which we called the Extended Assignment Problem (EAP). The solution to the EAP plays a crucial role in rounding the fractional solution of size of the ECLP to give an integer solution of size . This is presented in section 3.4.3.

4. Finally, apply Lemma 2.1 due to Bezakova and Dani on and obtain the corresponding integer solution which assigns small jobs among the machines in the list in such a way that each machine gets a total size of at least . The upper class machines in each super machine which are not in list are assigned single big job from the corresponding super job. The resulting solution ensures that each machine in the given instance is assigned job configurations of size at least . This step is detailed in section 3.4.4.

In the following sections we prove properties of the correctness of all the steps in the outline presented above, and put them all together in the main theorem.

### 3.2 Classifying the machines in the given instance

With reference to the solution , we now classify the set of machines into two categories- and containing the upper class machines and middle class machines respectively as per the following definition.

###### Definition 3.1.

A machine in is said to be an Upper Class Machine if . A machine is said to be a Middle Class machine if it is not an upper class machine. That is a machine in is said to be upper class machine or middle class machine according to whether the cumulative weight of the big gift configurations allocated to wth respect to the solution is at least or not.

Therefore, for every middle class machine , .

### 3.3 Dealing with instances having no Upper Class machines

We now show that if the given Santa Claus instance has no upper class machines with respect to , then each machine in can be assigned small job configurations of size at least.

###### Lemma 3.1.

If there is no upper class machine, then a solution for the given Santa Claus instance that assigns small job configurations of size at least can be found in polynomial time.

###### Proof.

Let the given Santa Claus be such that there is no upper class machine in instance with reference to the solution . This implies that for each machine in . Hence by Lemma 2.2, there exists fractional feasible solution for that fractionally allocates small jobs to each machine in such that each machine gets size at least . Now applying Lemma 2.1, we can convert the fractional solution to a solution for that allocates small jobs to each machine in such that every machine gets size at least . Since the small jobs in both and are the same and have the same size, we see that is a solution for instance as well. Hence we claim that there exists a solution for the given instance such that each machine in is assigned small job configurations of size at least .

Clearly the solution can be obtained by solving the Assignment LP on the subinstance of that consists of all the machines and only the smal jobs in . Since solving and finding the integer solution mentioned in Lemma 2.1 can be found in polynomial time, the solution can be found in polynomial time. Hence the proof. ∎

### 3.4 Dealing with instances having one or more upper class machines

We now consider the case where there are one or more upper class machines in with respect to .

#### 3.4.1 Forming the Super Machines and Composite Machines

Let be the instance obtained by such that consists of the upper class machines in and the big jobs which are fractionally allocated to the upper class machines by the fractional solution . Let be the restriction of with respect to the instance . Now we form the graph mentioned in section 2.3 and apply the Lemma 2.4 on to get the fractional feasible solution mentioned in the Lemma. We then apply Lemma 2.5 on , to form the set of super machines denoted by . In the remainder of this paper, we use the notation to denote the set and call each member of the set to be a Composite Machine. We note that each composite machine is either a super machine or a singleton set consisting of a middle class machine. With this convention we unambiguously reason about machines inside a composite machine.

#### 3.4.2 Existence of a T6 size integer solution for the Composite machines

We now show that there exists an integer solution that allocates small job configurations among the composite machines in such a way that at least one machine from each composite machine in gets a total size of at least .

Now we define the Modified Configuration LP which is a modification of the Configuration LP in two respects.

1. It is specifically written for composite machines rather than single machines.

2. All the jobs considered in it are small jobs.

3. The first set of constraints in it requires that every composite machine should have a total weight of at least from small job configurations. This means that each of the super machines in and each middle class machine in must have a total fractional weight of at least from small jobs.

Now we prove the following Lemma.

###### Lemma 3.2.

The Modified Configuration LP is feasible.

###### Proof.

Consider the fractional solution computed above as a result of applying Lemma 2.4. From the construction of the feasible solution of computed above and Lemma 2.4, it is clear by definition that corresponding to each middle class machine and , . This implies that corresponding to each composite machine representing a middle class machine , we must have . Furthermore it follows from Lemma 2.5 that corresponding to each composite machine representing some super machine , . Hence we see that for each composite machine , thereby satisfying the first set of constraints of the Modified Configuration LP. It also follows from the construction of the solution and Lemma 2.4 that the fractional allocation of a small job configuration to a machine in is not more than the same in the initial feasible solution which we used to classify the set of machines into upper class machines and middle class machines. Hence it becomes clear that

 ∑i∈M(∑C:C∈Csmall(i,T)j∈Cx∗iC)≤∑i∈M(∑C:C∈Csmall(i,T)j∈CxiC)≤1 for each small job j∈Jsmall.

Hence satisfies the second set of constraints of the Modified Configuration LP. Hence we see that the solution satisfies all the constraints of the Modified Configuration LP and is therefore a feasible solution of this LP. Hence the proof. ∎

Now in order to prove the existence of a solution that allocate small job configurations of size at least among the composite machines, we use the alternating tree method, where we pose the problem as a hypergraph matching problem in a suitably defined bipartite hypergraph using the solution mentioned in Lemma 3.2 and then find a perfect matching in by forming the alternating tree and growing it as stated in Lemma 2.6.

We define the bipartite hypergraph with some differences. Here the vertices in are labelled by the composite machines in , the vertices in are labelled by small jobs and the hyperedges in are formed as per the following rules.

• For each composite machine representing a middle class machine and for each small configuration , if , then for each minimal configuration of size such that , we add a hyperedge connecting and .

• For each composite machine representing a super machine and for each small configuration , if there exists an upper class machine within the super machine such that , then for each minimal configuration of size such that , we add a hyperedge containing and .

By the way of formation of the hyperedges within , we see that the size of the jobs present in each hyperedge is strictly less than . We now show that the bipartite hypergraph constructed above has a perfect matching. Further, note that unlike in Asadpour et.al , we do not have any big job in the hypergraph. They have all been taken care of in Bansal and Sviridenko’s clustering step.

###### Lemma 3.3.

The bipartite hypergraph constructed above has a perfect matching that matches each composite machine with a small job configuration having size at least .

###### Proof.

We prove the Lemma using the method of contradiction. In particular, we prove that a given partial matching that does not match all the composite machines in can be extended to match an additional machine which in turn implies that has a perfect matching. The way we do this is to use an argument identical to the one in Asadpour et al.[2, 3] which we have presented in Lemma 2.6. They show that if the alternating tree can be augmented with a hyperedge, that is a new hyperedge can be added to the tree which out intersecting any hyperedge already in the tree, then the constructive procedure will eventually match one additional machine. Therefore, we prove that the alternating tree can be augmented with one hyperedge from . In the remainder of this proof, for a set of edges in the graph we use the notation and to denote the set of vertices of which are incident at some edge in and the set of vertices of which are incident at some edge in , respectively.

Assume that, at some step in growing the alternating tree, a new hyperedge from cannot be added to alternating tree without intersecting a hyperedge that is already in the alternating tree. Let and respectively denote the set of Add edges in the alternating tree, the set of Blocking edges in the alternating tree, and the set of vertices of matched by the current matching at this step. Let denote the total size of the jobs present in the edges within the edges in the alternating tree and . together with the fact that the alternating tree cannot be grown further, we see that it is not possible to find an edge in such that is incident at some machine vertex in and does not intersect with any of the job vertices in . This further implies that the quantity representing the total size of the jobs appearing in the edges of the alternating tree satisfies the condition

 X = ∑D∈CM′(∑i∈D(∑C:C∈Csmall(i,T)x∗iC(∑j:j∈C∩(A∪B)VPα[i,j])))>56γ (1)

Another way of accounting for the is obtained by taking the sum of the size of the jobs within the edges in , and in each blocking hyperedge in , we take the size of the jobs which are not present in the Add edge in that is blocked by . Due to the minimality of the hyperedges in , we also see that each hyperedge within contains as many jobs as to give a maximum size of and for each blocking hyperedge in , the total size of the jobs which are present in and not present in the Add edge in that is blocked is at most . In other words, each hyperedge in contributes at most and each hyperedge in contributes at most to . Thus we have

 X ≤ |A|(T6+T12)+T6|B|

Since every Add edge in is blocked by at least one hyperedge edge in and all these blocking hyperedges are different, we must have . This implies that . Using this relation in (1), we get . Hence we have

 T2|B| > ∑D∈CM′(∑i∈D(∑C:C∈Csmall(i,T)x∗iC× size of C))

Since the size of each configuration in is at least , we see that

 T2|B| > T∑D∈CM′(∑i∈D(∑C:C∈Csmall(i,T)x∗iC))

which in turn implies that

 12|B| > ∑D∈CM′(∑i∈D(∑C:C∈Csmall(i,T)x∗iC)) (2)

Since the number of composite machines in is at least , it is evident from relation (2) that there exists a composite machine such that . But this contradicts the fact that is a feasible solution of the Modified Configuration LP and hence it satisfies the constraint . Hence we have proved that the alternating tree can be augmented at any step if it cannot increase the size of the matching. Thus, using Lemma 2.6 it follows that we can find a perfect matching in . Hence the proof. ∎

Using Lemma 3.3, we now prove the existence of the integer solution mentioned in the beginning of this section. Next we define a new linear program namely Extended Configuration LP which is given in Figure 5.

###### Theorem 2.

There exists a feasible solution for ECLP.

###### Proof.

It follows from Lemma 3.3 that there exists a perfect matching in the graph constructed as specified above such that the matching matches every composite machine with a small configuration of size at least . Let be this perfect matching. For each composite machine , let denote the small job configuration such that the matching matches the composite machine with configuration . Now we define the vector as follows.

• For each middle class machine represented by the composite machine , we set and for each such that .

• For each super machine represented by the composite machine , let be the upper class machine that is matched in the perfect matching . Then we set and for each such that . Furthermore, for each machine such that , we set for all .

###### Claim 3.3.1.

is a feasible solution of ECLP.

###### Proof.

From the construction of , we note the following.

• Corresponding to each composite machine there is exactly one machine such that and for each such that .. Furthermore, for each such that , we have for each . This implies that . Hence satisfies the first set of constraints of ECLP.

• No small job is allocated to more than one machine and hence satisfies the second set of constraints of ECLP.

• for each and .

Hence the claim. ∎

Now by Claim 3.3.1, the Lemma immediately follows. ∎

We see that similar to Configuration LP, ECLP has exponentially many decision variables and polynomially many constraints. Therefore we can use the technique due to Bansal and Sviridenko  which is mentioned in section 2.1 for solving the Configuration LP to solve ECLP as well in polynomial time. We easily see that the seperation oracle for the dual program corresponding to ECLP is also the minimum knapsack problem. Hence ECLP can also be solved in polynomial time exactly in the same way as Configuration LP is solved in polynomial time.

#### 3.4.3 Efficient Computation of a T6 size fractional solution for the composite machines

By Theorem 2, it is clear that there exists an integer solution that assigns small job configurations to the composite machines in such a way that at least one of the machines in each composite machine gets a total size of at least . We see that the proof of Theorem 2 gives a constructive way of finding such a solution by constructing the graph and finding a perfect matching in it. But this method is not efficient as the underlying computation takes exponential time . Hence we propose an alternative method for finding a such a feasible solution in polynomial time. Towards this end, we define a new mathematical program namely Extended Assignment Program(EAP) and is given in Figure 6.

This mathematical program consists of a decision variable which indicates whether small job is allocated to machine or not. In addition, EAP consists of a decision variable for each machine which further controls the allocation of small jobs within machine . The first set of constraints of the program states that the sum of the total size received by the machines in each composite machine in from small gifts must be at least . Similarly the second set of constraints states that no small job is allocated to more than one machine.

###### Lemma 3.4.

A feasible solution of EAP can be found in polynomial time.

###### Proof.

Let be a feasible solution of ECLP obtained by solving it in polynomial time, as mentioned in the previous section. Clearly has only polynomially many components such that . For each machine we use to denote the set . In this section, we also use to denote , mainly to ensure the readability of the equations that follow. In the description of a feasible solution of the EAP, we assume that the polynomially many non-zero components are available. For each composite machine and each small job , define . In other words, is the set of those machines in composite machine that get a non-zero fraction of . We now define a pair of vectors such that and as follows.

• For each , component of is given by

 si=∑C∈C(i)ziC (8)
• For each such that is a member of the composite machine and , the component of is given by

 uij=⎧⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎨⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩0if ∑C∈C(i)j∈CziC=0∑l∈SDj,C∈C(l)j∈CzlC∑l∈SDjslotherwise (9)

Basically, the number of is the total fraction of job that is assigned to the composite machine by the ECLP in the solution . Therefore, if two machines in a composite machine get non-zero and , then they get the same value. In the rest of this section is the candidate solution defined above.

###### Claim 3.4.1.

is a feasible solution of EAP and can be computed in polynomial time.

###### Proof.

We prove the claim by showing that satisfies all the constraints of the EAP as follows.

• For each , we see that . Furthermore we see that, for each composite machine ,

This further implies that for each . Hence the set of constraints (4) and (7) are satisfied by the vector .

• For each such that is a member of the composite machine and , we note the following. If , then . Otherwise, we see that

 uij = ∑l∈SDj,C∈C(l)j∈CzlC∑l∈SDjsl   =    ∑cl∈SDj,C∈C(l)j∈CzlC∑l∈SDj∑C∈C(l)zlC(∵ by definition of uij and sl) ≤ 1(∵the denominator contains all terms% of the numerator)

and since . Hence, we see that . Hence the vector satisfies the set of constraints (6).

• For each small job if all , then clearly . So we consider the case of a job such that for some , . Now we see that

 ∑i∈Muij = ∑D∈CM∑i∈Duij  =  ∑D∈CM∑i∈D,uij≠0uij (10) = ∑D∈CM∑i∈SDj∑l∈SDj,C∈C(l)j∈CzlC∑l∈SDjsl(∵ substituting the definition % of uij)

Placing an upper bound on Equation 10 for job . Let be the set consisting of all the machines in each composite machine which contains a machine such that . Let denote . We now crucially observe that . This is because, if for an , where is a composite machine, then the in included in . Since some and is a sum obtained from the feasible solution to the ECLP, it follows that .

To bound Equation 10

we now define a probability function on the set

 U={⟨i,C⟩∣i∈CMj and C % is a valid configuration for i}
 Define for each ⟨i,C⟩∈U,   Pr(⟨i,C⟩)=ziCRj

Each element of corresponds to one side of a dice with sides. Note that . Therefore, the probability defined on is indeed a valid definition, since the probability of each event in is in and the sum of all the probabilities is equal to 1.

We next consider the following two probabilities for a fixed composite machine :

1. . By definition this probability is given by

2. . By definition this probability is given by