Jump to content

Configuration linear program

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by WikiCleanerBot (talk | contribs) at 03:06, 9 December 2021 (v2.04b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The configuration linear program (configuration-LP) is a particular linear programming used for solving combinatorial optimization problems. It was introduced in the context of the cutting stock problem.[1][2] Later, it has bin applied to bin packing[3][4] and job scheduling.[5][6] In the configuration-LP, there is a variable for each possible configuration - each possible multiset of items that can fit in a single bin (these configurations are also known as patterns) . Usually, the number of configurations is exponential in the problem size, but in some cases it is possible to attain approximate solutions using only a polynomial number of configurations.

In bin packing

The integral LP

In the bin packing problem, there are n items with different sizes. The goal is to pack the items into a minimum number of bins of size B. A feasible configuration is a set of sizes with a sum of at most B.

  • Example:[7] suppose the item sizes are 3,3,3,3,3,4,4,4,4,4, and B=12. Then the possible configurations are: 3333; 333; 33, 334; 3, 34, 344; 4, 44, 444. If we had only three items of size 3, then we could not use the 3333 configuration.

Denote by S the set of different sizes (and their number). Denote by C the set of different configurations (and their number). For each size s in S and configuration c in C, denote:

  • ns - the number of items of size s.
  • as,c - the number of occurences of size s in configuration c.
  • xc - a variable denoting the number of bins with configuration c.

Then, the configuration LP of bin-packing is:

for all s in S (- all ns items of size s are packed).

for all c in C (- there are at most n bins overall, so at most n of each individual configuration).

The configuration LP is an integer linear program, so in general it is NP-hard. Moreover, even the problem itself is generally very large: it has C variables and S constraints. If the smallest item size is eB (for some fraction e in (0,1)), then there can be up to 1/e items in each bin, so the number of configurations C ~ S1/e, which can be very large if e is small.

However, this ILP serves as a basis for several approximation algorithms. The main idea of these algorithms is to reduce the original instance into a new instance in which S is small and e is large, so C is relatively small. Then, the ILP can be solved either by complete search (if S, C are sufficiently small), or by relaxing it into a fractional LP.

The fractional LP

The fractional configuration LP of bin-packing It is the linear programming relaxation of the above ILP. It replaces the last constraint with the constraint . In other words, each configuration can be used a fractional number of times. The relaxation was first presented by Gilmore and Gomory,[2] and it is often called the Gilmore-Gomory linear program.[8]

  • Example: suppose there are 31 items of size 3 and 7 items of size 4, and the bin-size is 10. The configurations are: 4, 44, 34, 334, 3, 33, 333. The constraints are [0,0,1,2,1,2,3]*x=31 and [1,2,1,1,0,0,0]*x=7. An optimal solution to the fractional LP is [0,0,0,7,0,0,17/3] That is: there are 7 bins of configuration 334 and 17/3 bins of configuration 333. Note that only two different configurations are needed.

In short, the fractional LP can be written as follows:

Where 1 is the vector (1,...,1) of size C, A is an S-by-C matrix in which each column represents a single configuration, and n is the vector (s1,...,sS).

Let FOPT(I) be the optimal solution of the fractional LP for instance I, and OPT(I) the optimal solution of the integral LP. Let AVG be the sum of all sizes divided by B. The following relations are obvious:

  • AVG(I) ≤ FOPT(I), since AVG(I) is the (possibly fractional) number of bins when all bins are completely filled with items or fractions of items. Clearly, no solution can be more efficient.
  • FOPT(I) ≤ OPT(I), since FOPT(I) is a solution to a minimization problem with fewer constraints.
  • OPT(I) < 2*AVG(I), since in any packing with at least 2*AVG(I) bins, the sum of the two least-full bins is at most B, so they can be combined into a single bin.

Rounding the fractional LP

Karmarkar and Karp[9] presented an algorithm for rounding an optimal solution for the fractional LP into a solution for the integral ILP, proving that OPT(I) ≤ FOPT(I) + S/2:

  • Let x be an optimal basic feasible solution of the fractional LP. By definition, the value of x is FOPT(I). Since the fractional LP has S constraints, x has at most S nonzero variables, that is, at most S different configurations are used. We construct from x an integral packing consisting of a principal part and a residual part.
  • The principal part contains floor(xc) bins of each configuration c for which xc > 0.
  • For the residual part (denoted by R), we construct two candidate packings:
    • A single bin of each configuration c for which xc > 0; all in all S bins are needed.
    • A greedy packing, with fewer than 2*AVG(R) bins (since if there are at least 2*AVG(R) bins, the two smallest ones can be combined).
  • The smallest of these packings requires min(S, 2*AVG(R)) ≤ average(S, 2*AVG(R)) = AVG(R) + S/2.
  • Adding to this the rounded-down bins of the principal part yields FOPT(I) + S/2.
  • The execution time of this conversion algorithm is O(n log n).

The dual LP

The dual linear program of the fractional LP is:

.

It has S variables y1,...,yS, and C constraints - one for each configuration. It has the following economic interpretation.[9] For each size s, we should determine a nonnegative price ys. Our profit is the total price of all items. We want to maximize the profit n y subject to the constraints that the total price of items in each configuration is at most 1.

Solving the fractional LP

A linear program with no integrality constraints can be solved in time polynomial in the number of variables and constraints. The problem is that the number of variables in the fractional configuration LP is equal to the number of possible configurations, which might be huge. Karmarkar and Karp[9] present an algorithm that, for any tolerance factor h, finds a basic feasible solution of cost at most FOPT(I) + h, and runs in time:

,

where S is the number of different sizes, n is the number of different items, and the size of the smallest item is eB. In particular, if e ≥ 1/n and h=1, the algorithm finds a solution with at most FOPT+1 bins in time: .

A randomized variant of this algorithm runs in expected time:

.

Their algorithm uses separation oracle to the dual LP.

Solving the integer LP for the rounded instance

A simple way to solve the integer LP is by exhaustive search. Since there are at most S1/e configurations, and for each configuration there are at most n possible values, there are at most combinations to check. For each combination, we have to check S constraints, so the run-time is , which is polynomial in n when S, e are constant.[7]

In machine scheduling

Consider the problem of unrelated-machines scheduling. In this problem, there are some m different machines that should process some n different jobs. When machine i processes job j, it takes time pi,j. The goal is to partition the jobs among the machines such that maximum completion time of a machine is as small as possible. The decision version of this problem is: given time T, is there a partition in which the completion time of all machines is at most T?

For each machine i, there are finitely many subsets of jobs that can be processed by machine i in time at most T. Each such subset is called a configuration for machine i. Denote by Ci(T) the set of all configurations for machine i, given time T. For each machine i and configuration c in Ci(T), define a variable which equals 1 iff the actual configuration used in machine i is c, and 0 otherwise. Then, the LP constraints are:

  • for every machine i in 1,...,m;
  • for every job j in 1,...,n;
  • for every i, j.

Properties

The integrality gap of the configuration-LP for unrelated-machines scheduling is 2.[5]

See also

References

  1. ^ Eisemann, Kurt (1957-04-01). "The Trim Problem". Management Science. 3 (3): 279–284. doi:10.1287/mnsc.3.3.279. ISSN 0025-1909.
  2. ^ a b Gilmore P. C., R. E. Gomory (1961). A linear programming approach to the cutting-stock problem. Operations Research 9: 849-859
  3. ^ Karmarkar, Narendra; Karp, Richard M. (1982-11-01). "An efficient approximation scheme for the one-dimensional bin-packing problem". 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982): 312–320. doi:10.1109/SFCS.1982.61. S2CID 18583908.
  4. ^ Bansal, Nikhil; Caprara, Alberto; Sviridenko, Maxim (2006-10-01). "Improved approximation algorithms for multidimensional bin packing problems". 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06): 697–708. doi:10.1109/FOCS.2006.38. ISBN 0-7695-2720-5. S2CID 7690347.
  5. ^ a b Verschae, José; Wiese, Andreas (2014-08-01). "On the configuration-LP for scheduling on unrelated machines". Journal of Scheduling. 17 (4): 371–383. doi:10.1007/s10951-013-0359-4. ISSN 1099-1425. S2CID 34229676.
  6. ^ Knop, Dušan; Koutecký, Martin (2020-03-04). "Scheduling Kernels via Configuration LP". arXiv:2003.02187 [cs.DS].
  7. ^ a b Claire Mathieu. "Approximation Algorithms Part I, Week 3: bin packing". Coursera.{{cite web}}: CS1 maint: url-status (link)
  8. ^ Rothvoß, T. (2013-10-01). "Approximating Bin Packing within O(log OPT * Log Log OPT) Bins". 2013 IEEE 54th Annual Symposium on Foundations of Computer Science: 20–29. arXiv:1301.4010. doi:10.1109/FOCS.2013.11. ISBN 978-0-7695-5135-7. S2CID 15905063.
  9. ^ a b c Karmarkar, Narendra; Karp, Richard M. (November 1982). "An efficient approximation scheme for the one-dimensional bin-packing problem". 23rd Annual Symposium on Foundations of Computer Science (SFCS 1982): 312–320. doi:10.1109/SFCS.1982.61. S2CID 18583908.