1 Introduction

The bilevel programming (BLP) problem is a subclass of multi-level programming (MLP), where the latter deals with decentralized planning problems with a number of decision-makers (DMs) and the former with only two levels and decision-makers respectively. In multi-level company/organizations or a hierarchical structure of decision systems, the decisions taken influence each level as a vicious circle. In the BLP problem, two decision-makers are located at two different hierarchical levels, each independently controlling a subset of decision variables with different set of objectives. The upper-level decision-maker (DM) is called the leader who makes its decision forthrightly to the lower-level DM called the follower. The decision-makers at different levels aim to maximize their own objective function which in turn affect the optimal value of the respective optimization problem. This complexity is further enhanced with multiple objectives at one or both the levels. In the presence of multiple conflicting objectives, one solution cannot optimize all the objectives, so an efficient solution is needed. Further, the non-convexity and non-linearity either in the objective functions or constraints amplify their computational complexity. In addition, under different set of environment such as fuzzy, stochastic, fuzzy stochastic, cooperative, non-cooperative, and partial cooperative, the solution methodology to solve the bilevel programming becomes more challenging. Thus, in order to obtain a global solution for the BLP, the researchers largely depend on objectives reduction technique such as Karush–Kuhn–Tucker (KKT) conditions in case of multi-objective and evolutionary algorithms or hybrid methods and/or algorithms. Moreover, with the use of evolutionary algorithms, it becomes challenging to obtain a global optimal solution that will satisfy both the levels’ decision-makers, and therefore the decision-makers settle for the Pareto-optimal solution. Although it is challenging, but bilevel programming issues frequently arise in many real-world optimization scenarios and need to be studied rigorously. Thus, in short, bilevel programming is a dynamic and expanding area as it lies at the intersection of game theory and decision science offering functional and practical framework for modelling and solving the real-world hierarchical decision-making problems. The potential of handling big and complex real-world problems makes it more attractive to the researchers.

1.1 Background

Bracken and McGill [1] initially studied the bilevel programming problem which is an (NP) hard problem [2,3,4], and Candler and Norton introduced the term bilevel in [5]. However, because of the close relation between Stackelberg’s work on the duopoly games [6] and bilevel programming which sparked greater interest in BLP in the latter years. A good starting point to study the bilevel programming for the academics and researchers can be found in [7] with key concepts, solution methodologies and applications, and some other related books in [8,9,10]. Some of the traditional approaches such as vertex enumeration [11] and transformation methods [12] were used to solve bilevel programming problem. In the vertex enumeration method, compromise vertex are searched controlling the decision variables, and as such this method is inefficient. On the other hand, transformation method uses Kuhn-Tucker condition or Penalty function to transfer the lower level programming as the constraint in the upper level programming and then the corresponding programming is solved.

As the bilevel programming consists of two levels, namely, the upper and the lower level or the leader and the follower, so to reach at a common optimal solution is very much desirable without compromising individual goals. Thus, in order to obtain the global solution of bilevel problem, many researchers converted the bilevel programming problem into a single objective problem. The programming such as goal programming and fuzzy programming were extensively employed to solve bilevel problem because of its easier implementation and for obtaining the global solution. Along this line, a solution procedure was developed [13] to replace the sub-problem of a two-level programming problem by its Kuhn-Tucker (K-T) condition and transform it into a mixed integer quadratic programming problem. Further, a non-cooperative two person game was presented as a mixed integer linear bilevel programming problem [14], where the leader’s choice do not influence the choices of the follower. Apart from the papers mentioned above, a different approach was studied where the upper level includes within its strategy the lower level’s reaction to its decision making process. To incorporate this idea, an exact and inexact penalty approach was designed to solve general bilevel programming problem [15]. A different approach, the homotopy method, was used in [16] to obtain global solution of the bilevel problem. A sufficient condition for the global convergence was provided which converges to K-K-T point. Besides these methods, a different form such as convex bilevel programming problem was formulated using merit function [17] and solved by branch and bound method to obtain the global solution. The combination of above methods are also used to solve bilevel problem, [18] presented a penalty function method based on Kuhn-Tucker condition for solving linear bilevel programming.

1.2 Multi-objective Bilevel Programming

Single objective bilevel programming problems have been studied more due to its less complexities [8, 19, 20]. There exist an analogy between the single-level and bilevel multi-objective, where for an arbitrary binary relation, a sufficient condition is formulated to ensure the equality between the set of optimal solution and the efficient solution generated by the binary relation [21]. A necessary optimal condition is given for the conversion of the multi-objective programming into its locally equivalent to the single-level optimization problem [22]. With the growing interest in the methodology in solving linear bilevel and single-level programming, the interest in solving multi-objective further enhanced. Although it was quite latter, the researchers considered the multi-objective bilevel programming, the multiple conflicting objectives either in the upper or in the lower level or in both. In [23], the multi-objective bilevel programming problem was studied, and various optimality conditions were derived and analyzed for the combined problem involving both the upper and the lower level together. An efficient solution is generated to solve the multi-objective bilevel programming (MOBLP), and a necessary and sufficient is provided [24] to obtain the efficient solution. In addition to the mathematical methods, different algorithms were proposed to solve MOBLP- to generate Pareto frontier [25], interactive balance algorithm [26] for the three-level multi-objective decision-making model. Apart from the above mentioned methods, the multi-objective bilevel programming are often converted to single-level programming problem using fuzzy set theory and fuzzy approach, and the corresponding converted problem is solved either by commercial software or by developing new algorithm such as Kth best algorithm [27]. Due to its immense use to solve multi-objective BLP, more details about the fuzzy approach and fuzzy goal approach are discussed in the next subsection.

