An Exact Algorithm Based on the Kuhn–Tucker Conditions for Solving Linear Generalized Semi-Infinite Programming Problems

Optimization problems containing a finite number of variables and an infinite number of constraints are called semi-infinite programming problems. Under certain conditions, a class of these problems can be represented as bi-level programming problems. Bi-level problems are a particular class of optimization problems, in which there is another optimization problem embedded in one of the constraints. We reformulate a semi-infinite problem into a bi-level problem and then into a single-level nonlinear one by using the Kuhn–Tucker optimality conditions. The resulting reformulation allows us to employ a branch and bound scheme to optimally solve the problem. Computational experimentation over well-known instances shows the effectiveness of the developed method concluding that it is able to effectively solve linear semi-infinite programming problems. Additionally, some linear bi-level problems from literature are used to validate the robustness of the proposed algorithm.


Introduction
e more general case of semi-in nite programming (SIP) problems occurs when a nite number of semi-in nite constraints are considered. Each constraint consists in a set of constraints indexed by a set of in nite cardinality, in this case, a generalized semi-in nite programming (GSIP) problem arises. Previous work has been reported for problems that involve continuous and di erentiable functions [1][2][3].
erefore, linear generalized semi-in nite programming (LGSIP) problems can be considered as a particular case of GSIPs, where all the de ning functions are su ciently smooth. In [4], an inverse optimization approach is proposed to solve a LGSIP. In general, semi-in nite programming is a very challenging eld and keeps attracting the attention of researchers. For instance, a review of solution methods and di erent applications appear in [5]. Similarly, GSIPs have been proposed to model a wide variety of real-life applications, such as design centering, optimization of assembly lines, time minimal control, and robust optimization [6].
A basic reference on this topic is [7], and a review of classical methods in GSIP appears in [8]. When the set Y(x) Y does not depend on the variable x, we have a standard semi-in nite programming (SSIP) problem which is another especial case in GSIP. Regarding the latter problems, in [9], an extensive study on their main characteristics is presented, and, in [10,11], some algorithmic aspects are reviewed. Recent results for a linear case are presented in [12][13][14][15]. For a wide overview of SSIP applications, we refer to [7]. Some applications of GSIP can be found in the maneuverability problem in robotics (see [16]) and the reverse Chebyshev approximation (see [17,18]). eory and solution methods for SIPs are strongly related to their corresponding bi-level formulation. e connection between both classes of problems relies in the fact that, under certain conditions, semi-in nite problems can be reformulated as bi-level programming ones [1,3]. Bilevel programming (BLP) problems have been used to model applications widely, for example, in location, network design, pricing, humanitarian logistics, and telecommunication systems, among others [19,20]. BLP can be seen as a hierarchized situation in which the decision maker with a higher hierarchy (leader) aims to optimize his/her own objective function depending on its decisions and the decisions taken by the decision maker with a lower hierarchy (follower). In this case, the follower considers his/her own optimization problem but parameterized according to the leader's decision. It is essential to mention that BLP cannot be seen as two-stage optimization problems, since the leader's decision restricts the follower's problem, and then, the follower's decision impacts the leader's objective function. Hence, both decisions are interrelated but respecting a predefined hierarchy among the decision makers.
As it is mentioned above, there exist few methods for solving generalized semi-infinite optimization that exploit the closely relationship obtained from the bi-level structure of the problems [8]. Despite the abovementioned, the proposed methods that solve GSIPs are scarce and the computational experimentations are limited. e latter motivated us to conduct this research. Hence, in order to benefit from the relationship between GSIPs and BLPs, the following idea could be followed: reformulate the lower-level problem by some of the well-known methods. For instance, in the convex case, the Kuhn-Tucker optimality conditions are commonly used. After that, some of the classical algorithms used to solve linear bi-level problems, such as the Kth-best algorithm, Kuhn-Tucker approach, complementarity approach, variable elimination algorithm, and penalty function approach [21,22], could be implemented to solve the reformulated GSIP. In this case, we decided to implement a different exact approach, which is based on the branch and bound method, which have been used to successfully solve nonlinear SIPs (see [23]).
Other methods that have been used to solve GSIPs via the bi-level formulation differ from each other on the lowerlevel reformulations. For instance, Stein [2] uses equilibrium constraints to model the lower level. In [8], complementarity constraints are employed to replace the lower level. Numerical methods to approximate the original problem are generated by substituting these complementarity constraints by smooth ones [3,24]. at method has been applied to solve centering design and lapidary cutting problems (see [1,25], respectively). Another approach is to reformulate the lower level by its corresponding dual problem. In [24], Wolfe's dual problem is considered. It is shown that, under additional conditions, the resulting problem is numerically tractable.
eoretically, feasible direction methods and discretization algorithms [6] have been also proposed to solve GSIPs. However, the computational experimentation is complicated when having multidimensional set of indices. Most of these methods are developed to solve particular class of GSIPs or made significant assumptions preventing their reproducibility, in general. On the contrary, the algorithm herein proposed is motivated by the ideas given in [3] for solving a general case of semi-infinite programming problems but neither a detailed description nor results are reported there. Hence, a detailed step-by-step description of the algorithm is included to facilitate its implementation and reproducibility. e main contribution of this research is the proposal of an algorithm that can be used to solve a particular class of generalized semi-infinite programming problems. In particular, linear problems consider a semi-infinite constraint. e proposed method exploits the conditions that allow a generalized semi-infinite problem to be handled as a bi-level programming one. In order to apply this method, the representation of the semi-infinite problem as a bi-level one is required. en, its Kuhn-Tucker optimality conditions are used to reformulate the bi-level problem into a single-level one, which is solved via a branch-and-bound scheme. e effectiveness of the algorithm is shown through computational experimentation. To validate the obtained results, we analytically solve the tested linear semi-infinite programming problems, showing the algebraic and graphical solutions coincide with the solution obtained by the algorithm. e remainder of this study is organized as follows. In Section 2, some preliminaries and the notation considered throughout this research is presented. In Section 3, the developed algorithm is described. erefore, the computational experimentation, in which the effectiveness of the algorithm is validated, is presented in Section 4. Additionally, some examples are solved in a geometric and algebraic way to corroborate the obtained solution. Conclusions that include important remarks regarding the topic investigated in this study and further research directions are presented in Section 5.

