Keywords

1 Introduction

With the rapid development of the Internet, information technology and economic globalization, it is difficult for traditional enterprises to adapt to the rapid changes in the market. In order to adapt to market demand and competition, companies must seek for superior resources outside the enterprise to cooperate. In this way, Virtual Enterprise (VE) [1, 2] came into being. The so-called virtual enterprise [3, 4] is that when some enterprises with different resources and advantages face new opportunities and challenges in the market, through information network technology, sharing resources and technology, together, they can jointly establish a market response and enhance competition. A major feature of the formation of virtual enterprises is how to choose partners, and this feature is also the decisive factor of the overall competitiveness of virtual enterprises and their market adaptability [5, 6]. In each selection process, due to the different resources and advantages of the partners, the competitiveness and survivability of the integrated alliance formed by the partners are closely related to the partners. Therefore, partner selection is a key focus of relevant research at home and abroad [7, 8].

Related research at home and abroad is generally a series of individual projects, each project is completed by several partners or divided into several sub-projects, each sub-project is completed by one or several candidate enterprises. Sadigh et al. [9] proposed a multi-agent hybrid partner selection algorithm based on ontology for multi-agent virtual enterprises. Through different types of agents to collaborate and compete, the unqualified or inefficient enterprises are removed from the enterprise pool and the winning company is selected by the algorithm. Huang et al. [10] proposed a new method to consider engineering start-up time, completion time, transportation time and cost uncertainty by using grey system theory, and proposed a new chaotic particle swarm optimization algorithm to solve virtual enterprise partner selection. Nikghadam et al. [11] used fuzzy analytic hierarchy process to determine four main indicators: unit price, on-time delivery reliability, enterprise past performance and service quality, and evaluated the optimal partner through weighting method. Zhang et al. [12] proposed a trust-based approach to corporate partner selection. This method combines real-coded genetic algorithm and nonlinear learning algorithm, and uses the hybrid learning algorithm of fuzzy cognitive map to provide decision-makers with a multi-view and interactive potential partner based on the dynamic characteristics of the trusted index. Jia [13] aimed to select a time-cost compromised virtual enterprise partner, using the task-resource allocation map as the scheduling model, and established a project deployment diagram that uniformly describes the virtual enterprise processes and resources, and implemented it using an iterative heuristic algorithm. Relative cost effectiveness solving algorithm. Andrade et al. [14] solved the virtual enterprise partner selection based on the game theory method and obtained a list of virtual enterprise rankings by accepting any set of key factors.

In addition, some related researches have proposed multi-objective models, which are generally achieved by corresponding methods or multi-objectives into single goals. This single-objective approach is simply to pursue a certain goal, which leads to the solution of the solution deviating from other goals. The actual demand has certain subjectivity. Xiao et al. [15] used traditional optimization methods to consider various factors such as operating cost, reaction time, and operational risk. An adaptive quantum group evolutionary algorithm with time-varying acceleration coefficients is proposed to solve the problem of partner selection optimization. Nikghadam et al. [16] proposed a method based on fuzzy inference system for evaluating and selecting potential enterprises. The evaluation is based on four indicators: unit price, delivery date, quality and performance. The output of the model is calculated using fuzzy rules, that is, partners. Dong et al. [17] combined the ideal solution similarity sorting technique with the multidimensional preference analysis linear programming technique, defined the fuzzy consistency and inconsistency indicators with relative closeness, and derived the weight vector of the decision maker according to the relative entropy. A new fuzzy linear programming model is constructed by using trapezoidal fuzzy numbers to estimate the index weights. By constructing a multi-objective allocation model, a scheme set sorting matrix is generated. Han et al. [18] proposed a multi-objective optimization virtual enterprise partner selection model, which is based on the shortest completion time, the lowest cost and the highest credibility. The AHP method is used to determine the weight of the evaluation factor. Su et al. [19] proposed an immune-based agile virtual enterprise partner selection algorithm, introduced multi-objective constraints, and designed an adaptive vaccine extraction strategy and a two-dimensional binary coding method for agile virtual enterprise partner selection algorithm.

