A projection-based reformulation and decomposition algorithm for global optimization of a class of mixed integer bilevel linear programs

Abstract

We propose an extended variant of the reformulation and decomposition algorithm for solving a special class of mixed-integer bilevel linear programs (MIBLPs) where continuous and integer variables are involved in both upper- and lower-level problems. In particular, we consider MIBLPs with upper-level constraints that involve lower-level variables. We assume that the inducible region is nonempty and all variables are bounded. By using the reformulation and decomposition scheme, an MIBLP is first converted into its equivalent single-level formulation, then computed by a column-and-constraint generation based decomposition algorithm. The solution procedure is enhanced by a projection strategy that does not require the relatively complete response property. To ensure its performance, we prove that our new method converges to the global optimal solution in a finite number of iterations. A large-scale computational study on random instances and instances of hierarchical supply chain planning are presented to demonstrate the effectiveness of the algorithm.

This is a preview of subscription content, log in to check access.

Notes

  1. 1.

    An indicator constraint is a way of expressing relationships among variables by specifying a binary variable to control whether or not a constraint takes effect.

  2. 2.

    epint: integrality tolerance (a CPLEX option), which specifies the amount by which an integer variable can be different than an integer and still be considered feasible.

  3. 3.

    eprhs: feasibility tolerance (a CPLEX option), which specifies the degree to which a problem's basic variables may violate their bounds. This tolerance influences the selection of an optimal basis and can be reset to a higher value when a problem is having difficulty maintaining feasibility during optimization.

