Abstract

Recently, incorporating carbon emissions into order allocation decisions has attracted considerable attention among scholars and industrialists. Moreover, affected by the random fluctuations of the man, machine, material, method, and environment (4M1E), the production process is usually imperfect with defective products. Reducing product defective rates can effectively improve the quality of the order allocation process. Therefore, considering product defective rate and carbon emission, a multiobjective integer nonlinear programming (INLP) formulation is presented to address this multiproduct, multiperiod, and multi-OEM order allocation problem. Furthermore, exploring the existing literatures, an improved genetic algorithm using priority encoding (IGAUPE) is put forward as a novel optimization technique. Finally, numerical experiments are conducted to validate the correctness of the proposed INLP model as well as the effectiveness of the proposed algorithm. Compared with the genetic algorithm using binary encoding (GAUBE), genetic algorithm using two-layer encoding (GAUTE), and LINGO software, the experiment results show that IGAUPE can improve the efficiency and effectiveness within the predetermined time limit when solving large-scale instances.

1. Introduction

More than a decade ago, the diversified needs of consumers contributed to changes in the production system. The original make to stock (MTS) system gradually transformed into the make to order (MTO) system in many production industries. In the MTO supply chain, order receiving and allocation operation becomes one of the most important tasks, which is the primary data source for the entire MTO supply chain. In general, order allocation problem (OAP) aims at allocating received customers’ orders to various manufacturers for production. In the process of order allocation, the original equipment manufacturers (OEMs) can be commonly assessed in the light of multiple standards, which contain the specific price, capacity, quality, and efficiency [1]. Moreover, order quantities are allocated to OEMs by decision-makers in line with their requirements to reduce cost [2].

Recently, new changes of consumer demand have taken place. Because carbon emission is relevant to many environmental problems, such as global warming and extreme climate, more and more consumers are paying attention to environment-friendly products. A survey by Bull [3] showed that consumers are willing to buy low-carbon products at a higher price. As a result, many OEMs invest on carbon emission reduction facilities and technologies to manufacture low-carbon products. Even some companies are beginning to label the carbon emissions during production on the products, such as H&M and Levis [4].

On the contrary, affected by the random fluctuations of the man, machine, material, method, and environment (4M1E), the production process is imperfect and produces usually manufacture-defective products. It is also unavoidable to manufacture defective products when using these newly invested facilities and technologies.

Motivated by these practical challenges, this paper develops a three-echelon supply chain consisting of one original brand manufacturer (OBM), several OEMs, and various retailers with multiproduct and multiperiod. From the perspective of decision-makers, we study the order allocation problem in order to maximize overall benefits. To the best of our knowledge, the paper mainly has the following contributions. First, the study fills the research gap on the comprehensive consideration of carbon emission, product defective, quantity discounts, and multiperiod. Second, an improved genetic algorithm using priority encoding is put forward to improve the efficiency and effectiveness of the solving process.

The rest of this paper is organized as follows: Section 2 gives a detailed review on related literatures. Section 3 introduces the model used in this study. The proposed IGAUPE procedure is elaborated in Section 4. Section 5 validates the proposed INLP model and IGAUPE. Section 6 concludes the paper and future research direction.

2. Literature Review

2.1. Order Allocation

Proper order allocation should be a good trade off between efficiency and effectiveness in the supply chain. Most articles took traditional criteria (e.g., cost, time, price, and profit) as objectives to optimize the order allocation problem. For minimizing total time of all orders, Guo et al. [5] presented a single-product and single-plant order allocation formulation, and a genetic algorithm using order encoding (GAUOE) was developed to solve the proposed model. Extending the previous study, Guo et al. [6] introduced a hybrid intelligent optimization model to analyze the multiproduct and multiplant order allocation planning problem, which coordinates order tardiness, throughput time, and idle time simultaneously. Different from the above studies, Seifbarghy and Esfandiari [7] introduced a novel model of multisupplier and multiproduct order allocation with transaction costs over multiperiod. In their research, the genetic algorithm using binary encoding (GAUBE) and the standard simulated annealing (SA) were presented to solve the proposed mixed-integer programming (MIP) formulation. Furthermore, Nazari-Shirkouhi et al. [8] formulated a multiobjective linear programming model for multiproduct and multisupplier, which devoted to minimizing cost, number of rejected items, and late-delivered items. Based on the load equilibrium among suppliers, Renna and Perrone [9] proposed an order allocation policy. Using LINGO software, Gupta et al. [10] proposed a fuzzy multiobjective programming model to minimize the transportation cost and delivery time.