Based on the above, this paper proposes the virtual enterprise partner selection problem of multiple projects concurrently, and applies the multi-objective optimization method to the virtual enterprise partner selection. The advantage of multi-objective optimization is to maintain a good trade-off between multiple targets, namely, Pareto optimal solution, to find a solution that tries to achieve consistency on each target. Moreover, multi-objective optimization can give a set of Pareto optimal solutions, which increases the choice space of decision makers. Decision makers can choose a reasonable solution that meets their needs, while single-objective optimization can only give a single solution.

The innovation of this paper is to construct a mathematical model of virtual enterprise partner selection for multiple projects concurrently. At the same time, based on the idea of multi-objective optimization, the virtual enterprise partner selection algorithm based on NSGA-II is designed and optimized by experiment and single target. The virtual enterprise partners choose to conduct comparative analysis. In this paper, the multi-objective optimization of virtual enterprise partner selection proposed by multiple projects in this paper can obtain multiple decision-making schemes superior to single-objective optimization.

2 Mathematical Model of Virtual Enterprise Partner Selection Problem

2.1 Mathematical Model

Let \( Y = \left\{ {y_{i} |i \in [1,m]} \right\} \) be the set of \( m \) projects that the virtual enterprise needs to complete; each project can be divided into \( n \) links, Expressed by

$$ H = \left[ {\begin{array}{*{20}c} {h_{11} } & \cdots & {h_{1j} } & \cdots & {h_{1n} } \\ \vdots & \cdots & \vdots & \cdots & \vdots \\ {h{}_{i1}} & \cdots & {h_{ij} } & \cdots & {h_{in} } \\ \vdots & \cdots & \vdots & \cdots & \vdots \\ {h_{m1} } & \cdots & {h_{mj} } & \cdots & {h_{mn} } \\ \end{array} } \right] $$
(1)

among them, \( i \in [1,m] \), \( j \in [1,n] \). For example, each project can be divided into five parts: design, procurement, manufacturing, distribution, and logistics. \( h_{ \bullet j} \) is the set of candidate enterprises that are willing to participate in the link \( E_{j} = \left\{ {e_{jk} |k \in [1,r_{j} ]} \right\} \) (where \( h_{ \bullet j} \) refers to the link of all the rows in the \( j \) th column), \( r_{j} \) is the number of candidate enterprises of the link \( h_{ \bullet j} \), \( P_{{e_{jk} }} = \left\{ {t_{{e_{jk} }} ,q_{{e_{jk} }} ,c_{{e_{jk} }} , \ldots } \right\} \) is the set of performance parameters of each link in the \( h_{ \bullet j} \) of the enterprise \( e_{jk} \), wherein \( t_{{e_{jk} }} \) is time, \( q_{{e_{jk} }} \) is quality, \( c_{{e_{jk} }} \) is cost, and other parameters can be selected according to actual needs; \( T \), \( Q \) and \( C \) are the time, quality, and cost of completing all projects respectively.

The completion time of the link \( h_{ij} \) cannot be greater than \( t_{\hbox{max} ij} \), the quality cannot be lower than \( q_{\hbox{min} ij} \), and the cost cannot be higher than \( c_{\hbox{max} ij} \). The matrix \( R_{i} \) can be used to represent the requirements of all items \( t_{\hbox{max} ij} \), \( q_{\hbox{min} ij} \) and \( c_{\hbox{max} ij} \). This matrix is ​​called the project condition constraint matrix and can be expressed as:

$$ R_{i} \,{ = }\,\left[ \begin{aligned} \ldots t_{\hbox{max} ij} \ldots \hfill \\ \ldots q_{\hbox{min} ij} \ldots \hfill \\ \ldots c_{\hbox{max} ij} \ldots \hfill \\ \end{aligned} \right] $$
(2)

The optimization goal of the virtual enterprise partner selection problem is to select the \( m \) group enterprise \( F_{i} = \left\{ {S_{1} ,S_{2} , \ldots ,S_{n} } \right\} \), and \( S_{j} \cap E_{j} \ne \varnothing \), satisfy