References

  1. 1.

    Bard, J.F.: Practical Bilevel Optimization: Algorithm and Applications. Kluwer Academic Publishers, Dordrecht (1998)

    Google Scholar 

  2. 2.

    Talbi, E.-G.: A taxonomy of metaheuristics for bi-level optimization. In: Talbi, E.-G. (ed.) Metaheuristics for Bi-level Optimization, pp. 1–39. Springer, Berlin (2013)

    Google Scholar 

  3. 3.

    Wiesemann, W., Tsoukalas, A., Kleniati, P.-M., Rustem, B.: Pessimistic bilevel optimization. SIAM J. Optim. 23(1), 353–380 (2013)

    MathSciNet  MATH  Article  Google Scholar 

  4. 4.

    Audet, C., Hansen, P., Jaumard, B., Savard, G.: Links between linear bilevel and mixed 0–1 programming problems. J. Optim. Theory Appl. 93(2), 273–300 (1997)

    MathSciNet  MATH  Article  Google Scholar 

  5. 5.

    von Stackelberg, H.: Marktform und Gleichgewicht. Springer, Berlin (1934)

    Google Scholar 

  6. 6.

    Bracken, J., McGill, J.T.: Mathematical programs with optimization problems in the constraints. Oper. Res. 21(1), 37–44 (1973)

    MathSciNet  MATH  Article  Google Scholar 

  7. 7.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  8. 8.

    Moore, J.T., Bard, J.F.: The mixed integer linear bilevel programming problem. Oper. Res. 38(5), 911–921 (1990)

    MathSciNet  MATH  Article  Google Scholar 

  9. 9.

    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)

    MathSciNet  MATH  Article  Google Scholar 

  10. 10.

    Gümüş, Z.H., Floudas, C.A.: Global optimization of mixed-integer bilevel programming problems. CMS 2(3), 181–212 (2005)

    MathSciNet  MATH  Article  Google Scholar 

  11. 11.

    Domínguez, L.F., Pistikopoulos, E.N.: Multiparametric programming based algorithms for pure integer and mixed-integer bilevel programming problems. Comput. Chem. Eng. 34(12), 2097–2106 (2010)

    Article  Google Scholar 

  12. 12.

    Kleniati, P.-M., Adjiman, C.S.: A generalization of the branch-and-sandwich algorithm: from continuous to mixed-integer nonlinear bilevel problems. Comput. Chem. Eng. 72, 373–386 (2015)

    Article  Google Scholar 

  13. 13.

    Mitsos, A.: Global solution of nonlinear mixed-integer bilevel programs. J. Global Optim. 47(4), 557–582 (2010)

    MathSciNet  MATH  Article  Google Scholar 

  14. 14.

    Fliscounakis, S., Panciatici, P., Capitanescu, F., Wehenkel, L.: Contingency ranking with respect to overloads in very large power systems taking into account uncertainty, preventive, and corrective actions. IEEE Trans. Power Syst. 28(4), 4909–4917 (2013)

    Article  Google Scholar 

  15. 15.

    De Negre, S.T., Ralphs, T.K.: A Branch-and-cut algorithm for integer bilevel linear programs. In: Chinneck, J.W., Kristjansson, B., Saltzman, M.J. (eds.) Operations research and cyber-infrastructure, pp. 65–78. Springer, Boston (2009). https://doi.org/10.1007/978-0-387-88843-9_4

    Google Scholar 

  16. 16.

    Hemmati, M., Smith, J.C.: A mixed-integer bilevel programming approach for a competitive prioritized set covering problem. Discrete Optim. 20, 105–134 (2016)

    MathSciNet  MATH  Article  Google Scholar 

  17. 17.

    Wen, U.P., Yang, Y.H.: Algorithms for solving the mixed integer two-level linear programming problem. Comput. Oper. Res. 17(2), 133–142 (1990)

    MathSciNet  MATH  Article  Google Scholar 

  18. 18.

    Lozano, L., Smith, J.C.: A value-function-based exact approach for the bilevel mixed-integer programming problem. Oper. Res. (2017). https://doi.org/10.1287/opre.2017.1589

    MathSciNet  MATH  Article  Google Scholar 

  19. 19.

    Dempe, S.: Discrete Bilevel Optimization Problems. Citeseer (2001)

  20. 20.

    Köppe, M., Queyranne, M., Ryan, C.T.: Parametric integer programming algorithm for bilevel mixed integer programs. J. Optim. Theory Appl. 146(1), 137–150 (2010)

    MathSciNet  MATH  Article  Google Scholar 

  21. 21.

    Fischetti, M., Ljubić, I., Monaci, M., Sinnl, M.: Intersection cuts for bilevel optimization. In: Louveaux, Q., Skutella, M. (eds.) Integer Programming and Combinatorial Optimization: 18th International Conference, IPCO 2016, Liège, Belgium, June 1–3, 2016, Proceedings, pp. 77–88. Springer, Cham (2016)

    Google Scholar 

  22. 22.

    Fischetti, M., Ljubic, I., Monaci, M., Sinnl, M.: A New General-Purpose Algorithm for Mixed-Integer Bilevel Linear Programs. https://msinnl.github.io/pdfs/secondbilevel-techreport.pdf (2016)

  23. 23.

    Zeng, B., An, Y.: Solving Bilevel Mixed Integer Program by Reformulations and Decomposition. http://www.optimization-online.org/DB_HTML/2014/07/4455.html (2014)

  24. 24.

    Florensa, C., Garcia-Herreros, P., Misra, P., Arslan, E., Mehta, S., Grossmann, I.E.: Capacity planning with competitive decision-makers: trilevel MILP formulation, degeneracy, and solution approaches. Eur. J. Oper. Res. 262(2), 449–463 (2017)

    MathSciNet  MATH  Article  Google Scholar 

  25. 25.

    Mersha, A.G., Dempe, S.: Linear bilevel programming with upper level constraints depending on the lower level solution. Appl. Math. Comput. 180(1), 247–254 (2006)

    MathSciNet  MATH  Google Scholar 

  26. 26.

    Bard, J.F., Moore, J.T.: An algorithm for the discrete bilevel programming problem. NRL 39(3), 419–435 (1992)

    MathSciNet  MATH  Article  Google Scholar 

  27. 27.

    Saharidis, G.K., Ierapetritou, M.G.: Resolution method for mixed integer bi-level linear problems based on decomposition technique. J. Global Optim. 44(1), 29–51 (2009)

    MathSciNet  MATH  Article  Google Scholar 

  28. 28.

    Poirion, P.-L., Toubaline, S., Ambrosio, C.D., Liberti, L.: Bilevel mixed-integer linear programs and the zero forcing set. Optimization (2015) (online)

  29. 29.

    Edmunds, T., Bard, J.: An algorithm for the mixed-integer nonlinear bilevel programming problem. Ann. Oper. Res. 34(1), 149–162 (1992)

    MathSciNet  MATH  Article  Google Scholar 

  30. 30.

    Faísca, N., Dua, V., Rustem, B., Saraiva, P., Pistikopoulos, E.: Parametric global optimisation for bilevel programming. J. Global Optim. 38(4), 609–623 (2007)

    MathSciNet  MATH  Article  Google Scholar 

  31. 31.

    Mitsos, A., Lemonidis, P., Barton, P.I.: Global solution of bilevel programs with a nonconvex inner program. J. Global Optim. 42(4), 475–513 (2008)

    MathSciNet  MATH  Article  Google Scholar 

  32. 32.

    Kleniati, P.-M., Adjiman, C.: Branch-and-Sandwich: a deterministic global optimization algorithm for optimistic bilevel programming problems. Part I: theoretical development. J. Global Optim. 60(3), 425–458 (2014)

    MathSciNet  MATH  Article  Google Scholar 

  33. 33.

    Falk, J.E., Hoffman, K.: A nonconvex max–min problem. Nav. Res. Log. Q. 24(3), 441–450 (1977)

    MathSciNet  MATH  Article  Google Scholar 

  34. 34.

    Zuhe, S., Neumaier, A., Eiermann, M.C.: Solving minimax problems by interval methods. BIT Numer. Math. 30(4), 742–751 (1990)

    MathSciNet  MATH  Article  Google Scholar 

  35. 35.

    Bhattacharjee, B., Lemonidis, P., Green Jr., W.H., Barton, P.I.: Global solution of semi-infinite programs. Math. Program. 103(2), 283–307 (2005)

    MathSciNet  MATH  Article  Google Scholar 

  36. 36.

    Blankenship, J.W., Falk, J.E.: Infinitely constrained optimization problems. J. Optim. Theory Appl. 19(2), 261–281 (1976)

    MathSciNet  MATH  Article  Google Scholar 

  37. 37.

    Floudas, C.A., Stein, O.: The adaptive convexification algorithm: a feasible point method for semi-infinite programming. SIAM J. Optim. 18(4), 1187–1208 (2008)

    MathSciNet  MATH  Article  Google Scholar 

  38. 38.

    Mitsos, A., Tsoukalas, A.: Global optimization of generalized semi-infinite programs via restriction of the right hand side. J. Global Optim. 61(1), 1–17 (2015)

    MathSciNet  MATH  Article  Google Scholar 

  39. 39.

    Stein, O., Still, G.: On generalized semi-infinite optimization and bilevel optimization. Eur. J. Oper. Res. 142(3), 444–462 (2002)

    MathSciNet  MATH  Article  Google Scholar 

  40. 40.

    Jongen, H.T., Rückmann, J.J., Stein, O.: Generalized semi-infinite optimization: a first order optimality condition and examples. Math. Program. 83(1–3), 145–158 (1998)

    MathSciNet  MATH  Google Scholar 

  41. 41.

    Talbi, E.-G.: Metaheuristics for Bi-level Optimization. Springer, Berlin (2013)

    Google Scholar 

  42. 42.

    Smith, J.C., Lim, C., Alptekinoglu, A.: Optimal mixed-integer programming and heuristic methods for a bilevel Stackelberg product introduction game. NRL 56(8), 714–729 (2009)

    Article  Google Scholar 

  43. 43.

    Vicente, L., Savard, G., Judice, J.: Discrete linear bilevel programming problem. J. Optim. Theory Appl. 89(3), 597–614 (1996)

    MathSciNet  MATH  Article  Google Scholar 

  44. 44.

    Bank, B.: Non-linear Parametric Optimization. Akademie Verlag, Berlin (1982)

    Google Scholar 

  45. 45.

    Ishizuka, Y., Aiyoshi, E.: Double penalty method for bilevel optimization problems. Ann. Oper. Res. 34(1), 73–88 (1992)

    MathSciNet  MATH  Article  Google Scholar 

  46. 46.

    Chen, Y., Florian, M.: The nonlinear bilevel programming problem: formulations, regularity and optimality conditions. Optimization 32(3), 193–209 (1995)

    MathSciNet  MATH  Article  Google Scholar 

  47. 47.

    Dempe, S.: Foundations of Bilevel Programming. Springer, Berlin (2002)

    Google Scholar 

  48. 48.

    Vicente, L., Calamai, P.: Bilevel and multilevel programming: a bibliography review. J. Global Optim. 5(3), 291–306 (1994)

    MathSciNet  MATH  Article  Google Scholar 

  49. 49.

    Dewez, S., Labbé, M., Marcotte, P., Gilles, S.: New formulations and valid inequalities for a bilevel pricing problem. Oper. Res. Lett. 36(2), 141–149 (2008)

    MathSciNet  MATH  Article  Google Scholar 

  50. 50.

    Lodi, A., Ralphs, T., Woeginger, G.: Bilevel programming and the separation problem. Math. Program. 146(1–2), 437–458 (2014)

    MathSciNet  MATH  Article  Google Scholar 

  51. 51.

    Takeda, A., Taguchi, S., Tütüncü, R.H.: Adjustable robust optimization models for a nonlinear two-period system. J. Optim. Theory Appl. 136(2), 275–295 (2008)

    MathSciNet  MATH  Article  Google Scholar 

  52. 52.

    Zeng, B., Zhao, L.: Solving two-stage robust optimization problems using a column-and-constraint generation method. Oper. Res. Lett. 41(5), 457–461 (2013)

    MathSciNet  MATH  Article  Google Scholar 

  53. 53.

    GAMS: GAMS/CPLEX Indicator Constraints. http://www.gams.com/solvers/cpxindic.htm (2015)

  54. 54.

    Floudas, C.A., Pardalos, P.M.: Recent Advances in Global Optimization. Princeton University Press, Princeton (2014)

    Google Scholar 

  55. 55.

    Ferris, M.C., Mangasarian, O.L., Pang, J.S.: Complementarity: Applications, Algorithms and Extensions, vol. 50. Springer, Berlin (2013)

    Google Scholar 

  56. 56.

    Hu, J., Mitchell, J., Pang, J.S., Yu, B.: On linear programs with linear complementarity constraints. J. Global Optim. 53(1), 29–51 (2012)

    MathSciNet  MATH  Article  Google Scholar 

  57. 57.

    Hoheisel, T., Kanzow, C., Schwartz, A.: Theoretical and numerical comparison of relaxation methods for mathematical programs with complementarity constraints. Math. Program. 137(1–2), 257–288 (2013)

    MathSciNet  MATH  Article  Google Scholar 

  58. 58.

    Ferris, M.C., Munson, T.S.: Complementarity problems in GAMS and the PATH solver1. J. Econ. Dyn. Control 24(2), 165–188 (2000)

    MATH  Article  Google Scholar 

  59. 59.

    Rosenthal, R.E.: GAMS—a user’s guide. (2004)

  60. 60.

    Cao, D., Chen, M.: Capacitated plant selection in a decentralized manufacturing environment: a bilevel optimization approach. Eur. J. Oper. Res. 169(1), 97–110 (2006)

    MathSciNet  MATH  Article  Google Scholar 