As multi-objective problems frequently used to depicts the real life problems, so the MOBLP are used in formulating real life problems. A hybrid intelligent algorithm was designed consisting of fuzzy, stochastic simulation and genetic algorithm along with simplex method to solve the facility location problem. The mathematical model formulated for the facility location problem as the bilevel programming where the objective was to optimize the customer flow with fuzzy trip cost [28]. Some of the application areas where MOBLP are used can be found in [10, 29,30,31,32]. A detailed review on multi-level and bilevel multi-objective programming with future research areas is presented in [33].

1.3 Fuzzy Programming

In order to avoid the complexities of vertex enumeration and transformation method, [34,35,36,37] used tolerance membership function to measure the satisfaction level of the objective functions and develop fuzzy approach to solve BLP. Fuzzy programming approach with fuzzy goals at both levels were implemented in [38] to study the decentralized two-level linear programming problem with one decision-maker at the upper level and one or more decision-makers at the lower level, i.e., multiple followers. Their method was based on the concept of minimal satisfactory level considered by the upper level to obtain a tentative solution by balancing both the levels. In addition, a linear fraction chance constrained bilevel programming problem was formulated with fuzzy goals [39] and solved using fuzzy goal programming approach. Apart from the mathematical method different algorithms were used, an \(\alpha\) cut algorithm was used in [40] to solve linear multiple objective bilevel decision problem with fuzzy goals. Furthermore, the above approaches were used to solve different BLP problems non-linear integer BLP [41], with quadratic BLP [42], fuzzy parameters [43], genetic algorithm based fractional [44], and quadratic [45] BLP, bilevel quadratic fractional programming problem [46]. The recent theoretical findings relevant to bilevel programming are arranged in [47].

1.4 Computational Approaches

Transforming the multi-objective bilevel programming to single objective using the fuzzy approach has been applied in many problems to obtain the global optimal. On the other hand, Evolutionary methods such as genetic algorithm have played a vital role in obtaining the solution of bilevel programming problem due to its search method. An interesting review has been presented on the bilevel programming along its applications in [48] moving from classical to evolutionary techniques. The concept of Genetic Algorithms (GA) are motivated from the process of biological natural selection, developed by Holland [49]. GA has made significant improvement since then over the traditional methods by providing a set of an efficient domain independent search heuristics. The GA models commonly uses binary or real parameters as an initial solution, with processes such as mutation, crossover, and, fitness selection. Chance constrained programming model involving fuzzy parameter as the decision variables in the objective function and in the constraints were handled through the technique of genetic algorithm–based fuzzy simulation [50]. Due to its easy implementation and less restriction on problems, parallelism, and global perspective, [51] firstly developed genetic algorithm to solve BLP. For the above mentioned reasons, other researchers proposed types of genetic algorithm to solve BLP [52,53,54,55]. Goal programming depends on the weighted vectors to convert multiple goal attainment into a single objective programming problem with additional constraints. To reduce this dependence and to circumvent the additional constraints, [56] suggested goal programming as a multi-objective optimization problem to obtain the multi-Pareto optimal solution using genetic algorithm. In [28, 57], to solve stochastic programming problem, GA-based stochastic simulation were used. The idea was further extended to GA based fuzzy simulation to solve multi-objective fuzzy stochastic programming problems [58, 59]. GA have been used by many researchers to solve bilevel programming problem, to mention a few [51, 53, 60,61,62,63]. In order to solve the real-life problems containing bilevel programming, hybrid methods such as GA, and exact method [64], GA with PSO [65] are used to exploit their advantages to a full extent. On a different context, a hybrid method based on machine learning and integer programming problems is developed and applied in transportation science [66].

Particle swarm optimization (PSO) is also a population-based technique and aims to search the optimal solution by updating generations, although the strategy and the computation techniques applied by both are different. In [67], a PSO-based algorithm was developed to solve fuzzy linear bilevel decision problem, where optimization technique is adopted directly minimizing information loss. To strengthen further, an efficient method based on improved bilevel particle swarm optimization algorithm to deal bilevel programming problem was developed [68]. In case of nonlinear bilevel programming problem, [69] presented a neural network model by generating approximal optimal solution. They further analyzed the asymptotic properties for stability, feasibility, and optimality and derived the necessary conditions. In addition, a hybrid intelligent algorithm combining PSO with chaos searching technique was presented to solve nonlinear bilevel programming problem [70]. Application of bilevel programming problem can be found in numerous area like taxation (Labb’e et al. [71]), transportation (Yin [55]), airline industry (Cˆot’e et al. [72]), and terrorist threat (Arroyo and Galiana [73]). Recent development in the solution procedure on bilevel programming problem can be found in [74,75,76,77,78]. In [79], a comprehensive review on solving bilevel programming using metaheuristics approach is provided.

1.5 Uncertainty Environment

