# ABSTRACT

We study a class of integer bilevel problems, the so-called Integer Linear Multiplicative Bilevel Problem, ILMBP, where the constraints are linear and both the upper level problem and the lower level problem are integer linear multiplicative problems. We assume that the k -linear factors of the upper level problem and the l -linear factors of the lower level problem to be non-negative. In this paper, we propose an algorithm based on branch-and-cut method for solving the Integer Linear Multiplicative Bilevel Problem. First, the continuous upper level linear multiplicative problem is solved, then the optimal integer solution obtained is tested for the optimality of the main problem by solving the lower level linear multiplicative problem. If this solution is not optimal for the problem ILMBP, a cut is added to the upper level problem and a new best integer solution is determined. The integer solution is generated by the branching process well known in the branch and bound procedure. Following, the presentation and validation of the algorithm, an example is provided to better visualize the algorithm.

Keywords:
bilevel programming; integer programming; linear multiplicative programming; branch and cut; branch and bound

# 1 INTRODUCTION

The bilevel programming problem, BLPP, is an optimization problem that is constrained by another optimization problem. This mathematical programming model arises when two independent decision makers, ordered within a hierarchical structure, have conflicting objectives. The decision maker at the lower level has to optimize her objective under the given parameters from the upper level decision maker, who, in return, with complete information on the possible reactions of the lower, selects the parameters so as to optimize her own objective. In this sense, the BLPP can be perceived as a static Stackelberg game ( Simaan & Cruz Jr, 1973SIMAAN M & CRUZ JR JB. 1973. On the Stackelberg strategy in nonzero-sum games. Journal of Optimization Theory and Applications, 11(5): 533-555. ) with two independent decision makers.

The general form of the bilevel program is:

$\left(\mathrm{BP}\right)\underset{\left(x,y\right)\in S}{\mathrm{max}}H\left(x,y\right)$ (1)

where, $y\in arg\underset{y\in S\left(x\right)}{\mathrm{max}}h\left(x,y\right)$ .

where

$x\in {\mathrm{ℝ}}^{{n}_{1}}andy\in {\mathrm{ℝ}}^{{n}_{2}}$ (2)

$H,h:{\mathrm{ℝ}}^{n}\stackrel{}{⟼}\mathrm{ℝ},n={n}_{1}+{n}_{2};$ (3)

S ⸦ ℝ, defines the common constraint region and

$S\left(x\right)=\left\{y\in {\mathrm{ℝ}}^{{n}_{2}}:\left(x,y\right)\in S\right\}.$ (4)

Let S 1 be the projection of S onto ℝn1 . For each xS 1, the lower level decision maker solves problem ( P 1):

