Abstract
We consider the bilevel knapsack problem with interdiction constraints, an extension of the classic 0–1 knapsack problem formulated as a Stackelberg game with two agents, a leader and a follower, that choose items from a common set and hold their own private knapsacks. First, the leader selects some items to be interdicted for the follower while satisfying a capacity constraint. Then the follower packs a set of the remaining items according to his knapsack constraint in order to maximize the profits. The goal of the leader is to minimize the follower’s total profit. We derive effective lower bounds for the bilevel knapsack problem and present an exact method that exploits the structure of the induced follower’s problem. The approach strongly outperforms the current state-of-the-art algorithms designed for the problem. We extend the same algorithmic framework to the interval min–max regret knapsack problem after providing a novel bilevel programming reformulation. Also for this problem, the proposed approach outperforms the exact algorithms available in the literature.
Similar content being viewed by others
References
Aissi, H., Bazgan, C., Vanderpooten, D.: Minmax and minmax regret versions of combinatorial optimization problems: a survey. Eur. J. Oper. Res. 197, 427–438 (2009)
Brotcorne, L., Hanafi, S., Mansi, R.: One-level reformulation of the bilevel knapsack problem using dynamic programming. Discrete Optim. 10, 1–10 (2013)
Caprara, A., Carvalho, M., Lodi, A., Woeginger, G.: A Complexity and approximability study of the bilevel knapsack problem. In: Proceedings of IPCO 2013. LNCS, vol. 7801, pp. 98–109 (2013)
Caprara, A., Carvalho, M., Lodi, A., Woeginger, G.: Bilevel knapsack with interdiction constraints. INFORMS J. Comput. 28, 319–333 (2016)
Caramia, M., Mari, R.: Enhanced exact algorithms for discrete bilevel linear problems. Optim. Lett. 9, 1447–1468 (2015)
Carvalho, M., Lodi, A., Marcotte, P.: A polynomial algorithm for a continuous bilevel knapsack problem. Oper. Res. Lett. 46, 185–188 (2018)
Chen, L., Zhang, G.: Approximation algorithms for a bi-level knapsack problem. Theor. Comput. Sci. 497, 1–12 (2013)
D’Ambrosio, C., Furini, F., Monaci, M., Traversi, E.: On the product knapsack problem. Optim. Lett. 12(4), 691–712 (2018)
Deineko, V.G., Woeginger, G.: Pinpointing the complexity of the interval min–max regret knapsack problem. Discrete Optim. 7, 191–196 (2010)
Della Croce, F., Pferschy, U., Scatamacchia, R.: New exact approaches and approximation results for the penalized knapsack problem. Discrete Appl. Math. 253, 122–135 (2019)
Della Croce, F., Salassa, F., Scatamacchia, R.: An exact approach for the 0–1 knapsack problem with setups. Comput. Oper. Res. 80, 61–67 (2019)
Della Croce, F., Salassa, F., Scatamacchia, R.: A new exact approach for the 0–1 collapsing knapsack problem. Eur. J. Oper. Res. 260, 56–69 (2017)
Della Croce, F., Scatamacchia, R.: Lower bounds and a new exact approach for the bilevel knapsack with interdiction constraints. In: Lodi, A., Nagarajan, V. (eds.) Integer Programming and Combinatorial Optimization, vol. 11480, pp. 155–167. Springer, Berlin (2019)
DeNegre, S.: Interdiction and discrete bilevel linear programming. PhD thesis, Lehigh University (2011)
DeNegre, S., Ralphs, T.K.: A branch-and-cut algorithm for integer bilevel linear programs. In: Operations Research and Cyber-Infrastructure, Volume 47 of Operations Research/Computer Science Interfaces, pp. 65–78 (2009)
Fischetti, M., Ljubić, I., Monaci, M., Sinnl, M.: A new general-purpose algorithm for mixed-integer bilevel linear programs. Oper. Res. 65, 1615–1637 (2017)
Fischetti, M., Ljubić, I., Monaci, M., Sinnl, M.: Interdiction games and monotonicity, with application to knapsack problems. INFORMS J. Comput. 31(2), 390–410 (2019)
Fischetti, M., Ljubić, I., Monaci, M., Sinnl, M.: On the use of intersection cuts for bilevel optimization. Math. Program. 172, 77–103 (2018)
Fischetti, M., Monaci, M., Sinnl, M.: A dynamic reformulation heuristic for generalized interdiction problems. Eur. J. Oper. Res. 267, 40–51 (2018)
Furini, F., Iori, M., Martello, S., Yagiura, M.: Heuristic and exact algorithms for the interval min–max regret knapsack problem. INFORMS J. Comput. 27, 392–405 (2015)
Furini, F., Monaci, M., Traversi, E.: Exact approaches for the knapsack problem with setups. Comput. Oper. Res. 90, 208–220 (2018)
Jeroslow, R.: The polynomial hierarchy and a simple model for competitive analysis. Math. Program. 32, 146–164 (1985)
Kellerer, H., Pferschy, U., Pisinger, D.: Knapsack Problems. Springer, New York (2004)
Kouvelis, P., Yu, G.: Robust Discrete Optimization and its Applications. Kluwer Academic Publishers, Boston (1997)
Martello, S., Pisinger, D., Toth, P.: Dynamic programming and strong bounds for the 0–1 knapsack problem. Manag. Sci. 45, 414–424 (1999)
Martello, S., Toth, P.: Knapsack Problems: Algorithms and Computer Implementations. Wiley, New York (1990)
Moore, J.T., Bard, J.F.: The mixed integer linear bilevel programming problem. Oper. Res. 38, 911–921 (1990)
Pferschy, U., Nicosia, G., Pacifici, A.: A Stackelberg knapsack game with weight control. Theor. Comput. Sci. 799, 149–159 (2019)
Pferschy, U., Scatamacchia, R.: Improved dynamic programming and approximation results for the knapsack problem with setups. Int. Trans. Oper. Res. 25, 667–682 (2018)
Pisinger, D.: A fast algorithm for strongly correlated knapsack problems. Discrete Appl. Math. 89, 197–212 (1998)
Pisinger, D.: A minimal algorithm for the 0–1 knapsack problem. Oper. Res. 45, 758–767 (1997)
Pisinger, D.: Linear time algorithms for knapsack problems with bounded weights. J. Algorithms 33, 1–14 (1999)
Qiu, X., Kern, W.: Improved approximation algorithms for a bilevel knapsack problem. Theor. Comput. Sci. 595, 120–129 (2015)
Stackelberg, H.V.: The Theory of the Market Economy. Oxford University Press, Oxford (1952)
Tang, Y., Richard, J.P.P., Smith, J.C.: A class of algorithms for mixed-integer bilevel min–max optimization. J. Global Optim. 66(2), 225–262 (2016)
Wang, L., Xu, P.: The watermelon algorithm for the bilevel integer linear programming problem. SIAM J. Optim. 27(3), 1403–1430 (2017)
Xu, P., Wang, L.: An exact algorithm for the bilevel mixed integer linear programming problem under three simplifying assumptions. Comput. Oper. Res. 41, 309–318 (2014)
Acknowledgements
The very pertinent and useful comments of two anonymous referees are gratefully acknowledged. The authors wish to thank M. Carvalho for providing the benchmark instances of [4]. This work has been partially supported by “Ministero dell’Istruzione, dell’Università e della Ricerca” Award “TESUN-83486178370409 finanziamento dipartimenti di eccellenza CAP. 1694 TIT. 232 ART. 6”.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix
Appendix
1.1 Additional notation for MRKP
For further analysis, we define the set of items \(l_i\) by L and the set of items \(h_i\) by H. We consider the 2n items in the follower’s knapsack ordered by nonincreasing ratio profit over weight. For each item \(j = 1, \dots , 2n\) in the ordering we denote by i(j) the corresponding index i. Similarly as in Sect. 2, we denote by KP(x) the follower’s knapsack problem induced by a leader’s solution x, here with item set
and denote by \(KP^{LP}(x)\) the corresponding LP relaxation. We again denote as critical the last item with a strictly positive value in the optimal solution of \(KP^{LP}(x)\). Notice that for each \(x_i\) one item between \(l_i\) and \(h_i\) will be always available for insertion in the follower’s knapsack. Hence, under the standard assumption that \(\sum \nolimits _{i = 1}^{n} w_i > C\) in the MRKP, we also have \(\sum \nolimits _{j = 1}^{2n} w_{i(j)} > C\). This implies that there alway exists a critical item c in \(KP^{LP}(x)\) and a split solution with value
1.2 Computing a lower bound for MRKP
As for BKP, we aim to guess the critical item of \(KP^{LP}(x^*)\). To this purpose we modify model \(CRIT_2(c)\) as follows. We replace term \(\sum \nolimits _{h=1}^{w_c} hk_h\) with an integer variable \(\theta \) associated with the weight contribution of the critical item c in the follower’s capacity constraint, with \(1 \le \theta \le w_{i(c)}\). The objective function has term \(\sum \nolimits _{i=1}^{n} p_{i}^{-}x_i\) as negative contribution plus the split solution value (49) and the additional profit contribution that can be gained by a feasible solution derived by the split solution. Such a profit is captured by variable \(\pi \) through a set of constraints \({\mathcal {F}}(\pi ,x,\theta , v, \tau )\) involving additional binary variables \(v_p\)\((p = 1, \dots , \frac{|{\mathcal {F}}(\pi ,x,\theta , v,\tau )|}{2})\). We explain the construction of set \({\mathcal {F}}(\pi ,x,\theta , v,\tau )\) next. We obtain the following model, denoted as \(CRIT_3(c)\).
\(\quad CRIT_3(c)\):
The objective function (50) minimizes the difference between the value of a follower’s knapsack solution and sum \(\sum \nolimits _{i=1}^{n} p_{i}^{-}x_i\). Constraint (51) represents the leader’s capacity constraint. Constraints (52) and (53) guarantee that item c is critical as it is the last item packed, with a weight in the interval \([1, w_{i(c)}]\). Constraint (55) enforces the availability of item c in the follower’s knapsack: if \(c\in L\) we must have \(x_{i(c)} = 1\) or else \(x_{i(c)} = 0\). Constraints (56)–(59) define the domain of the variables.
We build a proper set \({\mathcal {F}}(\pi ,x,\theta ,v,\tau )\), namely a set of constraints that considers only feasible solutions in the follower’s knapsack, as follows. For a given subset \(\tau \) of items around the critical item c, the corresponding profit \(p^{\tau }\) and weight \(w^{\tau }\) now are:
We consider in set \({\mathcal {F}}(\pi ,x,\theta ,v,\tau )\) only subsets of items improving upon the split solution, i.e. with \(p^\tau > 0\), that could be feasible, i.e. with \(w^{\tau } \le w_{i(c)}\). Also we do not consider subsets with two items j and \(j^{\prime }\) corresponding to the same \(x_i\), namely with \(i(j) = i(j')\), as these items cannot be both available for packing. For the \(p-th\) subset \(\tau \) considered for selection in \({\mathcal {F}}(\pi ,x,\theta ,v,\tau )\), we will have binary variable \(v_p\) equal to one only if the follower’s capacity constraint is not violated, i.e. \(w^{\tau } \le \theta \). This condition will be enforced by adding to \({\mathcal {F}}(\pi ,x,\theta ,v,\tau )\) the constraint \((w_{i(c)} - w^{\tau }) v_p \ge \theta - w^{\tau },\) that we translate as follows to be added as a linear constraint
where constant term \(\frac{1}{2}\) is introduced to have \(v_p = 1\) when \(w^{\tau } = \theta \). Then an improvement \(\pi \) can be determined by adding to \({\mathcal {F}}(\pi ,x,\theta ,v,\tau )\) the following constraint
Notice that constraints (62) and (63) ensure that only items available for insertion in the follower’s knapsack are considered and the follower’s capacity constraint is not violated, validating tuple \(\tau \). The following proposition holds.
Proposition 3
If \(KP^{LP}(x^*)\) has critical item c and model \(CRIT_3(c)\) has a proper set \({\mathcal {F}}(\pi ,x,\theta ,v,\tau )\), then \(z(CRIT_3(c)) \le z^*\).
Proof
We apply the same argument of Propositions 1 and 2 and observe that model \(CRIT_3(c)\) considers feasible solutions for \(KP(x^*)\). Let \(z_1\) denote the solution value of the best of these KP solutions. We have
where the first inequality is implied by noticing that \(x^*\) is feasible but not necessarily optimal for model \(CRIT_3(c)\). \(\square \)
We finally notice that the introduction of variable \(\theta \) is motivated by the presence of large follower’s weights (with values up to 10,000) in the benchmark MRKP literature instances we considered in our computational tests. As remarked in Sect. 3, large weights compromise the use of variables \(k_h\) and the solution of the corresponding ILP models.
1.3 A new exact approach for MRKP
We employ the same algorithmic framework of BKP with the following few modifications. We construct set \({\mathcal {F}}(\pi ,x,\theta ,v,\tau )\) in model \(CRIT_3(c)\) by a procedure denoted as MRKPTuples. The procedure is very similar to DefineTuples, so we do not report the corresponding pseudo code. The only differences are the presence of 2n items in the follower’s knapsack and the insertion of \(\mu \) pairs of constraints (62)–(63) to set \({\mathcal {F}}(\pi ,x,\theta ,v,\tau )\) and constraints related to the adding of the critical item (Lines 6–7 in the pseudo code of DefineTuples).
Similarly to (28), we then define the first possible critical item q as
We also test variables \(x_i\) and \(v_p\) for fixing by reduced costs and consider the following constraint instead of constraint (35) during the exploration of a subproblem \(CRIT_3(c)\)
Finally notice that for MRKP we do not have to handle the absence of the critical item in the follower’s knapsack problem (see Sect. 8.1). Below is reported the pseudo code of the derived approach.

Rights and permissions
About this article
Cite this article
Della Croce, F., Scatamacchia, R. An exact approach for the bilevel knapsack problem with interdiction constraints and extensions. Math. Program. 183, 249–281 (2020). https://doi.org/10.1007/s10107-020-01482-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-020-01482-5
Keywords
- Bilevel programming
- Exact approach
- Bilevel knapsack with interdiction constraints
- Min–max regret knapsack problem