arxiv: v1 [math.oc] 3 Jan 2019

Similar documents
Theoretical Computer Science

This means that we can assume each list ) is

8 Knapsack Problem 8.1 (Knapsack)

a 1 a 2 a 3 a 4 v i c i c(a 1, a 3 ) = 3

ILP Formulations for the Lazy Bureaucrat Problem

Integer Optimization with Penalized Fractional Values: The Knapsack Case

The Knapsack Problem. 28. April /44

Knapsack. Bag/knapsack of integer capacity B n items item i has size s i and profit/weight w i

The Knapsack Problem. n items with weight w i N and profit p i N. Choose a subset x of items

Inverse Median Location Problems with Variable Coordinates. Fahimeh Baroughi Bonab, Rainer Ernst Burkard, and Behrooz Alizadeh

Recoverable Robust Knapsacks: Γ -Scenarios

The Maximum Flow Problem with Disjunctive Constraints

Improved dynamic programming and approximation results for the Knapsack Problem with Setups

A polynomial-time approximation scheme for the two-machine flow shop scheduling problem with an availability constraint

Introduction to Bin Packing Problems

Improved Fully Polynomial time Approximation Scheme for the 0-1 Multiple-choice Knapsack Problem

Approximation Algorithms for Knapsack. Problems with Cardinality Constraints. Alberto Caprara Hans Kellerer Ulrich Pferschy.

1 The Knapsack Problem

Lecture 4: An FPTAS for Knapsack, and K-Center

Scheduling Parallel Jobs with Linear Speedup

CS 6901 (Applied Algorithms) Lecture 3

On Two Class-Constrained Versions of the Multiple Knapsack Problem

Approximation Algorithms for Scheduling with Reservations

Week Cuts, Branch & Bound, and Lagrangean Relaxation

arxiv: v2 [cs.gt] 12 Nov 2018

CSE 421 Dynamic Programming

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

3.7 Cutting plane methods

The Multidimensional Knapsack Problem: Structure and Algorithms

CS264: Beyond Worst-Case Analysis Lecture #15: Smoothed Complexity and Pseudopolynomial-Time Algorithms

1 Column Generation and the Cutting Stock Problem

Lecture 6,7 (Sept 27 and 29, 2011 ): Bin Packing, MAX-SAT

Algorithms. Outline! Approximation Algorithms. The class APX. The intelligence behind the hardware. ! Based on

A Deterministic Fully Polynomial Time Approximation Scheme For Counting Integer Knapsack Solutions Made Easy

6. DYNAMIC PROGRAMMING I

CS264: Beyond Worst-Case Analysis Lecture #18: Smoothed Complexity and Pseudopolynomial-Time Algorithms

Lecture 11 October 7, 2013

Carathéodory Bounds for Integer Cones

Relations between capacity utilization and minimal bin number

Recoverable Robustness in Scheduling Problems

The Core Concept for the Multidimensional Knapsack Problem

Dual fitting approximation for Set Cover, and Primal Dual approximation for Set Cover

Where are the hard knapsack problems?

CS 6783 (Applied Algorithms) Lecture 3

A Note on the Budgeted Maximization of Submodular Functions

A PTAS for the Uncertain Capacity Knapsack Problem

Graph. Supply Vertices and Demand Vertices. Supply Vertices. Demand Vertices

Exercises NP-completeness

Chapter 3: Discrete Optimization Integer Programming

Revisiting the Greedy Approach to Submodular Set Function Maximization

Facets for Node-Capacitated Multicut Polytopes from Path-Block Cycles with Two Common Nodes

1 Overview. 2 Multilinear Extension. AM 221: Advanced Optimization Spring 2016

3.10 Lagrangian relaxation

Machine scheduling with resource dependent processing times

Lecture #21. c T x Ax b. maximize subject to

COSC 341: Lecture 25 Coping with NP-hardness (2)

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Greedy Algorithms My T. UF

A Polynomial Time Approximation Scheme for the Multiple Knapsack Problem

CS264: Beyond Worst-Case Analysis Lecture #11: LP Decoding

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Online Interval Coloring and Variants

Santa Claus Schedules Jobs on Unrelated Machines

Approximation Algorithms