In particular, in view that quantity discount pricing can save cost among suppliers and buyers, some literatures had integrated it into the order allocation problem. For example, Jain et al. [11] took into account all-unit discount policy, incremental-unit discount, and their combination. They developed three heuristic methods to find the optimal order quantity, i.e., genetic algorithm, artificial bee colony, and chaotic bee colony. Duan and Ventura [12] formulated a multiperiod mixed-integer linear programming (MILP) model with single product and multisupplier; meanwhile, lead time and order frequency are took into account in the model. Alegoz and Yapicioglu [13] used TOPSIS and AHP to determine the weights of different objectives.

Moreover, some researchers studied the order allocation problem under disruption risk. Hosseini et al. [14] developed a stochastic biobjective MIP model to demonstrate resilient supplier selection and order allocation problem. A biobjective mixed-integer linear programming (MILP) model was proposed by Goh and PrasannaVenkatesan [15] and was solved by AHP, PROMETHEE, and particle swarm algorithm.

Furthermore, some authors extended the research to logistic service supply chain. For profit maximizing, Liu et al. [27] studied the order allocation problem in logistic service supply chain. For cost-efficiency, Gao et al. [28] presented a multiobjective model of one logistic service integrator and multiple functional service providers. The model is solved by LINGO software. Li [16] proposed a genetic algorithm using two-layer encoding (GAUTE) consisting of binary and real numbers to solve the model in [28]. Under the mass customization of logistics services, Hu et al. [17] introduced a multiobjective mixed-integer nonlinear programming (MINLP) model to maximize the profit and overall satisfaction, and the genetic algorithm using two-layer encoding (GAUTE) consisting of binary and real numbers is also developed.

Recently, there are a number of literatures referring to sustainable criteria (e.g., carbon emission in production and logistics). For example, Gupta et al. [18] presented a multiobjective integer linear programming model under three different scenarios, i.e., the best scenario, the likeliest scenario, and the worst scenario. Considering carbon emission, Govindan and Sivakumar [19] proposed a multiobjective linear programming model solved by LINGO software. From the perspective of green criteria, Babbar and Amin [21] explored the supplier selection and order allocation using a two-stage methodology. For minimizing cost and maximizing the value of purchasing, Hamdan and Cheaitou [22] introduced a biobjective integer nonlinear programming (INLP) model to discuss the order allocation problem and a three-stage integer linear programming (ILP) model to research all-unit quantity discounts and varying supplier availability in Cheaitou and Hamdan [23]. Combining environmental and economic factors, Ghorabaee et al. [20] formulated a multiobjective linear programming model solved by a fuzzy programming approach. Taking sustainability into account, Ghadimi et al. [24] presented two submodels for supplier selection and order allocation in the process of decision-making. To be specific, the first submodel dealt with supplier selection by the fuzzy inference system; for the second submodel, the optimal order quantities of each supplier is obtained by minimizing purchasing cost and maximizing supplier’s sustainability performance. Considering multiobjectives, i.e., cost, carbon emission, and social responsibility, Moheb-Alizadeh and Handfield [25] presented a -constraint method and Benders decomposition algorithm to solve the order allocation problem. By incorporating environmental impact and social impact, Mohammed et al. [26] developed a multiobjective model to allocate the optimal order quantities with single product and multisupplier. Table 1 gives a summary and comparison of the previous literatures related to the order allocation problem. Obviously, these papers have explored the order allocation problem using different methodologies, which enriched the current literature and provided a solid foundation for further research studies in our study.

However, to the best of our knowledge, few studies considered product quality, carbon emission, and quantity discounts at the same time. Although Gupta et al. [18] considered these three factors simultaneously, their research was assumed in the single period, which simplified the complexity of OAP in real-world environments.

2.2. Optimization Techniques