Download references

Acknowledgements

We greatly appreciate the helpful discussions with Professor Andreas Wächter at Department of Industrial Engineering and Management Sciences at Northwestern University. The paper has been greatly improved by the insightful and constructive feedback from the associate editor and three anonymous reviewers. The authors acknowledge financial support from National Science Foundation (NSF) CAREER Award (CBET-1643244).

Author information

Affiliations

Authors

Corresponding author

Correspondence to Fengqi You.

Appendices

Appendix A: Toy example 1

The following example is adapted from [8] and is a classical MIBLP problem. We use toy example 1 to verify the results of the proposed algorithm and demonstrate the solution procedure.

$$ \begin{aligned} & \mathop {\hbox{min} }\limits_{{y^{u} ,y^{l0} }} \, - y^{u} - 10y^{l0} \\ & \,\,\,{\text{s}} . {\text{t}} . \quad \quad y^{u} \in {\mathbf{\mathbb{Z}}}_{ + } ,y^{l0} \in {\mathbf{\mathbb{Z}}}_{ + } \\ & \qquad\quad\,\,\, y^{l0} \in \mathop {\arg \hbox{max} }\limits_{{y^{l} }} \left\{ {\begin{array}{*{20}l} { - y^{l} :} \hfill \\ { - 25y^{u} + 20y^{l} \le 30} \hfill \\ {y^{u} + 2y^{l} \le 10} \hfill \\ {2y^{u} - y^{l} \le 15} \hfill \\ { - 2y^{u} - 10y^{l} \le - 15} \hfill \\ {y^{l} \in {\mathbf{\mathbb{Z}}}_{ + } } \hfill \\ \end{array} } \right\} \\ \end{aligned} $$