Homework #2 Solutions Due: September 5, for all n N n 3 = n2 (n + 1) 2 4

A strongly polynomial algorithm for linear systems having a binary solution

1 Introduction to information theory

On the Existence of Ideal Solutions in Multi-objective 0-1 Integer Programs

(a) Write a greedy O(n log n) algorithm that, on input S, returns a covering subset C of minimum size.

Limitations of Algorithm Power

arxiv: v1 [cs.ds] 30 Jun 2016

A Dynamic Programming Heuristic for the Quadratic Knapsack Problem

On the knapsack closure of 0-1 Integer Linear Programs. Matteo Fischetti University of Padova, Italy

Greedy vs Dynamic Programming Approach

A Robust APTAS for the Classical Bin Packing Problem

0-1 Knapsack Problem in parallel Progetto del corso di Calcolo Parallelo AA

The decomposability of simple orthogonal arrays on 3 symbols having t + 1 rows and strength t

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

A Heuristic Algorithm for General Multiple Nonlinear Knapsack Problem

A robust approach to the chance-constrained knapsack problem

Efficient approximation algorithms for the Subset-Sums Equality problem

Combinatorial optimization problems

3.4 Relaxations and bounds

Quadratic Multiple Knapsack Problem with Setups and a Solution Approach

Mixed-Integer Nonlinear Programming

CSE 421 Weighted Interval Scheduling, Knapsack, RNA Secondary Structure

Maximizing Submodular Set Functions Subject to Multiple Linear Constraints

Knapsack and Scheduling Problems. The Greedy Method

the results from this paper are used in a decomposition scheme for the stochastic service provision problem. Keywords: distributed processing, telecom

A robust APTAS for the classical bin packing problem

MATH 409 LECTURES THE KNAPSACK PROBLEM

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs

KNAPSACK PROBLEMS WITH SETUPS

Committee Selection with a Weight Constraint Based on Lexicographic Rankings of Individuals

3.10 Column generation method

Approximation Algorithms for Maximum. Coverage and Max Cut with Given Sizes of. Parts? A. A. Ageev and M. I. Sviridenko

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Dynamic Programming: Interval Scheduling and Knapsack

An Exact Polynomial Algorithm for the 0/1 Knapsack Problem

arxiv: v1 [cs.ds] 15 Jan 2018

Transcription:

The Product Knapsack Problem: Approximation and Complexity arxiv:1901.00695v1 [math.oc] 3 Jan 2019 Ulrich Pferschy a, Joachim Schauer a, Clemens Thielen b a Department of Statistics and Operations Research, University of Graz, Universitaetsstrasse 15, A-8010 Graz, Austria b Department of Mathematics, University of Kaiserslautern, Paul-Ehrlich-Str. 14, D-67663 Kaiserslautern, Germany Abstract We consider the product knapsack problem, which is the variant of the classical 0-1 knapsack problem where the objective consists of maximizing the product of the profits of the selected items. These profits are allowed to be positive or negative. We show that this recently introduced variant of the knapsack problem is weakly NP-hard and present a fully polynomial-time approximation scheme (FPTAS) for the problem. Moreover, we analyze the approximation quality achieved by a natural extension of the classical greedy procedure to the product knapsack problem. Keywords: Knapsack, Approximation Scheme, Complexity 1. Introduction The 0-1 knapsack problem (KP) is a well-studied combinatorial optimization problem that has been treated extensively in the literature, with two monographs [1, 2] devoted to KP and its relatives. Given a positive knapsack capacity C and n items j = 1,...,n with positive weights w j and profits p j, the task in the classical 0-1 knapsack problem is to select a subset of items with maximum total profit subject to the constraint that the total weight of the selected items may not exceed the knapsack capacity. The 0-1 knapsack problem is NP-hard, but it admits a fully polynomial time approximation scheme (FPTAS) and can be solved exactly in pseudo-polynomial time by dynamic programming (cf. [2]).