${\mathrm{P}}_{1}\left\{\begin{array}{l}\mathrm{max}h\left(x,y\right)\\ \text{s.t}\\ y\in S\left(x\right).\end{array}\right\$ (5)

Let M ( x ) be the set of optimal solutions to (5):

$M\left(x\right)=\left\{{y}^{*}\in {\mathrm{ℝ}}^{{n}_{2}}:{y}^{*}\in arg\underset{y}{\mathrm{max}}h\left(x,y\right):y\in S\left(x\right)\right\}$ (6)

The upper level decision maker’s feasible set, called the inducible region IR, is implicitly determined by the lower level optimization problem: $\mathrm{IR}=\left\{\left(x,{y}^{*}\right):x\in {S}_{1},{y}^{*}\in M\left(x\right)\right\}$ In this paper, we assume that S is not empty. Moreover, the lower level decision maker has some room to react to any decision made by the upper level decision maker, i.e. M ( x ) ≠ Ø.

In these problems, the upper level is referred to as the leader and the lower level represents the objective of the followers. There are two types of decision makers in a bilevel programming problem BLPP. The upper level is referred to as the leader ULDM and the lower level represents the objective of the followers LLDM. The decision is executed sequentially, from upper level to lower level and each entity makes a decision in a hierarchical manner.

The upper level makes his decision first. Whereas, the lower level may not be satisfied with the decision of ULDM. Bilevel programming problem arise in many real world situations, including transportation engineering, organizational design, facility location, production planning, and supply chain management ( Wen & Hsu (1991WEN UP & HSU ST. 1991. Linear bi-level programming problems-a review. Journal of the operational Research Society , 42: 125-133. ); Wen & Yang (1990)WEN UP & YANG Y. 1990. Algorithms for solving the mixed integer two-level linear programming problem. Computers & Operations Research , 17(2): 133-142. ; White & Anandalingam (1993WHITE DJ & ANANDALINGAM G. 1993. A penalty function approach for solving bi-level linear programs. Journal of Global Optimization , 3: 397-419. )).

As a result, many researchers have conducted in-depth research in this field. The formal formulation of BLPP was proposed in Candler & Townsley (1982CANDLER W & TOWNSLEY R. 1982. A linear two-level programming problem. Computers & Operations Research, 9(1): 59-76. ); Fortuny-Amat & McCarl (1981)FORTUNY-AMAT J & MCCARL B. 1981. A representation and economic interpretation of a two-level programming problem. Journal of the operational Research Society, 32: 783-792. ; Arora & Gupta (2021ARORA R & GUPTA K. 2021. Fuzzy programming for multi-choice bilevel transportation problem. Operations Research and Decisions , 31(3). , 2018ARORA R & GUPTA K. 2018. Branch and bound algorithm for discrete multi-level linear fractional programming problem. Operations Research and Decisions, 28. ); Neves et al. (2023NEVES JCS, LUCAS SF, NEVES GC & WEISSMANN J. 2023. Bi-level model: new approach to dynamic vehicle allocation in supply chain. Pesquisa Operacional, 43: e266695. ). In Golpîra (2017)GOLPÎRA H. 2017. Robust bi-level optimization for an opportunistic supply chain network design problem in an uncertain and risky environment. Operations Research and Decisions , 27(1): 21-41. , the Karush-Kuhn-Tucker (KKT) conditions are employed to transform the BLPP problem into a single-level, mixed-integer linear programming problem by considering some relaxations. Multichoice optimization has been applied to the bilevel transportation problem in Arora & Gupta (2021)ARORA R & GUPTA K. 2021. Fuzzy programming for multi-choice bilevel transportation problem. Operations Research and Decisions , 31(3). , the fuzzy programming approach is employed in order to obtain a satisfactory solution for the decision-makers at the two levels. In Neves et al. (2023)NEVES JCS, LUCAS SF, NEVES GC & WEISSMANN J. 2023. Bi-level model: new approach to dynamic vehicle allocation in supply chain. Pesquisa Operacional, 43: e266695. , the Dynamic Vehicle Allocation problem is presented and solved using the bilevel programming where the shipper’s objective is to minimize shipping delays, while the carrier’s objective is to maximize profits.

On the other hand, multiplicative linear programming when there is only one decision level has received a lot of attention in the literature. This attention is due to the fact that these problems arise in many practical applications. For example, the construction of bond portfolios, economic analysis and the design of VLSI chips ( Konno & Inori (1989KONNO H & INORI M. 1989. Bond portfolio optimization by bilinear fractional programming. Journal of the Operations Research Society of Japan, 32(2): 143-158. ); IRELAND (1971IRELAND N. 1971. MICROECONOMIC THEORY-HENDERSON, JM AND QUANDT, RE. ); Maling et al. (1982MALING K, HELLER W & MUELLER S. 1982. On finding most optimal rectangular package plans. In: 19th Design automation conference. pp. 663-670. IEEE. )). Such optimization problems often arise in game theory. Examples include computing the Nash solution to a bargaining problem ( Nash Jr (1950NASH JR J. 1950. The bargaining problem. Econometrica: J Econ Soc 18 (2): 155-162. )) and computing an equilibrium of a linear Fisher or a Kelly capacity allocation market ( Chakrabarty et al. (2006CHAKRABARTY D, DEVANUR N & VAZIRANI VV. 2006. New results on rationality and strongly polynomial time solvability in eisenberg-gale markets. In: Internet and Network Economics: Second International Workshop, WINE 2006, Patras, Greece, December 15-17, 2006. Proceedings 2. pp. 239-250. Springer. ); Jain & Vazirani (2007JAIN K & VAZIRANI VV. 2007. Eisenberg-gale markets: Algorithms and structural properties. In: Proceedings of the thirty-ninth annual ACM symposium on Theory of computing. pp. 364- 373. ); Vazirani (2012aVAZIRANI VV. 2012a. The notion of a rational convex program, and an algorithm for the Arrow-Debreu Nash bargaining game. Journal of the ACM (JACM), 59(2): 1-36. , bVAZIRANI VV. 2012b. Rational convex programs and efficient algorithms for 2-player Nash and nonsymmetric bargaining games. SIAM Journal on Discrete Mathematics, 26(3): 896-918. )).

Solving a bilevel (more generally, hierarchical) optimization problem, even in its simplest form, is a difficult task. Many methods have been proposed and discussed by various authors Dempe et al. (2014DEMPE S, MORDUKHOVICH BS & ZEMKOHO AB. 2014. Necessary optimality conditions in pessimistic bilevel programming. Optimization, 63(4): 505-533. ); Dempe & Dutta (2012)DEMPE S & DUTTA J. 2012. Is bilevel programming a special case of a mathematical program with complementarity constraints? Mathematical programming, 131: 37-48. ; Quynh et al. (2012QUYNH TD, TAO PD ET AL. 2012. A DC programming approach for a class of bilevel programming problems and its application in portfolio selection. Numerical Algebra, Control and Optimization , 2(1): 167-185. ); Vicente & Calamai (1994VICENTE LN & CALAMAI PH. 1994. Bilevel and multilevel programming: A bibliography review. Journal of Global optimization, 5(3): 291-306. ); Maachou & Moulaï (2015MAACHOU N & MOULAÏ M. 2015. Bilevel quadratic fractional/quadratic problem. In: Modelling, Computation and Optimization in Information Systems and Management Sciences: Proceedings of the 3rd International Conference on Modelling, Computation and Optimization in Information Systems and Management Sciences-MCO 2015-Part I. pp. 381-389. Springer. ) with the aim of developing various ways to reduce original bilevel programming problems to equivalent single-level ones, thus making them easier to solve using mathematical programming software packages.

Integer bilevel programming has been addressed in Thirwani & Arora (1998THIRWANI D & ARORA S. 1998. An algorithm for quadratic bilevel programming problem. International Journal of Management and System, 14(2): 89-98. ); Narang & Arora (2009NARANG R & ARORA S. 2009. Indefinite quadratic integer bilevel programming problem with bounded variables. Opsearch, 46: 428-448. ); Maachou & Moulaï (2022MAACHOU N & MOULAÏ M. 2022. Branch and cut method for solving integer indefinite quadratic bilevel programs. Annals of Operations Research, pp. 1-31. ). Thirwani & Arora (1998)THIRWANI D & ARORA S. 1998. An algorithm for quadratic bilevel programming problem. International Journal of Management and System, 14(2): 89-98. developed an algorithm for solving QBLPP for integer variables. They solved the problem by linearization technique and obtained an integer solution of the QBLPP by using Gomory cut and dual simplex method. Narang & Arora (2009)NARANG R & ARORA S. 2009. Indefinite quadratic integer bilevel programming problem with bounded variables. Opsearch, 46: 428-448. presented an algorithm for solving an indefinite integer QBLPP with bounded variables. They solved the problem by solving the relaxed problem and developed a mixed integer cut solution technique for finding the integer solution. Maachou & Moulaï (2022)MAACHOU N & MOULAÏ M. 2022. Branch and cut method for solving integer indefinite quadratic bilevel programs. Annals of Operations Research, pp. 1-31. developed a new algorithm based on the branch and cut method to solve the integer indefinite quadratic bilevel programs where the upper level problem and the lower level problem are integer indefinite quadratic programs. The problem is solved in its original formulation where the decision maker of the upper level chooses his strategy first. Then, using the optimal solution of the upper level problem, the decision maker of the lower level has to select his best strategy optimizing his own objective. The optimal solution of the integer indefinite quadratic problem belongs to the efficient solutions set of the corresponding bicriteria problem.

In this paper, we consider a special class of nonlinear bilevel programming in which the upper-level’s objective function is a product of k -linear functions and the lower-level’s objective function is a product of l -linear functions. This class of problems is refered as ILMBP. Assuming that the k -linear factors of the upper-level’s objective function and l -linear factors of the lower-level’s objective function are positive, maximization cases are considered for the two levels.

The algorithm developed here for solving ILMBP is based on a branch and cut technique, such that, to get the integer optimal solution of our main problem, the upper level is solved, and if its solution is non optimal for ILMBP, a cut is added to the initial domain of the upper level to avoid the integer solution, and a new integer solution is found. The branch and bound process, allows us to determine the integer solution.

In the following Section, the Integer Linear Multiplicative Bilevel Problem ILMBP is defined and formulated. In Section 3, an algorithm is presented for solving the k -linear multiplicative problem. A branch and cut method is presented in section 4 for solving the Integer Linear Multiplicative Bilevel Problem ILMBP and a more detailed description of the algorithm for the whole problem is given. In section 5, a numerical example is presented for better understanding the algorithm of the proposed method and in section 6 computational results are presented. Section 7, concludes the paper.

# 2 DEFINITIONS AND NOTATIONS

Let $\stackrel{~}{S}$ be the set of feasible solutions $\left(x,y\right)\in {\mathrm{ℝ}}^{{n}_{1}}×{\mathrm{ℝ}}^{{n}_{2}}$ , not empty and bounded, satisfying the constraints

$\left\{\begin{array}{l}{A}^{1}x+{A}^{2}y\le b\\ x\ge 0,y\ge 0\end{array}\right\$ (7)

where A 1 is an m×n 1 matrix, A 2 is an m×n 2 matrix and b is a vector of ℝm .

Let ${c}_{1}^{i}$ be a row vector of ℝn1 , ${c}_{2}^{i}$ be a row vector of ℝn2 for $i=\overline{1,k},{p}_{1}^{j}$ be a row vector of ℝn1 , ${p}_{2}^{j}$ be a row vector of ℝn2 for $j=\overline{1,l}$ , the constants α i for $i=\overline{1,k},{\beta }_{j}$ for $j=\overline{1,l}$ are real and ℤn is the set of integer numbers. the Integer Linear Multiplicative Bilevel Problem ILMBP, intended to be studied, can be mathematically stated as:

$\mathrm{ILMBP}\left\{\begin{array}{l}\underset{\left(x,y\right)}{\mathrm{max}}F\left(x,y\right)=\prod _{i=1}^{k}\left({c}_{1}^{i}x+{c}_{2}^{i}y+{\alpha }_{i}\right)\\ \text{where y solves}\\ \left\{\begin{array}{l}\underset{y}{\mathrm{max}}f\left(x,y\right)=\prod _{j=1}^{l}\left({p}_{1}^{j}x+{p}_{2}^{j}y+{\beta }_{j}\right)\\ s.t\\ \left(x,y\right)\in \mathcal{D}=\stackrel{~}{S}\cap {\mathrm{ℤ}}^{n}\end{array}\right\\end{array}\right\$ (8)

The decision vector x is controlled by the Upper Level Integer Linear Multiplicative Problem ULILMP and the decision vector y is controlled by the Lower Level Integer Linear Multiplicative Problem LLILMP.

Mathematically, the upper level problem ULILMP can be written as:

$\mathrm{ULILMP}\left\{\begin{array}{l}\underset{\left(x,y\right)}{\mathrm{max}}F\left(x,y\right)=\prod _{i=1}^{k}\left({c}_{1}^{i}x+{c}_{2}^{i}y+{\alpha }_{i}\right)\\ s.t\left(x,y\right)\in \mathcal{D}\end{array}\right\$ (9)

and the lower level problem LLILMP can be written as:

$\mathrm{LLILMP}\left\{\begin{array}{l}\underset{y}{\mathrm{max}}f\left(x,y\right)=\prod _{j=1}^{l}\left({p}_{1}^{j}x+{p}_{2}^{j}y+{\beta }_{j}\right)\\ s.t\left(x,y\right)\in \mathcal{D}\end{array}\right\$ (10)

Let us denote the feasible region of ULILMP $S=\left\{\left(x,y\right)\in {\mathrm{ℝ}}^{{n}_{1}}×{\mathrm{ℝ}}^{{n}_{2}}|x,y\in \stackrel{~}{S},\left({c}_{1}^{i}x+{c}_{2}^{i}y+{\alpha }_{i}\right)\ge 0,i=\overline{1,k}\right\}$ and z = ( x, y ),

${c}^{i}=\left({c}_{1}^{i},{c}_{2}^{i}{\right)}^{T},i=\overline{1,k}$ , the upper level problem ULILMP can be rewritten as:

$\mathrm{ULILMP}\left\{\begin{array}{l}\underset{\left(x,y\right)}{\mathrm{max}}F\left(x,y\right)=\prod _{i=1}^{k}\left({c}^{i}z+{\alpha }_{i}\right)\\ s.t\left(x,y\right)\in {\mathcal{D}}_{1}=S\cap {\mathrm{ℤ}}^{n}\end{array}\right\$ (11)

and the feasible region of LLILMP $\stackrel{^}{S}=\left\{\left(x,y\right)\in {\mathrm{ℝ}}^{{n}_{1}}×{\mathrm{ℝ}}^{{n}_{2}}|x,y\in \stackrel{~}{S},\left({p}_{1}^{j}x+{p}_{2}^{j}y+{\beta }_{j}\right)\ge 0,j=\overline{1,l}\right\}$ and z = ( x, y ),

${p}^{j}=\left({p}_{1}^{j},{p}_{2}^{j}{\right)}^{T},j=\overline{1,l}$ the lower level problem LLILMP can be rewritten as:

$\mathrm{LLILMP}\left\{\begin{array}{l}\underset{y}{\mathrm{max}}f\left(x,y\right)=\prod _{j=1}^{l}\left({p}^{j}z+{\beta }_{j}\right)\\ s.t\left(x,y\right)\in {\mathcal{D}}_{2}=\stackrel{^}{S}\cap {\mathrm{ℤ}}^{n}\end{array}\right\$ (12)

The main problem ILMBP is resolved in this paper in its original form. First, the decision maker of the upper level selects his strategy and determines his optimal solution x . After employing it, the decision maker of the lower level has to choose his best strategy y optimizing his own objective ( Dempe (2002DEMPE S. 2002. Foundations of bilevel programming. Springer Science & Business Media. )). In the following section, we will discuss how to solve the integer linear multiplicative problem.

# 3 PROCEDURE TO SOLVE THE INTEGER LINEAR MULTIPLICATIVE PROBLEMS

Consider the following integer linear multiplicative problem:

$\mathrm{ILMP}\left\{\begin{array}{l}\mathrm{max}g\left(z\right)=\prod _{i=1}^{k}\left({u}^{i}z+{\alpha }_{i}\right)\\ s.tz\in \mathcal{D}\end{array}\right\$ (13)

where, $z=\left(x,y\right)\in {\mathrm{ℝ}}^{{n}_{1}+{n}_{2}}$ , $\mathcal{D}=\mathcal{X}\cap {\mathrm{ℤ}}^{n}$ , $\mathcal{X}=\left\{z\in {\mathrm{ℝ}}^{{n}_{1}+{n}_{2}}|Az\le b,z\ge 0,\left({u}^{i}z+{\alpha }_{i}\right)\ge 0,i=\overline{1,k}\right\}$ is a non empty bounded set, b ∈ ℝm , u i are row vectors of ℝn1+n2 , α i are real, $i=\overline{1,k}$ and A is an ( n 1 + n 2) matrix.

Given the following multicriteria linear problem associated to ILMP

$\mathrm{IMLP}\left\{\begin{array}{l}\mathrm{max}{g}_{1}\left(z\right)={u}^{1}z+{\alpha }_{1}\\ \mathrm{max}{g}_{2}\left(z\right)={u}^{2}z+{\alpha }_{2}\\ .\\ .\\ .\\ \mathrm{max}{g}_{k}\left(z\right)={u}^{k}z+{\alpha }_{k}\\ s.tz\in \mathcal{D}\end{array}\right\$ (14)

Aneja et al. (1984ANEJA Y, AGGARWAL VA & NAIR K. 1984. On a class of quadratic programs. European Journal of Operational Research, 18(1): 62-70. ) showed that in a two-factor continuous multiplicative problem ( k = 2), the optimal solution of (13) is an efficient solution of problem (14). Maachou & Moulaï (2022MAACHOU N & MOULAÏ M. 2022. Branch and cut method for solving integer indefinite quadratic bilevel programs. Annals of Operations Research, pp. 1-31. ) have adapted this result to the case of an integer multiplicative problem. In what follows, we will extend this result to the case where k ≥ 2.

Theorem 1. An optimal solution ẑ of problem ILMP is an efficient solution of integer multicriteria linear problem IMLP.

Proof. Suppose that is an optimal solution of problem ILMP but it is not an efficient solution of Integer Multicriteria Linear Problem IMLP.

By definition, this implies that there must exist a feasible solution denoted by z ∈ 𝒟 that dominates . In other terms,

for g i ( z ) = g i and g i ( ) = ĝ i ,$i=\overline{1,k}$ we must have that either

ĝi≤ gi , for all i ∈ {1 ,..., k } and ĝ i < g i for at least one i ∈ {1 ,..., k } Also, by assumptions of problem ILMP we know that ĝ i > 0 ,$i=\overline{1,k}$ .

Therefore, we must have that

$0<\prod _{i=1}^{k}{\stackrel{^}{g}}_{i}<\prod _{i=1}^{k}{g}_{i}$

Therefore, cannot be an optimal solution. □

Thus, an Integer Linear Multiplicative Problem ILMP is equivalent to the following problem ( Nash Jr (1950NASH JR J. 1950. The bargaining problem. Econometrica: J Econ Soc 18 (2): 155-162. )):

$\mathrm{ILMP}\text{'}\left\{\begin{array}{l}\mathrm{max}g\left(z\right)=\prod _{i=1}^{k}{g}_{i}\left(z\right)\\ s.tz\in {\mathcal{D}}_{E}\end{array}\right\$ (15)

where g i ( z ) = ( u i z + α i ) ,$i=\overline{1,k}$ and 𝒟 E is the set of efficient solutions of the Integer Multicriteria Linear Problem IMLP.

To solve the Integer Linear Multiplicative Problem ILMP, one would first have to generate the whole set 𝒟 E , the set of efficient solutions of the Integer Multicriteria Linear Problem IMLP, and then choose the best optimal value of g .

Many methods have been presented to determine the efficient set of IMLP using the concept of efficiency.

Definition 1. A solution z is dominated by the other solution z ,

if gi ( z ) ≥ g i ( z ) , for i = {1 ,..., k } and g i ( z ) > g i ( z ) , for at least one i = {1 ,..., k }.

Definition 2.A feasible solution z is called an efficient solution for IMLP problem if and only if there is no other$\stackrel{~}{z}\in {\mathcal{D}}_{E}$, such that${g}_{i}\left(\stackrel{~}{z}\right)\ge {g}_{i}\left(z\right)$, for i = {1 ,..., k } and${g}_{i}\left(\stackrel{~}{z}\right)>{g}_{i}\left(z\right)$, for at least one i = {1 ,..., k }. Otherwise, z is dominated by$\stackrel{~}{z}$. In the next section, we present in detail the method we used to generate the efficient set of IMLP.

## 3.1 Method for finding the integer efficient solutions multicriteria linear problem IMLP

To generate the efficient set of IMLP, we use a strategy based on the branch and cut method, which is described as follows:

### 3.1.1 Description of the method

Let 𝒟 E , ${\overline{\mathcal{D}}}_{E}$ be the sets of all efficient solutions and dominated solutions, respectively, of the integer multicriteria linear problem (14) initialized to the empty set, l = 0 and 𝒳 0 = 𝒳 .

The search for the efficient set is an implicit exploration structured as a tree. At each node l of the tree, we optimize one of k functions g i , i ∈ {1 ,..., k } on the subdomain 𝒳 l (the choice of function will not change the final efficient set, but may change the order of the elements in it. In the following, we choose the first function). The subproblem associated with a node l is defined as follows:

${\mathrm{P}}_{l}\left\{\begin{array}{l}\mathrm{max}{g}_{1}\left(z\right)={u}^{1}z+{\alpha }_{1}\\ s.tz\in {\mathcal{X}}_{l}\end{array}\right\$ (16)

where, $\mathrm{z}=\left(\mathrm{x},\mathrm{y}\right)\in {\mathrm{ℝ}}^{{\mathrm{n}}_{1}+{\mathrm{n}}_{2}}$ . In our method, the problem Pl is solved using the simplex method (eventually dual simplex method). Three situations may arise during problem-solving:

1. The problem P l has no solution: The node has no descendant and it is fathomed.

2. The problem P l has non integer solution: Let ${\stackrel{^}{{z}_{j}}}^{\left(l\right)}$ be one component of the non integer optimal solution (l) such that ${\stackrel{^}{{z}_{j}}}^{\left(l\right)}={\nu }_{j}$ where ν j is a fractional number. The node l of the tree is then separated into two nodes, l 1 and l 2, ( l 1 > l, l 2 > l, l 1l 2), which partition the feasible set 𝒳 l into two parts ( 𝒳 l1 and 𝒳 l2 ) by adding to 𝒳 l new branching constraints ${\stackrel{^}{{z}_{j}}}^{\left(l\right)}\le ⌊{\nu }_{j}⌋$ and ${\stackrel{^}{{z}_{j}}}^{\left(l\right)}\ge ⌊{\nu }_{j}⌋+1$ , respectively.

3. The problem P l has an integer solution: Let (l) the optimal solution of Pl .

• - We update the sets𝒟E , ${\overline{\mathcal{D}}}_{E}$ . The integer optimal solution (l) is then compared to the solutions of the set 𝒟 E . Thus, the sets 𝒟 E and ${\overline{\mathcal{D}}}_{E}$ are updated as follows: At the node l , corresponding to the solution (l) , if there exists y𝒟 E such that ( g 1( y ) , ..., g k ( y )) dominates ( g 1( (l) ) , ..., g k ( (l) )), then 𝒟 E is not updated and ${\overline{\mathcal{D}}}_{E}={\overline{\mathcal{D}}}_{E}\cup \left\{{\stackrel{^}{z}}^{\left(l\right)}\right\}$ . Otherwise, if there is no solution y𝒟 E such that ( g 1( y ) , ..., g k ( y )) dominates ( g 1( (l) ) , ..., g k ( (l) )), then the solution (l) is added to the set 𝒟 E and all solutions where y𝒟 E and ( g 1( (l) ) , ..., g k ( (l) )) dominates ( g 1( y ) , ..., g k ( y )) are removed, ${\overline{\mathcal{D}}}_{E}={\overline{\mathcal{D}}}_{E}\cup \left\{y\right\}$ .

• - The cutting plane: At node l , let I l , N l be the index sets of basic and nonbasic variables respectively (for jN l , z j = 0) of the integer optimal solution (l) at the optimal simplex table. We define the constraint:

$\sum _{j\in {H}_{l}}{z}_{j}\ge 1.$ (17)

• where, ${H}_{l}=\left\{j\in {N}_{l}\mid \exists i\in \left\{1,...,k\right\},{\overline{u}}_{j}^{i}>0\right\}\cup \left\{j\in {N}_{l}\mid {\overline{u}}_{j}^{i}=0,\forall i\in \left\{1,...,k\right\}\right\}$ and ${\overline{u}}_{j}^{i}$ is the j th component of the reduced gradient vector ${\overline{u}}^{i}$ for each objective function g i , i ∈ {1 ,..., k } at the optimal simplex table.

• The inequality (17) is called efficient cut ( Chergui & Moulaï (2008CHERGUI MEA & MOULAÏ M. 2008. An exact method for a discrete multiobjective linear fractional optimization. Journal of Applied Mathematics & Decision Sciences, 2008(1). )).

• If H l = Ø then the remaining domain contains no efficient solution and the node l is fathomed (Proposition 1). Conversely, if H l ≠ Ø, then the node l has a successor l + 1. The corresponding domain of the node l + 1, the successor of l , is given by applying (17) to (l):

${\mathcal{X}}_{l+1}=\left\{z\in {\mathcal{X}}_{l}:\sum _{j\in {H}_{l}}{z}_{j}\ge 1\right\}$ (18)

Each node l of the tree is fathomed if the corresponding problem Pl is unfeasible or H l = Ø. The algorithm can be summarized as follows:

Algorithm 1
Generating the efficient set of IMLP

## 3.2 Theoretical results

The following theoretical marks show that the Algorithm 1 determines the set of integer efficient solutions to problem (14) in a finite number of iterations.

Theorem 2.Assume that Hl ≠ Ø at the current integer solution ẑ (l) .

If z (l) is an integer efficient solution of problem (14) in domain 𝒳 l , then z𝒳 l+1 (the node l + 1 is the successor of node l).

Proof. Let z (l) be an integer solution in domain 𝒳 l such that z𝒳 l+1 , this implies

$z\in \left\{z\in {\mathcal{X}}_{l}:\sum _{j\in {H}_{l}}{z}_{j}<1\right\}$ (19)

Therefore, z satisfy the inequalities

$\sum _{j\in {H}_{l}}{z}_{j}<1$ (20)

$\sum _{j\in {N}_{l}\setminus {H}_{l}}{z}_{j}\ge 1$ (21)

This means that z j = 0 for all j𝒳 l , and z j 1 for at least one index jN l \H l . From the simplex table corresponding to the solution (l) we deduce the following equality for all criteria i ∈ {1 ,..., k }:

${u}^{i}z={u}^{i}{\stackrel{^}{z}}^{\left(l\right)}+\sum _{j\in {N}_{l}}{\overline{{u}_{j}}}^{i}{z}_{j}={u}^{i}{\stackrel{^}{z}}^{\left(l\right)}+\sum _{j\in {H}_{l}}{\overline{{u}_{j}}}^{i}{z}_{j}+\sum _{j\in {N}_{l}\setminus {H}_{l}}{\overline{{u}_{j}}}^{i}{z}_{j}$ (22)

Then,

${u}^{i}z={u}^{i}{\stackrel{^}{z}}^{\left(l\right)}+\sum _{j\in {N}_{l}\setminus {H}_{l}}{\overline{{u}_{j}}}^{i}{z}_{j}$ (23)

Thus, u i z ≤ u i (l) for all criteria i ∈ {1 ,..., k }, with u i z < u i (l) for at least one criterion since ${\overline{u}}_{j}^{i}\le 0$ for all jN l \H l .

Hence, the criterion vector ( g 1( z ) , ..., g k ( z )) is dominated by ( g 1( z ∗(l) ) , ..., g k ( z ∗(l) )) and z is not efficient. □

Proposition 1.Suppose that Hl = Ø at the current integer solution ẑ (l) , then there are no efficient solutions in the remaining domain X l \ẑ (l) .

Proof. Assume H l = Ø, then z ∗(l) is an optimal integer solution for all criteria. Therefore, z ∗(l) is an ideal point in the domain 𝒳 l , and 𝒳 l \ { z ∗(l) } does not contain efficient solutions. □

Theorem 3. The proposed algorithm generates all efficient integer solutions of the integer multicriteria linear problem (14) in a finite number of iterations, if such solutions exist.

Proof. Let 𝒳 be a finite bounded set containing 𝒟 , the set of integer feasible solutions of the IMLP problem. Since there are only finitely many integer solutions, the efficient set 𝒟 E has finite cardinality. As a result, the search tree will have a fixed number of branches. Consequently, the algorithm ends after a finite number of steps. □

## 3.3 An algorithm to solve the Integer Linear Multiplicative Problems ILMP

Using Theorem 1, we propose the following algorithm ( Algorithm 2 ) to solve the ILMP problem (15).

Algorithm 2
Solving Integer Linear Multiplication Problems ILMP

# 4 A METHOD TO SOLVE THE INTEGER LINEAR MULTIPLICATIVE BILEVEL PROBLEMS ILMBP

An exact method based on the branch and cut technique is given in depth in this section. The convergence of the method is then demonstrated.

## 4.1 Description of the method

The following general steps solve the Integer Linear Multiplicative Bilevel Problem ILMBP:

• - Step 1: In first, we initialize F opt = ∞, f opt = ∞, z opt = Ø, p = 0 and S 0 = S .

• - Step 2: Using the Algorithm 2 , we solve the upper level problem (24) over the subdomain S p corresponding to the node p .

$\mathrm{ULILMP}\left\{\begin{array}{l}\underset{\left(z\right)}{\mathrm{max}}F\left(z\right)=\prod _{i=1}^{k}\left({c}^{i}z+{\alpha }_{i}\right)\\ s.tz\in {S}_{p}\end{array}\right\$ (24)

• If the problem (24) has no solution, the main problem is unfeasible and the algorithm stops. If not, proceed to step 3.

• - Step 3: Let z ∗(p) = ( x ∗(p) , y ∗(p) ) be the integer optimal solution of the upper level and F opt = F ( z ∗(p) ). I p , N p are the index sets of the basic and nonbasic variables, respectively, of the optimal solution z ∗(p) obtained by Algorithm 2 . This solution is then tested for the optimality of the main problem by solving the lower level problem (25) ( Dempe (2002DEMPE S. 2002. Foundations of bilevel programming. Springer Science & Business Media. )): We fix x = x ∗(p) and use again the Algorithm 2 described above to solve the lower level problem (25),

$\mathrm{LLILMP}\left\{\begin{array}{l}\underset{y}{\mathrm{max}}f\left(x,y\right)=\prod _{j=1}^{l}\left({p}_{1}^{j}{x}^{*\left(p\right)}+{p}_{2}^{j}y+{\beta }_{j}\right)\\ s.t\left({x}^{*\left(p\right)},y\right)\in {\stackrel{^}{S}}_{p}\end{array}\right\$ (25)

• The integer optimal solution is $\stackrel{~}{\mathrm{y}}$ . There are two possible scenarios:

1. If ${y}^{*\left(p\right)}=\stackrel{~}{y}$ , then z ∗(p) = ( x ∗(p) , y ∗(p) ) is the reached integer optimal solution of the main problem (8), F opt = F ( z ∗(p) ), f opt = f ( z ∗(p) ), z opt = z ∗(p) and the algorithm stops.

2. Otherwise, if ${y}^{*\left(p\right)}\ne \stackrel{~}{y}$ or the lower level (29) is unfeasible, go to step 4.

• - Step 4: Instead of initializing 𝒟 E = Ø and ${\overline{\mathcal{D}}}_{E}=\varnothing$ in Algorithm 2 , we initialize ${\mathcal{D}}_{E}={\mathcal{D}}_{E}^{p-1}$ and ${\overline{\mathcal{D}}}_{E}={\overline{\mathcal{D}}}_{E}^{p-1}$ (for p ≥ 1) in order to avoid re-searching previously discovered solutions. We then proceed to update the sets ${\mathcal{D}}_{E}^{p}$ and ${\overline{\mathcal{D}}}_{E}^{p}$ .

• - ${\mathcal{D}}_{E}^{p}={\mathcal{D}}_{E}^{p}\\left\{{z}^{*\left(p\right)}\right\}$ and ${\overline{\mathcal{D}}}_{E}^{p}={\overline{\mathcal{D}}}_{E}^{p}$ .

• - If there is a solution $\overline{z}\in {\overline{\mathcal{D}}}_{E}^{p}$ such that the vector $\left({F}_{1}\left(\overline{z}\right),...,{F}_{k}\left(\overline{z}\right)\right)$ is not dominated by the vector ( F 1(z),…, F k(z)) for any $z\in {\mathcal{D}}_{E}^{p}$ , then ${\mathcal{D}}_{E}^{p}={\mathcal{D}}_{E}^{p}\cup \left\{\overline{z}\right\}$ , ${\overline{\mathcal{D}}}_{E}^{p}={\overline{\mathcal{D}}}_{E}^{p}\\left\{\overline{z}\right\}$ , goto step 5.

• - Step 5: The solution z ∗(p) in this step is not optimal for the main problem ILMBP, we want to eliminate this solution from the domain S p and continue the exploration from node p , where S p+1 is the corresponding domain of node p + 1, the successor of p , obtained by applying the inequality (27) to z ∗(p):

${S}_{p+1}=\left\{z\in {S}_{p}:\sum _{j\in {N}_{p}}{z}_{j}\ge 1\right\}$ (26)

• The inequality (27) is defined as follows:

$\sum _{j\in {N}_{p}}{z}_{j}\ge 1.$ (27)

• where N p is the set of indices of nonbasic variables of the optimal solution z ∗(p) obtained by Algorithm 2 . The integer solution z ∗(p) of the upper problem (24) is eliminated by the inequality (27), which is known as a Dantzig cut, and it is added to the successor nodes of p .

• ${\mathcal{D}}_{E}={\mathcal{D}}_{E}^{p}$ , ${\overline{\mathcal{D}}}_{E}={\overline{\mathcal{D}}}_{E}^{p}$ , p = p + 1, and goto step 2.

During each iteration of Algorithm 3 , the upper level is solved using Algorithm 2 (which uses Algorithm 1 ). The obtained solution is then tested for optimality of the main problem. If this solution is not optimal, we remove it from the domain and continue the exploration. The algorithm stops if the optimal solution for the main problem is obtained or if there is no solution at the upper level.

The algorithm used to obtain an integer optimal solution to our main problem (8) is can be summarized as follows:

Algorithm 3
An algorithm to solve the ILMBP problem

Theorem 4. The proposed algorithm generates an optimal integer solution of the program ILMBP in a finite number of iterations, if such a solution exists.

Proof. Let 𝒟 be the set of integer feasible solutions of the ILMBP problem, be a finite bounded set contained in the set of the feasible solutions $\stackrel{~}{S}$ . The set 𝒟 has finite cardinality because it contains finite integer solutions. Thus, at each step p of Algorithm 3 , if an integer solution z ( p ) of the main problem is not optimal, the Dantzig cut (27) is constructed and eliminates z ( p ), then a new node is determined. Therefore, when the set S p does not contain an integer optimal solution, the subtree rooted at node p is explored. Eventually, after a finite number of steps, all nodes are fathomed, and the search tree has a finite number of branches. As a result, the algorithm concludes within a finite number of steps. □

# 5 A DIDACTIC EXAMPLE

To illustrate the use of the algorithm, consider the following problem:

$\left(\mathrm{ILMBP}\right)\left\{\begin{array}{l}\underset{{x}_{1}}{\mathrm{max}}F\left({x}_{1},{y}_{1},{y}_{2}\right)=\left({x}_{1}+2{y}_{2}+3\right)\left(3{y}_{1}+2\right)\left(2{x}_{1}+{y}_{1}+2\right)\left({y}_{2}+1\right)\\ \text{where}\left({y}_{1},{y}_{2}\right)\text{solves}\\ \left\{\begin{array}{l}\mathrm{max}f\left({x}_{1},{y}_{1},{y}_{2}\right)=\left({y}_{1}+1\right)\left({x}_{1}+{y}_{1}-{y}_{2}+3\right)\\ s.t\\ 3{x}_{1}+{y}_{1}+2{y}_{2}\le 5\\ {y}_{1}+{y}_{2}\le 3\\ {x}_{1}+2{y}_{1}+{y}_{2}\le 2\\ 3{y}_{1}+2{y}_{2}\le 6\\ {x}_{1}\ge 0,{y}_{1}\ge 0,{y}_{2}\ge 0,integers\end{array}\right\\end{array}\right\$ (30)

To solve the ILMBP, we use Algorithm 3 .

Initializationp = 0, F opt = ∞ and f opt = ∞, z opt = Ø.

Solve the upper level problem ULILMP0, by using Algorithm 2 , the set of efficient and dominated solutions, respectively, 𝒟 E and ${\overline{\mathcal{D}}}_{\mathrm{E}}$ are determined, ${D}_{E}^{0}={D}_{E}$ , ${\overline{D}}_{E}^{0}={\overline{D}}_{E}$ .

For ( y 1 , y 2) = ( x 2 , x 3), the Upper Level Integer Linear Multiplicative ULILMP0 can be written as:

$\left({\mathrm{ULILMP}}_{0}\right)\left\{\begin{array}{l}\mathrm{max}F\left({x}_{1},{x}_{2},{x}_{3}\right)=\left({x}_{1}+2{x}_{3}+3\right)\left(3{x}_{2}+2\right)\left(2{x}_{1}+{x}_{2}+2\right)\left({x}_{3}+1\right)\\ s.t\\ 3{x}_{1}+{x}_{2}+2{x}_{3}\le 5\\ {x}_{2}+{x}_{3}\le 3\\ {x}_{1}+2{x}_{2}+{x}_{3}\le 2\\ 3{x}_{2}+2{x}_{3}\le 6\\ {x}_{1}\ge 0,{x}_{2}\ge 0,{x}_{3}\ge 0,integers\end{array}\right\$ (31)

To solve the upper level problem ULILMP0, consider the corresponding Integer Multicriteria Linear Problem IMLP:

$\left(\mathrm{IMLP}\right)\left\{\begin{array}{l}\mathrm{max}{g}_{1}\left({x}_{1},{x}_{2},{x}_{3}\right)=\left({x}_{1}+2{x}_{3}+3\right)\\ \mathrm{max}{g}_{2}\left({x}_{1},{x}_{2},{x}_{3}\right)=\left(3{x}_{2}+2\right)\\ \mathrm{max}{g}_{3}\left({x}_{1},{x}_{2},{x}_{3}\right)=\left(2{x}_{1}+{x}_{2}+2\right)\\ \mathrm{max}{g}_{4}\left({x}_{1},{x}_{2},{x}_{3}\right)=\left({x}_{3}+1\right)\\ s.t\\ 3{x}_{1}+{x}_{2}+2{x}_{3}\le 5\\ {x}_{2}+{x}_{3}\le 3\\ {x}_{1}+2{x}_{2}+{x}_{3}\le 2\\ 3{x}_{2}+2{x}_{3}\le 6\\ {x}_{1}\ge 0,{x}_{2}\ge 0,{x}_{3}\ge 0,integers\end{array}\right\$ (32)

For l = 0, 𝒳 0 = 𝒳 , D E = Ø, ${\overline{D}}_{E}=\varnothing$ , F opt = ∞, f opt = ∞ and z opt = Ø. The program P0 is solved. The integer optimal solution z ∗(0) = (0 , 0 , 2), is given in Table 1 .

Table 1
Simplex table for node 0.

The criterion vector is (7 , 2 , 2 , 3), D E = {(0 , 0 , 2)}, ${\overline{D}}_{E}=\varnothing$ .

H1 = {1 , 2}. The efficient cut x 1 + x 2 1 is added to P0 constraints. We obtain P1, solve the problem, and the integer optimal solution z ∗(1) = (1 , 0 , 1) is given in Table 2 .

Table 2
Simplex table for node 1.

The criterion vector is (6 , 2 , 4 , 2). Since this solution is efficient, we have D E = {(0 , 0 , 2) , (1 , 0 , 1)}, ${\overline{\mathcal{D}}}_{E}=\varnothing$ . H 2 = {2 , 8}, apply the efficient cut x 2 + x 8 1, and solve the new problem P2, the optimal solution z ∗(2) = (8 / 5 , 1 / 5 , 0) is given by Table 3 , which is not an integer.

Table 3
Simplex table for node 2.

The solution z ∗(2) = (8 / 5 , 1 / 5 , 0) is not an integer, the branching process generates two nodes node 1, node 2 corresponding to the following constraints:

node1: ${x}_{1}\ge ⌈\frac{8}{5}⌉$ .

node2: ${x}_{1}\le ⌊\frac{8}{5}⌋$ .

node1: The constraint ${x}_{1}\ge ⌈\frac{8}{5}⌉$ is added to the P2 constraints, making the augmented problem unfeasible, then the node is fathomed.

node2: The constraint ${x}_{1}\le ⌊\frac{8}{5}⌋$ is added to the P2 constraints, we get P3, solve the problem, the integer optimal solution z ∗(3) = (1 , 1 / 2 , 0) is given in Table 4 .

Table 4
Simplex table for node 3.

The solution z ∗(3) = (1 , 1 / 2 , 0) is not an integer, the branching process generates two nodes node 1, node 2 corresponding to the following constraints:

node1: ${x}_{2}\ge ⌈\frac{1}{2}⌉$ .

node2: ${x}_{2}\le ⌊\frac{1}{2}⌋$ .

node1: The constraint ${x}_{2}\ge ⌈\frac{1}{2}⌉$ is added to P3 constraints, we get P4, solve the problem, the integer optimal solution z ∗(4) = (0 , 1 , 0) is given in Table 5 .

Table 5
Simplex table for node 4.

z∗(4) = (0 , 1 , 0), the criterion vector is (3 , 5 , 3 , 1), is not dominated, therefore we update D E = {(0 , 0 , 2) , (1 , 0 , 1) , (0 , 1 , 0)}, ${\overline{\mathcal{D}}}_{E}=\varnothing$ . H 4 = {9 , 11}, the efficient cut x 9 + x 11 1 is added to P4 constraints, making the augmented problem unfeasible, then the node is fathomed.

node2: The constraint ${x}_{2}\le ⌊\frac{1}{2}⌋$ is added to the P4 constraints, constraints, which makes the augmented problem unfeasible. Consequently, the node is fathomed.

The efficient solution z ∗(1)D E which maximize the value of the objective function of the problem ULILMP0 is (1 , 0 , 1). Therefore, z ∗(1) is the optimal solution of the upper level ULILMP0 and F opt = 96. ${D}_{E}^{0}={D}_{E}$ , ${\overline{D}}_{E}^{0}={\overline{D}}_{E}$ . goto step 3.

Step 3: Put ${x}_{1}={x}_{1}^{*\left(1\right)}=1$ and solve the lower level problem LLILMP by the same technique cited in above Algorithm 2 .

$\left(\mathrm{LLILMP}\right)\left\{\begin{array}{l}\mathrm{max}f\left(1,{y}_{1},{y}_{2}\right)=\left({y}_{1}+1\right)\left({y}_{1}-{y}_{2}+4\right)\\ s.t\\ s.t\\ {y}_{1}+2{y}_{2}\le 2\\ {y}_{1}+{y}_{2}\le 3\\ 2{y}_{1}+{y}_{2}\le 1\\ 3{y}_{1}+2{y}_{2}\le 6\\ {y}_{1}\ge 0,{y}_{2}\ge 0,integers\end{array}\right\$ (33)

The optimal solution is $\left(\stackrel{~}{{x}_{2}},\stackrel{~}{{x}_{3}}\right)=\left(0,0\right)\ne \left(0,1\right)=\left({x}_{2}^{1},{x}_{3}^{1}\right)$ , then z ∗(1) = (1 , 0 , 1) is not optimal for the Integer Linear Multiplicative Bilevel Problem ILMBP, goto step 4.

Step 4: Update the set ${D}_{E}^{0}$ and the set ${\overline{D}}_{E}^{0}$ . ${D}_{E}^{1}={D}_{E}^{0}\\left\{{z}^{*\left(1\right)}\right\}$ and ${\overline{D}}_{E}^{1}={\overline{D}}_{E}^{0}\cup \left\{{z}^{*\left(1\right)}\right\}$ .

Step 5: N0 = {2 , 6 , 8}. We reduce the feasible region of ULILMP0 using the cut x 2 + x 6 + x 8 1, we obtain the new problem ULILMP1 and solve it.

Step 2: Use the above Algorithm 2 to solve the problem ULILMP1. To do, add the cut x 2 + x 6 + x 8 1 to the program P1, corresponding to the solution z ∗(1) = (1 , 0 , 1) and use the dual simplex method to solve the new problem P5. The optimal solution z ∗(5) = (0 , 0 , 1) is given by Table 6:

Table 6
Simplex table for node 5.

The criterion vector, which is dominated is (5 , 2 , 2 , 2). Therefore, D E = {(0 , 0 , 2) , (0 , 1 , 0)}, ${\overline{D}}_{E}=\left\{\left(1,0,1\right),\left(0,0,1\right)\right\}$ . H 5 = {2 , 8}, use the efficient cut x 2 + x 8 1, we determine a new program P6. The optimal solution z ∗(6) = (11 / 7 , 0 , 1 / 7) is indicated by Table 7:

Table 7
Simplex table for node 6.

As this optimal solution is not integer, the branching process generates two nodes node 7, node 8 corresponding to the following constraints:

node7: ${x}_{1}\ge ⌈\frac{11}{7}⌉$

node8: ${x}_{1}\le ⌊\frac{11}{7}⌋$

node7: The constraint ${x}_{1}\ge ⌈\frac{11}{7}⌉$ is added to Table 7 , making the augmented problem unfeasible, then the node is fathomed.

node8: The constraint ${x}_{1}\le ⌊\frac{11}{7}⌋$ is added to Table 7 to yield Table 8 with optimal solution ${z}^{*\left(7\right)}=\left(1,0,\frac{1}{3}\right)$

Table 8
Simplex table for node 7.

As this optimal solution is not integer, the branching process generates two nodes N 9, N 10 corresponding to the following constraints:

node9: ${x}_{3}\le ⌊\frac{1}{3}⌋$

node10: ${x}_{3}\ge ⌈\frac{1}{3}⌉$

node9: The constraint ${x}_{3}\ge ⌈\frac{1}{3}⌉$ is added to Table 8 , making the augmented problem unfeasible, then the node is fathomed.

node10: The constraint ${x}_{3}\le ⌊\frac{1}{3}⌋$ is added to Table 8 to obtain Table 9 with optimal solution ${z}^{*\left(8\right)}=\left(1,\frac{1}{2},0\right)$

Table 9
Simplex table for node 8.

As this optimal solution is not integer, the branching process generates two nodes node 11, node 12 corresponding to the following constraints:

node11: ${x}_{2}\le ⌊\frac{1}{2}⌋$

node12: ${x}_{2}\ge ⌈\frac{1}{2}⌉$

node11: The constraint${x}_{2}\le ⌈\frac{1}{2}⌉$ is added to Table 9 to yield Table 10 with optimal solution z ∗(9) = (1 , 0 , 0), the criterion vector is (4 , 2 , 4 , 1), which is not dominated, therefore, we update D E = {(0 , 0 , 2) , (1 , 0 , 0) , (0 , 1 , 0)}, ${\overline{D}}_{E}=\left\{\left(1,0,1\right),\left(0,0,1\right)\right\}$ .

Table 10
Simplex table for node 9.

H9 = Ø, then the node is fathomed.

node12: The constraint${x}_{2}\ge ⌊\frac{1}{2}⌋$ is added to Table 9 to yield Table 11 with optimal solution z ∗(10) = (0 , 1 , 0), the criterion vector is (3 , 5 , 3 , 1), is not dominated, therefore, D E = {(0 , 0 , 2) , (1 , 0 , 0) , (0 , 1 , 0)}, ${\overline{D}}_{E}=\left\{\left(1,0,1\right),\left(0,0,1\right)\right\}$ .

Table 11
Simplex table for node 10.

H10 = {6 , 10 , 11}. The efficient cut x 6 + x 10 + x 11 1 is added to Table 11 , making the augmented problem unfeasible, then the node is fathomed.

The efficient solution z ∗(0)D E which maximize the value of the objective function of the problem ULILMP1 is (0 , 0 , 2). Therefore, z ∗(0) is the optimal solution of the upper level ULILMP1 and F opt = 84. Goto step 3.

Step 3: Put ${x}_{1}={x}_{1}^{*\left(0\right)}=0$ and solve the lower level problem LLILMP by the same technique cited in above Algorithm 2 .

$\left(\mathrm{LLILMP}\right)\left\{\begin{array}{l}\mathrm{max}f\left(0,{y}_{1},{y}_{2}\right)=\left({y}_{1}+1\right)\left({y}_{1}-{y}_{2}+3\right)\\ s.t\\ s.t\\ {y}_{1}+2{y}_{2}\le 5\\ {y}_{1}+{y}_{2}\le 3\\ 2{y}_{1}+{y}_{2}\le 2\\ 3{y}_{1}+2{y}_{2}\le 6\\ {y}_{1}\ge 0,{y}_{2}\ge 0,integers\end{array}\right\$ (34)

The optimal solution is $\left(\stackrel{~}{{x}_{2}},\stackrel{~}{{x}_{3}}\right)=\left(1,0\right)\ne \left(0,2\right)=\left({x}_{2}^{1},{x}_{3}^{1}\right)$ , then

z∗(0) = (0 , 0 , 2) is not optimal for the Integer Linear Multiplicative Bilevel Problem ILMBP, goto step 4.

Step 4: Update the set ${D}_{E}^{1}$ and the set ${\overline{D}}_{E}^{1}$ . ${D}_{E}^{2}={D}_{E}^{1}\\left\{{z}^{*\left(0\right)}\right\}$ and ${\overline{D}}_{E}^{2}={\overline{D}}_{E}^{1}\cup {z}^{*\left(0\right)}$ .

There is a solution $\left(0,0,1\right)\in {\overline{\mathcal{D}}}_{E}^{2}$ such that the criterion vector (5 , 2 , 2 , 2) is not dominated, then ${\mathcal{D}}_{E}^{2}={\mathcal{D}}_{E}^{2}\cup \left\{\left(0,0,1\right)\right\}$ and ${\overline{\mathcal{D}}}_{E}^{2}={\overline{\mathcal{D}}}_{E}^{2}\\left\{\left(0,0,1\right)\right\}$ , goto step 5.

Step 5: For N1 = {1 , 2 , 6} we reduce the feasible region of ULILMP1 with the use of the cut x 1 + x 2 + x 6 1. We obtain the new problem ULILMP2 and solve it.

Step 2: Use the above Algorithm 2 to solve the problem ULILMP2. To do, add the cut x 1 + x 2 + x 6 1 to the program P0, corresponding to the solution z ∗(0) = (0 , 0 , 2) and use the dual simplex method to solve the new problem P11. The integer optimal solution z ∗(11) =(1 , 0 , 1) is given in Table 12 .

Table 12
Simplex table for node 11.

Fopt< F ( z ∗(11)), then the node is fathomed.

The efficient solution z ∗(4)D E = {(1 , 0 , 0) , (0 , 1 , 0) , (0 , 0 , 1)} which maximize the value of the objective function of the problem ULILMP2 is (0 , 1 , 0). Therefore, z ∗(4) is the optimal solution of the upper level ULILMP2 and F opt = 45. Goto step 3.

Step 3: Put ${x}_{1}={x}_{1}^{*\left(0\right)}=0$ and solve the lower level problem LLILMP by the same technique cited in above Algorithm 2 .

$\left(\mathrm{LLILMP}\right)\left\{\begin{array}{l}\mathrm{max}f\left(0,{y}_{1},{y}_{2}\right)=\left({y}_{1}+1\right)\left({y}_{1}-{y}_{2}+3\right)\\ s.t\\ s.t\\ {y}_{1}+2{y}_{2}\le 5\\ {y}_{1}+{y}_{2}\le 3\\ 2{y}_{1}+{y}_{2}\le 2\\ 3{y}_{1}+2{y}_{2}\le 6\\ {y}_{1}\ge 0,{y}_{2}\ge 0,integers\end{array}\right\$ (35)

The optimal solution is $\left(\stackrel{~}{{x}_{2}},\stackrel{~}{{x}_{3}}\right)=\left(1,0\right)=\left(1,0\right)=\left({x}_{2}^{4},{x}_{3}^{4}\right)$ , then

z∗(4) = (0 , 1 , 0) is the integer optimal solution of the Integer Linear Multiplicative Bilevel Problem ILMBP, F opt = 45 and f opt = 10 .

To summarize the proposed Branch & Cuts method throughout this example, we present a tree representing states of the nodes during the process ( Figure 1 ).

Figure 1
Tree representing states of nodes during Branch and Cut algorithm for solving ILMBP problem.

# 6 NUMERICAL EXPERIMENTS

The method was implemented in the Visual Studio 2015 environment and tested on randomly generated (ILMBP) problems. The data is randomly generated by a discrete uniform distribution in the interval [1,30] for constraints coefficients, [50,100] for right hand side coefficient bj . The vectors ${c}_{1}^{i},{p}_{1}^{j},{c}_{2}^{i},{p}_{2}^{j}$ and the scalars α i , β j are generated in [1,10] to ensure the necessary condition of positivity for $\left({c}_{1}^{i}x+{c}_{2}^{i}y+{\alpha }^{i}\right)$ and $\left({p}_{1}^{j}x+{p}_{2}^{j}y+{\beta }^{j}\right)$ for i ∈ {1 ,..., k }, j ∈ {1 ,..., l }. The Integer Linear Multiplicative Bilevel Programs are solved using the library IBM CPLEX 12.8 for C++ programs. For each instance ( n 1 , n 2 , m, k, l ) (number of upper variables, number of lower variables, number of constraints, number of factors to the upper problem, number of factors to the lower problem), a series of 10 problems were solved. Computational experiments were carried out on a 2.4 GHZ ACER computer, Intel(R) Core (TM) i5 processor and 4 GB memory. The obtained performance of the Algorithm 3 is summarized in Table 13 where mean, maximum number of CPU time (in seconds) are reported. As can be observed, the proposed Algorithm 3 is quick to execute (cpu(second)) for small and medium dimensions.

Table 13
Computational results.

# 7 CONCLUSION

In this study, we have presented a novel algorithm for solving the Integer Linear Multiplicative Bilevel Problem ILMBP. The algorithm is based on the branch and cut method. If the obtained integer optimal solution is not optimal for the main problem, a cut (27) is introduced that truncate the integer optimal solution of the upper problem (24), which allows us to select a new integer solution. The suggested algorithm offers the integer optimal solution, if one exists, and is an exact method.

The integer optimal solution of the main problem is reached in a finite number of iterations. We have provided a didactic example to explain the main steps of the algorithm. Moreover, to evaluate the algorithm, we conducted a numerical study where we calculated the computation time for random instances of different sizes and the results are acceptable.

Combinatorial linear multiplicative bilevel problems are a specific case of this mathematical program, hence our novel approach can be used to solve them. However, the technique can be improved by employing bounds in the branching process to determine the upper level’s optimal solution more rapidly. This paper should spur researchers to create more effective methods for solving this issue. Future works might take into account the similar issue with nonlinear factors.

# Acknowledgements

The authors are grateful to Dr Yacine Chaiblaine and anonymous reviewers whose comments allowed us to improve the manuscript significantly. The authors’ work was supported by the General Direction for Scientific Research and Development Grant ID: C0656104.

# References

• ABBAS M & MOULAÏ M. 2002. Integer linear fractional programming with multiple objective. Journal of the Italian Operations Research Society, 32(103-104): 15-38.
• ANEJA Y, AGGARWAL VA & NAIR K. 1984. On a class of quadratic programs. European Journal of Operational Research, 18(1): 62-70.
• ARORA R & GUPTA K. 2018. Branch and bound algorithm for discrete multi-level linear fractional programming problem. Operations Research and Decisions, 28.
• ARORA R & GUPTA K. 2021. Fuzzy programming for multi-choice bilevel transportation problem. Operations Research and Decisions , 31(3).
• BECTOR C. 1972. Indefinite quadratic fractional functional programming. Metrika, 18: 21-30.
• CANDLER W & TOWNSLEY R. 1982. A linear two-level programming problem. Computers & Operations Research, 9(1): 59-76.
• CHAKRABARTY D, DEVANUR N & VAZIRANI VV. 2006. New results on rationality and strongly polynomial time solvability in eisenberg-gale markets. In: Internet and Network Economics: Second International Workshop, WINE 2006, Patras, Greece, December 15-17, 2006. Proceedings 2. pp. 239-250. Springer.
• CHERGUI MEA & MOULAÏ M. 2008. An exact method for a discrete multiobjective linear fractional optimization. Journal of Applied Mathematics & Decision Sciences, 2008(1).
• DEMPE S. 2002. Foundations of bilevel programming. Springer Science & Business Media.
• DEMPE S & DUTTA J. 2012. Is bilevel programming a special case of a mathematical program with complementarity constraints? Mathematical programming, 131: 37-48.
• DEMPE S, MORDUKHOVICH BS & ZEMKOHO AB. 2014. Necessary optimality conditions in pessimistic bilevel programming. Optimization, 63(4): 505-533.
• DEWEZ S, LABBÉ M, MARCOTTE P & SAVARD G. 2008. New formulations and valid inequalities for a bilevel pricing problem. Operations research letters, 36(2): 141-149.
• FORTUNY-AMAT J & MCCARL B. 1981. A representation and economic interpretation of a two-level programming problem. Journal of the operational Research Society, 32: 783-792.
• GOLPÎRA H. 2017. Robust bi-level optimization for an opportunistic supply chain network design problem in an uncertain and risky environment. Operations Research and Decisions , 27(1): 21-41.
• GOTOH JY & KONNO H. 2001. Maximization of the ratio of two convex quadratic functions over a polytope. Computational Optimization and Applications, 20: 43-60.
• IRELAND N. 1971. MICROECONOMIC THEORY-HENDERSON, JM AND QUANDT, RE.
• JAIN K & VAZIRANI VV. 2007. Eisenberg-gale markets: Algorithms and structural properties. In: Proceedings of the thirty-ninth annual ACM symposium on Theory of computing. pp. 364- 373.
• KONNO H & INORI M. 1989. Bond portfolio optimization by bilinear fractional programming. Journal of the Operations Research Society of Japan, 32(2): 143-158.
• KONNO H & KUNO T. 1992. Linear multiplicative programming. Mathematical Programming, 56: 51-64.
• MAACHOU N & MOULAÏ M. 2015. Bilevel quadratic fractional/quadratic problem. In: Modelling, Computation and Optimization in Information Systems and Management Sciences: Proceedings of the 3rd International Conference on Modelling, Computation and Optimization in Information Systems and Management Sciences-MCO 2015-Part I. pp. 381-389. Springer.
• MAACHOU N & MOULAÏ M. 2022. Branch and cut method for solving integer indefinite quadratic bilevel programs. Annals of Operations Research, pp. 1-31.
• MALING K, HELLER W & MUELLER S. 1982. On finding most optimal rectangular package plans. In: 19th Design automation conference. pp. 663-670. IEEE.
• MARCHI E. 2008. When is the product of two concave functions concave? University of Minnesota. Institute for Mathematics and Its Applications.
• MOULAÏ M & DRICI W. 2018. An indefinite quadratic optimization over an integer efficient set. Optimization , 67(8): 1143-1156.
• NARANG R & ARORA S. 2009. Indefinite quadratic integer bilevel programming problem with bounded variables. Opsearch, 46: 428-448.
• NASH JR J. 1950. The bargaining problem. Econometrica: J Econ Soc 18 (2): 155-162.
• NEVES JCS, LUCAS SF, NEVES GC & WEISSMANN J. 2023. Bi-level model: new approach to dynamic vehicle allocation in supply chain. Pesquisa Operacional, 43: e266695.
• QUYNH TD, TAO PD ET AL. 2012. A DC programming approach for a class of bilevel programming problems and its application in portfolio selection. Numerical Algebra, Control and Optimization , 2(1): 167-185.
• SIMAAN M & CRUZ JR JB. 1973. On the Stackelberg strategy in nonzero-sum games. Journal of Optimization Theory and Applications, 11(5): 533-555.
• SINHA S. 2003. Fuzzy programming approach to multi-level programming problems. Fuzzy sets and systems, 136(2): 189-202.
• SWARUP K. 1966a. Indefinite quadratic programming. Cahiers du Centre d’Etudes de Recherche Operationnelle, 8: 217-222.
• SWARUP K. 1966b. Quadratic programming. CCERO (Belgium), 8(2): 132-136.
• THIRWANI D & ARORA S. 1998. An algorithm for quadratic bilevel programming problem. International Journal of Management and System, 14(2): 89-98.
• VAZIRANI VV. 2012a. The notion of a rational convex program, and an algorithm for the Arrow-Debreu Nash bargaining game. Journal of the ACM (JACM), 59(2): 1-36.
• VAZIRANI VV. 2012b. Rational convex programs and efficient algorithms for 2-player Nash and nonsymmetric bargaining games. SIAM Journal on Discrete Mathematics, 26(3): 896-918.
• VICENTE LN & CALAMAI PH. 1994. Bilevel and multilevel programming: A bibliography review. Journal of Global optimization, 5(3): 291-306.
• WEN UP & HSU ST. 1991. Linear bi-level programming problems-a review. Journal of the operational Research Society , 42: 125-133.
• WEN UP & YANG Y. 1990. Algorithms for solving the mixed integer two-level linear programming problem. Computers & Operations Research , 17(2): 133-142.
• WHITE DJ & ANANDALINGAM G. 1993. A penalty function approach for solving bi-level linear programs. Journal of Global Optimization , 3: 397-419.

# Publication Dates

• Publication in this collection
08 Mar 2024
• Date of issue
2024