Preliminaries
Let us introduce the necessary notation for this study, as well as some concepts, and necessary results on GSIP and BLP that will be used. roughout this study, we consider a, c, c 1 , We consider linear generalized semi-infinite programming (LGSIP) problems which are defined as SIP: min where Unless otherwise stated, we will consider x ∈ X and y ∈ Y 0 , where the sets X and Y 0 will represent additional restrictions on the decision variables. In particular, X ⊆ R n + and Y 0 ⊆ R m + , that is, x i ≥ 0 and y j ≥ 0, for all i � 1, . . . , n and j � 1, . . . , m, respectively. Furthermore, we will consider that X � do m Y, where dom Y � x|Y(x) ≠ ∅ { }; this condition can always be satisfied by adding in X appropriate extra conditions (such as x i ≤ δ or others depending only on the variables x i ).
Following the notation presented in [21], a linear bi-level programming (LBLP) problem is defined as 2 Journal of Mathematics BL: min and y solves, where Y(x) is defined as in SIP.
With the conditions on X, the problem SIP can be considered as a LBLP problem with the special structure that lower-level objective function is obtained with the upperlevel constraint. e problem that results is presented next (see [3]): and y solves, In order to have well-defined considered problem, we assume that the set-valued mapping Y: R n ⟶ 2 R m is uniformly compact on R n . In other words, there exists a ball where cl X denotes the topological closure of X. erefore, under these assumptions, the mapping Y is closed and upper semicontinuous in the sense of Berge, and X is a closed set. It is important to remark that, by considering the latter condition, the lowerlevel problems Q(x), x ∈ X, always has an optimal solution. e following sets are associated with a bi-level problem. Let S(x) � y|y is a solution global of Q(x) be the set of solutions of Q(x). Consider S � (x, y)|y ∈ S(x) as the solution graph of Q, and G � (x, y) | a T x + b T y ≤ b 0 as the constrained set for the upper level. Also, let M BL � (x, y)|(x, y) ∈ G, y ∈ S(x) be the feasible set of BLP.
Now, the concepts associated with the semi-infinite problem defined in the introduction are presented. First, its feasible set is defined as follows: Under the assumptions made on the set X, we have (see [3]) M SIP � pr x (M BL SIP ), where pr x denotes the orthogonal projection onto the space R n . e latter equality allows the use of methods proposed to solve LBLP problems to obtain the solution of LGSIP problems.
As it is mentioned in the introduction, the main idea of the algorithms designed to solve linear bi-level problems is to reformulate the bi-level problem into an equivalent single-level one. e latter can be achieved by using the important result described next.
Consider u ∈ R q and v ∈ R m as the corresponding dual variables of the constraints associated with the lower-level problem, that is, constraints represented by equation (3). Using the notation of problem BL SIP , we adapt the following proposition given in [21].
is single-level reformulation is valid in bi-level programming when the lower-level problem is convex. Hence, it not always exists for all the classes of BLP problems. However, in this study, we are considering the linear case, so the problems can be reformulated under this scheme.