The product knapsack problem (PKP) is a new addition to the knapsack family. It has recently been introduced in [3] and is formally defined as follows: Definition 1 (Product Knapsack Problem (PKP)). INSTANCE: Items j N := {1,...,n} with weights w j Z and profits p j Z, and a positive knapsack capacity C N +. TASK: Find a subset S N with j S w j C such that j S p j is maximized. The solution S = is always feasible and is assumed to yield an objective value of zero. D Ambrosio et al. [3] list several application scenarios for PKP, in particular in the area of computational social choice, and also provide pointers to literature on other nonlinear knapsack problems. Furthermore, two different ILP formulations for PKP are presented and compared from both a theoretical and a computational perspective. In addition, D Ambrosio et al. [3] develop an algorithm performing dynamic programming by weights with pseudopolynomial running time O(nC). A computational study exhibits the strengths and weaknesses of the dynamic program and the ILP approaches for determining exact solutions of PKP depending on the characteristics of the test instances. However, no approximation results for PKP are known so far. 1.1. Our Contribution Inthispaper, wesettle thecomplexity statusofpkpby providing aproof of weak NP-hardness in Section 3, as well as an FPTAS based on dynamic programming by profits in Section 4. The construction of an FPTAS deserves attention since standard greedy-type algorithms fail to give a constant approximation ratio for PKP. We demonstrate this in Section 5, where a tight analysis of a natural greedy procedure is performed. 2. Preliminaries In contrast to KP, both the item weights w j and the item profits p j are allowed to be negative in PKP. However, one can exclude certain weightprofit combinations that yield useless items, which leads to the following assumption used throughout the paper: 2

Assumption 1. Any instance of PKP satisfies: (a) Any single item fits into the knapsack, i.e., w j C for all j N. (b) All profits are nonzero, i.e., p j Z\{0} for all j N. (c) For each item j N with negative profit p j < 0, there exists another item j N \{j} with negative profit p j < 0 such that w j +w j C. (d) All weights are nonnegative, i.e., w j N 0 for all j N. (e) All items with weight zero have negative profit, i.e., p j < 0 whenever w j = 0. We note that Assumption 1 imposes no loss of generality and can easily be checked in polynomial time. Indeed, items j N violating (a), (b), or (c) can never be part of any feasible solution with positive objective value and may, thus, be removed from the instance. The nonnegativity of the weights w j demanded in (d) has been shown to impose no loss of generality in [3]. For (e), we note that items j with w j = 0 can always be assumed to be packed if their profit is positive (but items j with w j = 0 and negative profit remain part of the optimization). Using Assumption 1 (b), the item set N can be partitioned into N + := {j N p j 1} and N := {j N p j 1}. For convenience, we define p max := max j N p j, p + max := max j N +p j, and p max := max j N p j. To introduce the relevant terminology concerning approximation algorithms, we denote the optimal objective value of a given instance of PKP byz. Notethatwe must always havez 1since packing anyitemfromn + or any feasible pair of items from N yields an objective value of at least 1. Definition 2. For 0 < α 1, an algorithm A that computes a feasible solutionsets N with j S p j α z inpolynomialtimeforeveryinstance of PKP is called an α-approximation algorithm for PKP. The value α is then called the approximation ratio of A. A polynomial-time approximation scheme (PTAS) for PKP is a family of algorithms (A ε ) ε>0 such that, for each ε > 0, the algorithm A ε is a (1 ε)- approximation algorithm for PKP. A PTAS (A ε ) ε>0 for PKP is called a fully polynomial-time approximation scheme (FPTAS) if the running time of A ε is additionally polynomial in 1 ε. Throughout the paper, log(x) always refers to the base 2 logarithm of x and ln(x) refers to the natural logarithm of x. 3

3. Complexity In this section, we show that PKP is weakly NP-hard. In fact, [3] already stated a short proof of weak NP-hardness as a side remark (Proposition 6). Their proof, however, uses a reduction from KP and requires an exponential blow-up of the profits of the given instance of KP (by putting them into the exponent of 2). Since KP is only weakly NP-hard, this is problematic and does not prove the desired hardness result. In our proof, we use a reduction from the Product Partition Problem (PPP), which was shown to be strongly NP-hard in [4] and can be stated as follows: Definition 3 (Product Partition Problem (PPP)). INSTANCE: Positive integers a 1,...,a n N +. QUESTION: Is there a subset S N = {1,...,n} such that j S a j = j N\S a j? Within the proof, we use the following result: Lemma 1. For all x 1, we have log(x+1) log(x) 1 x+1. Proof. Considering the first derivative (log(x)) = 1 of the logarithm, we obtain xln2 and the concavity log(x) log(x+1) 1 ln2(x+1) log(x+1) 1 x+1. We are now ready to show our hardness result for PKP: Theorem 2. PKP is weakly NP-hard - even when all profits are positive. Proof. Given an instance a 1,...,a n of PPP, we define M := (n+2) a j +1. 4

