Next Article in Journal
An Area Coverage Scheme Based on Fuzzy Logic and Shuffled Frog-Leaping Algorithm (SFLA) in Heterogeneous Wireless Sensor Networks
Previous Article in Journal
Soft Frames in Soft Hilbert Spaces
Previous Article in Special Issue
Quantum-Inspired Differential Evolution with Grey Wolf Optimizer for 0-1 Knapsack Problem
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Sorting-Based Discrete Artificial Bee Colony Algorithm for Solving Fuzzy Hybrid Flow Shop Green Scheduling Problem

1
Department of Computer Science and Technology, Ocean University of China, Qingdao 266100, China
2
Key Laboratory of Symbolic Computation and Knowledge Engineering of Ministry of Education, Jilin University, Changchun 130012, China
3
Guangxi Key Laboratory of Hybrid Computation and IC Design Analysis, Guangxi University for Nationalities, Nanning 530006, China
4
College of Information Technology, Jilin Agricultural University, Changchun 130118, China
*
Authors to whom correspondence should be addressed.
Mathematics 2021, 9(18), 2250; https://doi.org/10.3390/math9182250
Submission received: 16 August 2021 / Revised: 26 August 2021 / Accepted: 8 September 2021 / Published: 14 September 2021
(This article belongs to the Special Issue Evolutionary Computation 2020)

Abstract

:
In this era of unprecedented economic and social prosperity, problems such as energy shortages and environmental pollution are gradually coming to the fore, which seriously restrict economic and social development. In order to solve these problems, green shop scheduling, which is a key aspect of the manufacturing industry, has attracted the attention of researchers, and the widely used flow shop scheduling problem (HFSP) has become a hot topic of research. In this paper, we study the fuzzy hybrid green shop scheduling problem (FHFGSP) with fuzzy processing time, with the objective of minimizing makespan and total energy consumption. This is more in line with real-life situations. The non-linear integer programming model of FHFGSP is built by expressing job processing times as triangular fuzzy numbers (TFN) and considering the machine setup times when processing different jobs. To address the FHFGSP, a discrete artificial bee colony (DABC) algorithm based on similarity and non-dominated solution ordering is proposed, which allows individuals to explore their neighbors to different degrees in the employed bee phase according to a sequence of positions, increasing the diversity of the algorithm. During the onlooker bee phase, individuals at the front of the sequence have a higher chance of being tracked, increasing the convergence rate of the colony. In addition, a mutation strategy is proposed to prevent the population from falling into a local optimum. To verify the effectiveness of the algorithm, 400 test cases were generated, comparing the proposed strategy and the overall algorithm with each other and evaluating them using three different metrics. The experimental results show that the proposed algorithm outperforms other algorithms in terms of quantity, quality, convergence and diversity.

1. Introduction

The growth of manufacturing has brought economic and social prosperity. Shop scheduling, as a key part of manufacturing, plays an important role in economic development. Hybrid flow shop (HFS) is a common manufacturing environment [1] that combines the features of process shop and parallel machine scheduling and is widely used in container handling [2], electronics manufacturing, chemical production, and steel production [3,4,5], in addition to applications in internet service architecture [6], civil engineering [7], and production planting [8]. The hybrid flow shop scheduling problem (HFSP) refers to multiple jobs to be processed in multiple stages with one or more machines in each stage, and a specific optimization objective is achieved by determining the order in which the jobs are processed and the allocation of machines to each job in each stage [1]. It is worth noting that there are two other cases of HFSP in real life [9,10]: (1) the processing time of a job is often not fixed but fluctuates within a limited range due to worker proficiency, newness of the machine. (2) The same machine processing different jobs requires a certain setup of the machine before processing, and due to the differences between jobs, the setup time required by the machine varies from job to job. Therefore, it is more meaningful and practical to study HFSP with setup time and fuzzy job processing time.
While the world is experiencing unprecedented economic and social prosperity, environmental pollution and energy scarcity are becoming a serious problem that seriously affects the future development of humanity. In particular, the manufacturing industry takes up most of the world’s energy and produces a large amount of pollutant emissions [11]. Therefore, in order to solve the energy and environmental problems, green shop scheduling, as a key aspect of manufacturing, has become a hot spot for research [12]. The purpose of green shop scheduling is to reduce energy consumption, reduce environmental pressure, and achieve sustainable development without losing economic benefits. Therefore, the widely used hybrid flow green shop scheduling problem (HFGSP) has a high research value.
However, HFGSPs that consider fuzzy job processing time are not common at present. Fu et al. [13] developed a hybrid multi-objective optimization algorithm to solve HFSP with fuzzy processing time but did not consider the energy problem. Wang et al. [14] investigated the HFGSP of job processing time variation caused by the dynamic reconfiguration process of the device to minimize the energy consumption of makespan and the whole device and proposed an improved multi-objective whale optimization algorithm to solve it.
As HFSP has a wide range of application scenarios, the uncertain job processing time meets the actual production needs and the energy saving is in line with the future direction of manufacturing. In this paper, we study the fuzzy hybrid flow green shop scheduling problem (FHFGSP) which meets the above three scenarios and is less studied currently. FHFGSP considers fuzzy job processing time and machine setup time with the objective of minimizing both makespan (MS) and total energy consumption (TEC). Uncertain completion time is denoted by triangular fuzzy numbers (TFN) and TEC is divided into three parts: machine working time, machine setup time, and machine idle time. At present, there are not many HFGSPs that consider both fuzzy processing time and work sequence-related setup time, but FHFGSP is more in line with actual production scenarios and has higher research value.
Artificial bee colony (ABC) [15] is one of the swarm intelligence algorithms, which is divided into employed bees, onlooker bees, and scout bees according to the foraging behavior of the swarm, with good global exploration and local development. ABC has been shown to be superior or close to other classical swarm intelligence algorithms [16,17]. ABC is widely used to solve shop scheduling problems [18]. To solve FHFGSP, this paper proposed a sorting-based discrete artificial bee colony algorithm (SDABC). Individuals in the population are ranked according to non-dominated solutions and similarity to the ideal solution and adopt different search and follow strategies according to the location to achieve full exploration of the solution space and discover better solutions. It is worth mentioning that SDABC can be used not only to solve FHFGSP problems such as turning shop [19]. It can also be used to solve the expansion of FHFGSP described in the first paragraph.
The main contributions of this paper are as follows:
(1)
The FHFGSP with processing time fuzzy is investigated. The completion time is represented by TFN, and the energy consumption in the scheduling process is considered in three parts, which is more in line with the actual production environment.
(2)
In the employed bee phase, the population was ranked based on the number of dominant solutions and the similarity of ideal solutions, and different degrees of exploration were taken for individuals according to the results of the ranking, with the best individuals being more fully explored.
(3)
In the onlooker bee phase, a selection strategy is adopted so that individuals in the top ranking have a higher probability of being selected, and a mutation strategy is adopted to avoid falling into a local optimum.
The paper is organized as follows: Section 2 gives the relevant works, Section 3 describes what the FHFGSP is, gives a symbolic representation and builds a mathematical model of the FHFGSP. Section 4 details the SDABC for solving the FHFGSP. Experimental validation is presented in Section 5 and the last section contains conclusions and outlook.

2. Related Works