This problem does not have lower-level continuous variables, so the reformulation (P4) can be simplified and the KKT conditions are not required. In addition, since there is no upper-level constraint, the second subproblem (P7) is always feasible. Thus, it is guaranteed that a bilevel feasible solution can be obtained in each iteration. The solution procedure of the proposed algorithm is presented below, and a graphical illustration is shown in Fig. 1.

Fig. 1
figure1

The solution procedure of toy example 1

In iteration \( l = 0 \) we solve master problem (P5) to obtain \( \left( {y^{u,*} ,y^{l0,*} } \right) = \left( {2,4} \right) \) and \( LB = - 42 \); given \( y^{u,*} = 2 \), we solve subproblems (P6) and (P7) to obtain \( y_{0}^{l,*} = 2 \) and \( UB = - 22 \); at step 6, we add the following constraint to master problem(P5): \( \left[ {1 \le y^{u} \le 6} \right] \Rightarrow \left[ {y^{l0} \le 2} \right] \).

In iteration \( l = 1 \) we solve master problem (P5) to obtain \( \left( {y^{u,*} ,y^{l0,*} } \right) = \left( {6,2} \right) \) and \( LB = - 26 \); given \( y^{u,*} = 6 \), we solve subproblems (P6) and (P7) to obtain \( y_{1}^{l,*} = 1 \) and \( UB = \hbox{min} \left\{ { - 22, - 16} \right\} = - 22 \); at step 6, we add the following constraint to master problem (P5): \( \left[ {2.5 \le y^{u} \le 8} \right] \Rightarrow \left[ {y^{l0} \le 1} \right] \).