Order allocation belongs to a combinatorial optimization problem [6]. Many techniques, including classical optimization techniques and intelligent optimization techniques, had been utilized to obtain the optimal or near-optimal solutions. The existing optimization techniques for OAP are as follows: simulated annealing [7], particle swarm optimization [15], chaotic bee colony [11], hybrid algorithm [6, 25], genetic algorithm [5, 7, 16, 17], and LINGO software [10, 18, 19, 28, 29].

However, these optimization techniques still have some drawbacks and great improvement rooms (see Table 2). LINGO is undoubtedly the most popular technique to seek the optimal solutions, but it cannot be used to effectively solve large-scale OAP due to the complexity of the problem. For the large-scale OAP, the genetic algorithm is evidently the most commonly used due to their heuristic nature. Although the genetic algorithm is really suitable to solve combinatorial optimization problems and NP-hard problems, to some extent, the encoding rules used in the existing literatures reduce the efficiency of the GA. The four papers developed three encoding rules as follows: order-based encoding [5], binary encoding [7], and two-layer encoding consisting of binary and real numbers [16, 17]. The genetic algorithm using order-based encoding (GAUOE) rule developed by Guo et al. [5] is suitable for single sourcing OAP, in which one order is only assigned to one supplier. Because we attempt to study the multiply sourcing OAP in which one order can be fulfilled by multiple suppliers, the order-based encoding rule of Guo et al. [5] cannot be used in this paper. The latter two encoding rules, i.e., binary encoding [7] and two-layer encoding [16, 17], are suitable for multisourcing OAP. However, based on the latter two encoding rules, the GA will generate a large number of illegal solutions after the crossover and mutation operations. Repair of illegal solutions will increase the running time of GA and reduce the efficiency of GA.

This paper aims at filling the research gap and improving the efficiency and effectiveness of GA. The main contributions of the paper are as follows:(i)In view that few literatures took into account product quality, carbon emissions, quantity discounts, and multiperiod at the same time, we extend the existing model by considering defective rate, carbon emissions, quantity discounts, and multiperiod simultaneously. A novel integer nonlinear programming (INLP) model is presented to address this multiproduct and multi-OEM order allocation problem.(ii)We propose an improved GA using priority encoding (IGAUPE) to improve the solving efficiency. Compared with the GAUBE, GAUTE, and LINGO software, the performance evaluation of IGAUPE reveals that IGAUPE improves the efficiency and effectiveness of the solving process within the predetermined time limit when solving large-scale instances.

3. The Model

3.1. Problem Description

In order to reasonably allocate the order tasks to OEMs within the planning period, this paper will study the order allocation problem considering product defective, carbon emission, and quantity discounts. In addition, this study aims at determining the production quantity and production time for each OEM, so as to minimize the transaction costs, purchasing costs, number of defective products, number of late delivery products, and carbon emission of all orders.

Figure 1 illustrates the sketch map of the supply chain structure in the study, which consists of a single original brand manufacturer (OBM), several OEMs, and various retailers. Considering a multiperiod planning horizon, the OBM accepts and aggregates orders of all retailers so as to obtain the total product demand in each period. The decision-maker considers the production capacity, transaction cost, product price, defective rate, and unit carbon emission. In addition, he arranges the order plans of each OEM’s product in each period. Considering various influencing factors in the process of order allocation, we pursue the minimum of transaction costs, purchasing costs, number of defective products, number of late-delivered products, and carbon emissions of all orders.

Assuming that the planning horizon can be divided into multiple periods, each OEM can produce a variety of homogeneous products. It is worthwhile to mention that products in each OEM have a distinct defective rate. Relevant parameters used in this paper are shown in Table 3.

3.2. Multiobjective Model

The multiobjective model for the order allocation problem can be formulated aswhere equation (1) minimizes the total transaction costs during the planning period, equation (2) minimizes the total purchasing costs, equation (3) minimizes the total number of defective products, equation (4) minimizes the total number of late-delivery products, and equation (5) minimizes carbon emission of all orders.

Obviously, for the above functions, it is hard to obtain the optimal solution to satisfy every objective simultaneously. Meanwhile, the final order allocation solution should be a concrete scheduling that can be carried out directly and quickly, rather than a huge Pareto nondominated solution sets. In this study, the classical objective weighting method is employed to represent corresponding weights for each objective and to convert multiobjectives into single objectives:where represents the weight of five subobjectives, respectively, and their sum equals 1.