ABC has been successfully applied to solve shop scheduling problems due to its advantages such as few control parameters and ease of implementation [20]. As there is no research related to ABC for solving FHFGSP, this section reviews the work related to the use of ABC for solving shop scheduling problems.
Li et al. [18] proposed a novel hybrid ABC and tabu search algorithm (TABC) to solve the HFSP finite buffers, employing a TS-based adaptive neighborhood strategy that gives the TABC algorithm the ability to learn and generate neighborhood solutions in different promising regions as a means to minimize makespan. Yue et al. [21] investigated the batching and hybrid model scheduling problem in a flexible parallel production line, considering the sequence-dependent setup time between hybrid model products with the aim of minimizing the manufacturing cycle time of the line while balancing the workload between lines and maximizing the net profit. In addition, a new material availability constraint is introduced to the problem. A novel Pareto guided ABC is designed to address the current problem. Gong et al. [22] considered the impact and potential of human factors on improving productivity and reducing production costs in real production systems and proposed a hybrid ABC to solve flexible job shop scheduling problems (FJSP) with worker flexibility. Zadeh et al. [23] proposed a heuristic model based on an ABC for the dynamic FJSP. Lei et al. [24] studied the distributed unrelated parallel machine scheduling problem with preventive maintenance (DUPMSP) and proposed an ABC with division to minimize MS. Xie et al. [25] proposed an improved ABC considering machining structure evaluation to solve the flexible integrated scheduling problem of networked equipment, which is an extension of job shop scheduling. Xuan et al. [20] proposed an improved DABC with the introduction of a genetic algorithm to solve FJSP for uncorrelated parallel machines with progressively deteriorating jobs and timing dependencies.
As flow shops are very common in practical production activities, the HFSP is of high research value. Wang et al. [19] proposed a new decoding method that simultaneously considers spindle speed optimization and scheduling scheme optimization and acts on the distribution estimation algorithm to simultaneously reduce energy consumption and makspan in the turning shop. Li et al. [26] proposed an improved ABC to solve the distributed flow shop problem (DFSP) with the objective of minimizing MS. Li et al. [27] proposed a hybrid ABC to solve the parallel batch DFSP with deteriorating jobs. In the proposed algorithms, two types of problem-specific heuristics are proposed, namely batch allocation and right-shift heuristics, which can significantly shorten makespan. Gong et al. [28] proposed a hybrid multi-objective DABC for solving the blocked batch flow process shop scheduling problem with two conflicting criteria of minimizing MS and lead time. With the objective of minimizing the total process time, Pan et al. [29] solved the distributed arrangement flow job scheduling problem based on a high-performance framework of DABC. Li et al. [30] proposed an improved ABC to solve a multi-objective optimization model with the objectives of minimizing MS and processing cost for the hybrid flow shop process planning and production scheduling independently of each other. Peng et al. [31] investigated the problem of flow shop rescheduling in the actual steelmaking process, considering interruptions caused by machine failures and controllable processing times in the final stages, and proposed an improved ABC to solve the problem.
However, in actual production, the processing time of jobs is often uncertain and there is very little research on ABC solutions to fuzzy HFSP. Zhong et al. [32] proposed a new artificial swarm algorithm, the improved artificial swarm algorithm, for the multi-objective fuzzy FJSP. The objectives are to minimize the maximum fuzzy MS, maximize the weighted consistency index and minimize the maximum fuzzy machine workload.
Most of the research on the use of ABC to solve shop scheduling problems is in the area of improving economic efficiency. Very little research has been done on saving energy and reducing pollution emissions. Li et al. [33] designed an improved ABC to solve a multi-objective low-carbon job shop scheduling problem with variable machining speed constraints. Zhang et al. [34] studied HFGSP with variable machine processing speed to minimize MS and TEC and proposed a multi-objective DABC (MDABC) to solve HFGSP. However, in HFGSP, the processing time of the job is set to an exact value, which is not fully compatible with the actual production environment. In real life, the processing time of the job often deviates due to the operator’s business ability, machine aging, etc. Moreover, the neighborhood search adopted by MDABC in the employed bee phase and the binary race strategy adopted in the onlooker bee phase make the algorithm suffer from the problem that it cannot fully explore in the solution space, the convergence of the algorithm is not high, and it is easy to fall into local optimum.
For this reason, this paper studies the FHFGSP with uncertain job processing time and proposes SDABC to solve FHFGSP. In SDABC, the dominant individuals guide the poor individuals to update in the employed bee phase, which improves the convergence speed of the population, and the proposed ranking-based selection strategy and mutation strategy can prevent individuals from falling into local optimum in the onlooker bee phase. FHFGSP is consistent with the actual production environment and production requirements, but it is not common in previous studies.

3. FHFGSP

This section first details the problem definition of FHFGSP, then the rules of TFN operations are explained, and finally the symbolic representation of FHFGSP is given and the mathematical model of FHFGSP is developed.

3.1. Description of the Problem

FHFGSP combines the features of fuzzy scheduling and HFSP. In FHFGSP, n jobs will be processed in m (m ≥ 2) stages in the same order. Each stage j has at least one machine Mj,k (k ≥ 1) and at least one stage has multiple machines [1,35,36]. The processing time Ti,j,v of jobi on machine Mj,k is uncertain and is given by the triple [37] ( t i , j , v o , t i , j , v m , t i , j , v p ) where t i , j , v o t i , j , v m t i , j , v p . t i , j , v o denotes the optimal processing time, t i , j , v m denotes the most probable processing time, and t i , j , v p denotes the worst processing time.
The constraints for FHFGSP are formulated as follows:
(1)
Jobs are not allowed to be interrupted and preempted when there is a job being processed on the machine, and the machine is not allowed to stop.
(2)
At the beginning, all jobs and machines are available.
(3)
Only one job can be processed by any one machine at any one time and any job is only allowed to be processed by one machine at any one time.
(4)
Machines at the same stage process jobs at the same speed with the same power.
(5)
Machines are allowed to idle.
(6)
Machines can only process jobs at a selected speed. This cannot be changed during the processing.
The objective to be optimized by FHFGSP is to minimize MS and TEC. In this paper, the TEC is divided into three parts: when the machine is idle, when the machine is in the setup phase, and when the machine is processing jobs. There are three ways to reduce MS: (1) reduce machine idle time, which is influenced by the job sequence. (2) Reduce machine setup time, which also reduces TEC, which is also influenced by the job sequence. (3) Reducing the time of the job being processed, which means increasing the processing speed of the job. However, the energy consumption of the machine when processing a job is proportional to the processing speed of the job [38], and reducing the job processing time increases the TEC. Since the two objectives to be optimized are in conflict with each other, this paper solves the FHFGSP by adjusting the job sequence and the speed of the machine when processing the job.

3.2. TFN Concepts and Operations

The concept of fuzzy sets was introduced by Zadeh [39] and the basic idea is to fuzzily the absolute affiliation in classical sets. It can be used to solve real-life uncertainty problems [40]. This subsection gives the rules for the operation of the TFN to facilitate the solution of the GFHSP.
For any two TFNs A = (a1, a2, a3) and B = (b1, b2, b3) the rules for each operation are as follows:
  • Additive operations
    A + B = ( a 1 + b 1 ,   a 2 + b 2 ,   a 3 + b 3 )
  • Multiplication operations
    A × B = ( a 1 × b 1 , a 2 × b 2 , a 3 × b 3 )
  • Comparative operations
    A = ( a 1 + 2 a 2 + a 3 4 )
The TFN comparison operation is divided into three steps and has three judgement criteria.
Step 1: Get A and B by (3). If A > (<) B , then A > (<) B.
Step 2: If A = B , then compare a2 and b2. If a2 > (<) b2, then A > (<) B.
Step 3: If A = B and a2 = b2, then compare the difference between a3 and a1. If a3a1 > (<) b3b1, then A < (>) B.

3.3. Mathematical Models

After understanding the basic concepts of FHFGSP and TFN, mathematical modelling of FHFGSP from the perspective of optimization objectives is needed to facilitate a better understanding of the problem to solve it. The interpretation of the relevant symbols appearing in the FHFGSP is shown in Table 1.
Objective:
M i n { M S , T E C }
Subject to:
k M j v V j x i , j , k , v = 1 , i I , j J
e i , j b i , j = k M j v V j x i , j , k , v p t i , j , v  
b i , j e i , j 1 0 , j { 2 , , m }  
z i , i * , j , k + z i * , i , j , k 1 , i , i * I , k M j  
b i , j i * I e i * , j z i * , i , j , k k M j i * I z i * , i , j , k s t i * , i , j 0  
e i , j k M j v V j x i , j , k , v p t i , j , v k M j i * I z i * , i , j , k s t i * , i , j = 0  
M S = max e i , m  
T E C = P E + S E + I E  
p p i , j , v = p i , j / c j , v  
P E = j J k M j i I v V j x i , j , k , v T i , j , v p p i , j , v  
S E = j J k M j i I i * I v V j x i , j , k , v z i * , i , j , k s t i * , i , j s p  
I E = j J k M j [ E k , j B k , j i I v V j x i , j , k , v ( p t i , j , v + i * I z i * , i , j , k s t i * , i , j ) ] i p  
where (4) gives the objective of the FHFGSP to minimize both MS and TEC (5)–(10) give the associated constraints. (5) guarantees that each job i can be assigned to a specific machine k for processing at speed v at each stage j. (6)–(9) guarantees that no interruptions and preemptions by jobs are allowed during the processing and setup phases. (10) indicates that the machine starts processing as soon as setup is complete. (11) indicates that MS is determined by the end time of the last job to be processed in the final stage. (12) indicates that the TEC consists of three components, PE indicates the energy consumption of the machine while processing the job, SE indicates the energy consumption of the machine during the setup time, IE indicates the energy consumption of the machine during the idle time. (13) denotes the actual power of job i when it is processed at speed v in stage j. (14)–(16) are the specific information of PE, SE, and IE, respectively, all energy consumption is obtained by multiplying power by time.

4. SDABC of FHFGSP

This section presents the proposed SDABC algorithm for solving FHFGSP. The basic framework of the ABC algorithm is first presented, and then the encoding and decoding scheme and the energy saving procedure are described, followed by the details of SDABC, and finally a summary.

4.1. The Framework of ABC

In ABC, during the initialization phase, a set of food source locations are randomly selected by bees and their nectar amount is determined, then these bees enter the colony and share nectar information. Each search cycle consists of three steps. In the first phase, after information sharing, each employed bee searches for information in the vicinity of the food source location and abandons the old food source to choose a new food source if a better one is found. In the second phase, the onlooker bee selects a food source to follow based on the nectar distribution information sent by the employed bee, the better the food source the more likely it is to be followed. If the current food source is not updated for a long time, the employed bee will abandon the current food source and become a scout bee. The scout bee randomly selects a new food source to replace the abandoned food source. The overall framework of the basic ABC framework is shown in Algorithm 1.
Algorithm 1 Framework of the basic ABC framework
Input: population P;
Output: results;
 1:  Initialize population P;
 2:  while requirements are met do
 3:   Employed bees to explore around food sources;
 4:   Onlooker bees select good individuals to follow and explore around the food source;
 5:   if triali > threshold limit then
 6:   Employed bees transformed into scout bees looking for new food sources;
 7:   end if
 8:  end while
 9:  return results.
In this paper, the linear weighted sum method is used as the decomposition method. For a multi-objective optimization problem with m objectives, a weight vector λ = (λ1, λ2, …, λm) T is added, where i represents the sum of the weight values of the i-th objective. As shown in (17).
min F ( X ) = i = 1 m λ i f i ( x i ) s . t . x Ω
where fi(xi) is the objective value for the i-th objective. Since this paper is a two-objective problem, λ = (λ1, λ2,) T the values of λ1 are taken in {0/H, 1/H, …, i/H, …, H/H}, where H = N − 1 and λ2 = 1 − λ1.