In iteration \( l = 2 \) we solve master problem (P7) to obtain \( \left( {y^{u,*} ,y^{0,*} } \right) = \left( {2,2} \right) \) and \( LB = - 22 \); now we have \( UB = LB \) so that the algorithm terminates in step 3.

Appendix B: Toy example 2

The following example is adapted from [25]. We use toy example 2 to demonstrate how the proposed algorithm solves an MIBLP problem with upper-level connecting constraints. Note that this toy example and following ones in Appendices C and E cannot be computed by the original reformulation-and-decomposition method.

$$ \begin{aligned} & \mathop {\hbox{min} }\limits_{y^u\!,y^{l0}} \, - y^{u} - 2y^{l0} \\ & \,\,{\text{s}} . {\text{t}} . \;\;\;{ }y^{u} \in {\mathbb{Z}}_{ + } ,y^{l0} \in {\mathbb{Z}}_{ + } \\ & \quad \quad - 2y^{u} + 3y^{l0} \le 12,y^{u} + y^{l0} \le 14 \\ &\quad \quad y^{l0} \in \mathop {\arg \hbox{max} }\limits_{{y^{l} }} \left\{ {y: - 3y^{u} + y^{l} \le - 3,3y^{u} + y^{l} \le 30,y^{l} \in {\mathbb{Z}}_{ + } } \right\} \\ \end{aligned} $$