Optimization problems involving uncertainty and impreciseness in the data together either in the objective functions or in the constraints or both are referred to as fuzzy stochastic programming problems. In this type of mathematical models, the parameters are represented as fuzzy random variables. The novel idea of incorporating fuzziness to multi-objective stochastic programming was developed in [80]. To solve the linear fuzzy stochastic programming problems, [81] presented a novel approach of converting the original problem into a stochastic programming problem, and then stochastic optimization techniques are applied for solving the problem. The detailed mathematical models and their solution procedure involving fuzzy random variables are available in [64, 82,83,84,85,86,87,88], and [89] and the references therein. Real life contains uncertainty and to solve bilevel programming with uncertainty  adds more complexity in it. Recently, some of the problems handled under uncertainty environment are provided in [90,91,92,93].

Recent researches on various configurations of optimization problems is provided below:

Authors/year

Types of objective

Variables/coefficients

Solution procedure

 

Single

Multiple

Crips

Fuzzy

Stochastic

Fuzzy Stochastic

 

Abo-Elnaga and Nasr (2021) [94]

 

   

Modified genetic algorithm with a new selection technique and Chaos search

Abo-Elnaga and Nasr (2021) [95]

 

   

K-means cluster interactive algorithm–based evolutionary approach

Singh et al. (2022) [96]

 

 

  

Modified TOPSIS method under intuitionistic fuzzy environment and its application in production planning problem

Lv et al. (2024)

[97]

 

   

Approximate KKT condition to obtain weak efficient solution

Garg et al. (2023)

[98]

 

   

VIKOR approach to solve the BLMCNFP problem

Maiti et al. (2023)

[99]

 

   

Goal programming strategy with neutrosophic number

Fatameh and Sadeghi (2022)

[100]

 

   

Efficient point algorithm used under uncooperative environment

Yuhui and Zhang (2022)

[101]

 

   

Evolutionary algorithm driven by correlation coefficient

Altınkaynak et al. (2022)

[102]

  

  

Fuzzy goal programming approach

Peijun and Zhu (2023) [103]

   

 

Focus theory of choice where the optimal solution is chosen according to the solution’s focus

Goshu and Kassa (2022) [104]

 

  

 

Systematic sampling evolutionary method

Haghifam et al. (2022) [96]

 

  

 

Two stage stochastic programming—distributed energy resources

Wang et al. (2022) [105]

 

   

Two-stage stochastic fuzzy possibilistic programming with Bayesian model

Cheng et al. (2022) [106]

 

 

  

Fuzzy sorting algorithm—agricultural water resources

Deb (2021) [56]

 

   

Genetic algorithm with the base enumerating method to solve interval linear BLP

Our review of the literature revealed that many researchers are now using computation and hybrid approaches instead of traditional methods to solve multi-objective bilevel programming (MOBP) problems because they are easier to implement and involve less complexity. Finding novel and effective solutions to MOBP is crucial as it is an NP hard problem with many real-world applications involving uncertainty. Many researchers transform bilevel programming into a single-level programming to obtain the global solution. This approach of converting bilevel programming problem into a single level optimization problem motivated us to handle multi-objective bilevel programming without converting into a single-level optimization problem using partial cooperation. Partial cooperation plays a vital role in the proposed solution procedure as it creates a common constraint space for both the levels. Consequently, a novel genetic algorithm–based approach to solving MOBP with partial cooperation between the two levels is presented in this article.

The paper is organized as follows: Sect. 2 presents basic preliminaries, and the mathematical models under uncertainty is presented in Sect. 3. The procedure to solve the mathematical models is described in Sect. 4. A numerical example is provided to clarify the proposed method in Sect. 5. Finally, conclusion and discussion are presented in Sect. 6.

2 Basic Preliminaries

Definition 2.1

A fuzzy number \(\widetilde{A}\) is a convex normalized fuzzy set \(\widetilde{A}\) of the real line R, with membership function \(\widetilde{A}\): R → [0; 1], satisfying the following conditions.

  1. 1.

    There exist unique interval J ∈ R such that \({\mu }_{A}\)(x) = 1: x \(\epsilon\) J

  2. 2.

    The membership function \({\mu }_{A}\) is piecewise continuous.

Definition 2.2

[107] A fuzzy number \(\widetilde{B} = (B(p), B(m), B(o))\) is said to be triangular if its membership function is strictly increasing in the interval \((B(p), B(m))\) and strictly decreasing in \((B(m), B(o))\) and \({\mu }_{B}\left({B}_{m}\right)=1 ,\) where \(B(m)\) is core, \((B(m)-B(p))\) is left spread, and \((B(o)-B(m))\) is right spread of the fuzzy number \(\widetilde{B}.\)

Definition 2.3

[108] α cut of the fuzzy number \(\widetilde{A}\) is the set \(\{x | {\mu }_{A}(x) \ge \alpha \}\) for \(0 \le \alpha \le 1\) and denoted by \(\widetilde{A}\) [α].

Definition 2.4

A fuzzy number \(\widetilde{A}\) is said to be positive if its membership function \({\mu }_{A}(x) \ge 0;\) for all\(x \ge 0\). It may be stated as follows: Let \(\widetilde{A}[\alpha ] = [A* ; {A}^{*}]\) be the α cut of the fuzzy number \(\widetilde{A}\) for\(0 \le \alpha \le 1\). \(\widetilde{A}\) is said to be positive if\(A* \ge 0\).

Definition 2.5

