parameterized approximation scheme for the multiple knapsack problem by klaus jansen (soda’09)
DESCRIPTION
Parameterized Approximation Scheme for the Multiple Knapsack Problem by Klaus Jansen (SODA’09). Speaker: Yue Wang 04/14/2009. Outline. Introduction Definition of problem Relative Works Approximation Scheme for MKP Instances with similar capacities General instances. - PowerPoint PPT PresentationTRANSCRIPT
Parameterized Approximation Scheme for the Multiple Knapsack Problem
by Klaus Jansen (SODA’09)
Speaker: Yue Wang
04/14/2009
Outline
• Introduction– Definition of problem
– Relative Works
• Approximation Scheme for MKP– Instances with similar capacities
– General instances
Multiple Knapsack Problem (MKP)
• A generalization of the classical knapsack problem.• Given a set A of n items and a set B of m bins, each
item a A has a size s(a), and a profit value p(a), and each bin b B has a capacity c(b).
• To find the subset of maximum total profit such that it can be packed into B without exceeding the capacities.
• MKP is strongly NP-hard.
U A
FPTAS, PTAS and EPTAS
• FPTAS: approximation algorithm running in MKP has no FPTAS!• PTAS: approximation algorithm running in
MKP has (Chekuri and Khanna)
• EPTAS: a PTAS with running time of the form
(this paper)
1 (1) (1)(1/ )O On
1 (1/ )fn
8( (1/ ) / )O logn
(1)(1/ ) Of n5(log(1/ ) / )2 ( ) ( )O poly n O m
Outline
• Introduction– Definition of problem
– Relative Works
• Approximation Scheme for MKP– Instances with similar capacities
– General instances
Instances with Similar Capacities
• Let be the different capacities in MKP. • For each capacity there are bins of
capacity .• 5 steps to approximation algorithm:
– Linear Program Relaxation– Rounding the LP solution– Selecting the Items– Strip Packing– Shifting Technique
• approximation algorithm running in time polynomial in n, t and .
1, , tc c
lc 31/lm lc
1/1
Linear Program Relaxation
• Let with total size be a configuration of group .
• Let be the set of configures for group .• is the fractional piece of item • denotes the length of the configuration in
the solution.
'A A '( ) la A
s a c
l
( ) ( )1 ,
l
l lHC C l
[0,1]ix ia
( )ljy ( )l
jC
Linear Program Relaxation (2)
•
• The LP problem can be solved as max-min resource sharing problem. (reference to [9])
• Solution , , and the objective value is at least times the optimum value
( ) ( , )OPT LP OPT A B
)~,~( yx ( )
1(1 2 )lH l
j ljy m
(1 3 ) ( , )OPT A B( )O
Rounding the LP solution
• Put all the pieces of the same item in each group together.
as the pieces of item assigned to group .
• Large pieces (with ) as rectangles of the form
• is the height of stack • Divide the stack into
parts of height
( )
( ) ( )
: li j
l li jj a C
z y
ia
l( )i ls a c
( )( ( ), )li is a z
lHeight l21/
2lHeight
Rounding the LP solution (2)
• Let be the set of pieces that lies in at least two parts of the stack .
• Remove the items corresponding to the sets . • Let be the set of items that have a piece in part j
of stack • Put all the small pieces ( ) together at the top
the stack. Let be the set of items with a small piece in top part of the stack.
lK
l 2| | 1/lK
lK
( )i ls a c
,l jS
l
( )
( )
: 0, ( )( ) ( )l
i i l
li ii z s a c
Area l z s a
,0lS
Rounding the LP solution (3)
• The above linear programming can be transferred into a scheduling problem with jobs on unrelated machines.
M machines: parts. N jobs: n items.• They can round the solution into another feasible solution that has few
fractional variables. (one fractional variable per machine (per part), by [14][17].
• Let be the set of items with fractional variables.
• Now each item with value is assigned to exactly one group and one part.
2(1/ 1)t
lL\ ( )i l ll
a A K L 0ix
Selecting the Items
• Till now, they select pieces of the items because .
• In this part, they select complete (non-fractional) items from the instance with near optimum profit that can be packed into the bins.
• By solving classical fractional knapsack problems for each part. – Take size of an item as value 1, profit as the original profit .
– Capacity of the knapsack is equal to the height value .
• Overall solution with at most one fractional item per part.
• Let be the set of fractional items selected above in group .
. All other items are now selected completely.
(0,1]ix
( )ip a2
lHeight'A A
lM l2| | (1/ 1)lM '\ l lA A M
Strip Packing
• Lemma 2.4 :The set can be packed into bins of capacity .
By using the property and the strip packing algorithm of Kenyon and Remila.[10]
lA 2(1 6 ) 5 /lm
lc
( ) (1 2 )lj ly m
Shifting Technique
• During the rounding, selecting process, they delete some items from the original solution of LP, i.e. , , .
• Let , then
• Since , using the lemma 2.4, can be packed into .
• Select a subset with profit at least that can be packed into bins.
lK lL lM( )l l l l lX A K L M
( ) (1 3 ) ( ) (1 3 ) ( , )l lprofit X OPT LP OPT A B 2 2| | 3 / 2 4 /l l lK L M lX
2(1 6 ) 9 /lm 'l lX X (1 9 )(1 7 ) ( )lprofit X
lm
Put all things together
• Solving the LP approximately whose objective value is at least .
• Build t stacks of wide rectangles and sets with narrow rectangles, split the stacks into parts and round the rectangles over the groups. The select via solving fractional knapsack problem and store the fractional items .
• Using the strip packing algorithm for each group to pack the items into bins.
• Apply the shift strategy to select subset that can be packed into bins.
(1 3 ) ( )OPT LP
21/
lA
l l lK L M
lA 2(1 6 ) 5 /lm 'l lX X
lm
Outline
• Introduction– Definition of problem
– Relative Works
• Approximation Scheme for MKP– Instances with similar capacities
– General instances
General Instances
• The number of bins . • Modifying the bins.
– Order the bins
– k groups with bins
– 1 groups with bins
– Round up the capacity of each bin in the first k groups.
– Eliminate the k’th group bins.
• The profit loss is at most
.
42m
3
4
( , )OPT A B
General Instances(2)
• Let be the profit of the greedy algorithm for instance (A, B).
• Consider only the items with large profit
, is the number of bins in – If , there are at most many items and
they could pack all of them in . is used to denote the set.
– If ,they use at most smallest items with rounded profit value Let be the stored set.
• In total they store at most
( , )APP A B( , ) (1/ 2 '/ 4) ( , )APP A B OPT A B
( ) ( / )2(1 ') ( , )ip a APP A B 2Bmin 2( ) ( )is a c B /
2B SmHi
min 2( ) ( )is a c B (1/ )( /( '))k ( ) [( ' ) / ]2(1 ') ( , )round k k APP A B
( )A k
1/ '| ( ) | ( /( ' ) log[ /( ' )])k A k SmHi O
General Instances(3)
• After the replacement, the profit is at least
.
• The algorithm is to guess a subset with high profit items for the bins in . (By enumeration)
• The number of choices for the set is at most
, the number of place is again at most . In total they have to consider at most choices and replacements.
( , ') 2(1 ') ' ( , )OPT A B OPT A B ( )guess kA SmHi A k
2B
guessA2 5(( / ) log( / )) (log(1/ ) / )2 2O O
5( / log( )) (log(1/ ) / )2 2O O 5(log(1/ ) / )2O
Overall algorithm for general instances
• Compute using the greedy approximation algorithm.
• Modify the structure of the bins.• Compute the set and with high profit that
could be placed into • For each choice
– test whether it fits into the bins ; if not, discard the solution
– If yes, take a feasible placement of into and set up a LP to select the remaining items. (similar to the same capacity instances)
– Place the selected items into the bins
( , )APP A B
SmHi( )A k2B
guessA
2B
guessA 2B
Overall algorithm for general instances (2)
• Take a solution among all feasible choices with maximum total profit.
guessA
The times complexity of this approximation algorithm
5(log(1/ ) / )2 ( ) ( )O poly n O m
Thanks
Any questions, comments and concerns?