This problem does not have lower-level continuous variables either, so the reformulation (P4) can be simplified and the KKT conditions are not required. However, there are two upper-level constraints that involve lower-level variables. Thus, the second subproblem (P7) could be infeasible. The solution procedure of the proposed algorithm is presented below, and a graphical illustration is shown in Fig. 2.

Fig. 2
figure2

The solution procedure of toy example 2

In iteration \( l = 0 \) we solve master problem (P5) to obtain \( \left( {y^{u,*} ,y^{l0,*} } \right) = \left( {6,8} \right) \) and \( LB = - 22 \); given \( y^{u,*} = 6 \), we solve the first subproblem (P6) and obtain \( \hat{y}_{0}^{l} = 12 \). As the second subproblem (P7) is infeasible, at step 6 we add the following constraint to master problem (P5): \( \left[ {5 \le y^{u} \le 6} \right] \Rightarrow \left[ {y^{l0} \ge 12} \right] \).

In iteration \( l = 1 \) we solve master problem (P5) to obtain \( \left( {y^{u,*} ,y^{l0,*} } \right) = \left( {7,7} \right) \) and \( LB = - 21 \); given \( y^{u,*} = 7 \), we solve the first subproblem (P6) and obtain \( \hat{y}_{1}^{l} = 9 \); but we find that the second subproblem (P7) is still infeasible; at step 6, we add the following constraint to master problem (P5): \( \left[ {4 \le y^{u} \le 7} \right] \Rightarrow \left[ {y^{l0} \ge 9} \right] \).

In iteration \( l = 2 \) we solve master problem (P5) to obtain \( \left( {y^{u,*} ,y^{l0,*} } \right) = \left( {8,6} \right) \) and \( LB = - 20 \); given \( y^{u,*} = 8 \), we solve subproblems (P6) and (P7) to obtain \( y_{2}^{l,*} = 6 \) and \( UB = - 20 \); now we have \( UB = LB \), so the algorithm terminates in step 7.

Appendix C: Toy example 3

The two examples above represent a special class of MIBLPs, which include merely an upper-level integer variable and a lower-level integer variable. To show all features of the proposed algorithm while ensuring simplicity for demonstration, we propose the following illustrative example.

$$ \begin{aligned} &\mathop {\hbox{min} }\limits_{{x^{u} ,y^{u} ,x^{l0} ,y^{l0} }} \, 20x^{u} - 38y^{u} + x^{l0} + 42y^{l0} \hfill \\ &\quad\,\,\,{\text{ s}} . {\text{t}} .\quad { }7y^{u} + 5x^{l0} + 7y^{l0} \le 62 \hfill \\&\quad\quad\qquad { 6}x^{u} + 9y^{u} + 10x^{l0} + 2y^{l0} \le 117 \hfill \\ &\quad\quad\qquad x^{u} \in {\mathbb{R}}_{ + } ,y^{u} \in {\mathbb{Z}}_{ + } ,x^{l0} \in {\mathbb{R}}_{ + } ,y^{l0} \in {\mathbb{Z}}_{ + } \, \hfill \\ &\quad\qquad\quad \left( {x^{l0} ,y^{l0} } \right) \in \mathop {\arg \hbox{max} }\limits_{{x^{l} ,y^{l} }} \, 39x^{l} + 27y^{l} \hfill \\&\quad\quad\qquad\quad\qquad\quad\quad {\text{ s}} . {\text{t}} . \quad{ 8}x^{u} + 2x^{l} + 8y^{l} \le 53 \hfill \\ &\quad\quad\qquad\quad\quad\qquad\quad\qquad\,\,\,{ 9}x^{u} + 2x^{l} + y^{l} \le 28 \hfill \\&\quad\quad\qquad\quad\quad\qquad\quad\qquad\,\,\, x^{l} \in {\mathbb{R}}_{ + } ,y^{l} \in {\mathbb{Z}}_{ + } \hfill \\ \end{aligned} $$

This problem includes continuous and integer variables in both upper- and lower-level programs. There are two upper-level constraints involving lower-level variables. Thus, the second subproblem (P7) could be infeasible. The solution procedure of the proposed algorithm is presented below.