4.2. Coding Scheme

This subsection gives the encoding and decoding scheme of FHFGSP. The objective of FHFGSP is the minimum MS and TEC. To achieve these two optimization objectives, it is necessary to determine the sequence of jobs in each stage, the machine allocation for each stage of the job, and the speed at which each stage of the job is processed on the machine. Due to the characteristics of FHFGSP, each job needs to go through the same processing stages, so we only need to determine the sequence of jobs into the first stage, and the sequence of jobs in other stages can be determined automatically. However, since the processing speed of each job in each stage is independent of the preceding and following stages and the preceding and following jobs, the processing speed of each job in each stage is independent of the preceding and following jobs. Therefore, the speed of each job in each stage should be determined separately.
Therefore, the solution is coded in two parts. The first part is the sequence of jobs into the first stage. The second part is the velocity selection matrix. In this paper, the two parts of the solution are represented as follows:
π n = { π 1 , , π i , π n } V m × n = [ v 1 , 1 , v 1 , i , v 1 , n   v j , 1 , v j , i , v j , n   v m , 1 , v m , i , v m , n ]
where πn denotes the n-dimensional job sequence vector, πi is the sequence number of the i-th job entering the machine, Vm×n represents the speed matrix of the jobs, and vi,j is the machine processing speed level of the i-th job at stage j.
The second part represents the solution to the three-stage scheduling problem for three jobs as <π3, V3×3>. As shown below, the solution to the three-stage scheduling problem for three jobs is denoted as <π3, V3×3>. π3 indicates that the order in which jobs enter the first stage of scheduling is job1, job3, and job2. V3×3 indicates that in the three stages, job1 is processed at levels 1, 2, and 3, while job2 is processed at levels 2, 1, and 1, and job3 is processed at levels 2, 1, and 3, respectively.
π 3 = { 1 , 3 , 2 } V 3 × 3 = ( 1 2 2 2 1 1 3 1 3 )
After the coding scheme is determined, it needs to be decoded into an actual scheduling scheme to make sense. The detailed decoding scheme is as follows. In the first stage, machines are available at the moment 0. According to the order of jobs in πn, the jobs are placed on the machine that can be executed earliest and the jobs are processed according to the corresponding speed in the speed matrix, after which the available time of the machine is updated before processing the next job. The following steps are performed for each job in turn in the other stages:
Step 1: Process the job according to its completion time in the previous stage, according to the first-come, first-served principle, i.e., the one that was completed earlier in the previous stage and arrives at this stage first is processed first.
Step 2: Based on the speed in the speed matrix, select the parallel machine that can process the job as early as possible.
Step 3: Update the available time of the machines. Assuming that machine k is available at the moment 0, it takes 3 times to process job i and 1 time to set up, then the available time of the machine is 0 + 3 + 1 = 4 times.

4.3. Initialization and Energy Saving Procedures

After determining the encoding, it is necessary to initialize the populations and external populations. In this paper, the population is initialized in a random way, and for each individual, the job sequence and velocity matrix are generated randomly.
After the population initialization is completed, the dominance relationship between individuals needs to be calculated and the non-dominated solutions are populated with external population.
Although the two optimization objectives of the FHFGSP conflict with each other, it is possible to use a suitable strategy to improve the other objective while controlling one optimization objective constant. To obtain high-quality solutions, individuals use an energy-saving procedure after initialization with the aim of further improving the quality of the population. The basic idea of the energy-saving procedure is to achieve a reduction of PE in TEC by reducing the processing speed of the job while controlling a constant MS.
To achieve constant MS, the energy-saving procedure uses the idea of backtracking. Starting from the last job in the last stage, the processing speed of the job is minimized without affecting the completion time of other jobs. The detailed steps are shown in Algorithm 2, where the symbols that appear are given in Table 1.
Algorithm 2 Energy saving procedure
Input: sequence of assignments in order of completion, π’;
  speed selection matrix, V;
  integer related to the number of parallel machines, k;
Output: new speed selection matrix, V*;
 1:  i’ = the job processed on machine k after i;
 2:  i* = the job processed on machine k before i
 3:  for j = m to 1 do
 4:   for l = n to 1 do
 5:   i← Index of the l-th job in π’;
 6:   for v* = 1 to vi,j do
 7:    if pti,j,v* <= bi’,j - sti*,i,j-sti,i’,j- ei*,j then
 8:     vi,jv*;
 9:     bi,j = ei,j- pti,j,v*;
10:     break;
11:    end if
12:   end for
13:   end for
14:  end for
15:  return V*.

4.4. Employed Bees

During the employed bee phase, each individual tries to search around the food source to obtain a better food source. The food source is the solution to the problem.
In order to allow the employed bee to fully explore around the solution, a local search strategy based on ranking is proposed, with the central idea that high-quality solutions are used to guide bad solutions to update themselves.
First, there is a requirement to identify high quality individuals in population. A new way of determining high-quality individuals is proposed. The quality of each individual is related to two factors: the number of dominant solutions and the similarity to the ideal solution. (21) gives a high-quality assessment function for each individual, where ni denotes the number of solutions in population that are dominated by the current individual i, d+, and d- denote the Euclidean distances to the ideal and negative ideal solutions, respectively. (22) gives the formula for the Euclidean distance, where xi denotes the i-th subproblem of the current solution and x*i denotes the i-th subproblem of the ideal solution. Since this paper is about finding a minimum of two objectives, the ideal solution is the lower boundary of the search space and the negative ideal solution is the upper boundary of the search space.
v a l u e i = d i d i + d i + + N n i N 2
d = ( ( x i x i * ) 2 )
The high-quality individuals then guide the poor individuals to self-renewal when the employed bees search around solutions. The high-quality individuals guided the poor individuals to different degrees, and (23) gives the degree to which each individual i guided the poor individuals. It is worth noting that the high-quality individuals only guide the poorer individuals in their neighborhood. The Euclidean distance of each individual i in population from other individuals was calculated and the nearest T individuals were selected as neighbors of i.
l = π n i N
In addition, in order to prevent individuals in the population from leading differential updates that affect other individuals that have already been updated and destroy the structure of individuals, individuals in population are sorted in a non-ascending order according to their quality, and individuals that have already been updated do not participate in updates in the same population.
It is also worth noting that five update strategies are used in this paper, depending on the problem to be solved. These strategies are insertion and exchange of working sequences, mutation of velocity matrices, and insertion mutation and cross mutation of working sequences and velocity matrices. The employed bees obtain possible solutions based on these update strategies.
The employed bees search around the solution starting from the first update strategy. If the currently selected update strategy does not yield a solution with high fitness, then the next employed bee searches based on the next update strategy until it finds a high-quality solution. When all five update strategies have been searched, the search starts from the first one again. The flow of the employed bee phase is shown in Algorithm 3, where Quality() means calculating the quality of each individual according to (21), Level() means determining the degree to which an individual leads the difference solution, GetNew() means updating individuals according to the strategy qi with an initial value of 1 for qi, and GetBad() means obtaining the difference solution that has a high similarity to the current individual and has not been updated.

4.5. Onlooker Bees

In the onlooker bee phase, the onlooker bee will select good food sources for further search based on the information conveyed by the employed bee, with the aim of obtaining high-quality solutions and accelerating the convergence of the algorithm. In this paper, a sorting-based selection strategy is proposed to improve the search efficiency of the onlooker bee and speed up the convergence of the algorithm. First, the individuals in population are ranked according to (21), and those with small values are in the front. The high-quality solutions are placed in front of the bad solutions. Then, the onlooker bee selects an individual in population to follow according to (24), in which (24), i represents the i-th individual to follow and N denotes the population size. Therefore, the individual with the top ranking has a higher probability of being selected.
i n d e x i = r a n d ( N + i 2 )
Algorithm 3 Employed bee phase
Input: population P;
Output: new population, P;
 1:  P = P;
 2:  for i = 1 to N do
 3:   si = Quality(Xi);
 4:  end for
 5:  Sort(P, s);
 6:  for i = 1 to N do
 7:   li = Level(Xi);
 8:   Xi = GetNew(Xi,qi);
 9:   for z = 0 to li do
10:   if z = 0 then
11:   if Xi < Xi then
12:    Xi = Xi;
13:    qi = 1;
14:    else
15:    qi = qi + 1;
16:    end if
17:    if qi > 5 then
18:    qi= 1;
19:    end if
20:   else
21:    Xb=GetBad(Xi);
22:    if Xi < Xb then
23:    Xb = Xi;
24:    break;
25:    else
26:    qb = qb + 1;
27:    end if
28: end if
29:  end for
30:  end for
31:  return P*.
After selecting the individual Xindex according to the selection method proposed in this paper, the onlooker bees randomly select the neighboring individual Ti of the current individual for two-point crossover [41] to generate a new individual. The two-point crossover is divided into two parts: the sequence of operations and the velocity matrix, and the specific operation is as follows: two points in the range are randomly selected, the part between two points in Xindex is left untouched, and the rest is filled by Ti. For the job sequence, the remaining positions in Xindex are filled by the jobs in Ti that are different from the remaining jobs in Xindex in turn. For the velocity matrix the remaining positions in Xindex are filled by the corresponding positions in Ti.
Regarding the newly generated individuals, the algorithm will decide whether to replace the original individuals according to the greedy selection algorithm. In particular, in order to prevent the algorithm from falling into local optimum, this paper introduces mutation in the onlooker bee phase, and the probability of mutation of individuals in the population is 1/N. This avoids the algorithm from falling into local optimum to some extent. The whole onlooker bee detailed process is shown in Algorithm 4.
Algorithm 4 Onlooker bee phase
Input: population, P;
Output: new population, P;
 1:  P = P;
 2:  for j = 1 to N do
 3:   sj = Quality(Xj);
 4:  end for
 5:  Sort(P, si);
 6:  for j = 1 to N do
 7:   Xindex = Select(P)
 8:   Ti = GetNeighborhood(Xindex);
 9:   Xchild = TPX(Xindex,Ti);