[109] Let \(\widetilde{A}\) \(= (A(m); A(p); A(o))\) and \(\widetilde{B}=(B(m);B(p);B(o))\) be two fuzzy numbers with α cuts \(\widetilde{A}\) [α] \(=[A*;{A}^{*}]\) and \(\widetilde{B}\)[α]\(=[B*;{B}^{*}]\), respectively, then \(\widetilde{A} \widetilde{\le } \widetilde{B}\) if and only if \({A}^{*}\le B*.\)

Definition 2.6

[110] A fuzzy random variable is a random variable whose parameter is fuzzy number. Let \(\widetilde{X}\) be continuous random variable with fuzzy parameter \(\widetilde{\theta }\) and \(\widetilde{P}\) as fuzzy probability; then, \(\widetilde{X}\) is said to be continuous fuzzy random variable with density function \(f(x; \theta )\), \(\widetilde{P}\)( \(\widetilde{X}\) ≤ x) = \(\widetilde{\beta }\), where\(0 \le (\beta ) \le 1\); \(\widetilde{\beta }= (\beta (m); \beta (p); \beta (o))\), \(\beta (p) \ge 0\) and\(\beta (o) \ge 1\).

Definition 2.7

[110] Let \(E = [c, d]\) be an event. Then, the probability of the event E of continuous fuzzy random variable \(\widetilde{X}\) is a fuzzy number whose α cut is.

\(\widetilde{P}\)[c ≤ \(\widetilde{X}\)  ≤ d] = \([min \{ {\int }_{a}^{b}f\left(x, \theta \right)dx |\theta \in \widetilde{\theta }\left[\alpha \right]; - {\int }_{-\infty }^{\infty }f\left(x, \theta \right)dx=1\}\)

$$max \{{\int }_{a}^{b}f\left(x, \theta \right)dx |\theta \in \widetilde{\theta }\left[\alpha \right]; - {\int }_{-\infty }^{\infty }f\left(x, \theta \right)dx=0\}]= [\upbeta *[\mathrm{\alpha }], {\upbeta }^{*}[\mathrm{\alpha }]].$$

Bounded Random Number (BRN)

For C compiler, < stdlib: h > and rand function ‘rand ()’ where used to generate random number on the interval [0, 1]:

  • Step 1: m = rand ()

  • Step 2: m ← (m = RAND MAX)

Fuzzy Uniform Distribution

A random variable s has a fuzzy uniform distribution if its probability density function (pdf) is given by:

$$f\left(s\right)=\left\{\begin{array}{c}\frac{1}{\widetilde{b} - \widetilde{a}}, if \widetilde{a }<s<\widetilde{b} \\ 0, otherwise \end{array}\right.$$

Denote the pdf as \(\widetilde{FU}\)(\(\widetilde{a},\widetilde{b}\)), where \(\widetilde{a}\) is the lower bound fuzzy triangular number and \(\widetilde{b}\) is the upper bound fuzzy triangular number respectively.

  • Step 1: Use \(\alpha\) value

  • Step 2: Generate \({n}_{1}\) from BRN (0, 1)

  • Step 3: Return (\(\widetilde{a}\) + (\(\widetilde{b}\) \(\widetilde{a}\))\({n}_{1}\))

3 Multi-objective Fuzzy Stochastic Bilevel Programming Problem

The standard bilevel programming problem can be stated as follows

$${max}_{{x}_{1\in {X}_{1}}}{Z}_{1}={a}_{1}^{T}{x}_{1}+{b}_{1}^{T}{x}_{2}$$
(3.1)

Subject to

$${max}_{{x}_{2\in {X}_{2}}}{Z}_{2}={a}_{2}^{T}{x}_{1}+{b}_{2}^{T}{x}_{2}$$
(3.2)

Subject to

$$A{x}_{1}+B{x}_{2}\ge c$$
(3.3)
$${x}_{1}\ge 0$$
(3.4)
$${x}_{2}\ge 0$$
(3.5)

where \(A=({a}_{ij})\) m x n1, \(B=({b}_{ij})\) m x n2, and \(c=({c}_{i})\) m x 1, \({a}_{1}=({a}_{1j})\) 1 x n1, \({a}_{2}=({a}_{2j})\) 1 x n1,

\({b}_{1}=({b}_{1j})\) 1 x n2, \({b}_{2}=({b}_{2j})\) 1 x n2, \({x}_{1}=({x}_{1j})\) n1 x 1, and, \({x}_{2}=({x}_{2j})\) n2 x 1\(, 1<i<m;1<j<n\),\(n={n}_{1}+{n}_{2}\).

A multi-objective probabilistic bilevel programming (MOPBLP) problem can be presented as follows:

$${max}_{{x}_{\in X}}: {Z}_{1}^{k}=\textstyle\sum_{i=1}^{{n}_{1}}{a}_{i1}^{k}{x}_{i}+ \textstyle\sum_{j=1}^{{n}_{2}}{b}_{j1}^{k}{y}_{j}, k=\mathrm{1,2},\dots , K$$
(3.6)

Subject to

$${max}_{y\in Y }: {Z}_{1}^{l}=\textstyle\sum_{i=1}^{{n}_{1}}{a}_{i2}^{l}{x}_{i}+ \textstyle\sum_{j=1}^{{n}_{2}}{b}_{j2}^{l}{y}_{j}, l=\mathrm{1,2},\dots , L$$
(3.7)

Subject to

$$P( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j} \le {c}_{p}) \ge {\delta }_{p}, p=\mathrm{1,2},\dots m$$
(3.8)
$${a}_{i1}^{k}, {a}_{i2}^{k}, {b}_{j1}^{k}, {b}_{j2}^{k}, {f}_{pi}, {g}_{pi}, {\delta }_{p}\in {\mathbb{R}},\forall i, j,k,l,p$$