n Note that, since a j = j S a j N + must hold for any solution S of n the PPP instance, we can assume without loss of generality that a j N, which also implies that M is an integer. 1 Moreover, since we can put an index j with a j = 1 on either side of a partition (S,N \S) without changing the feasibility of S for the PPP instance, we can also assume that a j 2 for all j N. We now construct an instance of PKP with positive profits as follows: There is one item for each index in N = {1,...,n}. Item j N has profit p j := a j and weight w j := M log(a j ). The knapsack capacity is set to C := M C, where C := 1 2 n log(a j). Regarding the polynomial-time computability of the constructed PKP instance, we observe that the profits in the PKP instance clearly have polynomialencoding lengthinthesizeofthepppinstance. Theencodinglengthsof theweightsw j andtheknapsackcapacityc aremainlydeterminedbytheencoding length of M. Encoding M in binary requires Θ(log(n)+ n log(a j)) bits. Thus, the binary encoded version of the constructed PKP instance has size polynomial in the size of the (binary or unary encoded) instance of PPP and can be constructed in polynomial time. 2 We now show that the n constructed instance of PKP has a solution with objective value at least a j if and only if the given instance of PPP is a yes-instance. First assume that the given instance of PPP is a yes-instance, i.e., there existss N suchthat j S a j = j N\S a j. Then, asseenabove, j S p j = j S a n j = a j, so packing exactly the items in S into the knapsack yields the desired profit. Moreover, this is a feasible solution for the PKP instance since raising both sides in j S a n j = a j to the M-th power n 1 The condition a j N canbe easilycheckedinpolynomialtime byusingbinary search for the square root within the interval [1, n a j]. n 2 In contrast, encoding M in unary requires Θ(n a j) bits, so the unary encoded version of the PKP instance has size exponential in the size of both the binary and the unary encoded instance of PPP. Consequently, the reduction will indeed only show weak NP-hardness, even though PPP is strongly NP-hard. 5

and taking the logarithm yields that ( ) M log a j = log j S M log(a j ) = M n 2 log(a j ) j S M log(a j ) = M C j S log(a j ) M C j S M = C. a j M Conversely, assume that the constructed instance of PKP has a solution S n n with objective value at least a j, i.e., j S p j = j S a j a j. Weclaimthatwemustthenactuallyhaveequality, i.e., j S a n j = a j, which directly implies that j S a j = j N\S a j, so S N is a solution of the PPP instance. Assume for the sake of a contradiction that j S a n j > a j. Since both sides of the inequality are integers, this then implies that j S a j n a j + 1, and raising both sides to the M-th power and taking the logarithm yields that M log(a j ) M log a j +1. (1) j S In order to lower bound the right hand side of (1), we use that, by Lemma 1, log a j +1 log a j 1 n, a j +1 which implies that M = (n+2) a j +1 n+2 n log( a j +1) log( n. a j) 6

Reordering terms, this yields M log a j +1 M log j S Combining (1) and (2) now shows that M log(a j ) M log j S M log(a j ) M 2 a j a j +(n+2). (2) +(n+2) n log(a j )+(n+2) j S M log(a j ) n M C +2 Since rounding down each of the at most n summands on the left decreases the sum by at most n and rounding up M C on the right hand side increases the right hand side by at most one, this implies that M log(a j ) M C +1 = C +1, j S which contradicts the feasibility of the set S for the PKP instance and completes the proof. 4. A Fully Polynomial-Time Approximation Scheme In this section, we derive a fully polynomial-time approximation scheme (FPTAS) for PKP. The usual approach for knapsack-type problems is based on a pseudopolynomial-time algorithm performing dynamic programming by profits. Then, the profit space is scaled such that the running time of the dynamic program becomes polynomial and the incurred loss of accuracy remains bounded. D Ambrosio et al. [3] provide an algorithm for dynamic programming by weights, where each entry of the dynamic programming array contains the objective value of a subproblem. However, exchanging the roles of profits and weights (as it is done, e.g., for KP, see [2, Sec. 2.3]), would require a dynamic 7