10:   if 0.1 < Random() then
11:   Xchild =Mutation(Xchild);
12:   end if
13:   if Xchild < Xindex then
14:     Xindex =Xchild;
15:   end if
16:   if Xchild) < Ti then
17:   Ti = Xchild;
18:   end if
19:  end for
20:  return P.
In Algorithm 4, Select() indicates that the onlooker bee selects a food source to follow according to (23), GetNeighbourhood() indicates a random selection from the neighbors of the food source, TPX() indicates the two-point crossover, and Mutation() represents mutation of an individual X, including the job sequence and speed selection matrix.

4.6. Scouting Bees

If a solution is not updated for a long time, the solution will be abandoned and the employed bee will then be transformed into a scout bee, choosing a new solution at random in the solution space. As random search is uncontrollable, this random strategy does not have a positive impact on the algorithm, therefore, this paper uses a neighborhood-based solution swapping strategy to improve the efficiency of the scout bee phase of the algorithm [34]. This is because the solutions of neighboring sub-problems should be similar.
The scout bee searches in the following way: for a solution that has not improved after L cycles, the scout bee first finds a more suitable solution among its neighboring individuals. Then they exchange them with each other. If no better one is found, one individual is randomly chosen to exchange with each other. The basic procedure is described in Algorithm 5, where L(Xi) denotes the number of cycles Xi has gone through, T denotes the number of neighboring individuals, Xi,j denotes the j-th neighboring individual of the i-th solution.
Algorithm 5 Scout bee phase
Input: population, P;
Output: new population, P;
 1:  for i = 1 to N do
 2:   if L(Xi) > L then
 3:   for j = 1 to T do
 4:    if Xi,j < Xi then
 5:    Xi,j   Xi;
 6:    break;
 7:    end if
 8:   end for
 9:   if j > T then
10:    r = Rand(1, T);
11:    Xi,r   Xi;
12:   end if
13:  end if
14:  end for
15:  return P.

4.7. The Whole Process of the Algorithm

This section outlines the entire algorithmic process of SDABC. It can be roughly divided into four steps.
Step 1: The population is initialized randomly and is energy-efficient to improve the quality of the solution.
Step 2: Sort the population in the manner described in Section 4.4 and perform the algorithmic operations described in Section 4.5, Section 4.6 and Section 4.7 in sequence, while updating the domain relationships of individuals in population and the external populations after each subsection is completed.
Step 3: Repeat Step 2 until the end conditions are met.
Step 4: Perform another energy saving procedure on the external population.
The algorithm flow of SDABC can be shown in Figure 1.

5. Experiment

In this section, the proposed SDABC algorithm and strategy will be evaluated through experiments. Firstly, the parameter settings of FHFGSP and the performance indicators of the evaluation algorithm are introduced. Then the proposed strategy is compared with other common strategies in experiments. Finally, SDABC is compared with other algorithms in experiments.
The algorithm proposed in this paper is coded in C++ and performed in Codeblocks 16.01. All experiments were run on a PC with an Intel(R) Core (TM) i3-8100U CPU, 3.60 GHz, and 8 GB RAM. Maximum CPU usage time t = 100 was used as a stopping criterion.

5.1. Test Data

In order to fully evaluate the performance of the algorithm from different levels, the performance of SDABC needs to be tested by selecting different problem instances. The parameters controlling the problem instances are n, m, and st. In this paper, to extensively test the ability of SDABC to solve HFSP of different sizes, five different levels of n, four different levels of m and four different levels of st were designed [34]. This results in 80 problem combinations of different levels. Once the n, m, and st of the problem instances have been determined, it is also necessary to set them separately for the job and the workshop environment. For jobi, the processing speed v and the standard processing time p need to be set, and for the shop environment, the number of parallel machines per stage k needs to be set, by means of the previous problem description. It is also necessary to set the energy consumption per unit time of the machines in the processing phase, the setup phase and the idle phase. To avoid chance in the algorithm results, five instances were generated for each problem combination. In summary, the factors and their levels of FHFGSP in generating test data are summarized in Table 2.

5.2. Performance Metrics

Three popular metrics for evaluating multi-objective optimization problems (MOPs) [34,42,43], namely the number of non-dominant solutions, set coverage, and inverse generation distance, were adapted to evaluate the performance of SDABC. The mean and standard deviation of each metric at each level were obtained from 400 instance problems of the FHFGSP over 30 independent iterations.
(1)
Number of non-dominated solutions (N-metric). This metric is the number of non-dominant solutions produced by the algorithm, with higher values indicating better performance the closer the PF is.
(2)
Inverse Generational Distance (IGD-metric). This metric evaluates the convergence and distribution performance of the algorithm.
I G D ( A , PF * ) = v PF * d ( v , A ) | PF * |
where d(v, A) is the minimum Euclidean distance between v and the point in A. The smaller the value, the better the comprehensive performance of the algorithm including convergence and distribution performance. Since the real PF* cannot be solved, all non-dominated solutions obtained jointly by the algorithms of each comparison are used as PF* in this paper.
(3)
Set coverage (C-metric). This metric measures the dominance relationship between the two solution sets A and B.
C ( A , B ) = | { μ B | v A : v μ } | | B |
where C(A, B) represents the percentage of ideal solutions in B that are identical or dominant to those in A. The higher the value, the higher the performance.
In order to eliminate the effect of different metrics, a very simple max-min method [44] is used in this paper to normalize the obtained MS and TEC as follows.
f i = f i min ( f i ) max ( f i ) min ( f i )

5.3. Effect of Search Strategy

To evaluate the performance of the search strategy, SDABC with a search strategy was compared with DABC without a search strategy. All content factors of the algorithm were the same except for the difference in the employed bee phase search strategy. The evaluation results of the three metrics for the two strategies are shown in Table A1, Table A2 and Table A3 (Tables in Appendix A), where the better values are shown in bold and the last row is the average of the 20 problem dimensions.
For the N-metric, it can be seen from Table A1 that SDABC has a higher average (AVG) for 85% of the questions and a lower standard deviation (SD) for 75% of the questions. In summary: no problems were found in DABC where both the AVG and SD were better than in SDABC, so SDABC led to better results. For the FHFGSP, for which it is difficult to find the exact solution, a higher N-metric can plot the PF more accurately and also help managers to get more options. Therefore, SDABC is more advantageous in this respect.
This is because in the search phase, the employed bee is able to obtain more non-dominated solutions by searching around the individual to different degrees depending on the number of dominant solutions and the similarity of the ideal solutions.
For the C-metric, it can be seen from Table A2 that, with the exception for 20 × 5 and 60 × 3, SDABC resulted in a better AVG on 90% of the questions and obtained a lower SD on 79% of the questions. Overall SDABC achieved a lower AVG and SD than DABC. To better show the difference between the C-metric obtained by SDABC and DABC, a boxplot of the two is plotted in Figure 2, and it can be seen that SDABC is able to obtain more concentrated and dense values and the median was significantly higher for SDABC than DABC. For the values of C (SDABC, DABC) away from the whole, which is the C-metric obtained for question 100 × 5, a comparison of Table A2 shows that lower values were obtained with DABC for the same question.
This indicates that the quality of the solutions obtained by SDABC is higher than that of DABC. This is because in the employed bee phase, the employed bee searches around the individual to different degrees based on the similarity between the current solution and the ideal solution, and by being guided by the ideal solution, the employed bee is able to obtain a high-quality solution.
For the IGD-metric, it can be seen from Table A3 that SDABC obtains a lower mean value than DABC, except for 20 × 5, 60 × 8, and 80 × 10. For 75% of the questions, SDABC obtained a lower SD. Taken together, SDABC obtained a lower AVG and SD. In order to show the difference more graphically, a boxplot of the two is plotted in Figure 3. It can be seen that SDABC is able to obtain a much more concentrated lower IGD and a much lower median value than DABC.
This indicates that the solutions obtained by SDABC are better than DABC in terms of diversity and convergence. This is due to the design of five different directions in the search phase, which improves the diversity of solutions obtained. The employed bee improved the convergence by searching around individuals based on the number of dominant solutions and the similarity of ideal solutions.

5.4. Effect of Selection Strategy