where \(X\subseteq {\mathbb{R}}^{{n}_{1}}, Y\subseteq {\mathbb{R}}^{{n}_{2}}, x=({x}_{1}, {x}_{2}, \dots , {x}_{{n}_{1}})\) and \(y=({y}_{1}, {y}_{2}, \dots , {y}_{{n}_{2}})\) are the upper and lower level variables respectively.

A multi-objective fuzzy probabilistic programming (MOFPBLP) problem is an MOPBLP of the above form where one or more of the variables are fuzzy. The fuzzy variable can be present in both in objective and constraints or in objective or in constraint. The fuzzy random variables portrait the stochastic and impreciseness nature of the parameters. As real-life problems contain multiple conflicting objectives involving uncertainty, so to incorporate the uncertainty, fuzzy random variables are used to formulate the multi-objective fuzzy stochastic bilevel programming model. Depending on the nature of the problems, the uncertainty in the mathematical models can be captured using fuzzy random variables.

Different multi-objective fuzzy probabilistic bilevel programming models for single time frame are presented as follows:

3.1 Model 1

$${max}_{{x}_{\in X}}: \widetilde{{Z}_{1}^{k}}=\textstyle\sum_{i=1}^{{n}_{1}}\widetilde{{a}_{i1}^{k}}{x}_{i}+ \textstyle\sum_{j=1}^{{n}_{2}}\widetilde{{b}_{j1}^{k}}{y}_{j}, k=\mathrm{1,2},\dots , K$$
(3.9)

Subject to

$${max}_{y\in Y }: {Z}_{1}^{l}=\textstyle\sum_{i=1}^{{n}_{1}}{a}_{i2}^{l}{x}_{i}+ \textstyle\sum_{j=1}^{{n}_{2}}{b}_{j2}^{l}{y}_{j}, l=\mathrm{1,2},\dots , L$$
(3.10)

Subject to

$$\widetilde{P}( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j} \le \widetilde{{c}_{p}}) \succcurlyeq \widetilde{{\delta }_{p}}, p=\mathrm{1,2},\dots m$$
(3.11)
$${a}_{i1}^{k}, {a}_{i2}^{k}, {b}_{j1}^{k}, {b}_{j2}^{k}, {f}_{pi}, {g}_{pi}, {\delta }_{p}\in {\mathbb{R}},\forall i, j,k,l,p$$

In Model 1, the parameters \(\left(\widetilde{{a}_{i1}^{k}}, \widetilde{{b}_{j1}^{k}}\right)\forall i, j\) in the objective and in the constraints are fuzzy random variables with \(\widetilde{{\delta }_{p}}, p=\mathrm{1,2},\dots m\) is a fuzzy random number.

3.2 Model 2

$${max}_{{x}_{\in X}}: {Z}_{1}^{k}=\textstyle\sum_{i=1}^{{n}_{1}}{a}_{i1}^{k}{x}_{i}+ \textstyle\sum_{j=1}^{{n}_{2}}{b}_{j1}^{k}{y}_{j}, k=\mathrm{1,2},\dots , K$$
(3.12)

Subject to

$${max}_{y\in Y }: {Z}_{1}^{l}=\textstyle\sum_{i=1}^{{n}_{1}}{a}_{i2}^{l}{x}_{i}+ \textstyle\sum_{j=1}^{{n}_{2}}{b}_{j2}^{l}{y}_{j}, l=\mathrm{1,2},\dots , L$$
(3.13)

Subject to

$$\widetilde{P}( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}\widetilde{{g}_{pj}}{y}_{j}\le \widetilde{{c}_{p}})\ge \widetilde{{\delta }_{p}}, p=\mathrm{1,2},\dots m$$
(3.14)
$${a}_{i1}^{k}, {a}_{i2}^{k}, {b}_{j1}^{k}, {b}_{j2}^{k}, {f}_{pi}, {g}_{pi}, {\delta }_{p}\in {\mathbb{R}},\forall i, j,k,l,p$$

In Model 2, the parameters \(\left(\widetilde{{g}_{pj}}\right)\forall j~ and~ \widetilde{{c}_{p}}\) in the constraint are fuzzy random variables with \(\widetilde{{\delta }_{p}}, p=\mathrm{1,2},\dots m\) that is a fuzzy random number.

3.3 Model 3

$${max}_{{x}_{\in X}}: \widetilde{{Z}_{1}^{k}}=\textstyle\sum_{i=1}^{{n}_{1}}\widetilde{{a}_{i1}^{k}}{x}_{i}+ \textstyle\sum_{j=1}^{{n}_{2}}\widetilde{{b}_{j1}^{k}}{y}_{j}, k=\mathrm{1,2},\dots , K$$
(3.15)

Subject to

$${max}_{y\in Y }: {Z}_{1}^{l}=\textstyle\sum_{i=1}^{{n}_{1}}{a}_{i2}^{l}{x}_{i}+ \textstyle\sum_{j=1}^{{n}_{2}}{b}_{j2}^{l}{y}_{j}, l=\mathrm{1,2},\dots , L$$
(3.16)