programming array of length O(p n max ), which is exponential and does not permit a suitable scaling procedure. An obvious way out of this dilemma would be the application of the logarithmtotheprofits. Infact, suchanapproachissuggestedasasideremarkin [3, Sec. 3] for dynamic programming by weights (without commenting on the details of the rounding process). For dynamic programming by profits, however, the profit values must be mapped to integers as indices of the dynamic programming array and there seems to be no way to preserve optimality in such a process. It should also be noted that applying any k-approximation algorithm for KP to the instance resulting from logarithmization would only yield a (1/z ) 1/k -approximation for PKP. Thus, constant-factor approximations for PKP require different approaches. We now construct a scaled profit space that actually yields a (1 ε) approximation for PKP. Our scaling construction is based on a parameter K > 0 depending on ε, which will be defined later. For every item j, we define an integer scaled profit value in the logarithmized space as log( pj ) p j :=. (3) K Since p j 1, we have p j 0, and we obtain p j = 0 if and only if p j = 1. Note that an item j with p j = 1 and p j = 0 might still be useful for changing the sign of the solution of PKP. Analogous to p max, we define p max := log(pmax). Ruling out trivial instances, we can assume without loss K of generality that p max 2, so log(p max ) 1. We define the following dynamic programming arrays for profit values p = 0,1,...,n p max : { } ( p) := min p i = p, S N is even, W + j W j ( p) := min S {1,...,j} S {1,...,j} w i i S i S { } p i = p, S N is odd. i S w i i S Note that the empty set has even cardinality. For convenience, we set the minimum over the empty set equal to +. 8

The computation of these arrays can be done by the following recursion, which is related to Algorithm DP PKP in [3, Fig. 1]: If p j 1, then: If p j 1, then: W j + ( p) := min{w+ j 1 ( p), W+ j 1 ( p p j)+w j } W j ( p) := min{w j 1 ( p), W j 1 ( p p j)+w j } W + j ( p) := min{w+ j 1 ( p), W j 1 ( p p j)+w j } Wj ( p) := min{w j 1 ( p), W+ j 1 ( p p j)+w j } The obvious initialization is given by W + 0 (0) := 0and setting all other entries (including the hypothetical ones with p < 0) to +. The approximate solution set S A is represented by the array entry with max{ p W + n ( p) C}. It follows by construction that SA maximizes the total profit in the associated instance of KP with scaled profits p j among all subsets of N that fulfill the weight restriction and contain an even number of items from N. In the following, we show that, by choosing ε := log(1 ε) n log(p max ) and K := log(1 ε) n 2, (4) the set S A yields a (1 ε)-approximation for PKP and can be computed in polynomial time via the above dynamic programming procedure. To this end, we use the following two lemmas: Lemma 3. For ε (0,1), we have (a) ε > 0 and K > 0, (b) ε log(1 ε). Proof. Statement (a) follows immediately from (4). For (b), we use that, for x < 1, we have log(1 x) = ln(1 x)/ln2 ln(1 x) = k=1 x k k x. 9

Lemma 4. Any optimal solution set S for PKP satisfies j S log( p j ) log(p max ). Proof. Let j max N denote an item with p jmax = p max. If p jmax > 0, then the set {j max }, which is feasible for PKP by Assumption 1 (a), has objective value p max. If p jmax < 0, Assumption 1 (c) implies that there exists another item j j max with p j < 0 such that {j max,j } is feasible for PKP, and this set has objective value p j p jmax p max since p j 1 by Assumption 1 (b). Thus, in both cases, the optimality of S for PKP implies that p j p max j S ( ) log log(p max ) log j S p j ( j S p j ) log(p max ) j S log( p j ) log(p max ). Proposition 5. The running time for computing S A is in O( n4 ε log(p max)), which is polynomial in 1/ε and encoding length of the input of PKP. Proof. Clearly, for each of the n items, one has to pass through the whole length of the two dynamic programming arrays. Therefore, the total running time is in ( O(n 2 p max ) = O n 2log(p ) ( ) ( max) = O n 4 log(p max ) = O n 4log(p ) max), K log(1 ε) ε where the last inequality follows by (b) in Lemma 3. Proposition 6. The set S A yields a (1 ε) approximation for PKP. Proof. Let S denote an optimal solution set of PKP. The proof consists of two parts. First, we analyze the effect of scaling by K and rounding down in (3) by showing that S A yields an objective 10