Subject toEquation (7) represents the demand constraint where the order demand must be satisfied. Equation (8) represents the maximum acceptable defective rate constraint. Equation (9) represents the maximum acceptable late delivery rate constraint. Equation (10) represents the OEM production capacity constraint. Equation (11) guarantees that mostly one discount interval is selected for each OEM. Equations (12)–(16) ensure the product quantity of each OEM is between any two consecutive breakpoints. Equation (17) expresses the integrality of decision variable . Equation (18) means that is binary variables.

4. Algorithm Design

Multiobjective order allocation has been proved to be a NP-hard problem [7]. Genetic algorithm (GA), dealing simultaneously with a set of population, is well apt to solve the NP-hard problem. We have proposed an improved genetic algorithm using priority encoding (IGAUPE) to optimize objective function F given by Equation (6) and constrains (7)–(18). The specific process is shown in Figure 2.

4.1. Encoding and Decoding

Encoding is the most key issue in the genetic algorithm. An appropriate chromosome encoding will facilitate all the subsequent operations of the GA and improve efficiency. In previous literatures, there are three encoding rules of GA for the order allocation problem: order-based encoding [5], binary encoding [7], and two-layer encoding consisting of binary and real numbers [16, 17]. The order-based encoding rule is not suitable for this paper because our order allocation is not a single-sourcing problem. Based on the latter two encoding rules, they need many repair mechanisms to get feasible solutions after crossover and mutation. And these repair mechanisms will spend a lot of time in algorithms. In this study, we use priority encoding to avoid these repair mechanisms and improve efficiency of the genetic algorithm. The priority encoding of the genetic algorithm has successfully applied for many engineering problems, such as supply chain network optimization, project scheduling, shortest path, and traveling salesman problem.

The priority encoding rule is introduced to multiple OEMs, multiple products, and multiple periods order allocation problem. Each chromosome consists of T gene segments. The tth segment of chromosome represents the solution in period t. In each segment, the OEM id is represented by the position of gene, and the order priority among candidates is represented by the value of gene. Figure 3 shows an example of the chromosome representation, in which there are four OEMs, two products, and two periods. In period 1 (t = 1), for the product 1 (j = 1), the order allocation sequence is OEM 4  OEM 3  OEM 2  OEM 1; for the product 2 (j = 2), the order allocation sequence is OEM 4  OEM 1  OEM 3  OEM 2. In period 2 (t = 2), for the product 1 (j = 1), the order allocation sequence is OEM 2  OEM 4  OEM 1  OEM 3; for the product 2 (j = 2), the order allocation sequence is OEM 3  OEM 1  OEM 4  OEM 2.

The chromosome of IGAUPE is decoded in units of segments on the forward direction. Algorithm 1 describes the pseudocode of chromosome segment decoding. Taking the first segment of the chromosome in Figure 3 as an example, the decoding process is shown in Table 4.

 Input: : set of OEMs; : set of products
    : demand for product j,
    : capacity of OEM i to manufacture product j,
    : chromosome,
 Output: : quantity of product j supplied by OEM i,
(1) ,
(2) Select the gene k with the highest priority value
(3) 
   //ceil(a) is a function that rounds the element of a to the nearest integer greater than or equal to a
(4) , determine the product type
(5) , determine the OEM id
(6) , allocate available product quantities
   // Update availabilities on demand () and capacity ()
(7) ;
(8)  if , then
(9)   for do
(10)   
(11)   end for
(12)  else
(13)   
(14)  end if
(15)  for all do
(16)   if each , then
(17)    stop
(18)   else
(19)    go to step 1
(20)   end if
(21)  end for
4.2. Fitness Function

For a chromosome, its fitness value reflects that how good it is and decides whether it is selected in the next generation. It is noteworthy that we will choose a chromosome with a higher fitness value. In order to clearly reflect the subtle changes in the fitness value, we set the numeric value of the numerator to . The fitness function in the IGAUPE is as follows:where F represents the objective function value given by equation (6).

4.3. Selection

