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.
Similar content being viewed by others
Notes
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.
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.
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
Bard, J.F.: Practical Bilevel Optimization: Algorithm and Applications. Kluwer Academic Publishers, Dordrecht (1998)
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)
Wiesemann, W., Tsoukalas, A., Kleniati, P.-M., Rustem, B.: Pessimistic bilevel optimization. SIAM J. Optim. 23(1), 353–380 (2013)
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)
von Stackelberg, H.: Marktform und Gleichgewicht. Springer, Berlin (1934)
Bracken, J., McGill, J.T.: Mathematical programs with optimization problems in the constraints. Oper. Res. 21(1), 37–44 (1973)
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)
Moore, J.T., Bard, J.F.: The mixed integer linear bilevel programming problem. Oper. Res. 38(5), 911–921 (1990)
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)
Gümüş, Z.H., Floudas, C.A.: Global optimization of mixed-integer bilevel programming problems. CMS 2(3), 181–212 (2005)
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)
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)
Mitsos, A.: Global solution of nonlinear mixed-integer bilevel programs. J. Global Optim. 47(4), 557–582 (2010)
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)
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
Hemmati, M., Smith, J.C.: A mixed-integer bilevel programming approach for a competitive prioritized set covering problem. Discrete Optim. 20, 105–134 (2016)
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)
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
Dempe, S.: Discrete Bilevel Optimization Problems. Citeseer (2001)
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)
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)
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)
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)
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)
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)
Bard, J.F., Moore, J.T.: An algorithm for the discrete bilevel programming problem. NRL 39(3), 419–435 (1992)
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)
Poirion, P.-L., Toubaline, S., Ambrosio, C.D., Liberti, L.: Bilevel mixed-integer linear programs and the zero forcing set. Optimization (2015) (online)
Edmunds, T., Bard, J.: An algorithm for the mixed-integer nonlinear bilevel programming problem. Ann. Oper. Res. 34(1), 149–162 (1992)
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)
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)
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)
Falk, J.E., Hoffman, K.: A nonconvex max–min problem. Nav. Res. Log. Q. 24(3), 441–450 (1977)
Zuhe, S., Neumaier, A., Eiermann, M.C.: Solving minimax problems by interval methods. BIT Numer. Math. 30(4), 742–751 (1990)
Bhattacharjee, B., Lemonidis, P., Green Jr., W.H., Barton, P.I.: Global solution of semi-infinite programs. Math. Program. 103(2), 283–307 (2005)
Blankenship, J.W., Falk, J.E.: Infinitely constrained optimization problems. J. Optim. Theory Appl. 19(2), 261–281 (1976)
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)
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)
Stein, O., Still, G.: On generalized semi-infinite optimization and bilevel optimization. Eur. J. Oper. Res. 142(3), 444–462 (2002)
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)
Talbi, E.-G.: Metaheuristics for Bi-level Optimization. Springer, Berlin (2013)
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)
Vicente, L., Savard, G., Judice, J.: Discrete linear bilevel programming problem. J. Optim. Theory Appl. 89(3), 597–614 (1996)
Bank, B.: Non-linear Parametric Optimization. Akademie Verlag, Berlin (1982)
Ishizuka, Y., Aiyoshi, E.: Double penalty method for bilevel optimization problems. Ann. Oper. Res. 34(1), 73–88 (1992)
Chen, Y., Florian, M.: The nonlinear bilevel programming problem: formulations, regularity and optimality conditions. Optimization 32(3), 193–209 (1995)
Dempe, S.: Foundations of Bilevel Programming. Springer, Berlin (2002)
Vicente, L., Calamai, P.: Bilevel and multilevel programming: a bibliography review. J. Global Optim. 5(3), 291–306 (1994)
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)
Lodi, A., Ralphs, T., Woeginger, G.: Bilevel programming and the separation problem. Math. Program. 146(1–2), 437–458 (2014)
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)
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)
GAMS: GAMS/CPLEX Indicator Constraints. http://www.gams.com/solvers/cpxindic.htm (2015)
Floudas, C.A., Pardalos, P.M.: Recent Advances in Global Optimization. Princeton University Press, Princeton (2014)
Ferris, M.C., Mangasarian, O.L., Pang, J.S.: Complementarity: Applications, Algorithms and Extensions, vol. 50. Springer, Berlin (2013)
Hu, J., Mitchell, J., Pang, J.S., Yu, B.: On linear programs with linear complementarity constraints. J. Global Optim. 53(1), 29–51 (2012)
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)
Ferris, M.C., Munson, T.S.: Complementarity problems in GAMS and the PATH solver1. J. Econ. Dyn. Control 24(2), 165–188 (2000)
Rosenthal, R.E.: GAMS—a user’s guide. (2004)
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)
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
Authors and Affiliations
Corresponding author
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.
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.
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.
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.
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.
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} \).
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).
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.
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10898-018-0679-1