An Algorithm that Uses the Kuhn-Tucker Optimality Conditions and a Branch-and-Bound Scheme for Solving LGSIPs
It is well known that one of the most common approaches to solve a linear bi-level problem is by using its equivalent single-level reformulation, which is given in equation (5)- (10). It can be appreciated that the resulting single-level model is a nonlinear one (see equation (9)), which complicates the optimization process. Noting that equation (9) is the only nonlinear constraint, it is common to try to handle the reformulation without that equation instead of solving the reformulated nonlinear single-level model. One option to address the nonlinearity of the reformulated model is by omitting the nonlinear term (this results in a relaxation of the problem) and solve the resulting relaxed problem. For achieving this, let us consider all the inequalities that appear in the lower-level problem in the following manner: imply the complementarity slackness constraints. Recall that the relaxed reformulation yields to a linear subproblem.
After the resulting linear subproblem has been solved, it is checked if equation (9) holds. If so, the optimal solution obtained is a feasible solution of problem given by equation (5)-(10), which implies that it is a feasible solution for the bilevel problem derived from the SIP; if not, an approach based on a branch and bound scheme is implemented to try to satisfy the complementarity slackness constraints. To achieve the latter, an examination of all the possible combinations' values that guarantee the complementarity slackness implicitly is conducted. A complete cycle of this procedure is called an iteration. e notation introduced in [21], which is the classical notation for an implicit enumeration, is used to describe the solution method herein considered. Let W � 1, . . . , q + m be the set of indexes associated with the complementarity slackness terms (see equation (9)). Consider F(·) as the objective function of the single-level reformulation, which corresponds to the upper-level's objective function of the bilevel problem, and consider F as the incumbent upper bound on the upper-level's objective function. A subset of indexes W k ⊂ W is considered at the kth level of the search tree, and also, a path P k is used. e path indicates if either u i � 0 or g i � 0, for i ∈ W k . e common sets S + k , S − k , and S 0 k of the implicit branch and bound are used. erefore, e variables u i and g i , for which i ∈ S 0 k , are considered as nonnegative when solving the relaxation of the singlelevel reformulated problem defined by equations (6)- (11). Recall that, in the aforementioned relaxation, equation (9) is omitted. Hence, the complementarity slackness constraint may be satisfied or not. e description of the algorithm based on a branch-andbound scheme that considers the complementarity slackness constraints is presented next. It is important to emphasize that this algorithm is based in the Kuhn-Tucker approach for solving linear bi-level problems (see [21]). In nonlinear problems, Kuhn-Tucker conditions are used in globalization [26].
Try to solve the relaxed singlelevel problem, that is, the problem defined by problem defined in equations (6)-(11) omitting equation (9). If an optimal solution is obtained, do k ← k + 1, record the solution (x k , y k , u k ), and continue to the Fathom step; otherwise, go to the Backtrack step.
Fathom: if the obtained solution yields an objective function value worst that the incumbent, a backtrack is needed. at is, if F(x k , y k ) ≥ F, go to the Backtrack step; otherwise, continue to the Branch step. Branch: if u k i g i (x k , y k ) � 0, i � 1, . . . , q + m, go to the next step; otherwise, select the ith for which the product u k i g i (x k , y k ) is the largest one and label it as i 1 . Update the sets as follows: Append i 1 to the current path P k , and return to the main step. Update: set the incumbent objective function value as F � F(x k , y k ). Backtrack: if all the nodes in the current path P k has been explored already, go to the next step; otherwise, branch to the ith component most recently introduced in the path P k and update S + k , S − k , and S 0 k . Return to the main step. Termination: if the initial incumbent value remains the same (F � ∞), hence, there is no feasible solution to the bi-level problem. Otherwise, consider the feasible solution associated with F as the optimal one.
is algorithm based in the branch-and-bound scheme solves exactly the equivalent single-level reformulation of the linear bi-level programming problem. e latter arises from linear generalized semi-infinite problems. erefore, this algorithm is used to solve LGSIPs optimally.