Subject to

$$\widetilde{P}( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}\widetilde{{g}_{pj}}{y}_{j} \le {c}_{p}) \ge {\delta }_{p}, p=\mathrm{1,2},\dots m$$
(3.17)
$${a}_{i1}^{k}, {a}_{i2}^{k}, {b}_{j1}^{k}, {b}_{j2}^{k}, {f}_{pi}, {g}_{pi}, {\delta }_{p}\in {\mathbb{R}},\forall i, j,k,l,p$$

In Model 3, the parameters \(\left(\widetilde{{a}_{i1}^{k}},~ and~ \widetilde{{b}_{j1}^{k}}\right)\forall i,j; ~\widetilde{{g}_{pj}}\) in the objective functions and in the constraint are fuzzy random variables. Similar objective functions can be formulated for lower level objective functions as well depending on the problem.

4 Solution Procedure

Most of the research paper are based on solution methodology to solve the bilevel problem. The difficulty part in solving bilevel programming problem is to obtain a global solution. In this paper, Model 2 has been solved by fuzzy stochastic simulation–based genetic algorithm approach. The other mathematical models can be solved similarly. In the first step, we introduce additional constraints present in the lower as fuzzy stochastic constraints in the upper level or the initial solution range for the lower level can be used from past data of the lower level as bounds. This step helps to find an easy solution for the bilevel programming problem as it creates a common constraint space under the partial cooperation between the two levels. As the decision-makers at the upper level may be well acquainted with the constraints of the lower level, taking into account the lower level constraints will reduce the complexity of the bilevel programming problem. The proposed steps can be used for general bilevel programming problem also. In the second step, we apply \(\alpha\) cut to remove the fuzziness in the constraints and then apply fuzzy inequality. Thirdly, the reformulated fuzzy simulation approach for different \(\alpha\) values is used and monitors the probability condition simultaneously to solve the model. The bracket penalty operator is used to penalize the unsatisfied constraints. Once the probability condition is met, the fitness value of the multiple objective functions is evaluated individually. For different \(\alpha\) values ranging from \(\alpha =0.1 to 0.9\) and different values for crossover operator (pc = 0.6 to 0.9) and mutation operator (pm = 0.001, 0.005, 0.008, 0.01), they are taken to obtain a set of Pareto optimal solution. The probability of mutation is very less as compared to probability of crossover because the change in phenotype occurs at a slower rate in a population. The simulation starts with \(\alpha =0.1\) and runs over different set of crossover probability and mutation probability. The solutions are stored, and the after elitism, the best solution is taken for next generation. Similarly, the simulation runs for different values of \(\alpha\). Finally, the obtained Pareto’s solutions are analyzed to select the efficient solution from it. As the multi-objective is often conflicting in nature, it becomes difficult to obtain the global solution which will satisfy both the levels. The detail procedures about the genetic algorithm are presented below. Also, a numerical example is solved using the above steps to show its feasibility.

4.1 Defuzzification

Applying the \(\alpha\) cut, the fuzzy parameters are handle in the constraints in the following manner:

$$\widetilde{P}( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j}\le \widetilde{{c}_{p}})[ \alpha ], p=\mathrm{1,2},\dots m$$
(4.1)
$$\widetilde{P}( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j}\le {c}_{p}| {c}_{p}\in {c}_{p}[ \alpha ]), p=\mathrm{1,2},\dots m$$
(4.2)

Applying the fuzzy inequality, the \(\alpha\) cut of the fuzzy constraints (3.14) is expressed as follows:

$$\widetilde{P}( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j}\le \widetilde{{c}_{p}})[ \alpha ]\succcurlyeq \widetilde{{\delta }_{p}}, p=\mathrm{1,2},\dots m$$
(4.3)

Again on simplification, we get the following:

$$P( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j}\le {c}_{p*})\ge {\delta }_{p}^{*}, p=\mathrm{1,2},\dots m$$
(4.4)

where, \({(c}_{p*},{c}_{p}^{*})\in {c}_{p}\left[\alpha \right], {(\delta }_{p*},{\delta }_{p}^{*})\in {\delta }_{p}\left[\alpha \right], p=1, 2, \dots , m\)

4.2 Fuzzy Stochastic Simulation–Based GA

Extend the algorithm presented in [111] to solve the multi-objective fuzzy probabilistic bilevel programming problem.

The pseudo code and the parameters used in the algorithm are described below:

Algorithm
figure a

Fuzzy Probabilistic Genetic Algorithm

4.3 Initialization of the Population

A probable solution of population is generated and initialized. If \(({x}_{1}, {x}_{2}, \dots , {x}_{n})\) be the decision variables, then the corresponding chromosome can be expressed as \({X}_{p}=({x}_{1 }, {x}_{2}, \dots {,x}_{n})\) p, where\(p=\mathrm{1,2},\dots , p\_size\), where \(p\_size\) indicates population size. The user selectable parameter \(p\_size\) is crucial for searching the domain space. Usually a value 0 and the upper limit of the decision variables are chosen for\({x}_{i}(i=\mathrm{1,2},\dots , n)\).

4.4 Handling Fuzzy Stochastic Constraints:

Consider the below fuzzy probabilistic constraints:

$$\widetilde{P}( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j}\le {c}_{p*})\ge {\delta }_{p}^{*}, p=\mathrm{1,2},\dots m$$
(4.5)