$$ \left. {\begin{array}{*{20}l} {\hbox{min} T} \hfill \\ {\hbox{max} Q} \hfill \\ {\hbox{min} C} \hfill \\ {\text{s}.\text{t}.} \hfill \\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\mathop {\hbox{max} }\limits_{{e_{jk} \in S_{j} }} t_{{e_{jk} }} < t_{\hbox{max} ij} } \hfill \\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\sum\limits_{{e_{jk} \in S_{j} }} {q_{{e_{jk} }} > q_{\hbox{min} ij} } } \hfill \\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\sum\limits_{{e_{jk} \in S_{j} }} {c_{{e_{jk} }} } < c_{\hbox{max} ij} } \hfill \\ \end{array} } \right\} $$
(3)

among them,

$$ T\,{ = }\,\sum\limits_{i = 1}^{m} {\sum\limits_{j = 1}^{n} {\mathop {\hbox{max} }\limits_{{e_{jk} \in S_{j} }} \frac{{t_{{e_{jk} }} }}{{t_{\hbox{max} } }}u_{jk} } } $$
(4)
$$ Q\,{ = }\,\sum\limits_{i = 1}^{m} {\sum\limits_{j = 1}^{n} {\sum\limits_{k = 1}^{{r_{j} }} {(1 - \frac{{q_{{e_{jk} }} }}{{q_{\hbox{max} } }})} } } u_{jk} $$
(5)
$$ C\,{ = }\,\sum\limits_{i = 1}^{m} {\sum\limits_{j = 1}^{n} {\sum\limits_{k = 1}^{{r_{j} }} {\frac{{c_{{e_{jk} }} }}{{c_{\hbox{max} } }}u_{jk} } } } $$
(6)
$$ u_{jk} \,{ = }\,\left\{ {\begin{array}{*{20}l} 1 \hfill & {{\text{select }}e_{jk} {\text{ to join}}} \hfill \\ 0 \hfill & {{\text{don't select }}e_{jk} {\text{ to join}}} \hfill \\ \end{array} } \right. $$
(7)

\( t_{\hbox{max} } \), \( q_{\hbox{max} } \) and \( c_{\hbox{max} } \) are the maximum values of all the performance parameters of all the candidate companies, such as \( q_{\hbox{max} } = \mathop {\hbox{max} }\limits_{j} \mathop {\hbox{max} }\limits_{k} q_{{e_{jk} }} \).

2.2 Model Analysis and Multi-objective Optimization Problems

It can be seen from the above model that to solve the problem of virtual enterprise partner selection, it is necessary to consider the three objective functions of time, quality and cost of all projects, and to satisfy the constraints in Eq. (3), so it can be solved by multi-objective optimization. Virtual enterprise partner selection. There is a conflict between each optimization objective function in the multi-objective optimization problem. It is generally difficult to find an optimal solution to make all the optimization objective function values optimal. One solution is optimal for one of the optimization objective functions, and it is possible to Other optimization objective functions are not optimal, even worst. In view of the multi-objective optimization problem proposed by the above model, the three objective functions also conflict with each other. That is to say, it is difficult to make the three objective function values reach the optimal at the same time, and only the coordination compromise processing can be performed. The three objective function values may be optimally maximized. Therefore, solving the multi-objective optimization problem is to find a set of solutions that have a good constraint relationship with each other. These solutions are generally not easy to compare with each other. Pareto defines this solution as the Pareto optimal solution (also called non-inferior solution) [20, 21].

The multi-objective optimization problem [20, 21] can be expressed in the following mathematical form. Here, taking the minimization as the solution target, for example,

$$ \left. {\begin{array}{*{20}l} {\hbox{min} \,F\left( x \right)\, = \,\left( {f_{1} \left( x \right),f_{2} \left( x \right), \cdots ,f_{p} \left( x \right)} \right)^{T} } \hfill \\ {s.t.} \hfill \\ {\,\,\,\,\,\,\,\,\,\,\,\,\,h_{s} (x) \ge 0,s = 1,2, \cdots ,q} \hfill \\ \end{array} } \right\} $$
(8)

Where \( x = \left( {x_{1,} x_{2} , \cdots x_{d} } \right)^{T} \) is the \( d \)-dimensional decision vector, \( f_{1} \left( x \right),f_{2} \left( x \right), \cdots ,f_{p} \left( x \right) \) total \( p \) objective functions, and \( h_{1} \left( x \right),h_{2} \left( x \right), \cdots ,h_{q} \left( x \right) \) have a total of \( q \) constraints.

If there is a decision vector \( x \) that satisfies \( q \) constraints at the same time, then \( x \) is called a feasible solution. The set of all feasible solutions is called the feasible solution set and is denoted as \( X \). For any two feasible solutions \( x_{1} \) and \( x_{2} \), If \( \forall l = 1,2, \cdots ,p, \) can get \( f_{l} \left( {x_{1} } \right) \le f_{l} \left( {x_{2} } \right) \), \( \exists l^{*} = 1,2, \cdots ,p, \) satisfy \( f_{{l^{*} }} \left( {x_{1} } \right) < f_{{l^{*} }} \left( {x_{2} } \right) \), then \( x_{1} \) is said to dominate \( x_{2} \) and is denoted as \( x_{1} \succ x_{2} \).

If there is no solution \( X \) in the feasible solution set \( x^{*} \), then \( x^{*} \) is called a Pareto optimal solution in \( X \). The set of all Pareto optimal solutions is called the Pareto optimal solution set, denoted as \( X_{p} \). The Pareto frontier is a set of objective function vectors corresponding to the Pareto optimal solution set.

The multi-objective optimization problem is composed of multiple objective functions, and a solution cannot be obtained to optimize the values of all objective functions. Solving the multi-objective optimization problem is to find the Pareto optimal solution set or Pareto frontier of the approximation problem. Therefore, the criterion for evaluating the merits of a multi-objective optimization algorithm is whether it can find the Pareto optimal solution set or approach the optimal solution set [20, 21].

The traditional multi-objective optimization method is essentially a single-objective optimization solution. In the pre-processing stage, certain rules are used to transform multiple targets into a single target solution method, and true multi-objective optimization cannot be achieved. In recent years, researchers have proposed various multi-objective optimization methods based on the definition of Pareto’s solution set, such as non-dominated sorting genetic algorithm (NSGA) [21], second-generation non-dominated sorting inheritance. Algorithm (NSGA-II) [22], multi-objective particle swarm optimization [23] and so on. Among them, NSGA-II is improved on the basis of NSGA, and it is solved by adding non-dominated sorting based on standard genetic algorithm. Because it is relatively simple and widely used, it has been tested function [24], power grid planning [25] and supply chain network design [26] and other experimental and practical applications have shown good performance, and become the standard choice for solving multi-objective optimization problems. The method for solving the virtual enterprise partner selection problem is based on NSGA-II.

3 Solving Virtual Enterprise Partner Selection Based on NSGA-II

3.1 Second Generation Non-dominated Sorting Genetic Algorithm (NSGA-II)

In 2000, Srinivas and Deb [27] proposed the second generation non-dominated sorting genetic algorithm (NSGA-II), which is an improved algorithm based on the non-dominated sorting genetic algorithm NSGA. The main flow of the algorithm: In order to generate the progeny population \( Q_{t} \), the initial population is first used as the parent population \( P_{t} \) for genetic operators (selection, crossover, mutation), and the parent population and the progeny population are merged into a new population \( R_{t} \), then the new The population size is twice that of the parent or progeny population, namely, the size is \( 2N \). Then, the new population \( R_{t} \) is quickly non-dominated, and the crowding degree of each individual in the population is calculated, and the non-dominated set \( F_{i} \) is obtained. \( R_{t} \) contains parent and child individuals, then the individual in non-dominated set \( F_{1} \) is the best in \( R_{t} \), so first put \( F_{1} \) into the new parent population \( P_{{t\text{+}1}} \). If the number of individuals in \( F_{1} \) exceeds the population \( N \), then Select \( N \) from \( F_{1} \) according to the size of the crowd; if the number of individuals in \( F_{1} \) does not reach the population \( N \), then select the same method from the next layer \( F_{2} \) until the number of individuals in \( P_{{t\text{+}1}} \) is \( N \). Finally, a new progeny population \( Q_{{t\text{+1}}} \) is generated by the genetic operator.

3.2 Virtual Enterprise Partner Selection Algorithm Based on NSGA-II

Chromosome Coding

In NSGA-II, the traditional chromosome coding adopts one-dimensional coding. This coding structure is not suitable for the problem solved in this paper. For this reason, this paper extends the NSGA-II chromosome to two-dimensional binary coding. As shown in Fig. 1, each line of the chromosome code represents a project \( y_{i} \), each column represents the participation of each link partner, and \( u_{jk} \) is used to represent each gene position of the chromosome. If \( u_{jk} = 1 \) indicates that the enterprise participates in the corresponding link, conversely, If \( u_{jk} = 0 \) indicates that the company is not involved in the corresponding link.

Fig. 1.
figure 1

Two-dimensional binary chromosome encoding

3.3 Virtual Enterprise Partner Selection Algorithm Based on NSGA-II

The steps for solving the virtual enterprise partner selection algorithm based on NSGA-II are as follows:

  • Step 1. First, initialize the maximum number of iterations \( T \), population size \( N \), crossover probability, mutation probability, randomly generate initial populations of \( N \) individuals, and calculate each objective function value of the initial population according to formulas (4), (5), and (6), first assume the iterative algebra \( t = 1 \).

  • Step 2. If \( t = T \), go to Step 6, otherwise go to Step 3.

  • Step 3. In the initial population, individuals who meet the constraints are selected according to the constraints in Eq. (3) to perform crossover and mutation operations to generate new populations, and each objective function value is calculated according to Eqs. (4), (5), and (6).

  • Step 4. Combine the two populations, and obtain the non-dominated level through rapid non-dominated sorting, and generate a new generation of initial population through the elite strategy according to the non-dominated level and the crowding distance.

  • Step 5. Let \( t = t + 1 \) go to Step 2.

  • Step 6. Output the result.

4 Experimental Results and Analysis

Consider three projects concurrently, each of which has been divided into five parts: design \( D \), procurement \( P \), manufacturing \( M \), distribution \( S \), and logistics \( L \). The number of candidates for each link is 21, 18, 17, 16 and 16, respectively. The performance parameters, \( t_{{e_{jk} }} \), \( q_{{e_{jk} }} \) and \( c_{{e_{jk} }} \) of each candidate in the candidate are initialized, and the constraint matrix of each item is \( R_{1} \), \( R_{2} \) and \( R_{3} \), respectively.

$$ R_{1} \,{ = }\,\left[ {\begin{array}{*{20}l} {8.0} \hfill & {5.3} \hfill & {6.4} \hfill & {4.3} \hfill & {4.5} \hfill \\ {0.78} \hfill & {0.78} \hfill & {0.75} \hfill & {0.74} \hfill & {0.74} \hfill \\ {440} \hfill & {420} \hfill & {450} \hfill & {420} \hfill & {400} \hfill \\ \end{array} } \right],\,R_{2} \,{ = }\,\left[ {\begin{array}{*{20}l} {8.9} \hfill & {5.2} \hfill & {9.0} \hfill & {4.5} \hfill & {4.0} \hfill \\ {0.82} \hfill & {0.76} \hfill & {0.77} \hfill & {0.76} \hfill & {0.75} \hfill \\ {480} \hfill & {460} \hfill & {440} \hfill & {460} \hfill & {400} \hfill \\ \end{array} } \right],\,R_{3} \,{ = }\,\left[ {\begin{array}{*{20}l} {8.2} \hfill & {7.0} \hfill & {6.5} \hfill & {7.9} \hfill & {8.0} \hfill \\ {0.79} \hfill & {0.74} \hfill & {0.76} \hfill & {0.78} \hfill & {0.74} \hfill \\ {460} \hfill & {440} \hfill & {400} \hfill & {430} \hfill & {420} \hfill \\ \end{array} } \right]. $$

The NSGA-II was used to perform multi-objective optimization and immune algorithm (IA) [19] single-objective optimization experiments. The immune algorithm draws on the idea of the literature [19], that is, the multi-objective optimization is turned into a single target through the weight method, but here three items are serially processed in sequence. Generally speaking, for an existing optimization algorithm, the performance of the algorithm may change due to different values of the parameters during the execution of the algorithm. At present, the commonly used method for determining parameters is to use an experimental method, that is, a combination of existing work [19, 28,29,30] and a large number of experimental tests to obtain a relatively good set of parameters. The details are as follows: (1) NSGA-II: population size 100, iteration number 500, crossover probability 0.7, mutation probability 0.05. (2) Immune algorithm: population size 100, iteration number 500, vaccination probability 0.72, crossover probability 0.7, mutation probability 0.05.

Each test sample was randomly generated according to the size and constraints of the problem and run independently 30 times.

Figure 2 shows the CPU runtime (in seconds) for 30 independent experiments of the two algorithms. As can be seen from the above figure, this paper proposes that multi-objective optimization of virtual enterprise partner selection is significantly larger than single-target optimized CPU runtime. This is because multi-objective optimization is solved by multiple objective functions not being dominated, which takes a lot of time in each iteration. This paper is the three objective functions, which are the time \( T \), quality \( Q \) and cost \( C \) of all projects, which require the least time, the highest quality and the lowest cost. They are mutually exclusive and get a set of solutions that satisfy the constraints. The single-objective optimization is to convert multiple objective functions into one objective function by the weight method, so that it takes little time in each iteration.

Fig. 2.
figure 2

Running time of two algorithms

Figure 3 shows the Pareto optimal solution set obtained by NSGA-II multi-objective optimization and immune algorithm single-objective optimization. It can be seen from Fig. 3 that NSGA-II multi-objective optimization can search for multiple Pareto optimal solutions. The distribution is more dense and uniform, and the immune target single-objective optimization can only obtain an optimal solution, so that the decision maker has no choice in evaluating the decision, and the NSGA-II multi-objective optimization can give more optimal solutions, the decision maker can choose a reasonable combination plan as needed. The solution idea of the single-objective optimization problem to be compared is similar to that of the literature [19]. The three projects are executed serially in sequence, and the weighting method is used to convert the multi-objective optimization problem into the solution of the single-objective optimization problem, and an objective function value is obtained. The weights corresponding to the objective functions are: 0.38, 0.26, and 0.36, respectively. In this paper, we use NSGA-II to solve the multi-objective optimization problem and obtain a set of solutions with three objective function values.

Fig. 3.
figure 3

Pareto solutions obtained by two algorithms

In order to find a solution superior to single-objective optimization from the Pareto optimal solution obtained from multi-objective optimization in this paper, since the single-objective optimization is performed by three items in sequence, the optimal value of the objective function corresponding to the single-objective optimization is The three objective function values, \( T \), \( Q \) and \( C \) of the project are sequentially added to obtain a solution containing three objective function values, and this solution is compared with a set of solutions containing three objective function values obtained by multi-objective optimization. According to formula (3), the three objective function values in the optimal solution must satisfy the time value of the solution in which all the items are completed less than or equal to the single target optimization, and the mass is greater than or equal to the quality value of the solution in the single target optimization, and the cost is less than or equal to Cost value in the solution of single-objective optimization. Table 1 is a solution to the single-objective optimization of the optimal solution-dominated immune algorithm obtained by NSGA-II multi-objective optimization and its corresponding partner selection. It can be seen from Table 1 that the virtual enterprise partner selection based on NSGA-II multi-objective optimization can search for nine sets of single-objective optimization solutions, which can provide decision makers with nine decision-making schemes when evaluating decisions. Optimization has only one option.

Table 1. Superior Pareto optimal solution and its corresponding partner selection

5 Conclusions

In this paper, a virtual enterprise partner selection algorithm based on overlapping alliance and NSGA-II multi-objective optimization is studied, which realizes the partner selection of multiple projects concurrently processing multiple links. Applying multi-objective optimization ideas to virtual enterprise partner selection is an innovation in this paper. Experiments show that this method can obtain multiple Pareto optimal solutions, which provides decision makers with a variety of decision-making schemes, and decision makers can choose the best one.