In iteration \( l = 0 \) we solve master problem (P5) to obtain \( \left( {x^{u,*} ,y^{u,*} ,x^{l0,*} ,y^{l0,*} } \right) = \left( {2.844,8,1.200,0} \right) \) and \( LB = - 245.911 \); given \( \left( {x^{u,*} ,y^{u,*} } \right) = \left( {2.844,8} \right) \), we solve the first subproblem (P6) and obtain \( \left( {\hat{x}_{0}^{l} ,\hat{y}_{0}^{l} } \right) = \left( {0.200,2} \right) \); the second subproblem (P7) is infeasible; at step 6 we add a set of KKT-condition-based inequalities to master problem (P5).

In iteration \( l = 1 \) we solve master problem (P5) to obtain \( \left( {x^{u,*} ,y^{u,*} ,x^{l0,*} ,y^{l0,*} } \right) = \left( {2.889,8,1.000,0} \right) \) and \( LB = - 245.222 \); given \( \left( {x^{u,*} ,y^{u,*} } \right) = \left( {2.889,8} \right) \), we solve the first subproblem (P6) and obtain \( \left( {\hat{x}_{1}^{l} ,\hat{y}_{1}^{l} } \right) = \left( {0.500,1} \right) \); we find that the second subproblem (P7) is still infeasible; at step 6, we add another set of KKT-condition-based inequalities to master problem (P5).

In iteration \( l = 2 \) we solve master problem (P5) to obtain \( \left( {x^{u,*} ,y^{u,*} ,x^{l0,*} ,y^{l0,*} } \right) = \left( {3.000,8,0.500,0} \right) \) and \( LB = - 243.500 \); given \( \left( {x^{u,*} ,y^{u,*} } \right) = \left( {3.000,8} \right) \), we solve subproblems (P6) and (P7) to obtain \( \left( {x_{2}^{l,*} ,y_{2}^{l,*} } \right) = \left( {0.500,0} \right) \) and \( UB = - 243.500 \); now we have \( UB = LB \), so the algorithm terminates in step 7.

The solution procedure above takes a total of 3 iterations. If the KKT-condition-based tightening constraints (74)–(77) are not used, the algorithm takes a total of 5 iterations. Therefore, it is shown that the KKT-condition-based tightening constraints help reduce the number of iterations and computational time.

Appendix D: Inputs for generating computational examples

The following Table 4 provides the inputs to the GAMS code for generating computational instances corresponding to example 2. We note that seed is the factor used to generate random parameters, std. stands for the standard deviation used when generating \( m_{R} \), \( m_{Z} \), \( n_{R} \), and \( n_{Z} \).

Table 4 Inputs to the GAMS code for generating computational instances in example 2

In the following Table 5, we provide the inputs to GAMS for generating instances in example 3 from (hscp_6_6_1) through (hscp_12_12_5).

Table 5 Inputs to GAMS for generating instances in example 3

Appendix E: Hierarchical supply chain planning model

In this section, we present the bilevel model formulation of the hierarchical supply chain planning problem adapted from [60]. Before the model is presented, we first give the notations used in the model.

Parameters

\( a_{ij} \) :

Capacity consumption ratio for processing product j in plant i

\( c_{i}^{U} \) :

Upper bound of production capacity in plant i

\( d_{j} \) :

Customer demand of product j

\( e_{ij} \) :

Resource factor for processing product j in plant i

\( f_{i} \) :

Opening cost for plant i

\( g_{ij} \) :

Fixed cost for opening production line j in plant i

\( p_{i} \) :

Opportunity cost for unused production capacity of plant i after it is opened

\( q \) :

Resource availability

\( r_{ij} \) :

Transportation cost for transferring product j from plant i to the principal firm

\( s_{ij} \) :

Fixed operation cost for processing product j in plant i

\( w_{i} \) :

Cost to use production capacity in plant i

\( n \) :

Number of product types

Continuous variables

\( Cap_{i} \) :

Designated production capacity in plant i

\( X_{ij} \) :

Fraction of demand of product j produced in plant i