Applying the \(\alpha\)-cut and inequality conditions, the above expression reduces to

$$P( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j}\le {c}_{p*})\ge {\delta }_{p}^{*}, p=\mathrm{1,2},\dots m$$
(4.6)

The inequality above can be express as follows:

$$P( \textstyle\sum_{i=1}^{{n}_{1}}{f}_{pi}{x}_{i}+\textstyle\sum_{j=1}^{{n}_{2}}{g}_{pj}{y}_{j}-{c}_{p*}\ge 0)\ge {\delta }_{p}^{*}, p=\mathrm{1,2},\dots m$$
(4.7)
$$=P\left({t}_{i}\left(x,s\right)\ge 0\right)\ge {\delta }_{p}^{*}$$
(4.8)

where \(s=({c}_{1}, {c}_{2}, \dots , {c}_{m})\) is an m-dimensional continuous probability distribution, with the decision variable \(x=({x}_{1}, {x}_{2}, \dots , {x}_{{n}_{1}}; {y}_{1}, {y}_{2}, \dots , {y}_{{n}_{2}})\). Next, generating \(N\) number of independent random variables as \({s}^{r}=\left({c}_{1}^{r}, {c}_{2}^{r}, \dots , {c}_{m}^{r}\right), r=\mathrm{1,2},\dots , N\).

Assuming \({N}_{i}\left(\le N\right), i=\mathrm{1,2},\dots , n\), and noting the number of times, the following relation is satisfied:

$${t}_{i}\left(x, {s}^{r}\right)\ge 0, i=\mathrm{1,2},\dots ,n$$

Then, according to the definition of probability, (4.7) will hold if \(\left(\frac{{N}_{i}}{N}= {a}_{p}^{*}\right),p=\mathrm{1,2},\dots ,m\).

4.5 Fitness Value

The objective functional value which meets the constraints criteria is known as fitness value. In multi-objective programming, each objective function’s fitness value is calculated and based on fitness value the objective function are sorted.

4.6 Selection Method

The robust selection method known as Binary Tournament Selection (BTS) based on chromosome fitness value is used to select chromosomes from the population. Choose j potential chromosomes from the pool of chromosomes, compare their fitness, and then sort the set of chromosomes based on their fitness values in decreasing order. The victors are chosen for mating. This method is rehashed until the required number of individuals are accomplished. The tournament size k controls the selection process. The tournament selection process is known as BTS if the tournament size is 2. The acquired individuals by this method is treated as new population species with same p size as the initial population.

4.7 Crossover Operator

The genetic operator called crossover is used to vary the individuals from one generation to next generation. A crossover point is selected by generating a random number r over the open interval (0, 1) for every pair of chromosomes. Denoting the crossover probability as pc, if \(r \le pc\), then the given pair is selected for crossover.

4.8 Mutation Operator

To alter the sequence in the chromosomes, mutation operator is used which helps in varying the population from one generation to another. If the change is done bitwise in a sequence of chromosomes, it is known as bitwise mutation. A mutation point is selected by generating a random number ‘\(r_{1}\)’ over the open interval (0, 1) for every pair of chromosomes. Denoting the mutation probability as pm, if \(r_{1} \le pm\), then the given pair is selected for mutation.

4.9 Termination

After attaining the needed accuracy or running the maximum generation the algorithm terminates.

5 Numerical Example

To illustrate the feasibility of the solution approach, consider the following numerical example [65]:

$${max}_{x,y}{Z}_{1}\left(x,y\right)= -x+4y$$
(5.1)
$${max}_{x,y}{Z}_{2}\left(x,y\right)= -2x+y$$
(5.2)

Subject to

$$0\le x\le 3$$
(5.3)
$${max}_{y}{Z}_{3}\left(x,y\right)= -y$$
(5.4)
$${max}_{y}{Z}_{4}\left(x,y\right)=-2y$$
(5.5)

Subject to

$$-x-y \le -3$$
(5.6)
$$-x+2y \le 0$$
(5.7)
$$2x+y \le 12$$
(5.8)
$$-3x+2y\le -4$$
(5.9)
$$y \ge 0$$
(5.10)

The above problem can be formulated as follows:

$${max}_{x,y}{Z}_{1}\left(x,y\right)= -x+4y$$
(5.11)
$${max}_{x,y}{Z}_{2}\left(x,y\right)= -2x+y$$
(5.12)

Subject to

$$0\le x\le 3$$
(5.13)
$$\widetilde{P}\left(-x-y \le \widetilde{{r}_{1i}}\right)\succcurlyeq \widetilde{0.95};i=\mathrm{1,2},\dots , n$$
(5.14)
$$\widetilde{P}\left(2x+y \le \widetilde{{r}_{2i}}\right)\succcurlyeq \widetilde{0.92};i=\mathrm{1,2},\dots , n$$
(5.15)
$$\widetilde{P}\left(-3x+2y \le \widetilde{{r}_{3i}}\right)\succcurlyeq \widetilde{0.94};i=\mathrm{1,2},\dots , n$$
(5.16)
$$-x+2y \le 0$$
(5.17)
$$y\ge 0$$
(5.18)
$${max}_{y}{Z}_{3}\left(x,y\right)= -y$$
(5.19)
$${max}_{y}{Z}_{4}\left(x,y\right)= -2y$$
(5.20)