Three different selection strategies were compared, in order to evaluate the performance of the newly proposed selection strategy. The three strategies are as follows: the selection strategy proposed in this paper (denoted by ABC_snm), the selection strategy in which individuals in population are selected according to similarity with mutation (denoted by ABC_sm), and the selection strategy in which individuals in population are selected according to similarity without mutation (denoted by ABC_s). The evaluation results of the three metrics for the three strategies are shown in Table A4, Table A5 and Table A6, where the better values are shown in bold and the last row is the average of the 20 problem dimensions.
For the N-metric, it can be seen from Table A4 that ABC_snm obtained significantly better mean values than ABC_s. Compared to ABC_sm, ABC_snm achieved better results in 80% of the questions. For SD, ABC_s obtained a lower SD value due to the fact that the size of SD is positively related to AVG, and ABC_s has a significantly smaller AVG value, so the resulting SD is also smaller. However, on balance ABC_snm was able to obtain more non-dominated solutions, giving the manager more options to choose from.
This indicates that it is more advantageous to select individuals in the onlooker bee phase based on the number of solutions dominated by them and their similarity to the ideal solution than to select only on the basis of similarity. A comparison of the three can reveal that ABC_snm was able to obtain a greater number of non-dominated solutions.
For C-metric, it can be seen from Table A5 that ABC_snm obtains significantly better AVG and SD than ABC_s and ABC_sm. In each problem, ABC_snm achieves better results. Of course, overall, ABC_snm also obtains better AVG and SD than the other two strategies. Figure 4 plots the boxplots of the C-metric obtained by the three strategies, and it can be seen that ABC_snm is able to obtain more concentrated values and obtains a much higher median than the other two strategies, and the minimum value obtained for ABC_snm is also higher than the maximum values of ABC_s and ABC_sn.
This indicates that in this paper the proposed strategy is able to give obtain high-quality non-dominated solutions. This is due to the fact that the adopted selection strategy can speed up the convergence of the algorithm and the adopted mutation strategy can prevent the algorithm from falling into local optimum.
For IGD-metric, it can be seen from Table A6 that in each problem, ABC_snm obtained significantly lower AVG than ABC_s and ABC_sm. In total, 85% of the problems in ABC_snm had smaller SDs than the other two algorithms. As a whole, both the AVG and SD of ABC_snm are smaller than the other two strategies. Figure 5 plots the boxplot of the IGD-metric obtained by the three algorithms, and it can be seen that ABC_snm is able to obtain more concentrated values, and the median obtained is much lower than the other two strategies.
This indicates that in this paper the proposed strategy has better diversity and convergence. This is because there is some probability that some low-quality individuals are also selected, which improves the diversity of the algorithm to some extent, and the proposed mutation strategy also has some contribution to the diversity. In addition, the adopted selection strategy can speed up the convergence of the algorithm.

5.5. Evaluation of SDABC

In this subsection, SDABC is compared with IMDABC, MDABC, and NSGAII. All algorithms use the same CPU time as a stopping criterion and all use the same parameter settings, and the results are shown in Table A7, Table A8, Table A9, Table A10, Table A11, Table A12 and Table A13, respectively. The last row of the table represents the average of the 20 problems. The best parts are marked in bold.
Table A7 shows the N-metrics obtained by the four algorithms, and it can be seen that the average values obtained in SDABC are higher than the three remaining algorithms. The values obtained by SDABC are significantly higher than IMDABC and NSGAII in each problem. In addition, although some values of MDABC are higher than SDABC, the difference is not significant, and SDABC achieves higher values in 70% of the problems. To sum up, SDABC is able to obtain more non-dominated solutions compared to other algorithms.
This is because the search strategy proposed by the SDABC in the employed bee phase proposed in this paper is able to search in both depth and breadth directions, enhancing the diversity of individuals and contributing to obtaining a greater number of solutions.
Table A8, Table A9 and Table A10 show the C-metric obtained by the four algorithms, and it can be seen that the AVG and SD obtained by SDABC are significantly higher than IMDABC, MDABC and NSGAII in each of the problems except for the 100 × 10 problem in Table A10 where the SD is slightly higher. Figure 6 shows a boxplot of the C-metric obtained by SDABC versus the other three algorithms. The outliers in (a) are the C-metric obtained for problem 100 × 5. In Table A8, both C-metrics for 100 × 5 are lower than the overall value, but SDABC’s is better than IMDABC’s. In (b) it can be seen that SDABC is significantly higher than NSGAII overall. Two independent values of C (SDABC, MDABC) in (c) are for problems 100 × 3 and 100 × 5. While these two values deviate from the overall, SDABC has a higher quality AVG and SD for the same problem dimension. Additionally, the median of SDABC is significantly higher than the other three algorithms. Therefore, SDABC obtains solutions of significantly higher quality than IMDABC, MDABC and NSGAII.
This is because SDABC follows the individual in the population in both the employed and onlooker bee phases. The evolution of SDABC continued in accordance with the dominance of individuals in population and the similarity to the ideal solution. At the same time, it is possible to find high-quality solutions faster.
Table A11, Table A12 and Table A13 show the IGD-metric obtained by the four algorithms, and it can be seen that in each problem SDABC obtains significantly lower AVG and SD than IMDABC, MDABC, and NSGAII. Figure 7 plots the boxplot of the IGD-metrics obtained by the four algorithms. Figure 7a shows that the overall and median SDABC is much lower than IMDABC. Figure 7b demonstrates that SDABC has a better concentration than MDABC. Figure 7c indicates that SDABC has a better overall and median quality than NSGAII. With Figure 7, we can see that the SDABC distribution is more concentrated under the condition of obtaining a lower IGD.
This indicates that SDABC performs better than IMDABC, MDABC, and NSGAII in terms of convergence and diversity. This is because SDABC takes five different search directions in the employed bee phase and also explores them to different degrees depending on the ranking, both of which can become a more adequate search for individuals in the solution space and increase the diversity of the population. In addition, in the onlooker bee phase, every individual in population has the potential to be tracked. It also contributes to the diversity of the algorithm due to the introduction of the variation strategy. In terms of convergence, both the employed bee and the onlooker bee phases operate based on ranking, which speeds up the convergence of the population based on the similarity and dominance with the ideal solution.

6. Conclusions

In this paper, we studied the FHFGSP with fuzzy processing time that minimizes makespan and total energy consumption. To solve FHFGSP, a discrete artificial bee colony algorithm based on similarity and non-dominated solution ordering was proposed. After extensive numerical experiments, it can be demonstrated that the proposed strategy and algorithm outperforms other algorithms in terms of performance.
In the employed bee phase, individuals fully explore around the dominant solution; in the onlooker bee phase, individuals at the front of the sequence have a greater chance of being followed; in addition, a mutation strategy was proposed to prevent the population from falling into a local optimum. The algorithm produced solutions of high-quality in terms of quantity, quality, convergence, and distribution.
In future, our aim is to study more flexible HFGSPs, such as the proficiency of shop workers, and to consider other green metrics, such as noise and carbon emissions. We will verify the effectiveness of the algorithm by comparing it with more optimization algorithms based on mimicking animal behavior, which will have a positive impact on the role of such algorithms in relation to the green shop scheduling problem. In addition, as smart manufacturing continues to evolve and people start to use information physical systems and industrial Internet of Things to obtain data in real time during manufacturing processes, it is also interesting to study how to process real-time state data for decision making and optimization of green shop scheduling.

Author Contributions

Conceptualization, M.L. and G.-G.W.; methodology, M.L.; software, M.L.; validation, M.L., G.-G.W. and H.Y.; formal analysis, M.L.; investigation, G.-G.W.; resources, H.Y.; data curation, H.Y.; writing—original draft preparation, M.L.; writing—review and editing, M.L., G.-G.W. and H.Y.; visualization, M.L., G.-G.W.; supervision, G.-G.W.; project administration, H.Y. All authors have read and agreed to the published version of the manuscript.

Funding

National Natural Science Foundation of China (No. U19A2061), National Key R&D Program of China (No. 2019YFC1710700), Science and Technology Development Project of Jilin Province (No. 20190301024NY and No. 20200301047RQ).