Numerical Experimentation
In this section, the algorithm described above is used to solve a set of ten linear semi-infinite problems with different characteristics. Its effectiveness and suitability to solve LGSIPs are shown. Since various examples will be shown, the semi-infinite problem, its feasible set, the optimal value, and the optimal set are distinguished as P i , M i SIP , v i , and F * i , respectively, where i denotes the number of example. Moreover, for the bi-level form, we also distinguish its corresponding sets S i (x), S i , G i , and M i BL SIP . e aim of this section is to exhibit that the proposed algorithm is able to solve LGSIPs in an efficient manner. e optimal solution of the tested problems is compared with the optimal solution obtained analytically. Also, eight additional linear bi-level problems are tested to robust the computational section showing that the algorithm is able to efficiently solve these problems. Since the majority of the semi-infinite problems herein tested are proposed by us, we do not compare the efficiency results of our algorithm against other methods. However, a comparison regarding the quality of the solution is made. e first three examples show the particular case when Y(x) � Y. Although the study is only of interest in the general case (since in standard SIPs, they are inherently finite by the vertex theorem), standard SIPs are considered to show that the algorithm is effective in both cases. Example 1. Consider the following problem: (13) Figure 1 shows that the problem has feasible solution, v 1 � 1 and F * 1 � (1, 0) ' . e bi-level formulation of P 1 is 4 Journal of Mathematics and y solves, e solution obtained by the algorithm coincides with the solution obtained geometrically.
Example 2. Consider the following problem: e corresponding bi-level formulation is and y solves, e algorithm shows that F * 2 (0, 2) ' and v 2 2.
e bi-level formulation is and y solves, e results obtained by the algorithm are F * 3 (0, 1) ' and v 3 1.
e following examples show that the proposed algorithm is also e ective to solve semi-in nite problems in the general case.
To solve the semi-in nite problem using the algorithm herein proposed, its bi-level formulation is deduced: and y solves, en, its equivalent single-level reformulation is as follows:

Journal of Mathematics
To solve that problem, the nonlinear constraint (complementarity slackness constraint) is omitted and the relaxed linear problem is solved: e optimal solution of the relaxed problem is (x, y, u, v) ' � (1, 0, 2, 0) ' , with an optimal value of F � −1. Now, the relaxed complementarity slackness constraints are verified. e algorithm first explores the branch when u � 0. In this case, the resulting problem is infeasible, and that branch is fathomed. en, the branch that considers (x/2) − y � 0 is explored. In this case, the optimal solution (x, y, u, v) ' � (0.5, 0.25, 2, 0) ' is obtained, yielding to F � −0.5. e search to the global optimum continues, and v � 0 is imposed. By doing this, the same solution of the latter problem is obtained. At this point, the obtained solution is a candidate to be the global optimum of the semiinfinite problem since all the complementarity slackness constraints are hold. To finish the search, the constraint v � 0 is substituted by y � 0 and the resulting problem is solved. e obtained solution is (x, y, u, v) ' � (0, 0, 2, 0) ' and the objective function value of F � 0. e algorithm stops and the optimal solution of the bi-level problem is (x, y, u, v) ' � (0.5, 0.25, 2, 0) ' with F � −0.5. Hence, the optimal solution for the semi-infinite problem is x � 0.5 y v 4 � 0.5.
In Figure 2, the representation of the search tree is shown.

(28)
Similarly, as in the previous example, the branch and bounding scheme explores the search tree depicted in Figure 3 to achieve the optimal solution. e solution that the algorithm obtains is (0, 3) ' as optimal set and 0 as optimal value, which shows that F * 5 � 0 { } and v 5 � 0. e results are validated by solving P 5 in a geometric way. We have e solution graph of Q is shown in Figure 4. On the contraru, in Figure 5, we show that 6 Journal of Mathematics As M 5 SIP pr x (M 5 BL SIP ), the feasible set is e optimal solution of the SIP problem obtained from the above described feasible set is the same as the one obtained by the algorithm. Example 6. Consider the following problem: Figure 2: Search tree for Example 4.  x + y = 3 2 Journal of Mathematics 7 where and y solves, (34) e algorithm shows that the problem does not have feasible solution (from the Backtrack step goes to the Termination one). e result is justified geometrically because the intersection of G 6 and S 6 is empty.
Example 7. Consider the following problem: and y solves, e solution graph of Q is shown in Figure 6. On the contrary, in Figure 7, we show that Since M 7 SIP � px x (M 7 BL SIP ), the feasible set is M 7 SIP � [1. 5,3]. e optimal solution is x � 1.5. We have the same result with the algorithm. Example 8. Consider the following problem: e corresponding bi-level formulation is and y solves, e solution obtained by the algorithm is (x 1 , x 2 ) ' � (1, 0) ' and v 8 � −1.
If the restriction y ≤ 1 is omitted in the problem P 8 , then the problem is unbounded. Moreover, if x 1 and x 2 have no sign constraints, the feasible set exhibits a so-called re-entrant corner point at the origin (see [2]).
Example 9. Consider the following problem: where e corresponding bi-level formulation is and y solves, e solution obtained by the algorithm is (x 1 , x 2 ) ' � (0, 3) ' and v 9 � −3.
Example 10. Consider the following problem: where 8 Journal of Mathematics e corresponding bi-level formulation is min and y solves, e solution obtained by the algorithm is (x 1 , x 2 ) ' (3, 3) ' and v 10 −6.
If the restriction x 2 ≤ 3 is omitted in the problem P 10 , then the problem is unbounded. Moreover, if x 1 and x 2 have no sign constraints, the feasible set is not closed (see [2]). e examples and computational results are summarized in Table 1, in which the problem is shown in the rst column, the optimal solution is reported in the second one, the number of mathematical programming problems solved until the optimal solution obtained is presented in the third column, the total number of mathematical programming problems solved to guarantee optimality is shown in the fourth column, and the total CPU required time is reported in the last column. All tests were performed using a personal computer having an Intel (R) Core processor with 8 GB of RAM, and the proposed algorithm was coded and run using the FICO XPRESS 8.5 commercial software. Also, as mentioned in each example, the optimal solutions are taken from the cited references in which each problem is proposed. e e ectiveness of the algorithm is shown by solving an additional set of problems that appears in [3,21,22,27]. Here, bi-level problems are considered to show the robustness of the developed method. e algorithm starts from the point in which a bi-level reformulation of the linear generalized semi-in nite programming problem is obtained. As it is explained above, the algorithm aims to nd the optimal solution, but then, global optimality must be guaranteed. As a consequence, additional iterations are required. However, the required time to solve the tested problems is very short. e obtained results are presented in Table 2 in which we follow the notation of the authors.