value close to the value of S for the associated instance of KP with profits log( p j ). The argumentation closely follows the standard FPTAS for KP (see [2, Sec. 2.6]): log( pj ) log( p j ) K (5) K j S A j S A log( pj ) K (6) j S K ( log( pj ) K K j S ) 1 (7) j S log( p j ) n K (8) In (6), we exploited the optimality of S A for the KP instance with profits p j. Noting that, from (4), we have n K = log(1 ε) = ε log(p max ), n and using that j S log( p j ) log(p max ) by Lemma 4, the chain of inequalities in (5) (8) yields that log( p j ) log( p j ) ε log(p max ) (1 ε ) log( p j ). j S A j S j S In the second part of the proof, we simply raise two to the power of both sides of this inequality, which yields and is equivalent to 2 j S A log( p j ) 2 ( j S log( p j )) 1 ε, j S A p j ( j S p j ) 1 ε (9) = z (1/z ) ε (10) ( ) ε 1 z (11) (p max ) n = z 2 ε nlog(p max) (12) = z 2 log(1 ε) = (1 ε)z (13) 11

Here, (11) derives from a trivial upper bound z (p max ) n, and (13) from the definition of ε in (4). Recalling that S A contains an even number of items from N, the statement follows. Propositions 5 and 6 immediately yield the following theorem: Theorem 7. There exists an FPTAS with running time in O( n4 ε log(p max)) for PKP. 5. A Greedy-Type Algorithm For KP, the classical greedy procedure is probably one of the most obvious first attempts for anybody confronted with the problem. Hence, it is interesting to evaluate the performance of a variant of this greedy procedure also for PKP. It is known that, for obtaining a bounded approximation ratio for KP in the classical greedy procedure, one has to take into account also the item with largest profit as a singleton solution (cf. [2, Sec. 2.1]). Extending this requirement to the negative profits allowed in PKP, we additionally determine, among all items with negative profits, a feasible pair of items with largest profit product. Moreover, if the greedy solution contains an odd number of items from N, we simply remove the negative-profit item with smallest absolute profit value. This leads to the following natural greedy algorithm for PKP, which we refer to as Product Greedy: Algorithm 1 Algorithm Product Greedy 1: Sort and renumber the items in nonincreasing order of log( p j ) w j (items j with w j = 0 are put to the beginning of the ordering). 2: Perform the classical greedy procedure with this ordering yielding solution set S N. 3: if S N is odd then 4: j := argmin{ p j j S N } 5: S := S \{j } 6: end if 7: Let {j 1,j 2 } N be a pair of items with w j1 +w j2 C maximizing the profit product p j1 p j2 over all such pairs. 8: Let j max + := argmax{p j j N + } be an item with largest positive profit. 9: return The best among the three solutions S, {j 1,j 2 }, and {j + max}. 12

We let j max + := argmax{p j j N + } denote an item with largest positive profit (i.e., with p j + max = p + max ) as in Product Greedy. Similarly, we let jmax := argmax{ p j j N } denote an item with smallest negative profit. Then, by Assumption 1 (c), there exists another item in N that can be packed into the knapsack together with jmax. This implies that the profits of the items j and j 1,j 2 considered in Product Greedy satisfy p j1 p j2 p j max p j. (14) In the following analysis, we denote the objective value obtained by Product Greedy by z H. Theorem 8. (a) Algorithm Product Greedy is a 1/(z ) 2/3 -approximation algorithm for PKP. (b) Algorithm Product Greedy is a 1/(p max ) 2 -approximation algorithm for PKP. Proof. The algorithm clearly runs in polynomial time. In order to analyze its approximation ratio, let s N be the split item, i.e., the first item in the given order that cannot be packed into the knapsack anymore during the greedy procedure performed in step 2. Similar to the analysis of the greedy procedure for KP, the analysis concentrates on the split solution, i.e., the set of items S := {j S j s 1}. We distinguish two cases depending on the number of items with negative profits in S and, for each of the two cases, two subcases depending on the sign of the profit p s of the split item s: Case 1: S N is even. Consider the sign of the split item s profit. If p s > 0, then 2 log(z H ) 2 max log( p j ), log(p + max ) j S j S log( p j )+log(p + max ) s log( p j ). 13