A combined method of hybrid roulette and elite reservation is adopted as the selection strategy in this paper. The best individual in the parent population is directly retained to the next population. The other individuals in the next population are chosen by the roulette method. The roulette method is also applied to select parents for the crossover operator and mutation operator.

4.4. Crossover

Crossover operation is the fundamental way to generate new chromosomes. According to the characteristic of the chromosome structure, we take the segment of chromosome as the unit to operate uniform crossover. The crossover operation is shown in Figure 4.

4.5. Mutation

The mutation operation can effectively improve the search efficiency of the genetic algorithm and maintain the diversity of population. Mutation is performed by a swap operator. In the corresponding segment, we randomly select two genes and exchange their places. The mutation operation used in the proposed genetic algorithm is shown in Figure 5.

4.6. Stopping Rule

The common stopping rules of the genetic algorithm are as follows: (1) reaches the generation limit, (2) reaches the time limit, and (3) performance cannot be improved. The first stopping rule is adopted for an illustrative instance in Section 5.1, and the second stopping rule is adopted for large-scale computational experiments in Section 5.2.

Algorithm 2 describes the pseudocode of the proposed IGAUPE.

 Input: Pop, Pc, and Pm.
 Output: the best solution X
(1) Generate a initial population (Pop)
(2) X the best solution in the initial Pop
(3) while stopping rule is not met do
(4)  for each solution in Pop do
(5)   Fitness (Pop)
(6)  end for
(7)   the best solution in the current Pop
(8)  if is better than X, then
(9)   X
(10)  end if
     // Crossover
     // u01 is a random number between 0 and 1; Pc is a crossover probability
     // , are two different parent individuals; C is a child solution
(11)  if u01 < Pc, then
(12)    selection (Pop);
(13)    selection (Pop);
(14)   C crossover ()
(15)  end if
     // Mutation
     // Pm is a mutation probability; is a parent individual
(16)  if u01 < Pm, then
(17)    selection (Pop);
(18)   C mutation ()
(19)  end if
(20)  Update the population
(21) end while

5. Numerical Experiments

The proposed GA is programmed via Matlab software and tested on an Intel Core i5-2500 CPU @3.30 GHz with 4 GB RAM. Firstly, an illustrative instance is conducted to test the effectiveness of the INLP model and IGAUPE proposed in this study. Then, the performance of IGAUPE is tested compared with GAUBE, GAUTE, and LINGO software through large-scale instance sets. In the GAUBE, binary encoding developed by Seifbarghy and Esfandiari [7] is used for chromosome representation of the order allocation problem. In the GAUTE, two-layer encoding consisting of binary and real numbers developed by Li [16] and Hu et al. [17] is used for chromosome representation of the order allocation problem.

5.1. An Illustrative Instance

Let us consider an instance consisting of two OEMs, three products, three periods, and two discount intervals. The maximum acceptable defective rates of three products are 0.004, 0.006, and 0.008, respectively. The maximum acceptable late delivery rates of three products are 0.085, 0.12, and 0.009, respectively. The price discount rates of two discount intervals are 0 and 0.1 in turns. The five weights are the same and equal to 0.2. The lower limit quantity of the second discount interval is 50% of the production capacity. The values of original price, capacity, and demand are shown in Table 5, and Table 6 shows the values of defective date, late delivery rate, unit carbon emission, and transaction cost.

Based on the minimal objective function value, the suitable values of parameters for the IGAUPE are gained from different values. They are set as follows: population size is 100, crossover probability is 0.8, mutation probability is 0.1, and generation is 1000. The objective function value is 227917.4, and the solutions of decision variables are listed in Table 7. Obviously, the proposed model can effectively simulate the decision-making process of order allocation, and the proposed IGAUPE is suitable to solve the model.

5.2. Large-Scale Computational Experiments

In this section, the effectiveness and efficiency of the proposed IGAUPE is validated by 10 sets. Each set consists of 10 examples; therefore, 100 examples are analyzed. These instances are solved by LINGO 13.0 to obtain the optimal or the current best solutions within 120 minutes. The solutions of LINGO are used to evaluate the performance of IGAUPE, GAUBE, and GAUTE. Table 8 lists the related parameters, which contain the number of OEMs, products, periods, and intervals in each set. In each instance, the values of parameters are randomly generated within the value range shown in Table 9. The weight of each objective function remains 0.2; however, the set volume is increasing in turn.