Application to a Real-Life Problem
In this section, a case study regarding a supply chain, in which distribution centers and manufacturers are involved, is used to demonstrate the applicability of the developed algorithm. e problem herein considered is proposed in [28] and considered in [27]. At the upper level, the distribution centers aim to maximize the overall pro t, while at the lower level, the manufacturer aims to minimize the costs.
Let y ij be the upper-level decision variables, which denote the amount of products that will be available at distribution center i. Also, let x ij be the lower-level decision variables and represent the demand of customer j supplied from the distribution center i. erefore, the upper-level objective function is given by the bene t obtained from selling x ij products at price p ij minus the production costs u i . e lower-level objective function is given by the manufacturing costs o ij and the acquisition cost from other manufacturers.
e imposed constraints are typical on a problem of this type; that is, there is a capacity c i at the distribution centers, the demand of the customers cannot be supplied from distribution centers that are closed, and at least the minimum demand of customers must be ful lled.
(49) e obtained solution is the same as in [27,28], that is, (x 11 , x 21 ) � (y 1 , y 2 ) � (1000, 500), with a corresponding objective function value of 105,000. e algorithm solves 5 mathematical problems, and the optimal solution was assured in the 5th iteration. It required 0.031 seconds to reach the optimal solution. It is important to mention that, in [27], hybrid genetic and particle swarm optimization algorithms solved the problem in 8 iterations, while 6 iterations of a population-based metaheuristic are required in [28]. Both references do not report the computational time, but for the type of algorithms, it is probably that our methodology is faster for solving this real-life application.

Conclusions
In this study, the bi-level formulation of linear generalized semi-infinite programming problems is exploited to propose an easy-to-implement exact solution algorithm. e core of the method relies in the use of Kuhn-Tucker optimality conditions to reduce the bi-level formulation into a nonlinear programming problem with complementarity constraints. e main contribution of this study is the approach of satisfying the complementarity constraints via a branchand-bound scheme.
at strategy is utilized in bi-level programming, but the adaptation to solve linear generalized semi-infinite programming problems is a novel contribution in this research area.
Additionally, computational experimentation is conducted to validate the proposed algorithm and its effectiveness. Diverse linear generalized semi-infinite programming problems with different characteristics are considered to validate the robustness of the implemented algorithm. An interesting real-life application is considered during the numerical experience, which demonstrates the convenience and applicability of the proposed approach. erefore, the proposed method results in an alternative for solving this particular type of problems that avoid the inclusion of additional functions to regulate the complementarity constraints, as in [8]. Nevertheless, in both methods, similar assumptions are made before applying them.
A generalization of the proposed method for the case when many semi-infinite constraints are considered is presented in [3]. eir proposal is described in a theoretical manner, but its application to specific semi-infinite problems and computational experiments are not reported. e latter may be a challenging further research direction. Another opportunity is to extend the presented algorithm for solving other variants of SIPs. Also, the generalization of the algorithm to the case with many semi-infinite constraints can also be considered as future work.
Data Availability e data that support the findings of this study are available from the corresponding author upon reasonable request.