Institutional Review Board Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Table A1. N-metric for search strategy.
Table A1. N-metric for search strategy.
ProblemDABCSDABC
AVGSDAVGSD
20 × 386629259
20 × 565366740
20 × 845164916
20 × 1040164415
40 × 31067211071
40 × 554305932
40 × 834163415
40 × 102511239
60 × 379587652
60 × 550215425
60 × 832123311
60 × 102610289
80 × 361536555
80 × 532204229
80 × 830112810
80 × 10229228
100 × 358466353
100 × 538253624
100 × 825132512
100 × 102292310
Mean47274928
Table A2. C-metric for search strategy.
Table A2. C-metric for search strategy.
ProblemC(DABC,SDABC)C(SDABC,DABC)
AVGSDAVGSD
20 × 30.938800.042580.939000.06198
20 × 50.957660.040460.928960.04124
20 × 80.889120.073290.960450.03546
20 × 100.889970.089190.908710.07201
40 × 30.931790.052200.947150.05798
40 × 50.887940.069880.934520.05402
40 × 80.864800.102360.903330.07605
40 × 100.864900.104130.884520.06131
60 × 30.927960.058990.902220.07063
60 × 50.866440.146760.893540.10818
60 × 80.920890.068390.923810.05100
60 × 100.907670.054090.930090.04827
80 × 30.865590.140080.896350.07251
80 × 50.798230.224310.863360.15612
80 × 80.879510.093360.938120.06277
80 × 100.926830.073750.934180.04575
100 × 30.841000.160370.879900.13044
100 × 50.784360.189360.788860.19950
100 × 80.888300.083720.925090.07065
100 × 100.929850.052880.935740.06011
Mean0.888080.096010.910900.07680
Table A3. IGD-metric for search strategy.
Table A3. IGD-metric for search strategy.
ProblemDABCSDABC
AVGSDAVGSD
20 × 30.02663 0.021980.017940.03307
20 × 50.017930.02496 0.02749 0.01907
20 × 80.03927 0.02212 0.013320.01327
20 × 100.03363 0.02926 0.027880.02733
40 × 30.02985 0.03042 0.013650.01382
40 × 50.05140 0.04928 0.020940.02754
40 × 80.05918 0.05344 0.026340.01598
40 × 100.05839 0.04808 0.032570.02078
60 × 30.03715 0.02399 0.024370.02303
60 × 50.05341 0.04582 0.035210.03348
60 × 80.029400.03220 0.03209 0.02915
60 × 100.04229 0.04451 0.026260.02061
80 × 30.04921 0.04863 0.026060.02082
80 × 50.07811 0.07623 0.046450.05436
80 × 80.04589 0.035310.031380.04547
80 × 100.036630.042030.04585 0.05587
100 × 30.05310 0.064310.052350.06774
100 × 50.06235 0.03463 0.041020.03457
100 × 80.05340 0.05929 0.034410.03360
100 × 100.04582 0.046860.041990.06017
Mean0.04515 0.04167 0.030880.03249
Table A4. N-metric for selection strategy.
Table A4. N-metric for selection strategy.
ProblemABC_smABC_snmABC_s
AVGSDAVGSDAVGSD
20 × 381 55 925947 33
20 × 561 34 674050 31
20 × 840 13491642 18
20 × 1036 14441537 17
40 × 3102 64 1107151 35
40 × 555 29 593242 26
40 × 83414341532 19
40 × 102712 23926 12
60 × 375 53 765235 28
60 × 553 24 542531 19
60 × 832 10 331126 7
60 × 1027 10 28921 10
80 × 357 46 655523 21
80 × 529 18 422918 12
80 × 83011 281020 7
80 × 10228 22816 6
100 × 360 48 635319 12
100 × 53927 362419 12
100 × 82513 261213 6
100 × 102611 231013 4
Mean46 26 492829 17
Table A5. C-metric for selection strategy.
Table A5. C-metric for selection strategy.
ProblemC(ABC_sm,ABC_snm)C(ABC_snm,ABC_sm)C(ABC_s,ABC_snm)C(ABC_snm,ABC_s)
AVGSDAVGSDAVGSDAVGSD
20 × 30.859340.087580.981440.019820.739930.179950.977640.02051
20 × 50.898100.059660.969510.034900.780390.165830.980230.02181
20 × 80.869000.110230.964190.039520.828390.101780.971080.03337
20 × 100.827710.133410.977600.022580.787660.127640.984650.01848
40 × 30.918360.047730.970680.021060.735260.167080.978830.02344
40 × 50.895080.086190.956190.041850.794380.160220.971690.03042
40 × 80.898120.064170.968040.027550.853350.123350.969840.03199
40 × 100.879440.068240.968750.027530.834440.116720.951500.05400
60 × 30.906530.060560.957750.042650.732890.179500.957400.10376
60 × 50.878670.092700.953950.055340.713410.162730.943640.06230
60 × 80.822530.092720.980440.031440.786470.131400.955300.04929
60 × 100.894060.069430.953110.043330.820310.147760.954530.06291
80 × 30.845100.108490.977310.029360.779740.216860.962270.05675
80 × 50.689970.204460.989670.020970.737940.216940.958570.05943
80 × 80.803270.132930.963370.057570.779360.105410.944910.06676
80 × 100.887560.085200.934260.090610.798790.156620.962160.04526
100 × 30.881650.121860.953920.038880.773510.193660.958700.04537
100 × 50.873780.101670.946690.052620.680420.214820.920940.08275
100 × 80.819790.117280.925000.089410.645690.192380.941400.09557
100 × 100.852560.099240.919350.143460.722470.175050.934330.11018
Mean0.860030.097190.960560.046520.766240.161790.958980.05372
Table A6. IGD-metric for selection strategy.
Table A6. IGD-metric for selection strategy.
ProblemABC_smABC_snmABC_s
AVGSDAVGSDAVGSD
20 × 30.040420.034050.008450.015560.080570.03846
20 × 50.036590.026320.013190.015360.061530.03196
20 × 80.035770.025670.013210.015610.044490.02785
20 × 100.048290.037990.009980.014140.059010.03691
40 × 30.030200.025520.010830.013430.083980.03540
40 × 50.033300.031280.028250.042250.067410.05066
40 × 80.044680.037900.024780.033580.046490.02746
40 × 100.035730.024570.014090.014840.045070.02870
60 × 30.029880.027400.019280.021410.101360.04475
60 × 50.042500.032270.026030.053600.094860.06072
60 × 80.074920.057670.012670.025640.079590.04397
60 × 100.041700.030990.022810.027040.069260.04548
80 × 30.060170.052410.013380.020400.094400.07314
80 × 50.115880.068260.004060.008490.115490.06856
80 × 80.071870.053800.007230.009790.098380.09451
80 × 100.055730.058330.021340.023610.101400.09607
100 × 30.060390.065210.018070.017930.114160.07280
100 × 50.053740.056800.018270.019030.111040.08333
100 × 80.056780.054960.031970.052490.129850.08506
100 × 100.062520.049590.031040.056310.123920.08962
Mean0.051550.042550.017450.025020.086110.05677
Table A7. N-metrics for the four algorithms.
Table A7. N-metrics for the four algorithms.
ProblemMDABCSDABCIMDABCNSGAII
AVGSDAVGSDAVGSDAVGSD
20 × 381559259473341
20 × 56347339503141
20 × 840134916421841
20 × 1036144415371731
40 × 31026411071513541
40 × 555295932422641
40 × 834143315321941
40 × 102712239261231
60 × 375537652352841
60 × 553245425311941
60 × 83210331126741
60 × 102710289211041
80 × 357466555232141
80 × 529184229181241
80 × 83011281020741
80 × 1022821816641
100 × 360486353191241
100 × 539273624191241
100 × 82613211113641
100 × 10261119713441
Mean4 2649282917 1
Table A8. C-metric for SDABC and IMDABC.
Table A8. C-metric for SDABC and IMDABC.
ProblemC(IMDABC, SDABC)C(SDABC, IMDABC)
AVGSDAVGSD
20 × 30.719580.176900.978630.02441
20 × 50.812450.171560.968220.04305
20 × 80.697100.162760.980210.02158
20 × 100.677170.193040.950160.06298
40 × 30.672680.193740.969700.04154
40 × 50.716620.207310.964230.03848
40 × 80.712770.188460.883740.09222
40 × 100.653020.233290.877230.09688
60 × 30.686240.212620.936980.09011
60 × 50.586620.221090.863910.18674
60 × 80.759410.151860.940860.04614
60 × 100.749890.220710.910050.08697
80 × 30.699410.262870.902140.12340
80 × 50.606410.278730.858870.17892
80 × 80.723250.192200.934440.13380
80 × 100.791060.134590.954890.05211
100 × 30.616880.261910.839280.25371
100 × 50.528840.276150.660270.32685
100 × 80.603990.220690.939660.10319
100 × 100.703890.141020.930970.10896
Mean0.685860.205080.912220.10560
Table A9. C-metric for SDABC and NSGAII.
Table A9. C-metric for SDABC and NSGAII.
ProblemC(NSGAII, SDABC)C(SDABC, NSGAII)
AVGSDAVGSD
20 × 30.476040.196960.998940.00364
20 × 50.434200.213660.998390.00606
20 × 80.512490.186480.998170.00693
20 × 100.622320.280940.972410.04692
40 × 30.301790.201070.996370.01581
40 × 50.405680.242910.989090.03957
40 × 80.467790.238820.996580.01490
40 × 100.440470.256630.995650.01653
60 × 30.305200.237470.998470.00666
60 × 50.356290.206410.996470.01527
60 × 80.373870.258210.986370.05803
60 × 100.505660.275600.988420.03011
80 × 30.237400.180400.985650.04320
80 × 50.306960.237770.995920.00717
80 × 80.311610.276810.981510.03140
80 × 100.342080.309530.906780.16100
100 × 30.278110.214780.981980.06273
100 × 50.414730.253680.990750.02246
100 × 80.539490.310260.979230.05386
100 × 100.470400.324540.967770.08233
Mean0.405130.245140.985250.03623
Table A10. C-metric for SDABC and MDABC.
Table A10. C-metric for SDABC and MDABC.
ProblemC(MDABC, SDABC)C(SDABC, MDABC)
AVGSDAVGSD
20 × 30.856780.110970.974970.02959
20 × 50.920440.058820.961180.04077
20 × 80.832380.090100.975930.03354
20 × 100.821190.123920.953350.05121
40 × 30.902100.063880.967630.03469
40 × 50.861540.106900.956490.04270
40 × 80.813300.116590.904500.09811
40 × 100.777900.124320.920430.05911
60 × 30.907410.064110.938310.05046
60 × 50.814250.138030.925940.07804
60 × 80.797620.100580.960470.04091
60 × 100.868930.074530.950300.04694
80 × 30.788710.193190.943190.05262
80 × 50.586280.214350.957760.10780
80 × 80.746880.132890.974910.03945
80 × 100.867830.106060.939000.10327
100 × 30.794280.162860.881900.11669
100 × 50.755900.172910.826820.15634
100 × 80.794680.146330.939580.10413
100 × 100.844120.109800.937450.13495
Mean0.817630.120560.939510.07107
Table A11. IGD-metric for SDABC and IMDABC.
Table A11. IGD-metric for SDABC and IMDABC.
ProblemIMDABCSDABC
AVGSDAVGSD
20 × 30.099760.035810.006630.01234
20 × 50.051470.034170.008690.01174
20 × 80.071840.036750.011130.01998
20 × 100.079620.038730.011760.01615
40 × 30.117650.044260.006000.00950
40 × 50.101990.053790.007200.00759
40 × 80.077250.050900.021560.01843
40 × 100.088250.053550.029810.02419
60 × 30.126030.061530.007900.00855
60 × 50.125520.055990.015450.01365
60 × 80.075750.046250.015270.01209
60 × 100.086620.061640.026750.04270
80 × 30.121570.101820.008000.01224
80 × 50.154390.091360.015430.02934
80 × 80.112970.084600.009510.01343
80 × 100.091900.065720.011400.01092
100 × 30.152860.085460.014820.02365
100 × 50.158460.097210.027670.03839
100 × 80.142350.091220.010250.01173
100 × 100.119930.094120.006460.00858
Mean0.107810.064240.013580.01726
Table A12. IGD-metric for SDABC and MDABC.
Table A12. IGD-metric for SDABC and MDABC.
ProblemMDABCSDABC
AVGSDAVGSD
20 × 30.043530.038790.008290.01226
20 × 50.028250.025660.013550.01575
20 × 80.051910.021360.005510.00716
20 × 100.055230.031130.011970.01563
40 × 30.036210.025060.012280.01483
40 × 50.045540.034780.021050.02939
40 × 80.064420.056160.032380.04255
40 × 100.069160.042990.021610.02047
60 × 30.040030.028790.022160.02420
60 × 50.045270.027300.021940.02262
60 × 80.064430.045460.013980.02034
60 × 100.047120.032470.016290.01596
80 × 30.071200.064310.021950.03317
80 × 50.130710.064730.009660.01330
80 × 80.086250.047960.009260.01318
80 × 100.053530.035560.023440.02623
100 × 30.062900.050630.022250.02473
100 × 50.060740.033280.029620.02276
100 × 80.063740.057570.026190.04760
100 × 100.060490.049810.026270.04505
Mean0.059030.040690.018480.02336
Table A13. IGD-metric for SDABC and NSGAII.
Table A13. IGD-metric for SDABC and NSGAII.
ProblemNSGAIISDABC
AVGSDAVGSD
20 × 30.114260.050090.000080.00028
20 × 50.123450.038380.000030.00013
20 × 80.120130.049200.000240.00098
20 × 100.079800.049050.019390.03984
40 × 30.188730.095390.001450.00633
40 × 50.149420.082240.002990.00774
40 × 80.157830.082140.003190.01391
40 × 100.167890.095670.003030.00927
60 × 30.193770.088210.000190.00082
60 × 50.206340.109660.001940.00843
60 × 80.233760.132450.004250.00973
60 × 100.197240.107220.004350.00995
80 × 30.214050.100150.002400.00795
80 × 50.224400.115240.001390.00267
80 × 80.254700.164550.010700.01762
80 × 100.202250.160290.038410.05594
100 × 30.225400.127510.005050.01453
100 × 50.196440.104970.003180.00710
100 × 80.193580.161210.017890.02596
100 × 100.267640.190260.013940.03123
Mean0.185550.105190.006700.01352