Binary variables

\( Y_{i} \) :

1 if plant I is selected and opened; 0 otherwise

\( Z_{ij} \) :

1 if production line for product j in plant i is used; 0 otherwise

With the above notations, the model for the hierarchical supply chain planning problem is formulated as follows.

$$ \hbox{min} \;z_{1} = \sum\limits_{i} {f_{i} Y_{i} } + \sum\limits_{i} {\sum\limits_{{j \in IS_{i} }} {g_{ij} Z_{ij} } } + \sum\limits_{i} {p_{i} \left( {Cap_{i} - \sum\limits_{{j \in IS_{i} }} {d_{j} a_{ij} X_{ij} } } \right)} $$
(E.1)
$$ {\text{s}} . {\text{t}}.\;\sum\limits_{i} {\sum\limits_{{j \in IS_{i} }} {d_{j} e_{ij} X_{ij} } } \le q $$
(E.2)
$$\qquad\qquad Cap_{i} \le c_{i}^{U} \, \forall i $$
(E.3)
$$ \qquad\qquad Y_{i} \in \left\{ {0,1} \right\},Cap_{i} \in {\mathbb{R}}_{ + } $$
(E.4)
$$ \hbox{min} \;z_{2} = \sum\limits_{i} {w_{i} \left( {\sum\limits_{{j \in IS_{i} }} {d_{j} a_{ij} X_{ij} } } \right)} + \sum\limits_{i} {\sum\limits_{{j \in IS_{i} }} {\left( {s_{ij} Z_{ij} + d_{j} r_{ij} X_{ij} } \right)} } $$
(E.5)
$$ {\text{s}} . {\text{t}}.\;\sum\limits_{{i \in JS_{j} }} {X_{ij} } = 1 , { }\forall j $$
(E.6)
$$\qquad\qquad \sum\limits_{{j \in IS_{i} }} {d_{j} a_{ij} X_{ij} } \le Cap_{i} , { }\forall i $$
(E.7)
$$ \qquad\qquad\sum\limits_{{j \in IS_{i} }} {X_{ij} } \le nY_{i} , { }\forall i $$
(E.8)
$$ \qquad\qquad X_{ij} \le Z_{ij} , { }\forall i,j \in IS_{i} $$
(E.9)
$$ \qquad\qquad X_{ij} \in {\mathbb{R}}_{ + } ,Z_{ij} \in \left\{ {0,1} \right\} $$
(E.10)

The principal firm’s objective (E.1) is to minimize the sum of the plant opening cost, the production line opening cost, and the opportunity cost of over-setting production capacities. Constraint (E.2) enforces that the use of resources does not exceed their availabilities. Although only one type of resource is considered in this model, it can be easily extended to include multiple types of resources by adding an index for resources. Constraint (E.3) imposes a limitation on plant capacity. The lower-level objective function (E.5) is to minimize the operational costs, including the cost related to production capacity consumption, the fixed charge cost, and transportation costs for shipping products from auxiliary plants to the principal firm. Constraint (E.6) indicates that the demands must be fully satisfied. Constraint (E.7) indicates that production should not exceed capacity. Constraint (E.8) suggests that no product can be produced if the plant is not opened. Constraint (E.9) indicates that no product can be produced if the production line is not opened. Constraints (E.4) and (E.10) are non-negative and binary constraints for upper- and lower-level decision variables. In this problem setting, the principal firm first determines which plant to open (\( Y_{i} \)) and the capacity to install (\( Cap_{i} \)). Then the auxiliary plants determine which production line to use (\( Z_{ij} \)) and the production level of each product (\( X_{ij} \)).

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Yue, D., Gao, J., Zeng, B. et al. A projection-based reformulation and decomposition algorithm for global optimization of a class of mixed integer bilevel linear programs. J Glob Optim 73, 27–57 (2019). https://doi.org/10.1007/s10898-018-0679-1

Download citation

Keywords

  • Mixed-integer bilevel linear program
  • Global optimization
  • Single-level reformulation
  • Reformulation and decomposition method
  • Projection
  • Hierarchical supply chain planning