Through equation (20), the performance of IGAUPE is compared with GAUBE, GAUTE, and LINGO 13.0 software. In the IGAUPE, the initial population is randomly generated. The values of parameters for the IGAUPE, GAUBE, and GAUTE are set as follows: population size is 100, crossover probability is 0.8, and mutation probability is 0.1. For comparison, a very large number for generations is set to ensure that the computation time of the IGAUPE, GAUBE, and GAUTE is more than 10 minutes. In other words, when the computation time of the IGAUPE, GAUBE, and GAUTE reaches 10 minutes, they stop running and will output the current best results:

Table 10 summarizes the computational results by solving each instance set by IGAUPE, GAUBE, GAUTE, and LINGO, and the average GAP and maximum GAP are also reported. We can draw some findings from Table 10.

For the first eight instance sets, the optimal solutions can be obtained by LINGO within 120 minutes. However, LINGO fails to find the optimal solutions of instance sets 9 and 10 in 120 minutes. Therefore, for the latter two instance sets, the current best feasible solutions are obtained by clicking the button of interrupt solver to terminate the LINGO program.

With the expansion of the instance set scale, the computation time of LINGO accordingly increases. For the latter five instance sets, the computation time of LINGO exceeds 10 minutes, which is the upper limit time for IGAUPE. However, all instance sets can be successfully solved by the proposed IGAUPE in the time limit of 10 minutes. Therefore, the proposed IGAUPE outperforms LINGO with respect to the computation time when solving large-scale instances.

All instance sets can be successfully solved by the proposed IGAUPE, GAUBE, and GAUTE. It is worth mentioning that the average GAP of proposed IGAUPE is on average 0.75% which is less than that of GAUBE and GAUTE. The maximum GAP of the proposed IGAUPE is on average 3.07% which is less than that of GAUBE and GAUTE. Specifically, the average GAP range of the proposed IGAUPE is 0.21%∼1.93%, the average GAP range of GAUBE is 0.13%∼4.29%, and the average GAP range of GAUTE is 0.26%∼3.01%. In terms of the maximum GAP index, the range of the proposed IGAUPE is 0.54%∼4.48%, the range of GAUBE is 0.61%∼8.14%, and the range of GAUTE is 1.24%∼6.91%.

In brief, it is concluded that the proposed IGAUPE is significantly able to improve the performance and computation time compared with the GAUBE, GAUTE, and LINGO. Figures 6 and 7 demonstrate the average GAP and maximum GAP, respectively.

6. Conclusions

This paper focuses on modeling and solving the multiobjective sustainable order allocation problem. The main contributions of our work can be summarized as the following two aspects. First, considering product quality, carbon emission, quantity discounts, and multiperiod, the paper explores a multiproduct and multi-OEM integer nonlinear programming model. From the perspective of minimizing transaction cost, purchasing cost, number of defective products, number of late delivery product, and carbon emission of all orders, a novel multiobjective model is presented and converted to a single objective model using the weighting method. Second, due to the fact that the problem is NP-hard in nature, IGAUPE with a better encoding rule is proposed. Compared with GAUBE, GAUTE, and LINGO software, the performance evaluation of the proposed IGAUPE reveals that the proposed IGAUPE can improve the efficiency and effectiveness within the predetermined time limit when solving large-scale instances.

There are still some limitations in this work. The following directions can be extended in the future. First, it is not comprehensive to only consider the product defective rate in terms of quality. More quality factors should be considered in the future work. Second, in terms of sustainability, only carbon emission is considered in the paper. In the future, it is possible to take into account more sustainable criteria, such as energy-saving, green technology, recycled packaging, and utilization rate of resources. Nevertheless, our research can provide some references for future researches on modeling and solving the sustainable order allocation problem.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that there are no conflicts of interest.

Acknowledgments

This research was funded by the National Natural Science Foundation of China (grant no. 71502050), Youth Foundation of Social Science and Humanity, China Ministry of Education (grant no. 19YJC630178), Philosophy and Social Science Foundation of Henan Province, China (grant no. 2018BJJ023), and Key Scientific and Technological Research Projects of Henan Provincial Department of Education, China (grant no. 15A630066).