References

  1. Ruiz, R.; Vázquez-Rodríguez, J.A. The hybrid flow shop scheduling problem. Eur. J. Oper. Res. 2010, 205, 1–18. [Google Scholar] [CrossRef] [Green Version]
  2. Qin, T.; Du, Y.; Chen, J.H.; Sha, M. Combining mixed integer programming and constraint programming to solve the integrated scheduling problem of container handling operations of a single vessel. Eur. J. Oper. Res. 2020, 285, 884–901. [Google Scholar] [CrossRef]
  3. Pan, Q.; Wang, L.; Mao, K.; Zhao, J.; Zhang, M. An effective artificial bee colony algorithm for a real-world hybrid flowshop problem in steelmaking process. IEEE Trans. Autom. Sci. Eng. 2013, 10, 307–322. [Google Scholar] [CrossRef]
  4. Li, J.Q.; Pan, Q.K.; Mao, K. A hybrid fruit fly optimization algorithm for the realistic hybrid flowshop rescheduling problem in steelmaking systems. IEEE Trans. Autom. Sci. Eng. 2016, 13, 932–949. [Google Scholar] [CrossRef]
  5. Lin, Y.K.; Huang, D.H. Reliability analysis for a hybrid flow shop with due date consideration. Reliab. Eng. Syst. Saf. 2020, 199, 105905. [Google Scholar] [CrossRef]
  6. Lin, P.; Shen, L.; Zhao, Z.; Huang, G.Q. Graduation manufacturing system: Synchronization with IoT-enabled smart tickets. J. Intell. Manuf. 2019, 30, 2885–2900. [Google Scholar] [CrossRef]
  7. Ali, D.; Frimpong, S. Artificial intelligence models for predicting the performance of hydro pneumatic suspension struts in large capacity dump trucks. Int. J. Ind. Ergon. 2018, 67, 283–295. [Google Scholar] [CrossRef]
  8. Worasan, K.; Sethanan, K.; Pitakaso, R.; Moonsri, K.; Nitisiri, K. Hybrid particle swarm optimization and neighborhood strategy search for scheduling machines and equipment and routing of tractors in sugarcane field preparation. Comput. Electron. Agric. 2020, 178, 105733. [Google Scholar] [CrossRef]
  9. Fortemps, P. Jobshop scheduling with imprecise durations: A fuzzy approach. IEEE Trans. Fuzzy Syst. 1997, 5, 557–569. [Google Scholar] [CrossRef] [Green Version]
  10. Lei, D.; Gao, L.; Zheng, Y. A Novel Teaching-Learning-Based Optimization Algorithm for Energy-Efficient Scheduling in Hybrid Flow Shop. IEEE Trans. Eng. Manag. 2018, 65, 330–340. [Google Scholar] [CrossRef]
  11. Zhang, Z.; Tang, R.; Peng, T.; Tao, L.; Jia, S. A method for minimizing the energy consumption of machining system: Integration of process planning and scheduling. J. Clean. Prod. 2016, 137, 1647–1662. [Google Scholar] [CrossRef]
  12. Wang, L.; Wang, J.; Wu, C. Advances in green shop scheduling and optimization. Control Decis. 2018, 33, 385–391. [Google Scholar]
  13. Fu, Y.; Zhou, M.; Guo, X.; Qi, L. Scheduling Dual-Objective Stochastic Hybrid Flow Shop With Deteriorating Jobs via Bi-Population Evolutionary Algorithm. IEEE Trans. Syst. Man Cybern. Syst. 2020, 50, 5037–5048. [Google Scholar] [CrossRef]
  14. Yankai, W.; Shilong, W.; Dong, L.; Chunfeng, S.; Bo, Y. An improved multi-objective whale optimization algorithm for the hybrid flow shop scheduling problem considering device dynamic reconfiguration processes. Expert Syst. Appl. 2021, 174, 114793. [Google Scholar] [CrossRef]
  15. Gao, H.; Shi, Y.; Pun, C.; Kwong, S. An improved artificial bee colony algorithm with its application. IEEE Trans. Ind. Inf. 2019, 15, 1853–1865. [Google Scholar] [CrossRef]
  16. Gao, W.; Liu, S.; Huang, L. A novel artificial bee colony algorithm based on modified search equation and orthogonal learning. IEEE Trans. Cybern. 2013, 43, 1011–1024. [Google Scholar] [CrossRef] [PubMed]
  17. Karaboga, D.; Akay, B. A comparative study of Artificial Bee Colony algorithm. Appl. Math. Comput. 2009, 214, 108–132. [Google Scholar] [CrossRef]
  18. Li, J.; Pan, Q. Solving the large-scale hybrid flow shop scheduling problem with limited buffers by a hybrid artificial bee colony algorithm. Inf. Sci. 2015, 316, 487–502. [Google Scholar] [CrossRef]
  19. Wang, F.; Rao, Y.; Zhang, C.; Tang, Q.; Zhang, L. Estimation of distribution algorithm for energy-efficient scheduling in turning processes. Sustainability 2016, 8, 762. [Google Scholar] [CrossRef] [Green Version]
  20. Xuan, H.; Zhag, H.; Li, B. An Improved Discrete Artificial Bee Colony Algorithm for Flexible Flowshop Scheduling with Step Deteriorating Jobs and Sequence-Dependent Setup Times. Math. Probl. Eng. 2019, 2019, 1–13. [Google Scholar] [CrossRef] [Green Version]
  21. Yue, L.; Guan, Z.; Zhang, L.; Ullah, S.; Cui, Y. Multi objective lotsizing and scheduling with material constraints in flexible parallel lines using a Pareto based guided artificial bee colony algorithm. Comput. Ind. Eng. 2019, 128, 659–680. [Google Scholar] [CrossRef]
  22. Gong, G.; Chiong, R.; Deng, Q.; Gong, X. A hybrid artificial bee colony algorithm for flexible job shop scheduling with worker flexibility. Int. J. Prod. Res. 2020, 58, 4406–4420. [Google Scholar] [CrossRef]
  23. Zadeh, M.S.; Katebi, Y.; Doniavi, A. A heuristic model for dynamic flexible job shop scheduling problem considering variable processing times. Int. J. Prod. Res. 2019, 57, 3020–3035. [Google Scholar] [CrossRef]
  24. Lei, D.; Liu, M. An artificial bee colony with division for distributed unrelated parallel machine scheduling with preventive maintenance. Comput. Ind. Eng. 2020, 141, 106320. [Google Scholar] [CrossRef]
  25. Xie, Z.; Yang, D.; Ma, M.; Yu, X. An Improved Artificial Bee Colony Algorithm for the Flexible Integrated Scheduling Problem Using Networked Devices Collaboration. Int. J. Coop. Inf. Syst. 2020, 29, 2040003. [Google Scholar] [CrossRef]
  26. Li, J.; Bai, S.; Duan, P.; Sang, H.; Han, Y.; Zheng, Z. An improved artificial bee colony algorithm for addressing distributed flow shop with distance coefficient in a prefabricated system. Int. J. Prod. Res. 2019, 57, 6922–6942. [Google Scholar] [CrossRef]
  27. Li, J.; Song, M.; Wang, L.; Duan, P.; Han, Y.; Sang, H.; Pan, Q. Hybrid Artificial Bee Colony Algorithm for a Parallel Batching Distributed Flow-Shop Problem With Deteriorating Jobs. IEEE Trans. Cybern. 2020, 50, 2425–2439. [Google Scholar] [CrossRef]
  28. Gong, D.; Han, Y.; Sun, J. A novel hybrid multi-objective artificial bee colony algorithm for blocking lot-streaming flow shop scheduling problems. Knowl. -Based Syst. 2018, 148, 115–130. [Google Scholar] [CrossRef]
  29. Pan, Q.; Gao, L.; Wang, L.; Liang, J.; Li, X. Effective heuristics and metaheuristics to minimize total flowtime for the distributed permutation flowshop problem. Expert Syst. Appl. 2019, 124, 309–324. [Google Scholar] [CrossRef]
  30. Li, X.; Tang, H.; Yang, Z.; Wu, R.; Luo, Y. Integrated Optimization Approach of Hybrid Flow-Shop Scheduling Based on Process Set. IEEE Access 2020, 8, 223782–223796. [Google Scholar] [CrossRef]
  31. Peng, K.; Pan, Q.; Gao, L.; Zhang, B.; Pang, X. An Improved Artificial Bee Colony algorithm for real-world hybrid flowshop rescheduling in Steelmaking-refining-Continuous Casting process. Comput. Ind. Eng. 2018, 122, 235–250. [Google Scholar] [CrossRef]
  32. Zhong, Y.; Yang, F.; Liu, F. Solving multi-objective fuzzy flexible job shop scheduling problem using MABC algorithm. J. Intell. Fuzzy Syst. 2019, 36, 1455–1473. [Google Scholar] [CrossRef]
  33. Li, Y.; Huang, W.; Wu, R.; Guo, K. An improved artificial bee colony algorithm for solving multi-objective low-carbon flexible job shop scheduling problem. Appl. Soft Comput. 2020, 95, 106544. [Google Scholar] [CrossRef]
  34. Zhang, B.; Pan, Q.; Gao, L.; Li, X.; Meng, L.; Peng, K. A multiobjective evolutionary algorithm based on decomposition for hybrid flowshop green scheduling problem. Comput. Ind. Eng. 2019, 136, 325–344. [Google Scholar] [CrossRef]
  35. Linn, R.; Zhang, W. Hybrid flow shop scheduling: A survey. Comput. Ind. Eng. 1999, 37, 57–61. [Google Scholar] [CrossRef]
  36. Ribas, I.; Leisten, R.; Framinan, J.M. Review and classification of hybrid flow shop scheduling problems from a production system and a solutions procedure perspective. Comput. Oper. Res. 2010, 37, 1439–1454. [Google Scholar] [CrossRef]
  37. Chang, D.Y. Applications of the extent analysis method on fuzzy AHP. Eur. J. Oper. Res. 1996, 95, 649–655. [Google Scholar] [CrossRef]
  38. Fang, K.; Uhan, N.; Zhao, F.; Sutherland, J.W. A new approach to scheduling in manufacturing for power consumption and carbon footprint reduction. J. Manuf. Syst. 2011, 30, 234–240. [Google Scholar] [CrossRef]
  39. Zadeh, L.A. Fuzzy logic. Computer 1988, 21, 83–93. [Google Scholar] [CrossRef]
  40. Gao, D.; Wang, G.; Pedrycz, W. Solving fuzzy job-shop scheduling problem using DE algorithm improved by a selection mechanism. IEEE Trans. Fuzzy Syst. 2020, 28, 3265–3275. [Google Scholar] [CrossRef]
  41. Ozturk, C.; Hancer, E.; Karaboga, D. A novel binary artificial bee colony algorithm based on genetic operators. Inf. Sci. 2015, 297, 154–170. [Google Scholar] [CrossRef]
  42. Fathollahi-Fard, A.M.; Hajiaghaei-Keshteli, M.; Mirjalili, S. Multi-objective stochastic closed-loop supply chain network design with social considerations. Appl. Soft Comput. 2018, 71, 505–525. [Google Scholar] [CrossRef]
  43. Riquelme, N.; Lücken, C.V.; Baran, B. Performance metrics in multi-objective optimization. In Proceedings of the 2015 Latin American Computing Conference (CLEI 2015), Arequipa, Peru, 19 October 2015; pp. 1–11. [Google Scholar]
  44. Zhang, Q.; Li, H. MOEA/D: A multiobjective evolutionary algorithm based on decomposition. IEEE Trans. Evol. Comput. 2007, 11, 712–731. [Google Scholar] [CrossRef]