Subject to

$$-x-y \le -3$$
(5.21)
$$-x+2y \le 0$$
(5.22)
$$2x+y \le 12$$
(5.23)
$$-3x+2y\le -4$$
(5.24)
$$y \ge 0$$
(5.25)

where, \({r}_{1i}, {r}_{2i},{r}_{3i}\) follows fuzzy uniform distribution with \(\widetilde{FU}\left(\widetilde{a},\widetilde{b}\right)=\widetilde{FU}(\widetilde{-2}, \widetilde{-5})\), \(\widetilde{FU}\left(\widetilde{a},\widetilde{b}\right)=\widetilde{FU}(\widetilde{10}, \widetilde{14})\), \(\widetilde{FU}\left(\widetilde{a},\widetilde{b}\right)=\widetilde{FU}\left(\widetilde{-1}, \widetilde{-5}\right), \widetilde{0.95}=\left(\mathrm{0.93,0.95,0.97}\right),\) \(\widetilde{0.92}=\left(\mathrm{0.90,0.92,0.94}\right), \widetilde{0.94}=(\mathrm{0.92,0.94,0.96})\)that are fuzzy triangular numbers.

The solution obtained by proposed solution procedure is equally efficient as compared to [65] for all \(\alpha\) values, i.e., if we compare the value of x and y in both the papers, then it is the same or almost same. For example, the value of x and y in [112] is 3 and 1.5 respectively, whereas, in this paper, one of the solutions is 3 and 1.5 respectively. Equations (5.14), (5.15), and (5.16) are added to the upper level not exactly as in the lower level, but as a fuzzy probabilistic constraints. This step plays a key role in solving the multi-objective bilevel programming problem by creating a common constraints space for both the levels. It also emphasizes on giving importance to the lower level constraints while solving the upper level problem. The partial cooperation is highlighted between both the levels which plays a key role in solving management problems. In Zheng et al., the result focuses mainly was on the upper level, but in this research paper, importance are given to both the levels, i.e., the primary focused on [112], and in general is given to upper level, but in this paper, both the levels are given importance.

The crossover probability \(pc\) and the mutation probability \(pm\) in genetic algorithm were varied from 0.6 to 0.9 and 0.001 to 0.08 respectively.

The diagrammatic representation of the comparison of the both the optimal values is provided in the Fig. 1 below.

Fig. 1
figure 1

Comparison of optimal values presented in Table 1 and Table 2

Table 1 Pareto solutions using genetic algorithm
Table 2 Optimum solutions for different values of \(\mu\) in [112]

A simplified version of the above numerical example is solved using the software GAMS 45.5.0 version (Academic license) taking the objective functions \({Z}_{1}\) and \({Z}_{3}\) in the upper and lower level respectively. The values of the decision variables obtained are \(x=3~and~y=0\) with the objective function value as − 3 and 0 respectively. These values throw light on the effect of decision variable obtained of one level onto the other. The upper bound for the decision variables were \(x=3\) and \(y=10\); however, taking different values for \(y\) did not improve the solution. In addition, changing the objective function from maximizing to minimizing yielded a different result. The values of the decision variables thus obtained are \(x=3~and~y=0\) using extended mathematical programming (EMP) and \(x=3~and~y=1.5\) manually. Table 3 gives the detail of the solution obtained using GAMS software for maximizing problem.

Table 3 Comparison of the solution obtained by using EMP and manual

Clearly, we see that constraints 3 and 4 are not utilized in its full sense, which indicates that the solution can be improved further.

6 Conclusion and Discussion

A bilevel programming is an NP hard problem with many real-world applications. Therefore, to find better and efficient solution is a challenging task. Many methods and algorithms were developed to obtain the global solution which will satisfy both the levels. Single objective functions are studied well, and solution methodology for the bilevel programming is developed. But, in case of multi-objective with conflicting nature at both the levels, still remains an interesting problem. Thus, in this line, a novel solution procedure is presented to solve bilevel programming problem and is implemented in solving a multi-objective fuzzy stochastic bilevel programming problem using genetic algorithm. In this paper, the concept of partial cooperation has been implemented by converting the non-fuzzy stochastic constraints of the lower level as a fuzzy stochastic constraints and added to the upper level. This step provides a common constraint space for both the levels and also highlights the importance of partial cooperation in solving management problems. As the decision-makers at the upper level may be well acquainted with the constraints of the lower level. Taking into account the lower level constraints will reduce the complexity of the bilevel programming problem. The model formulated to solve bilevel programming problem can be implemented in any bilevel problem to obtain the optimum solution and/or Pareto solutions. Comparing the Pareto solution of the numerical example shown in Table 1 to the optimal solution of the publication [112], which is shown in Table 2, reveals that the former is optimal. The only difficulty lies with the proposed solution procedure is to get the past data or information of the lower level which may not be possible in all cases and as the number of variables increases the complexity will also multiply. As multi-level programming is a decentralized planning problem and bilevel is a special case of it, therefore being a real-life model, the proposed can be implemented in any policy-making problems, supply-chain problems, network problems and further extended to transportation problem, transshipment problem, inventory problem, agricultural problem, etc. This work can be further develop to include competition strategies into a single mathematical model where at present only uncertainty is incorporated. Depending on the problem, such mathematical models can be developed which include both uncertainty and competition under one frame with possible different time frame.