Obviously, we also have log(z H )+log(p + max ) s log( p j ). Similarly, if p s < 0, then 2 log(z H ) 2 max log( p j ), log( p j1 )+log( p j2 ) j S j S j S log( p j )+log( p j1 )+log( p j2 ) log( p j )+log( p s ) = s log( p j ), where the third inequality follows from (14). Moreover, we have log(z H ) + log(p max ) s log( p j ). Case 2: S N is odd. In this case, Product Greedy removes item j from S in step 5. Possibly, it is removed from S. If p s > 0, we obtain 3 log(z H ) 3 max log( p j ), log( p j1 )+log( p j2 ), log(p + max) j S j S j S log( p j )+log( p j1 )+log( p j2 )+log(p + max) log( p j )+log( p j )+log(p s ) s log( p j ), invoking (14)again. Inthiscase,wealsohavelog(z H )+log(p max)+log(p + max) s log( p j ). 14

Similarly, if p s < 0, then 3 log(z H ) 3 max log( p j ), log( p j1 )+log( p j2 ) j S log( p j )+2(log( p j1 )+log( p j2 ))) j S log( p j )+log( p j )+log( p s ) j S s log( p j ). Moreover, we have log(z H )+2log(p max) s log( p j ). Summarizing all four cases, we always have 3 log(z H ) s log( p j ). Now let S be an optimal solution set of PKP. Then, since s log( p j ) is an upper bound on the optimal objective value of the LP relaxation of the associated instance of KP with profits log( p j ) (see, e.g., [2]), we have s log( p j ) j S log( p j ) = log( j S p j ) (clearly, S N must be even). This yields 3 log(z H ) log(z ) z H (z ) 1/3 and proves the approximation ratio in (a). Moreover, the additive error in the logarithmic space can in all four cases be bounded by max{log(p + max), log(p max)}+log(p max) 2 p max, which yields the approximation ratio in (b). The approximation ratios obtained by Product Greedy are rather disappointing. The following example, however, shows that the analysis in the proof of Theorem 8 is asymptotically tight and that a considerable deviation from the greedy principle would be necessary to improve upon the obtained approximation ratios: 15

item j 1 2 3 4 5 6 7 p j 2 M +2 (M +1) M M M 1 w j 1 M M M M M M Table 1: Profits p j and weights w j of the items in Example 1 with items indexed in nonincreasing order of log( pj ) w j. Example 1. Consider the instance of PKP given by the item profits and weights shown in Table 1 and a knapsack capacity of C := 3M for some large integer M > 0. Algorithm Product Greedy first finds S = {1,2,3} in step 2, but has to remove item 3 in step 5 since S N = 1, which yields S = {1,2} with an objective value of 2(M+2). The best negative pair found in step 7 is given by j 1 = 3 and j 2 = 7, and has profit product M +1. Finally, j + max = 2 with p j + max = p + max = M +2 in step 8. Therefore, Product Greedy returns the solution {1,2} with an objective value of z H = 2(M +2), while the optimal solution consists of items 4,5, and 6 with objective value z = M 3. References [1] S. Martello, P. Toth, Knapsack problems: algorithms and computer implementations, Wiley, 1990. [2] H. Kellerer, U. Pferschy, D. Pisinger, Knapsack Problems, Springer, 2004. [3] C. D Ambrosio, F. Furini, M. Monaci, E. Traversi, On the product knapsack problem, Optimization Letters 12 (4) (2018) 691 712. [4] C. T. Ng, M. S. Barketau, T. C. E. Cheng, M. Y. Kovalyov, Product Partition and related problems of scheduling and systems reliability: Computational complexity and approximation, European Journal of Operational Research 207 (2) (2010) 601 604. 16