Figure 1. The overall flow of the SDABC.
Figure 1. The overall flow of the SDABC.
Mathematics 09 02250 g001
Figure 2. C-metric boxplot for DABC and SDABC.
Figure 2. C-metric boxplot for DABC and SDABC.
Mathematics 09 02250 g002
Figure 3. IGD-metric boxplot for DABC and SDABC.
Figure 3. IGD-metric boxplot for DABC and SDABC.
Mathematics 09 02250 g003
Figure 4. C-metric boxplot for ABC_sm, ABC_snm, and ABC_s.
Figure 4. C-metric boxplot for ABC_sm, ABC_snm, and ABC_s.
Mathematics 09 02250 g004
Figure 5. IGD-metric boxplot for ABC_sm, ABC_snm, and ABC_s.
Figure 5. IGD-metric boxplot for ABC_sm, ABC_snm, and ABC_s.
Mathematics 09 02250 g005
Figure 6. C-metric boxplot for NSGAII, IMDABC, MDABC, and SDABC.
Figure 6. C-metric boxplot for NSGAII, IMDABC, MDABC, and SDABC.
Mathematics 09 02250 g006aMathematics 09 02250 g006b
Figure 7. IGD-metric boxplot for NSGAII, IMDABC, MDABC, and SDABC.
Figure 7. IGD-metric boxplot for NSGAII, IMDABC, MDABC, and SDABC.
Mathematics 09 02250 g007
Table 1. Nomenclature.
Table 1. Nomenclature.
SymbolMeaning
MSThe time required to complete the entire scheduling program
TECThe total energy consumption required to complete the entire scheduling program
IThe set of jobs and |I| = n
iIndex of the job, indicating the i-th job
JThe set of stages and |J| = m
jIndex of the stage, indicating the j-th stage
MjThe set of machines at stage j
kIndex of the machine
ei,jThe ending time of job i at stage j and its value is greater than 0
pi,jThe standard processing time for job i at stage j
cj,vThe adjustment factor when the machine is running at speed v at stage j
Ti,j,vThe time required for job i to be processed at speed v at stage j
sti*,i,jThe setup time from job i* (i* is the previous job of i) to job i at stage j. If i* = i, si*,i,j indicates the setup time required for job i as the first job
spEnergy consumed by the machine per unit time during the setup phase
apEnergy consumed by auxiliary equipment per unit of time throughout the scheduling process
ipEnergy consumed by the machine per unit of time during the idle phase
bi,jThe beginning time of job i at stage j and its value is greater than 0
xi,j,k,vA control variable for job position that is equal to 1 if job i is processed on machine k at speed v at stage j, and 0 otherwise
zi,i*,j,kA control variable for job sequence that is equal to 1 if the next job on the machine k at stage j for job i* is job i, and 0 otherwise
Bk,jThe start time of the parallel machine k is at stage j
Ek,jThe shutdown time of parallel machine k at stage j
Table 2. Summary of test data.
Table 2. Summary of test data.
FactorsLevelsNumber of Levels
n20, 40, 60, 80, 1005
m3, 5, 8, 104
stU[1, 25], U[1, 49], U[1, 99], U[1, 124]4
kU[1, 5]1
vU[1, 5]1
pU[1, 99]1
sp21
ip11
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Li, M.; Wang, G.-G.; Yu, H. Sorting-Based Discrete Artificial Bee Colony Algorithm for Solving Fuzzy Hybrid Flow Shop Green Scheduling Problem. Mathematics 2021, 9, 2250. https://doi.org/10.3390/math9182250

AMA Style

Li M, Wang G-G, Yu H. Sorting-Based Discrete Artificial Bee Colony Algorithm for Solving Fuzzy Hybrid Flow Shop Green Scheduling Problem. Mathematics. 2021; 9(18):2250. https://doi.org/10.3390/math9182250

Chicago/Turabian Style

Li, Mei, Gai-Ge Wang, and Helong Yu. 2021. "Sorting-Based Discrete Artificial Bee Colony Algorithm for Solving Fuzzy Hybrid Flow Shop Green Scheduling Problem" Mathematics 9, no. 18: 2250. https://doi.org/10.3390/math9182250

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop