Next Article in Journal
Green Scalar Function Method for Analyzing Dielectric Media
Previous Article in Journal
Modeling the Color Characteristics of Sapphires through the Statistical Method and Function Simulation Method
Previous Article in Special Issue
Environmental-Impact-Based Multi-Agent Reinforcement Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Self-Adaptive Neighborhood Search Differential Evolution Algorithm for Planning Sustainable Sequential Cyber–Physical Production Systems

Department of Computer Science and Information Engineering, Chaoyang University of Technology, Taichung 413310, Taiwan
Appl. Sci. 2024, 14(17), 8044; https://doi.org/10.3390/app14178044
Submission received: 29 June 2024 / Revised: 28 August 2024 / Accepted: 5 September 2024 / Published: 8 September 2024
(This article belongs to the Special Issue Bio-Inspired Collective Intelligence in Multi-Agent Systems)

Abstract

:
Although Cyber–Physical Systems (CPSs) provide a flexible architecture for enterprises to deal with changing demand, an effective method to organize and allocate resources while considering sustainability factors is required to meet customers’ order requirements and mitigate negative impacts on the environment. The planning of processes to achieve sustainable CPSs becomes an important issue to meet demand timely in a dynamic environment. The problem with planning processes in sustainable CPSs is the determination of the configuration of workflows/resources to compose processes with desirable properties, taking into account time and energy consumption factors. The planning problem in sustainable CPSs can be formulated as an integer programming problem with constraints, and this poses a challenge due to computational complexity. Furthermore, the ever-shrinking life cycle of technologies leads to frequent changes in processes and makes the planning of processes a challenging task. To plan processes in a changing environment, an effective planning method must be developed to automate the planning task. To tackle computational complexity, evolutionary computation approaches such as bio-inspired computing and metaheuristics have been adopted extensively in solving complex optimization problems. This paper aims to propose a solution methodology and an effective evolutionary algorithm with a local search mechanism to support the planning of processes in sustainable CPSs based on an auction mechanism. To achieve this goal, we focus on developing a self-adaptive neighborhood search-based Differential Evolution method. An effective planning method should be robust in terms of performance with respect to algorithmic parameters. We assess the performance and robustness of this approach by performing experiments for several cases. By comparing the results of these experiments, it shows that the proposed method outperforms several other algorithms in the literature. To illustrate the robustness of the proposed self-adaptive algorithm, experiments with different settings of algorithmic parameters were conducted. The results show that the proposed self-adaptive algorithm is robust with respect to algorithmic parameters.

1. Introduction

Industry 4.0 has become a revolutionary industrial paradigm that can endow enterprises with the ability to fulfill challenging industrial and business requirements flexibly [1]. Cyber–Physical Systems (CPSs) offer a paradigm for realizing the vision of Industry 4.0 and support the daily operations of enterprises in the Industry 4.0 era [2]. Due to its capability to enable enterprises to monitor, manage and supervise resources and activities, the CPS becomes an important paradigm today. CPS refers to smart systems consisting of entities in cyber space and physical space. The entities in cyber space are computational components and the entities in physical space are physical components in the systems. CPS relies on interactions between the cyber-space computational components and physical-space components to achieve its goals through properly sensing, planning, control and monitoring. In the literature, a lot of studies concerning CPSs are available. Key research issues such as modeling [3,4,5], control [6], planning [7,8], security [9], development of context-aware applications [10] and resilience/robustness properties [11] have been studied in the context of CPSs. With the development of the Sustainable Development Goals (SDGs) aiming to achieve a more sustainable future [12], many countries around the world and companies in different sectors have been taking actions to achieve these SDGs. Therefore, the design of CPSs should take into account its sustainability factors. In the literature, sustainability in CPSs has been studied in [13,14,15]. Among the 17 SDGs, Goal 7, Goal 9, Goal 12, Goal 13 and Goal 17 are relevant to manufacturing. The challenges are the design and development of effective, energy-efficient and sustainable self-adaptive CPSs [16,17].
Recent studies on the energy efficiency and energy consumption of machine tools pave the way for the development of energy-efficient CPSs. Existing studies on the energy efficiency and energy consumption of machine tools can be found in the review papers [18,19]. The above studies provide the underpinning knowledge for developing effective, energy-efficient and sustainable self-adaptive CPSs. Although Cyber–Physical Systems (CPSs) provide a flexible architecture for enterprises to respond to changing demand and achieve the Sustainable Development Goals, an effective method to plan processes and allocate resources must be developed to realize these advantages in the Industry 4.0 era. An important related research subject in the context of CPSs is the sustainable development of the self-adaptive CPS [16]. Although a variety of approaches for the sustainable development of self-adaptive CPSs have been proposed in the literature [16], there lacks a sustainable development methodology that covers all the stages in the development of solvers for realizing self-adaptive CPSs, from modelling CPSs and problem formulation to the development of solution algorithms. The requirements of such a sustainable development methodology not only must be able to deal with a specific type of production process, achieving a specific goal of production using a specific solution algorithm, but also need to accommodate the changes in production processes, goals of production, and solution algorithms. To bridge this gap, this study focuses on developing a solution methodology to support the sustainable development of self-adaptive CPSs based on formal models, a general problem formulation and a solution algorithm for the general problem. We will illustrate the proposed framework by applying it to deal with the case of sequential production processes.
Self-organization and self-adaptation are two research issues related to exploiting the flexible architecture of a CPS to achieve production objectives [20,21,22] in the presence of unexpected changes or disturbances. The design of a CPS must consider issues in order to allow the system to self-organize and self-adapt to satisfy requirements dynamically [23]. To develop a self-organized and self-adaptive CPS, let us first review the architecture of a CPS. The design of a CPS can be divided into five levels [24], including the connection level, conversion level, cyber level, cognition level and configuration level. The collection of information from sensors, controllers or related systems in CPSs is conducted at the connection level. The transformation of the raw data into useful information is performed at the conversion level. The cyber level plays a central role in the architecture since it enables a CPS to interact with other CPSs and the environment. The cognition level constructs a virtual model based on the information gathered from all the components of the CPS. Knowledge of the CPS is generated at the cognition level to support decision-making. The configuration level deals with the self-configuration and self-optimization issues in the CPS. Planning and scheduling are two important issues in the Industry 4.0 literature [25,26] and are at the configuration level in CPS design [27]. The scheduling issue has been studied in [3,10,11] under the premise of pre-specified workflows of processes and capabilities of resources in CPSs. However, the workflows of processes and capabilities/efficiency of resources may change dynamically. In addition, the energy consumption factor is not considered in [3,10,11]. Developing a method to determine the configuration of workflows and resources is urgent. Process planning aims to determine the configuration of the production process and the associated resources involved. It is a preliminary step for developing a self-organized and self-adaptive CPS and solving the subsequent scheduling problem [28]. The planning of CPSs with logistic models has been studied in [29]. The process planning issue in CPS design has been studied in [30]. However, the sustainability factor of CPSs is not considered in [30].
This paper focuses on the problem of determining the configuration of workflows/resources to compose processes with desirable properties in planning sustainable CPSs. Time and energy consumption are two important factors in developing production processes for sustainable CPSs. The former focuses on the issue of meeting the order demand in a timely manner, whereas the latter is directly related to the sustainability issue in the manufacturing sector. Therefore, time and energy consumption factors must be taken into consideration in the production planning processes in sustainable CPSs. In addition to time and energy consumption factors, planning production processes in CPSs must be based on the operational requirements/constraints of the processes and the real-time information available from the IoT infrastructure.
The planning of processes in sustainable CPSs is an important issue to timely meet demand and sustainability development goals. The ever-shrinking life cycle of technologies leads to frequent changes in processes. This makes the planning of processes a challenging task. To plan processes in the presence of process changes, an effective planning method must be developed to automate the planning task. A CPS consists of entities in cyber space and physical space. Cyber World models are used to capture the capability of entities in the CPS. To address the planning problem, proper modeling tools must be used to construct the Cyber World models for the CPS. Petri nets are applied to model and manufacturing systems [31] due to their capability to capture discrete events, as well as synchronous/asynchronous and concurrent operations in production systems. In particular, Discrete Timed Petri Nets (DTPNs) have been applied to represent the Cyber World models for the CPS, solve the scheduling problems [3,10] and assess the influence of failures on the CPS [11]. In this study, DTPNs are adopted as the Cyber World models for the CPS. However, the problem addressed in this study is to determine the DTPNs necessary to meet the manufacturing requirements of sustainable CPSs instead of analyzing given DTPNs.
In the literature, the planning of processes in CPSs were studied. For example, in [27,28,29,30], different approaches were proposed for planning processes in CPS. This study aims to develop a more effective evolutionary algorithm for planning processes in CPS based on an auction mechanism. Auctions have been applied in transportation service procurement on the Cyber–Physical Internet [32] in on-demand logistics trading [33], cloud manufacturing resource trading [34] and task allocation in CPSs [35]. In this study, an auction mechanism will be used in the CPS over the course of the process planning. As the process-planning problem is a constrained discrete optimization problem, an effective approach must be used to tackle its complexity issue. Due to the success of applying various evolutionary computation approaches in the literature to optimize CPSs [36,37,38], we will adopt an evolutionary computation approach to solve the planning problem of sustainable CPSs.
Well-known evolutionary computation approaches include Particle Swarm Optimization [39] and Differential Evolution [40,41,42]. In the literature, the effectiveness of an evolutionary computation algorithm can be assessed based on performance and robustness. Performance is concerned with the quality of solutions found and is usually measured with the average fitness function values of solutions. In addition to performance, robustness is also an important metric in the evaluation of metaheuristic algorithms [43,44]. The robustness of an evolutionary computation algorithm is measured by the sensitivity of the average fitness function values with respect to the algorithmic parameters. In this study, we will develop an effective evolutionary algorithm for planning production processes in sustainable CPSs and study the computational experiences of the solution algorithm in terms of performance and robustness.
In the literature, the neighborhood search mechanism is an effective approach to solving optimization problems. Self-adaptive mechanisms provide an approach to adapting the parameters of a solution method. Combining these two mechanisms has the potential to yield a better solution in the solution space [45]. The effectiveness of this approach has been successfully applied in [46]. To achieve the goal of this study, we focus on developing a self-adaptive neighborhood search-based Differential Evolution method to support the planning of processes in sustainable CPSs. In this study, a self-adaptive mechanism is combined with neighborhood search in the Differential Evolution method. This creates a self-adaptive neighborhood search Differential Evolution (SaNSDE) algorithm. To tackle the constraints of the planning problem, the method used in [47] is adopted. We assess the performance of this approach by performing experiments for several cases. By analyzing the results of these experiments, it shows that the proposed method outperforms several methods in the literature.
This paper differs from the previous ones on CPSs in [3,11] in that both the sustainability factor and efficiency factor are jointly considered in this study. The contributions of this paper are as follows. First, a general problem formulation for planning processes considering time and sustainability factors is proposed. Second, a solution method for the problem based on the self-adaptive mechanism and neighborhood search mechanism is proposed. Third, the proposed method is verified by a special class of production processes. Fourth, the effectiveness of the proposed solution algorithm in terms of performance and robustness is studied and shows that the proposed solution algorithm outperforms several other algorithms.
We structure the rest of this paper as follows. In Section 2, we first describe the problem in planning processes in a CPS by briefly introducing the optimization problem. In Section 3, we will propose a SaNSDE algorithm based on the DE approach. We will report the experimental results in Section 4. We will discuss the results in Section 5 and conclude this paper in Section 6.

2. Modeling and Problem Formulation

We will first start with a motivating example, introduce the models of entities in CPS and then formulate the problem in planning a process in a sustainable CPS. We consider several factors in the process-planning problem, including operational requirements, time for executing operations, energy consumption of operations and constraints of the processes.
A Motivating Example: Consider a CPS consisting of a number of process agents, resource agents and optimization agents. The role of a process agent is to specify the requirements of the target production process to be planned and submit the requirements to the optimization agent. The role of a resource agent is to specify the operations that it can perform and submit bids to the optimization agent to indicate the potential operations that can be performed by it. The optimization agent aims to determine the optimal configuration of the process agent and resource agents based on the bids submitted by the process agent and the resource agents. For example, suppose the workflow Ω n of process agent n requires five operations to be performed. Suppose the upper bound of the processing time of the process to be composed for process agent n is ω n = 200. Suppose there are nine resource agents in the CPS to perform operations. Depending on the type of resource agents, the capability varies. That is, the function of different types of resource agents is different in general. Therefore, each type of resource agent can only perform some of the operations. The planning problem for process agent n is to find the configuration of resource agents that can completely perform the required operations, satisfy the processing time requirement and optimize energy consumption. To address this process-planning problem in the CPS, several Cyber World models must be defined to capture the operations, the workflow of the process agent and the capability of resource agents (activities that can be performed by resource agents).
The above motivating example used to illustrate the proposed solution method is based on a real application scenario similar to the one reported in [48]. The difference between the illustrative example used in this paper and the one in [48] is the number of resource agents and the number of operations in the process. Please refer to [48] for the details of the application scenario.

2.1. A Multi-Agent System Architecture and Models of Agents in CPSs

In this subsection, we introduce the models of CPSs. A process in a CPS consists of a number of operations. The execution of operations must satisfy their constraints as needed. The operations may be performed by different resources. A multi-agent system architecture is used in this study to model the process-planning problem in CPSs. The entities involved in the process planning of a CPS include process agents, resource agents and optimization agents. Agents interact with each other in the CPS with a multi-level contract net protocol (CNP) [10].
Each process agent specifies the requirements of a production process. A process agent submits a bid to describe the requirements of its production process. Each resource agent in the CPS represents a manufacturing resource that performs operations in the production process. A resource agent submits bids according to its capabilities to perform different operations. An optimization agent aims to determine the configuration of a process agent and relevant resource agents to realize the production process according to the bids of the process agent and resource agents.
Using different combinations of resources to perform the required operations typically results in different total processing time and energy consumption for the process. The total processing time and energy consumption of a process are two important characteristics that need to be optimized. To obtain a process with satisfactory characteristics in a CPS, an objective function is required. An objective function that considers both total processing time and energy consumption is defined. Given the objective function, a constrained optimization problem is formulated for the process-planning problem. The problem of planning processes in CPSs is to find the winning bids (the best combination of bids) based on the bids submitted by resources such that the objective function is optimized.
To describe the capabilities of agents and formulate the planning problem, a list of notations is defined in Table 1.
The requirements of a process agent n W A in the CPS are specified by the operations and the connection between operations. We construct the Cyber World model for the k -th operation of process agent n W A and the Cyber World model for process agent n W A as follows.
In this paper, we adopt Discrete Timed Petri Nets (DTPNs) to represent the Cyber World model of an activity.
A DTPN G is described by G = ( P , T , F , m 0 , μ ) , where P denotes a set of places, T denotes a set of transitions, F ( P × T ) ( T × P ) denotes a set of flow relations, m 0 denotes the initial marking, the function μ : T Z specifies the firing time for each transition and Z is the set of nonnegative integers.
Definition 1.  
The Cyber World model for the  k -th operation of process agent  n W A  is a DTPN Ω n k = ( P n k , T n k , F n k , m n 0 k , μ n k )  with  T n k  =   { t n s k , t n e k }  and   P n k  =  { p n k b } , where  t n s k  denotes the start transition,  t n e k  denotes the end transition,  p n k b  denotes the busy state place of the  k -th operation and μ n k  denotes a function specifying the firing time of each transition in T n k .
For the motivating example, to represent the operations, a model is constructed for each operation. As there are five operations for the workflow Ω n of process agent n , we will construct models, Ω n 1 , Ω n 2 , Ω n 3 , Ω n 4 and Ω n 5 , to represent these five operations.
Figure 1a–e show the DTPN models Ω n 1 , Ω n 2 , Ω n 3 , Ω n 4 and Ω n 5 for the first operation, the second operation, the third operation, the fourth operation and the fifth operation, respectively.
For the example in Figure 1, the start transition of Ω n 1 is t 1 s 1 = t 1 and the end transition of Ω n 1 is t 1 e 1 = t 2 . The start transition of Ω n 2 is t 1 s 2 = t 2 and the end transition of Ω n 2 is t 1 e 2 = t 3 . Similarly, t 1 s 3 = t 3 , t 1 e 3 = t 4 , t 1 s 4 = t 4 , t 1 e 4 = t 5 , t 1 s 5 = t 5 and t 1 e 5 = t 6 . The busy state place of Ω n 1 is p 1 1 b = p 1 , the busy state place of Ω n 2 is p 1 2 b = p 2 , the busy state place of Ω n 3 is p 1 3 b = p 3 , the busy state place of Ω n 4 is p 1 4 b = p 4 and the busy state place of Ω n 5 is p 1 5 b = p 5 .
To construct the Cyber World model for process agent n , we combine the Cyber World models of the operations involved. A operator is defined to combine two DTPNs.
Definition 2. 
Given two DTPNs, P N 1  = ( P 1 , T 1 , F 1 , m 10 , μ 1 ) and P N 2  = ( P 2 , T 2 , F 2 , m 20 , μ 2 ), P N 1 P N 2   = ( P , T , F , m 0 , μ ), where P = P 1 P 2 , T = T 1 T 2 , F ( p , t ) = { F 1 ( p , t )   i f   p P 1   a n d   t T 1 F 2 ( p , t )   i f   p P 2   a n d   t T 2   ,   F ( t , p ) = { F 1 ( t , p )   i f   p P 1   a n d   t T 1 F 2 ( t , p )   i f   p P 2   a n d   t T 2    and   m 0 ( p ) = { m 10 ( p )   i f   p P 1 m 20 ( p )   i f   p P 2 .
Let K n denote the maximum number of operations involved in the workflow of process agent n . We define the Cyber World model of process agent n as follows.
Definition 3. 
The Cyber World model of process agent  n , where  n W A  is an acyclic DTPN Ω n   = k { k { 1 , 2 , , K n } | d n k = 1 } Ω n k .
Figure 2 shows the DTPN model, Ω n , for process agent n , where
Ω n = Ω n 1 Ω n 2 Ω n 3 Ω n 4 Ω n 5 .
Operations in a CPS are performed by the resource agents. In this paper, the action that an agent performs an operation is called an activity. An activity can be described by a Cyber World model.
Let A n a k denote the Cyber World model described by a DTPN of the activity performed by resource agent a for k -th operation of process agent n , defined as follows.
Definition 4. 
We use DTPN  A n a k = ( P n a k , T n a k , F n a k , m n a 0 k , μ n a k )  as the Cyber World model to represent that the k -th operation of  process agent n  is  performed by  resource  agent  a , where a R A , the initial marking  m n a 0 k ( r a ) is the number of available resources and  r a is the idle state place. There is no common transition between A n a k   and A n a k   for k k .
For the motivating example, to represent the capability of a certain type of resource agents, we will construct the resource activity model for each type of resource agent. We use the resource activity model A n a k to denote the activity that the k -th operation of process agent n can be performed by resource agent a . In this example, the resource activity model for resource agent a 1 is A n a 1 1 , the resource activity model for resource agent a 2 is A n a 2 5 , the resource activity model for resource agent a 3 is A n a 3 1 A n a 3 5 , the resource activity model for resource agent a 4 is A n a 4 1 , the resource activity model for resource agent a 5 is A n a 5 5 , the resource activity model for resource agent a 6 is A n a 6 1 A n a 6 5 , the resource activity model for resource agent a 7 is A n a 7 3 , the resource activity model for resource agent a 8 is A n a 8 2 and the resource activity model for resource agent a 9 is A n a 9 4 .
Figure 3 shows the resource activity models for the resource agents in the motivating example.
The set of resource agents for performing the k -th operation in Ω n is denoted by R A n k . The set of resource agents for performing the operations in Ω n is denoted by R A n = k { k { 1 , 2 , , K n } | d n k = 1 } R A n k .
A configuration for process agent n is defined by the Cyber World model, Ω n , of process agent n and the Cyber World models of activities of resources agent a R A n = k { k { 1 , 2 , , K n } | d n k = 1 } R A n k for performing the operations in Ω n .
Definition 5.  
The Cyber World model for a configuration of process agent  n  with the Cyber World model  Ω n  and the Cyber World models of activities of resources agent a R A n = k { k { 1 , 2 , , K n } | d n k = 1 } R A n k  for performing the operations in  Ω n  is a DTPN Ψ n   ( P n , T n , F n , m n 0 , μ n )  = Ω n   k { k { 1 , 2 , , K n } | d n k = 1 } , a R A n k A n a k , where  n W A . The firing time μ n ( t )   for each transition t T n   is μ n a k ( t ) .
Note that the number of different configurations of process agent n is usually not unique. For example, Figure 4a–c show three different configurations for process agent n . The process-planning problem is to find the optimal configuration of the process agent n and the associated set of resource agents R A n k for performing the k -th operation in Ω n to compose the overall Cyber World model Ψ n = ( P n , T n , F n , m n 0 , μ n ) = Ω n   k { k { 1 , 2 , , K n } | d n k = 1 } , a R A n k A n a k to meet the manufacturing requirements.

2.2. Process-Planning Problem Formulation for Sustainable CPS

In this subsection, the process-planning problem will be formulated for a sustainable CPS. We use e q n to represent the requirements of the process agent n . e q n can be specified based on the operations in the production process and the desirable properties of the production process. For example, suppose the process agent n requires a number of operations to be performed and the upper bound of total processing time is ω n . Let K n be the maximum number of operations in the workflow of process agent n . In this case, e q n can be described by e q n = ( d n 1 , d n 2 , d n 3 , , d n K n , ω n ) , where d n k is equal to 1 if operation k is required to be performed in the requirements of process agent n , d n k is equal to 0 otherwise and the overall processing time must be no greater than ω n .
In this study, we use the concept of agents to model resources in CPS. A CPS consists of a set of resource agents such as machine agents and robot agents. The set of agents in the system is denoted by R A . Each agent is autonomous and may submit bids in the CPS to indicate its capability to perform a set of operations. A bid indicates the capability for the resource agent to perform operations in the requirements e q n = ( d n 1 , d n 2 , d n 3 , , d n K n , ω n ) of the process agent n .
We use J a to represent the number of bids submitted by resource agent a . The j-th bid submitted by a resource agent a is denoted by B a j = ( o a j 1 , o a j 2 , o a j 3 , , o a j K n , τ a j ) , where o a j k is one if operation k can be performed by resource agent a in the j-th bid, o a j k is zero otherwise and τ a j is the overall processing time for performing the specified operations. The set of all bids is denoted by B = { B a j , where a { 1 , 2 , 3 , , | R A | } and j { 1 , 2 , 3 , , J a } }.
Based on the resource activity model, each resource agent submits bids to indicate the operations it can perform. For the motivating example, the resource activity model A n a 1 1 for resource agent a 1 consists of transition t 1 and transition t 2 . As transition t 1 is the start transition of Cyber World model Ω 1 1 and transition t 2 is the end transition of Cyber World model Ω 1 1 , resource agent a 1 can perform the first operation. Therefore, resource agent a 1 submits a bid B a 1 j = ( o a 1 j 1 , o a 1 j 2 , o a 1 j 3 , , o a 1 j K n , τ a 1 j ) = ( 1 , 0 , 0 , 0 , 0 , 25 ) , where 25 is the processing time of resource agent a 1 for the first operation. Other types of resource agents also submit bids similarly.
The energy consumption information of the j-th bid submitted by agent a is denoted by E a j = ( o a j 1 , o a j 2 , o a j 3 , , o a j K n , e a j ) , where e a j is the overall energy consumption for performing the specified operations in the bid. The set of energy consumption information for all bids is denoted by E = { E a j , where a { 1 , 2 , 3 , , | R A | } and j { 1 , 2 , 3 , , J a } }.
We use x a j to denote the decision variable of the optimization problem. The value of x a j is one if the j-th bid of agent a is accepted and is zero otherwise.
To assess the quality of a process in CPS, an objective function that considers both total processing time and energy consumption is defined. We use Γ ( x , B ) to denote a function that calculates the total processing time of a configuration of process agent n based on the solution x a j and B a j , where a { 1 , 2 , 3 , , | R A | } and j { 1 , 2 , 3 , , J a } . We use E n g ( x , B ) to denote a function that calculates the energy consumption according to the solution x a j and B a j , where a { 1 , 2 , 3 , , | R A | } and j { 1 , 2 , 3 , , J a } .
To propose a general framework to support the planning of processes in sustainable CPSs, a general form of the objective function is first presented. The general form of the objective function will be tailored for the case of sequential processes to illustrate its usage next. The general form of the objective function is a function of the decision variable, x . Therefore, we use G ( x ) to denote the objective function. As the cost due to the total processing time and energy consumption factors are considered in this study, the objective function G ( x ) is a function of the total processing time of the configuration calculated by Γ ( x , B ) and the energy consumption of the configuration calculated by E n g ( x , B ) . Therefore, G ( x ) is described by G ( Γ ( x , B ) , E n g ( x , B ) ) . Note that Γ ( x , B ) is related to time, whereas E n g ( x , B ) is related to energy consumption. There are several different ways to combine Γ ( x , B ) and E n g ( x , B ) to define the objective function G . For example, one may introduce weighting coefficients to combine Γ ( x , B ) and E n g ( x , B ) to define the objective function G . Alternatively, one may define G ( Γ ( x , B ) , E n g ( x , B ) ) as the weighted sum of functions of Γ ( x , B ) and E n g ( x , B ) , e.g., G ( Γ ( x , B ) , E n g ( x , B ) ) = w 1 G 1 ( Γ ( x , B ) ) + w 2 G 2 ( E n g ( x , B ) , where G 1 is a monotonic decreasing function and G 2 is a monotonic increasing function.
The objective function should be tailored properly according to the characteristics of the type of production processes under consideration and the goal of the production process. We will elaborate G ( Γ ( x , B ) , E n g ( x , B ) ) for the special case of sequential processes later to illustrate how the objective function is defined.
In our problem formulation, we use ( x , B , e q n ) to denote the constraints to satisfy the requirements of the operations specified in e q n . We use T ( x , B ) to denote the constraints to satisfy time requirements specified in e q n . We use Π ( x , B ) to denote the other types of constraints. We formulate the following problem to maximize the objective function.
max ( G ( x ) = G ( Γ ( x , B ) , E n g ( x , B ) )
s.t.
( x , B , e q n )
T ( x , B )
Π ( x , B )
x a j { 0 , 1 }   a { 1 , 2 , 3 , , | R A | } , j { 1 , 2 , 3 , , J a }
The problem formulation defined by (1) through (5) should be tailored properly according to the characteristics of the type of production processes under consideration and the goal of the production process.
To illustrate how to tailor the problem formulation defined by (1) through (5) to create a process with desirable properties, let us consider the problem of composing a process Ψ n for a process agent n with a sequential Cyber World model Ω n in a CPS. Suppose the composed process must satisfy three requirements: (i) each operation in the process Ω n must be performed by an agent, (ii) the total processing time of the process must be no greater than a given upper bound ω n and (iii) the number of times an operation can be performed by each agent cannot exceed a pre-specified upper bound ω n .
In this case, we may tailor the problem defined by (1) through (5) for composing a sequential process as follows. If the Ω n is a sequential process, the constraints ( x , B , e q n ) to satisfy the requirements of the operations can be represented by a R A j = 1 J a x a j o a j k d n k k { 1 , , K n } . If Ω n is a sequential process, Γ ( x , B ) = a R A j = 1 J a x a j τ a j   . Let ω n denote the upper bound of the total processing time of the process Ψ n . In this case, the constraints to satisfy the time requirements T ( x , B ) can be represented by ω n Γ ( x , B ) . Suppose we want to set an upper bound q a k on the maximum number of times that an operation k can be performed by each agent. The constraints Π ( x , B ) can be represented by j = 1 J a x a j o a j k q a k a A , k { 1 , , K n } .
We define G ( Γ ( x , B ) , E ( x , B ) ) as an increasing function of ω n     Γ ( x , B ) and a decreasing function of E n g ( x , B ) . For example, G ( Γ ( x , B ) , E n g ( x , B ) ) = w 1 ( ω n     Γ ( x , B ) ) + w 2 E n g ( x , B ) . We formulate the following problem to maximize the objective function.
max G ( x ) = G ( Γ ( x , B ) , E n g ( x , B ) ) = w 1 ( ω n     Γ ( x , B ) ) w 2 E n g ( x , B )
s . t . a R A j = 1 J a x a j o a j k d n k   k { 1 , , K n }
ω a R A j = 1 J a x a j τ a j  
j = 1 J a x a j o a j k q a k   a R A , k { 1 , , K n }
x a j { 0 , 1 }   a { 1 , 2 , 3 , , | R A | } , j { 1 , 2 , 3 , , J a }
The problem defined in (6) through (10) aims to find a solution x a j that maximizes the objective function G ( x ) = G ( Γ ( x , B ) , E n g ( x , B ) ) = w 1 ( ω n     Γ ( x , B ) ) w 2 E n g ( x , B ) , where a { 1 , 2 , 3 , , | R A | } and j { 1 , 2 , 3 , , J a } , such that the requirement e q n of the process Ψ n is satisfied, the total processing time of the overall process cannot exceed ω n and the maximum number of times that an operation k can be performed by each agent cannot exceed q a k .

3. The Algorithm

In this section, the SaNSDE algorithm will be proposed. As the SaNSDE algorithm is a variant of the Differential Evolution algorithm, it is a class of evolutionary algorithm that relies on a properly defined fitness function to assess the quality of a potential solution. We present the fitness function used in this paper first and the SaNSDE algorithm next.

3.1. Fitness Function

Just like other evolutionary algorithms, the SaNSDE algorithm relies on a properly defined fitness function that considers both the objective function values and constraint violations. We define a fitness function based on the method proposed in [47]. We use S f to denote the set of all feasible solutions in the current population. For the problem defined by (1) through (5), we define fitness function G 1 ( x ) as follows:
G 1 ( x ) = { G ( x ) i f x   s a t i s f i e s   c o n s t r a int   s   ( 1 ) ( 5 ) U ( x ) o t h e r w i s e ,   where
U ( x ) = S f max + U 1 ( x ) + U 2 ( x ) + U 3 ( x ) with
S f max = max x S f   G ( x ) ,
U 1 ( x ) is the penalty of constraint violation of ( x , B , R ) ,
U 2 ( x ) is the penalty of constraint violation of T ( x , B ) and
U 3 ( x ) is the penalty of constraint violation of Ψ ( x , B ) .
For the process-planning problem of a sequential process defined by (6) through (10), the fitness function G 1 ( x ) is defined as follows:
G 1 ( x ) = { G ( x ) i f x   s a t i s f i e s   c o n s t r a int s   ( 6 ) ( 10 ) U ( x ) o t h e r w i s e ,   where
U ( x ) = S f max + U 1 ( x ) + U 2 ( x ) + U 3 ( x )   with
S f max = max x S f   F ( x ) ,
U 1 ( x ) = k = 1 K ( ( min ( a A j = 1 J a x a j o a j k d n k ) , 0.0 ) ) ,
U 2 ( x ) = min ( ( ω n Γ ( x , B ) ,   0.0 )   and
U 3 ( x ) = a A ( k = 1 K ( max ( j = 1 J a x a j o a j k q a k , 0.0 ) ) ) .

3.2. SaNSDE Algorithm

To describe the self-adaptive algorithm, the notations are defined in Table 2.
As the decision variables are represented by the vector x , the solution is represented by a vector. Therefore, each individual in the population is also a vector. We use z i to denote the i -th individual in the population. The dimension of z i is the same as that of x . We use L to denote the dimension of x . The element in the l -th dimension of z i is denoted by z i l . We use v i to denote the mutant vector of the i -th individual in the population. The dimension of v i is the same as that of x . The element in the l -th dimension of v i is denoted by v i l . We use a u i to denote the trial vector of the i -th individual in the population. The dimension of u i is the same as that of x . The element in the l -th dimension of u i is denoted by u i l . We use T ( u i ) to denote the binary transformation function to transform a trial vector u i to a binary vector. This binary transformation function is the same as the one used in [46].
The SaNSDE algorithm basically follows the three steps of the standard Differential Evolution approach: mutation, crossover step and selection. The scale factor is generated randomly. The generation of the scale factor depends on whether a randomly generated value r from U ( 0 , 1 ) is less than f p . If r is less than f p , the scale factor will be generated from the Gaussian distribution N ( μ , σ 1 2 ) . Otherwise, the scale factor will be generated from the uniform distribution U ( 0 , 1 ) . A random value r a n d i will be generated from U ( 0 , 1 ) to determine which mutation strategy will be used. If r a n d i < f p , mutation strategy s = 1 and the mutant vector will be calculated by v i lg z r 1 lg + F i ( z r 2 lg z r 3 lg ) . Otherwise, mutation strategy s = 2 and the mutant vector will be calculated by v i lg z i lg + F i ( z b lg z i lg ) + F i ( z r 1 lg z r 2 lg ) . Following the mutation operation, a trial vector will be calculated and the individual will be updated as needed. The successful or failed update counter will be updated as needed. The value of f p will be updated according to the successful or failed update counter after the learning period L P .
Based on the notations above, the proposed self-adaptive neighborhood search Differential Evolution algorithm is defined in Algorithm 1 as follows.
Algorithm 1: SaNSDE Algorithm
Step 0: Initialize parameters C R m = 0.5 and f p = 0.5
   Generation of random population with N P individuals
   Set the learning period L P
    C R m = 0.5
    f p = 0.5
   Initialize a population with N P individuals randomly
Step 1: For g = 1   t o   H
     For i = 1   t o   N P
Step 1.1: Generate r with uniform distribution U ( 0 , 1 )
       If r < f p
         Generate r 1 with Gaussian distribution N ( μ , σ 1 2 )
          F i = r 1
       Else
         Generate r 2 with uniform distribution U ( 0 , 1 )
          F i = r 2
       End If
       Generate c r i with Gaussian distribution N ( C R m , σ 2 2 )
Step 1.2: Generate r a n d i = U ( 0 , 1 )
      For l {1, 2, …, L }
       If r a n d i < f p
          s = 1
          v i l z r 1 l + F i ( z r 2 l z r 3 l )
       Else
          s = 2
          v i l z i l + F i ( z b l z i l ) + F i ( z r 1 l z r 2 l )
       End If
       End For
Step 1.3: Trial vector computation
       For l {1, 2, …, L }
         u i l = { v i l   i f   R a n d ( 0 , 1 ) < C R x i l   o t h e r w i s e
      End For
Step 1.4: u ¯ i T ( u i )
      Individual update
      If G 1 ( u ¯ i ) G 1 ( z i )
         z i = u i
        Record c r i in C R r e c
         n s = n s + 1
      Else
         m s = m s + 1
      End If
    End For
   If g > L P
       f p = n 1 ( n 2 + m 2 ) n 2 ( n 1 + m 1 ) + n 1 ( n 2 + m 2 )
       C R m = k = 1 | C R r e c | C R r e c ( k ) | C R r e c |
   End If
End For

4. Results

We conducted several experiments to assess the performance and efficiency of the SaNSDE algorithm. We will first present the results of a small example in Section 4.1. In Section 4.2, we will compare the performance/efficiency of the proposed algorithm with other ones. In Section 4.3, we will present the results on the influence of the learning period parameter on the performance/efficiency of the proposed algorithm. The statistical significance of the results will be presented in Section 4.5.

4.1. A Small Example

We applied the SaNSDE algorithm proposed in Section 3.2 to find the solutions for several cases. Comparison with other algorithms based on results of experiments will be presented in the next subsection. We first illustrate the proposed method by applying it to the motivating example in Section 2.
In this example, we consider a planning problem for a process agent n with five operations to be performed by resource agents. Suppose the upper bound of the processing time of the process is ω n = 200. The DTPN models, Ω n 1 , Ω n 2 , Ω n 3 , Ω n 4 and Ω n 5 for the first operation, the second operation, the third operation, the fourth operation and the fifth operation, respectively, are shown in Figure 1a–e. As there are five operations to be performed, the requirements of the process agent n are described by e q n = ( d n 1 , d n 2 , d n 3 , , d n K n , ω n ) . In this case, K n = 5 , d n 1 = 1 ,   d n 2 = 1 ,   d n 3 = 1 ,   d n 4 = 1 and d n 5 = 1 . The model of the process agent n is shown in Figure 2.
Suppose there are nine types of resource agents in the CPS to perform the five operations. Each type of resource agent can only perform a subset of the five operations. The capability of each type of resource agents is described by the resource activity models in Figure 3. Based on the resource activity model, each resource agent submits a bid to indicate the operations it can perform. For example, the resource activity model A n a 1 1 for resource agent a 1 consists of transition t 1 and transition t 2 . As transition t 1 is the start transition of Cyber World model Ω n 1 and transition t 2 is the end transition of Cyber World model Ω n 1 , resource agent a 1 can perform the first operation. Therefore, resource agent a 1 submits a bid B a 1 j = ( o a 1 j 1 , o a 1 j 2 , o a 1 j 3 , , o a 1 j K n , τ a 1 j ) = ( 1 , 0 , 0 , 0 , 0 , 25 ) , where 25 is the processing time of resource agent a 1 for the first operation. Similarly, the resource activity model A n a 2 5 for resource agent a 2 consists of transition t 5 and transition t 6 . As transition t 5 is the start transition of Cyber World model Ω 1 5 and transition t 6 is the end transition of Cyber World model Ω 1 5 , resource agent a 2 can perform the fifth operation. Therefore, resource agent a 2 submits a bid B a 2 j = ( o a 2 j 1 , o a 2 j 2 , o a 2 j 3 , , o a 2 j K n , τ a 2 j ) = ( 0 , 0 , 0 , 0 , 1 , 25 ) , where 25 is the processing time of resource agent a 2 for the fifth operation. The resource activity model A n a 3 1 A n a 3 5 for resource agent a 3 consists of transitions t 1 , t 2 , t 5 and t 6 . As transition t 1 is the start transition of Cyber World model Ω n 1 and transition t 2 is the end transition of Cyber World model Ω n 1 , resource agent a 3 can perform the first operation. As transition t 5 is the start transition of Cyber World model Ω n 5 and transition t 6 is the end transition of Cyber World model Ω n 5 , resource agent a 3 can perform the fifth operation. Therefore, resource agent a 3 submits a bid B a 3 j = ( o a 3 j 1 , o a 3 j 2 , o a 3 j 3 , , o a 3 j K n , τ a 3 j ) = ( 1 , 0 , 0 , 0 , 1 , 45 ) , where 45 is the processing time of resource agent a 3 for the first operation and the second operation. Based on the corresponding resource activity models, resource agents a 4 through a 9 also submit their bids. The information on all the bids submitted by resource agents is shown in Table 3 and Table 4.
The algorithmic parameters used by the SaNSDE algorithm and NSDE algorithm are listed as follows:
The parameters of the SaNSDE algorithm are as follows.
V max = 4
C R = 0.5
L P = 50
The number of iterations: 10,000
Population size ( N P ): 30
The objective function used is G ( x ) = G ( Γ ( x , B ) , E n g ( x , B ) ) = w 1 ( ω n     Γ ( x , B ) ) w 2 E n g ( x , B ) , where w 1 = 1 and w 2 = 1. The following solution is found by the proposed algorithm: x 11 = 0 ,   x 21 = 0 ,   x 31 = 1 ,   x 41 = 0 ,   x 51 = 0 ,   x 61 = 0 ,   x 71 = 1 ,   x 81 = 1 ,   x 91 = 1 . The configuration of our solution is the bids submitted by the set of resource agents {3, 7, 8, 9}. This solution corresponds to the Cyber World model for the configuration in Figure 4b. The processing time achieved for this solution is 45 + 40 + 28 + 32 = 145. The fitness function value found for this example is 42.
For this example, there are several candidate configurations that can perform all the operations in the process. These candidate configurations include the bids submitted by the sets of resource agents { 1, 2, 7, 8, 9 }, { 1, 5, 7, 8, 9}, {3, 7, 8, 9}, {4, 2, 7, 8, 9}, {4, 5, 7, 8, 9} and {6, 7, 8, 9}. The values of the fitness function defined in Section 3.2 for these candidate configurations are 42, 32, 42, 32, 22 and 27, respectively. The configuration of the solution found by the proposed algorithm is the bids submitted by the set of resource agents {3, 7, 8, 9}, which is optimal as the value of the objective function is maximal. So, the solution found is consistent with our expectation.

4.2. Comparison with Other Algorithms

To illustrate the effectiveness of the SaNSDE algorithm proposed in Section 3.2, the PSO algorithm, six standard DE algorithms (DE1 through DE6) and a variant of the neighborhood search-based DE (NSDE) algorithm [49] were used for comparison with the proposed algorithm. There are two reasons to compare it with these algorithms. First, these algorithms had been applied to the special case of the problem considered in this paper, in which the energy consumption factor is not considered in the objective function (i.e., w 2 = 0 in (6)) but the constraints are the same. Second, these algorithms had also been successfully applied to solve complex constrained optimization problems with binary decision variables such as the ones in the studies [50,51]. Therefore, we compared the proposed algorithm with these eight algorithms. We performed experiments by applying these algorithms to solve ten instances. We recorded and analyzed the results to compare the performance and efficiency of the different algorithms.
All the algorithms mentioned above are population-based algorithms. Population size ( N P ) is a parameter for all these algorithms. As the performance of different evolutionary algorithms may depend on population size, we consider a small population size of 10, a moderate population size of 30 and a larger population size of 50 to conduct the experiments in this study. The small population size is used to test whether all these algorithms can work effectively even if the total number of individuals in the population is small. By comparing the results obtained with a small population size of 10, a moderate population size of 30 and a larger population size of 50, we will be able to know which algorithms are sensitive to the population size parameter. In this subsection, we first present the results of experiments for the population size N P = 10. The results of experiments for the population sizes N P = 30 and 50 will be presented next.
In addition to the population size parameter, the other parameters used in the different algorithms are as follows.
The parameters used in the discrete NSDE algorithm are as follows.
V max = 4
C R = 0.5
F i = 0.5 r 1 + 0.5 , where r 1 is a random value with a Gaussian distribution N ( 0 , 1 ) .
The number of iterations: 10,000
The parameters used in the discrete Particle Swarm Optimization algorithm are as follows.
V max = 4
c 1 = 0.4
c 2 = 0.6
w = 0.4
The number of iterations: 10,000
The parameters used in the discrete Differential Evolution algorithm are as follows.
V max = 4
C R = 0.5
F i : a value arbitrarily selected from uniform (0, 2)
The number of iterations: 10,000
Table 5 and Table 6 show the results for the population size N P = 10, obtained by applying the SaNSDE algorithm, a variant of the neighborhood search-based DE (NSDE) algorithm, the PSO algorithm and six standard DE algorithms.
In terms of performance, the results of Table 5 indicate that the SaNSDE algorithm either outperforms or performs as well as the NSDE algorithm and PSO algorithm for most instances, with the exception of Case 4. The average fitness function values in Table 5 and Table 6 are shown in the bar charts of Figure 5 and Figure 6, respectively.
The results of Table 6 indicate that the SaNSDE algorithm either outperforms or performs as well as the six standard DE algorithms in most instances, with the exceptions of Case 4, Case 5 and Case 6. The number of best solutions found by the SaNSDE algorithm, the NSDE algorithm, PSO algorithm, DE1 algorithm, DE2 algorithm, DE3 algorithm, DE4 algorithm, DE5 algorithm and DE6 algorithm are 7, 1, 2, 2, 1, 2, 0, 1 and 1, respectively. Therefore, in terms of the number of best solutions found, the SaNSDE algorithm outperforms the other algorithms.
Table 7 and Table 8 show the results for the population size N P = 30, obtained by applying the SaNSDE algorithm, a variant of the neighborhood search-based DE (NSDE) algorithm, the PSO algorithm and six standard DE algorithms. The average fitness function values in Table 7 and Table 8 are shown in the bar charts of Figure 7 and Figure 8, respectively.
In terms of performance, the results of Table 7 indicate that the SaNSDE algorithm either outperforms or performs as well as the NSDE algorithm and PSO algorithm in all instances. The results of Table 8 indicate that the SaNSDE algorithm either outperforms or performs as well as the six standard DE algorithms for most instances, with the exceptions of Case 5 and Case 7. The number of best solutions found by the SaNSDE algorithm, the NSDE algorithm, the PSO algorithm, DE1 algorithm, DE2 algorithm, DE3 algorithm, DE4 algorithm, DE5 algorithm and DE6 algorithm are 8, 4, 3, 7, 3, 2, 1, 1 and 2, respectively. Therefore, in terms of the number of best solutions found, the SaNSDE algorithm outperforms the other algorithms.
Table 9 and Table 10 show the results for the population size N P = 50, obtained by applying the SaNSDE algorithm, a variant of the neighborhood search-based DE (NSDE) algorithm, the PSO algorithm and six standard DE algorithms. The average fitness function values in Table 9 and Table 10 are shown in the bar charts of Figure 9 and Figure 10, respectively.
In terms of performance, the results of Table 9 indicate that the SaNSDE algorithm either outperforms or performs as well as the NSDE algorithm and PSO algorithm for all instances. The results of Table 10 indicate that the SaNSDE algorithm either outperforms or performs as well as the six standard DE algorithms in most instances, with the exceptions of Case 5, Case 6 and Case 7. The number of best solutions found by the SaNSDE algorithm, the NSDE algorithm, the PSO algorithm, DE1 algorithm, DE2 algorithm, DE3 algorithm, DE4 algorithm, DE5 algorithm and DE6 algorithm are 7, 3, 4, 5, 1, 4, 2, 2 and 1, respectively. Therefore, in terms of the number of best solutions found, the SaNSDE algorithm outperforms the other algorithms.

4.3. Influence of the LP Parameter on the Performance/Efficiency

The learning period parameter of the SaNSDE algorithm proposed in Section 3.2 may have an influence on its performance and efficiency. An important issue to study is whether the learning period parameter L P has a significant influence on performance and efficiency. To understand the effects of the learning period parameter, we perform three series of experiments by setting the learning period parameter, L P , to 10, 1000 and 2000, respectively, and then analyzing the outcomes by comparing performance and efficiency. The results of the series of experiments are based on the same set of test cases. The results are summarized in Table 11. The average fitness function values in Table 10 are shown in the bar charts of Figure 11 and Figure 12, respectively.
According to Table 11, the average fitness values are the same for Case 1 through Case 4, Case 9 and Case 10 regardless of whether the learning period parameter L P is set to 10, 1000 or 2000. This indicates that the proposed SaNSDE algorithm is not sensitive to the learning period parameter L P for Case 1 through Case 4, Case 9 and Case 10.
For Case 5, the average fitness values depend on the values of L P . The maximum average fitness value is 727.66, which is obtained by setting L P = 2000, and the minimum average fitness value is 691.48, which is obtained by setting L P = 10. The difference between the maximum and the minimum average fitness values is (727.66 − 691.48)/691.48 = 5.2322%.
For Case 6, the average fitness values depend on the values of L P . The maximum average fitness value is 1743.7, which is obtained by setting L P = 2000, and the minimum average fitness value is 1685.8, which is obtained by setting L P = 10. The difference between the maximum and the minimum average fitness values is (1743.7 − 1685.8)/1685.8 = 3.4345%.
For Case 7, the average fitness values depend on the values of L P . The maximum average fitness value is 1629.2, which is obtained by setting L P = 2000, and the minimum average fitness value is 1334.1, which is obtained by setting L P = 10. The difference between the maximum and the minimum average fitness values is (1629.2 − 1334.1)/1334.1 = 22.1197%.
For Case 8, the average fitness values depend on the values of L P . The maximum average fitness value is 731, which is obtained by setting L P = 1000 or 2000, and the minimum average fitness value is 728.8, which is obtained by setting L P = 10. The difference between the maximum and the minimum average fitness values is (731 − 728.8)/728.8 = 0.3018%.
The above analysis indicates that the sensitivity to the average fitness values obtained by the proposed SaNSDE algorithm is less than 5% for most cases, with the exception of Case 7. Another observation of the results is that L P should be large enough to obtain better average fitness values.

4.4. Influence of Population Size on Performance/Efficiency

To study the influence of population size on the performance of the SaNSDE algorithm proposed in Section 3.2, we perform three series of experiments for all test cases for N P = 10, 30 and 50. The results of these experiments are summarized in Table 12. The average fitness function values of Table 12 are shown in the bar charts of Figure 13 and Figure 14, respectively.
The results show that the average fitness values of Case 1, Case 2 and Case 3 are the same. For Case 4, Case 5, Case 6, Case 7, Case 8, Case 9 and Case 10, the differences between the average fitness values for N P = 10, 30 and 50 are small in terms of percentage based on the following analysis of the results. This indicates that the proposed SaNSDE algorithm is not sensitive to population size.
For other test cases, although the average fitness values are not always the same, they are close. For Case 4, the maximum average fitness value is 542.2, which is obtained by setting N P = 30 or N P = 50, and the minimum average fitness value is 539, which is obtained by setting N P = 10. The difference between the maximum and the minimum average fitness values is (542.2 − 539)/539 = 0.5936%.
For Case 5, the maximum average fitness value is 724.02, which is obtained by setting N P = 50, and the minimum average fitness value is 715.08, which is obtained by setting N P = 10. The difference between the maximum and the minimum average fitness values is (724.02 − 715.08)/715.08 = 1.2502%.
For Case 6, the maximum average fitness value is 1730.5, which is obtained by setting N P = 50, and the minimum average fitness value is 1717, which is obtained by setting N P = 10. The difference between the maximum and the minimum average fitness values is (1730.5 − 1717)/1717 = 0.7862%.
For Case 7, the maximum average fitness value is 1598.3, which is obtained by setting N P = 30, and the minimum average fitness value is 1557.9, which is obtained by setting N P = 10. The difference between the maximum and the minimum average fitness values is (1598.3 − 1557.9)/1557.9 = 2.5932%.
For Case 8, the maximum average fitness value is 731, which is obtained by setting N P = 30 or N P = 50, and the minimum average fitness value is 726.9, which is obtained by setting N P = 10. The difference between the maximum and the minimum average fitness values is (731 − 726.9)/726.9 = 0.5640%.
For Case 9, the maximum average fitness value is 802, which is obtained by setting N P = 30 or N P = 50, and the minimum average fitness value is 768.8, which is obtained by setting N P = 10. The difference between the maximum and the minimum average fitness values is (802 − 768.8)/768.8 = 4.3184%.
For Case 10, the maximum average fitness value is 797, which is obtained by setting N P = 30 or N P = 50, and the minimum average fitness value is 780.1, which is obtained by setting N P = 10. The difference between the maximum and the minimum average fitness values is (797 − 780.1)/780.1 = 2.1663%.
The above results show that the difference between the maximum average fitness value and the minimum average fitness value is less than 2% for most test cases, with the exceptions of Case 7, Case 9 and Case 10. The difference between the maximum average fitness value and the minimum average fitness value is less than 4.5% for Case 7, Case 9 and Case 10. The results of the experiments show that the proposed algorithm is not sensitive to population size.

4.5. Statistical Significance of the Results

To illustrate the benefits and statistical significance of the results obtained by the proposed algorithm, let us take the setting with L P = 1000 as an example.
The standard deviation of the fitness function values obtained by the proposed algorithm and all the algorithms compared in this study are listed in Table 13 and Table 14 for N P = 10 and L P = 1000. The standard deviation of the fitness function values obtained by the proposed algorithm is smaller than those of the other algorithms compared in this study with only a few exceptions. This indicates that the variation in the fitness function values obtained by the proposed algorithm is smaller than those of other algorithms, and the fitness function values are clustered tightly around the mean of the fitness function values. Therefore, this shows that the proposed algorithm is more robust than the compared algorithms in this study.
The standard deviation of the fitness function values obtained by the proposed algorithm and all the algorithms compared in this study are listed in Table 15 and Table 16 for NP = 30 and LP = 1000. Again, the standard deviation of the fitness function values obtained by the proposed algorithm is smaller than those of the other algorithms compared in this study with only a few exceptions. In particular, the standard deviation of the fitness function values obtained by the proposed algorithm is smaller than those of all the compared DE algorithms in this study. Therefore, this shows that the proposed algorithm is more robust than the compared algorithms in this study.
The standard deviation of the fitness function values obtained by the proposed algorithm and all the algorithms compared in this study are listed in Table 17 and Table 18 for N P = 50 and L P = 1000. Again, the standard deviation of the fitness function values obtained by the proposed algorithm is smaller than those of the other algorithms compared in this study with only a few exceptions. In particular, the standard deviation of the fitness function values obtained by the proposed algorithm is smaller than those of all DE algorithms. Therefore, this shows that the proposed algorithm is more robust than the other algorithms compared in this study.
The above results show that the proposed algorithm can ensure that the variation in solutions is smaller than in the other algorithms compared in this study with only a few exceptions regardless of the population size.

5. Discussion

In this study, we proposed a SaNSDE algorithm for planning processes in sustainable CPSs and conducted experiments to illustrate its effectiveness and properties. These included a comparative study with other competitive algorithms to illustrate the effectiveness of the proposed self-adaptive algorithm. In addition, we studied the sensitivity of the proposed self-adaptive algorithm with respect to algorithmic parameters, including the learning period parameter, L P , and the population size parameter, N P .
Several other algorithms, including the PSO algorithm, six standard DE algorithms and a variant of the neighborhood search-based DE algorithm, were applied to solve ten instances. The results obtained by these algorithms were compared with those obtained by applying the SaNSDE algorithm to the same set of instances. Three series of experiments were conducted based on a small population size of 10, a moderate population size of 30 and a larger population size of 50 in this study. In terms of the number of best solutions found, the SaNSDE algorithm outperformed the other algorithms regardless of whether the population size was set to 10, 30 or 50.
To study the impacts of the learning period parameter, L P , on the performance, we conducted several experiments by changing the values of L P . To understand the effects of the learning period parameter, we performed three series of experiments based on the same set of test cases by setting the learning period parameter, L P , to 10, 1000 and 2000, respectively. We analyzed the outcomes by comparing performance. The results indicate that the proposed SaNSDE algorithm is not sensitive to the learning period parameter L P for Case 1 through Case 4, Case 9 and Case 10. The sensitivity of the average fitness values obtained by the proposed SaNSDE algorithm is less than 5% for most cases, with the exception of Case 7. Another observation of the results is that L P should be large enough to obtain better average fitness values. If the parameter L P is too small, it is difficult to learn the best strategy within the learning period. As a result, the probability of creating a potential candidate solution using the best strategy will be low. In this case, the performance will be degraded. If L P is big enough, the probability of learning the best strategy within the learning period will be higher. Hence the probability of creating a potential candidate solution by learning the best strategy will be higher. In this case, the performance tends to be improved. The results presented in Section 4.3 indicate that for the algorithm to perform better, L P must be large enough. This poses an interesting and challenging future research direction to prove that the performance can be improved by setting L P to a large value through theoretical analysis.
To study the effects of population size on the performance of the proposed algorithm, we performed three series of experiments for all test cases for N P = 10, 30 and 50. The results show that the average fitness values of Case 1, Case 2 and Case 3 are the same. For Case 4 through Case 10, the differences between the average fitness values for N P = 10, 30 and 50 are small in terms of percentage. This indicates that the proposed SaNSDE algorithm is not sensitive to population size. In summary, the above results show that the proposed algorithm can ensure that the variation in solutions is smaller than in the other algorithms compared in this study with only a few exceptions regardless of the population size.
There are two problems formulated in this paper. The first problem formulation is for a general planning problem, whereas the second one is a special case of the first problem formulation for a sequential processes planning problem. As sequential processes are found in many production systems, we first started with the development of an effective problem solver for the second problem formulation and verification for sequential processes in this paper. As the solution algorithms take the same form, with the exception of the fitness function, the solution algorithm for the second problem (for sequential processes) can be tailored for other types of production processes. This includes the development of efficient methods to compute a penalty due to the violation of constraints ( x , B , R ) , a penalty due to the violation of constraints T ( x , B ) and a penalty due to the violation of constraints Ψ ( x , B ) . Based on the discussion above, the proposed algorithm has the potential to be extended to deal with other types of production processes. Tailoring the proposed algorithm to deal with other types of production processes and studying its effectiveness are nontrivial interesting future research directions.
Due to the need to verify the proposed algorithm, many examples (test cases) were created for the verification of the proposed algorithm. The characteristics of these examples are similar to the ones in real situations. Our previous experiences with other problems showed that if the parameters used by the proposed SaNSDE algorithm worked for many instances of the test cases, these parameters usually worked well for real application scenarios. In addition, the results of the experiments conducted in this study show that the performance of the proposed algorithm is insensitive with respect to algorithmic parameters. Therefore, the parameters used by the proposed SaNSDE algorithm are expected to work for real application scenarios. In summary, the preliminary results of this study pave the way for solving the real planning problem in sustainable CPSs by applying the proposed algorithm. Testing whether the parameters used in the experiments of this study can work for real data is an interesting future research direction.

6. Conclusions

Although CPSs provide a flexible architecture for enterprises to accommodate changes in processes, resources and demand, the development of a methodology to realize the flexibility advantage of CPSs is required to plan its processes to meet the goals of production in terms of time, energy consumption and constraints. We formulated a general optimization problem for planning processes in sustainable CPSs, taking into account the factors of time, energy consumption and related constraints. We proposed a solution methodology to solve this problem based on a self-adaptive Differential Evolution approach with a neighborhood search mechanism. To verify the proposed methodology, we applied it to processes with sequential workflows. We tailored the problem formulation of the proposed general framework for processes with sequential structures. We studied the effectiveness of the proposed solution algorithm in terms of performance and robustness.
We assessed the performance and robustness of this approach by performing experiments for several cases. By comparing the results of the experiments, it was indicated that the proposed method outperforms several other algorithms in the literature in terms of the number of best solutions found regardless of the population size. To illustrate the robustness of the proposed self-adaptive algorithm, experiments with different settings of algorithmic parameters were conducted. Two parameters were considered in the experiments to assess the robustness of the proposed algorithm, including population size and learning period. The population size was set to 10, 30 or 50 for all the algorithms used in the experiments of this study. Three series of experiments were performed for all test cases for N P = 10, 30 and 50. The results show that the average fitness values of three of the test cases are the same and the differences between the average fitness values are small in terms of percentage. This indicates that the proposed SaNSDE algorithm is not sensitive to population size. That is, the proposed self-adaptive algorithm is robust with respect to population size. To study the effects of the learning period parameter, we performed three series of experiments by setting the learning period parameter, L P , to 10, 1000 and 2000, respectively, and then analyzed the outcomes by comparing performance and efficiency. The results of the series of experiments were obtained based on the same set of test cases. The results show that the sensitivity of the average fitness values obtained by the proposed SaNSDE algorithm is less than 5% for most cases with only one exception. This indicates that the proposed SaNSDE algorithm is robust with respect to the learning period parameter. The preliminary results presented in this paper show that combining a self-adaptive mechanism with neighborhood search in the Differential Evolution approach leads to an effective algorithm in comparison with other competitive algorithms. To apply the proposed algorithm in industrial settings, a further study on the scalability of the proposed algorithm with respect to the problem size needs to be conducted.
In this paper, we applied the proposed method to study the effectiveness of different evolutionary algorithms for sequential production processes. As we limited our scope to sequential processes in this paper to illustrate the solution methodology, the computational experiences of these results hold for sequential processes. However, the application of the proposed method is not limited to sequential production processes. The general problem formulation for planning processes in CPSs proposed in this paper can be applied to a variety of production processes. Based on the reasoning in the Discussion section of this paper, the proposed algorithm has the potential to be extended to deal with other types of production processes. Tailoring the proposed algorithm to deal with other types of production processes and studying its effectiveness are nontrivial interesting future research directions. Another future research direction is to develop other evolutionary algorithms and compare their effectiveness with respect to the algorithms studied in this paper.

Funding

This research was supported in part by the National Science and Technology Council, Taiwan, under grant NSTC 111-2410-H-324-003.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original data presented in the study are openly available in [Planning_CPS] at [https://drive.google.com/drive/folders/1_5bMvhjvVhTDN0yunbFNQ4HasaICu8b4?usp=sharing] (accessed on 29 June 2024).

Conflicts of Interest

The author declares no conflicts of interest.

References

  1. Lu, Y. Industry 4.0: A survey on technologies, applications and open research issues. J. Ind. Inf. Integr. 2017, 6, 1–10. [Google Scholar] [CrossRef]
  2. Monostori, L.; Kádár, B.; Bauernhansl, T.; Kondoh, S.; Kumara, S.; Reinhart, G.; Sauer, O.; Schuh, G.; Sihn, W.; Ueda, K. Cyber-physical systems in manufacturing. CIRP Ann. 2016, 65, 621–641. [Google Scholar] [CrossRef]
  3. Hsieh, F.-S. A Theoretical Foundation for Context-Aware Cyber-Physical Production Systems. Appl. Sci. 2022, 12, 5129. [Google Scholar] [CrossRef]
  4. Cheng, T.; Liu, Z.; Zhang, L. Software-Defined Modeling Method of Cyber-Physical System Driven by Big Data. In Proceedings of the 2021 IEEE 12th International Conference on Software Engineering and Service Science (ICSESS), Beijing, China, 20–22 August 2021; pp. 211–214. [Google Scholar]
  5. Brovkova, M.B.; Pylskij, V.A.; Ushakova, O.V.; Torgashova, O.Y.; Martynov, V.V. Approaches to measuring and modeling the computing part of a cyber physical monitoring system for industrial production, taking into account modularity and hybridization. In Proceedings of the 2021 5th Scientific School Dynamics of Complex Networks and their Applications (DCNA), Kaliningrad, Russia, 13–15 September 2021; pp. 49–52. [Google Scholar]
  6. Khrueangsakun, S.; Nuratch, S.; Boonpramuk, P. Design and Development of Cyber Physical System for Real-Time Web-based Visualization and Control of Robot Arm. In Proceedings of the 2020 5th International Conference on Control and Robotics Engineering (ICCRE), Osaka, Japan, 24–26 April 2020; pp. 11–14. [Google Scholar]
  7. Kruglova, T.; Schmelev, I.; Sushkov, I.; Filatov, R. Cyber-physical System of the Mobile Robot’s Optimal Trajectory Planning with taking into account Electric Motors Deterioration. In Proceedings of the 2019 International Multi-Conference on Industrial Engineering and Modern Technologies (FarEastCon), Vladivostok, Russia, 1–4 October 2019; pp. 1–5. [Google Scholar]
  8. Su, R.; Shen, C.; Huang, S.; Cui, X.; Xu, J.; Lei, M. Preventive control and routing planning of cyber-physical system based on master-slave game. In Proceedings of the Tsinghua University-IET Electrical Engineering Academic Forum: Constructing Green and Sustainable Energy System (2021), Beijing, China, 15–16 May 2021; pp. 52–60. [Google Scholar]
  9. Zhao, D.; Liu, C.; Xu, G.; Ding, Z.; Peng, H.; Yu, J.; Han, J. A security enhancement model based on switching edge strategy in interdependent heterogeneous cyber-physical systems. China Commun. 2022, 19, 158–173. [Google Scholar] [CrossRef]
  10. Hsieh, F.S. A Dynamic Context-Aware Workflow Management Scheme for Cyber-Physical Systems Based on Multi-Agent System Architecture. Appl. Sci. 2021, 11, 2030. [Google Scholar] [CrossRef]
  11. Hsieh, F.-S. An Efficient Method to Assess Resilience and Robustness Properties of a Class of Cyber-Physical Production Systems. Symmetry 2022, 14, 2327. [Google Scholar] [CrossRef]
  12. Transforming Our World: The 2030 Agenda for Sustainable Development. Available online: https://sdgs.un.org/2030agenda (accessed on 20 June 2024).
  13. Thiede, S. Environmental Sustainability of Cyber Physical Production Systems. Procedia CIRP 2018, 69, 644–649. [Google Scholar] [CrossRef]
  14. Andronie, M.; Lăzăroiu, G.; Iatagan, M.; Hurloiu, I.; Dijmărescu, I. Sustainable Cyber-Physical Production Systems in Big Data-Driven Smart Urban Economy: A Systematic Literature Review. Sustainability 2021, 13, 751. [Google Scholar] [CrossRef]
  15. Andronie, M.; Lăzăroiu, G.; Ștefănescu, R.; Uță, C.; Dijmărescu, I. Sustainable, Smart, and Sensing Technologies for Cyber-Physical Manufacturing Systems: A Systematic Literature Review. Sustainability 2021, 13, 5495. [Google Scholar] [CrossRef]
  16. Restrepo, L.; Aguilar, J.; Toro, M.; Suescún, E. A sustainable-development approach for self-adaptive cyber–physical system’s life cycle: A systematic mapping study. J. Syst. Softw. 2021, 180, 111010. [Google Scholar] [CrossRef]
  17. Chantem, T.; Guan, N.; Liu, D. Sustainable embedded software and systems. Sustain. Comput. Inform. Syst. 2019, 22, 152–154. [Google Scholar] [CrossRef]
  18. Sihag, N.; Sangwan, K.S. A systematic literature review on machine tool energy consumption. J. Clean. Prod. 2020, 275, 123125. [Google Scholar] [CrossRef]
  19. Zhou, L.; Li, J.; Li, F.; Meng, Q.; Li, J.; Xu, X. Energy consumption model and energy efficiency of machine tools: A comprehensive literature review. J. Clean. Prod. 2016, 112, 3721–3734. [Google Scholar] [CrossRef]
  20. Guo, Z.L.; Zhang, Y.; Liu, S.; Wang, X.V.; Wang, L. Exploring self-organization and self-adaption for smart manufacturing complex networks. Front. Eng. Manag. 2023, 10, 206–222. [Google Scholar] [CrossRef]
  21. Dias-Ferreira, J.; Ribeiro, L.; Akillioglu, H.; Neves, P.; Onori, M. BIOSOARM: A bio-inspired self-organising architecture for manufacturing cyber-physical shopfloors. J. Intell. Manuf. 2018, 29, 1659–1682. [Google Scholar] [CrossRef]
  22. Estrada-Jimenez, L.A.; Pulikottil, T.; Nikghadam-Hojjati, S.; Barata, J. Self-Organization in Smart Manufacturing—Background, Systematic Review, Challenges and Outlook. IEEE Access 2023, 11, 10107–10136. [Google Scholar] [CrossRef]
  23. Zeadally, S.; Sanislav, T.; Mois, G. Self-adaptation techniques in cyber-physical systems (CPSs). IEEE Access 2019, 7, 171126–171139. [Google Scholar] [CrossRef]
  24. Lee, J.; Bagheri, B.; Kao, H.A. A Cyber-Physical Systems Architecture for Industry 4.0-Based Manufacturing Systems. Manuf. Lett. 2015, 3, 18–23. [Google Scholar] [CrossRef]
  25. Parente, M.; Figueira, G.; Amorim, P.; Marques, A. Production scheduling in the context of Industry 4.0: Review and trends. Int. J. Prod. Res. 2020, 58, 5401–5431. [Google Scholar] [CrossRef]
  26. Prashar, A.; Tortorella, G.L.; Fogliatto, F.S. Production scheduling in Industry 4.0: Morphological analysis of the literature and future research agenda. J. Manuf. Syst. 2022, 65, 33–43. [Google Scholar] [CrossRef]
  27. Rossit, D.A.; Tohmé, F.; Frutos, M. Production planning and scheduling in Cyber-Physical Production Systems: A review. Int. J. Comput. Integr. Manuf. 2019, 32, 385–395. [Google Scholar] [CrossRef]
  28. Meissner, H.; Aurich, J.C. Implications of Cyber-Physical Production Systems on Integrated Process Planning and Scheduling. Procedia Manuf. 2019, 28, 167–173. [Google Scholar] [CrossRef]
  29. Seitz, K.-F.; Nyhuis, P. Cyber-Physical Production Systems Combined with Logistic Models—A Learning Factory Concept for an Improved Production Planning and Control. Procedia CIRP 2015, 32, 92–97. [Google Scholar] [CrossRef]
  30. Rogalla, A.; Niggemann, O. Automated process planning for cyber-physical production systems. In Proceedings of the 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Limassol, Cyprus, 12–15 September 2017; pp. 1–8. [Google Scholar] [CrossRef]
  31. Murata, T. Petri nets: Properties, analysis and applications. Proc. IEEE 1989, 77, 541–580. [Google Scholar] [CrossRef]
  32. Tan, B.Q.; Yu, C.; Kang, K.; Zhong, R.Y.; Li, M.; Huang, G.Q. Transportation Service Procurement Auctions in Cyber-Physical Internet. IFAC-PapersOnLine 2023, 56, 7626–7631. [Google Scholar] [CrossRef]
  33. Kong, X.T.R.; Kang, K.; Zhong, R.Y.; Luo, H.; Xu, S.X. Cyber physical system-enabled on-demand logistics trading. Int. J. Prod. Econ. 2021, 233, 108005. [Google Scholar] [CrossRef]
  34. Yu, K.; Yan, P.; Kong, X.T.R.; Yang, L.; Levner, E. Sequential auction for cloud manufacturing resource trading: A deep reinforcement learning approach to the lot-sizing problem. Comput. Ind. Eng. 2024, 188, 109862. [Google Scholar] [CrossRef]
  35. Krämer, L.; Ahlbäumer, R.; Roidl, M. Two-Stage Market-Based Task Allocation for Blockchain-Based Cyber-Physical Production Systems. In Proceedings of the 2022 IEEE International Conference on Blockchain (Blockchain), Espoo, Finland, 22–25 August 2022; pp. 282–289. [Google Scholar]
  36. Nejati, S. Testing Cyber-Physical Systems via Evolutionary Algorithms and Machine Learning. In Proceedings of the 2019 IEEE/ACM 12th International Workshop on Search-Based Software Testing (SBST), Montreal, QC, Canada, 26–27 May 2019; p. 1. [Google Scholar]
  37. Chen, R.; Shen, H.; Lai, Y. A Metaheuristic Optimization Algorithm for energy efficiency in Digital Twins. Internet Things Cyber Phys. Syst. 2022, 2, 159–169. [Google Scholar] [CrossRef]
  38. Shah, P.; Sekhar, R.; Kulkarni, A.J.; Siarry, P. (Eds.) Metaheuristic Algorithms in Industry 4.0; Taylor & Francis: London, UK, 2021. [Google Scholar] [CrossRef]
  39. Gong, H.; Li, R.; An, J.; Chen, W.; Li, K. Scheduling Algorithms of Flat Semi-Dormant Multicontrollers for a Cyber-Physical System. IEEE Trans. Ind. Inform. 2017, 13, 1665–1680. [Google Scholar] [CrossRef]
  40. Xu, X.; Mo, R.; Yin, X.; Khosravi, M.R.; Aghaei, F.; Chang, V.; Li, G. PDM: Privacy-Aware Deployment of Machine-Learning Applications for Industrial Cyber–Physical Cloud Systems. IEEE Trans. Ind. Inform. 2021, 17, 5819–5828. [Google Scholar] [CrossRef]
  41. Hsieh, F.S. Trust-Based Recommendation for Shared Mobility Systems Based on a Discrete Self-Adaptive Neighborhood Search Differential Evolution Algorithm. Electronics 2022, 11, 776. [Google Scholar] [CrossRef]
  42. Price, K.; Storn, R.; Lampinen, J. Differential Evolution: A Practical Approach to Global Optimization; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  43. Souza, I.P.; Boeres, M.C.S.; Moraes, R.E.N. A robust algorithm based on Differential Evolution with local search for the Capacitated Vehicle Routing Problem. Swarm Evol. Comput. 2023, 77, 101245. [Google Scholar] [CrossRef]
  44. Caraffini, F.; Kononova, A.V.; Corne, D. Infeasibility and structural bias in differential evolution. Inf. Sci. 2019, 496, 161–179. [Google Scholar] [CrossRef]
  45. Yang, Z.; He, J.; Yao, X. Making a difference to differential evolution. In Advances in Metaheuristics for Hard Optimization; Michalewicz, Z., Siarry, P., Eds.; Springer: Berlin/Heidelberg, Germany, 2007; pp. 397–414. [Google Scholar]
  46. Hsieh, F.-S. Applying “Two Heads Are Better Than One” Human Intelligence to Develop Self-Adaptive Algorithms for Ridesharing Recommendation Systems. Electronics 2024, 13, 2241. [Google Scholar] [CrossRef]
  47. Deb, K. An efficient constraint handling method for genetic algorithms. Comput. Methods Appl. Mech. Eng. 2000, 186, 311–338. [Google Scholar] [CrossRef]
  48. Hsieh, F.-S. Collaboration of Machines and Robots in Cyber Physical Systems based on Evolutionary Computation Approach. In Proceedings of the 2019 International Joint Conference on Neural Networks (IJCNN), Budapest, Hungary, 14–19 July 2019; pp. 1–8. [Google Scholar]
  49. Hsieh, F.-S. Neighborhood Search for Process Resource Configuration in Cyber Physical Systems. In Proceedings of the 2021 IEEE 12th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON), Vancouver, BC, Canada, 27–30 October 2021; pp. 877–881. [Google Scholar]
  50. Hsieh, F.-S. Comparison of a Hybrid Firefly–Particle Swarm Optimization Algorithm with Six Hybrid Firefly–Differential Evolution Algorithms and an Effective Cost-Saving Allocation Method for Ridesharing Recommendation Systems. Electronics 2024, 13, 324. [Google Scholar] [CrossRef]
  51. Hsieh, F.-S. Development and Comparison of Ten Differential-Evolution and Particle Swarm-Optimization Based Algorithms for Discount-Guaranteed Ridesharing Systems. Appl. Sci. 2022, 12, 9544. [Google Scholar] [CrossRef]
Figure 1. The Cyber World models for the five operations of process agent n : (a) the DTPN model Ω n 1 for the first operation; (b) the DTPN model Ω n 2 for the second operation; (c) the DTPN model Ω n 3 for the third operation; (d) the DTPN model Ω n 4 for the fourth operation; (e) the DTPN model Ω n 5 for the fifth operation.
Figure 1. The Cyber World models for the five operations of process agent n : (a) the DTPN model Ω n 1 for the first operation; (b) the DTPN model Ω n 2 for the second operation; (c) the DTPN model Ω n 3 for the third operation; (d) the DTPN model Ω n 4 for the fourth operation; (e) the DTPN model Ω n 5 for the fifth operation.
Applsci 14 08044 g001
Figure 2. The DTPN model Ω n of a process agent, where Ω n = Ω n 1 Ω n 2 Ω n 3 Ω n 4 Ω n 5 .
Figure 2. The DTPN model Ω n of a process agent, where Ω n = Ω n 1 Ω n 2 Ω n 3 Ω n 4 Ω n 5 .
Applsci 14 08044 g002
Figure 3. Examples of resource activity models for resource agents. (a) A n a 1 1 ; (b) A n a 2 5 ; (c) A n a 3 1 A n a 3 5 ; (d) A n a 4 1 ; (e) A n a 5 5 ; (f) A n a 6 1 A n a 6 5 ; (g) A n a 7 3 ; (h) A n a 8 2 ; (i) A n a 9 4 .
Figure 3. Examples of resource activity models for resource agents. (a) A n a 1 1 ; (b) A n a 2 5 ; (c) A n a 3 1 A n a 3 5 ; (d) A n a 4 1 ; (e) A n a 5 5 ; (f) A n a 6 1 A n a 6 5 ; (g) A n a 7 3 ; (h) A n a 8 2 ; (i) A n a 9 4 .
Applsci 14 08044 g003
Figure 4. (a) The Cyber World model for the configuration Ψ n = Ω n A n r 1 1 A n r 8 2 A n r 7 3 A n r 9 4 A n r 2 5 ; (b) the Cyber World model for the configuration Ψ n = Ω n A n r 3 1 A n r 8 2 A n r 7 3 A n r 9 4 A n r 3 5 ; (c) the Cyber World model for the configuration Ψ n = Ω n A n r 6 1 A n r 8 2 A n r 7 3 A n r 9 4 A n r 6 5 .
Figure 4. (a) The Cyber World model for the configuration Ψ n = Ω n A n r 1 1 A n r 8 2 A n r 7 3 A n r 9 4 A n r 2 5 ; (b) the Cyber World model for the configuration Ψ n = Ω n A n r 3 1 A n r 8 2 A n r 7 3 A n r 9 4 A n r 3 5 ; (c) the Cyber World model for the configuration Ψ n = Ω n A n r 6 1 A n r 8 2 A n r 7 3 A n r 9 4 A n r 6 5 .
Applsci 14 08044 g004
Figure 5. Average fitness function values for discrete SaNSDE (LP = 1000), NSDE and PSO with N P = 10.
Figure 5. Average fitness function values for discrete SaNSDE (LP = 1000), NSDE and PSO with N P = 10.
Applsci 14 08044 g005
Figure 6. Average fitness function values for discrete SaNSDE (LP = 1000), DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 10.
Figure 6. Average fitness function values for discrete SaNSDE (LP = 1000), DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 10.
Applsci 14 08044 g006
Figure 7. Average fitness function values for discrete SaNSDE ( L P = 1000), NSDE and PSO with NP = 30.
Figure 7. Average fitness function values for discrete SaNSDE ( L P = 1000), NSDE and PSO with NP = 30.
Applsci 14 08044 g007
Figure 8. Average fitness function values for SaNSDE ( L P = 1000), DE1, DE2, DE3, DE4, DE5 and DE6 with NP = 30.
Figure 8. Average fitness function values for SaNSDE ( L P = 1000), DE1, DE2, DE3, DE4, DE5 and DE6 with NP = 30.
Applsci 14 08044 g008
Figure 9. Average fitness function values for discrete SaNSDE ( L P = 1000), NSDE and PSO with NP = 50.
Figure 9. Average fitness function values for discrete SaNSDE ( L P = 1000), NSDE and PSO with NP = 50.
Applsci 14 08044 g009
Figure 10. Average fitness function values for SaNSDE ( L P = 1000), DE1, DE2, DE3, DE4, DE5 and DE6 with NP = 50.
Figure 10. Average fitness function values for SaNSDE ( L P = 1000), DE1, DE2, DE3, DE4, DE5 and DE6 with NP = 50.
Applsci 14 08044 g010
Figure 11. The average fitness function values obtained by SaNSDE with L P = 10, 1000 and 2000 for Case 1, Case 2, Case 3, Case 4 and Case 5.
Figure 11. The average fitness function values obtained by SaNSDE with L P = 10, 1000 and 2000 for Case 1, Case 2, Case 3, Case 4 and Case 5.
Applsci 14 08044 g011
Figure 12. The average fitness function values obtained by SaNSDE with LP = 10, 1000 and 2000 for Case 6, Case 7, Case 8, Case 9 and Case 10.
Figure 12. The average fitness function values obtained by SaNSDE with LP = 10, 1000 and 2000 for Case 6, Case 7, Case 8, Case 9 and Case 10.
Applsci 14 08044 g012
Figure 13. The average fitness function values obtained by SaNSDE with N P = 10, 30 and 50 for Case 1, Case 2, Case 3, Case 4 and Case 5.
Figure 13. The average fitness function values obtained by SaNSDE with N P = 10, 30 and 50 for Case 1, Case 2, Case 3, Case 4 and Case 5.
Applsci 14 08044 g013
Figure 14. The average fitness function values obtained by SaNSDE with N P = 10, 30 and 50 for Case 6, Case 7, Case 8, Case 9 and Case 10.
Figure 14. The average fitness function values obtained by SaNSDE with N P = 10, 30 and 50 for Case 6, Case 7, Case 8, Case 9 and Case 10.
Applsci 14 08044 g014
Table 1. Notations used in the models and problem formulation.
Table 1. Notations used in the models and problem formulation.
Symbol/VariableMeaning
K n The maximum number of operations in the workflow of process agent n .
k The index of an operation in the system, where k { 1 , 2 , 3 , , K }
ω n The upper bound of total processing time
d n k If operation k is required to be performed in the requirements of process agent n , d n k is equal to 1. Otherwise, d n k is equal to 0.
e q n e q n represents the requirements of the process agent n . e q n = ( d n 1 , d n 2 , d n 3 , , d n K n , ω n ) , where ω n denotes the upper bound of the overall processing time of the process, i.e., the total processing time must be less than or equal to ω n .
R A The set of resource agents in the system
a The index of a resource agent in the system, where a R A = { 1 , 2 , 3 , , | R A | }
j The index of a bid submitted by an agent
J a The number of bids submitted by agent a
o a j k o a j k is one if operation k can be performed by agent a in the j-th bid; o a j k is zero otherwise.
B a j The j-th bid submitted by agent a with B a j = ( o a j 1 , o a j 2 , o a j 3 , , o a j K , τ a j ) , where τ a j is the overall processing time for performing the specified operations in the bid
B A notation to represent the set of all bids, B a j , where a { 1 , 2 , 3 , , | A | } and j { 1 , 2 , 3 , , J a }
E a j The energy consumption of the j-th bid submitted by agent a with E a j = ( o a j 1 , o a j 2 , o a j 3 , , o a j K , e a j ) , where e a j is the overall energy consumption for performing the specified operations in the bid
E A notation to represent the energy consumption of the set of all bids, E a j , where a { 1 , 2 , 3 , , | A | } and j { 1 , 2 , 3 , , J a }
q a k The maximum number of times that the operation k can be performed by agent a
x a j The decision variable of the optimization problem. The value of x a j is one if the j-th bid of agent a is accepted and is zero otherwise.
x The vector of the decision variables x a j , where a { 1 , 2 , 3 , , | A | } and j { 1 , 2 , 3 , , J a }
Γ ( x , B ) A function that maps a solution for x a j and B a j to the total processing time of a process, where a { 1 , 2 , 3 , , | A | } and j { 1 , 2 , 3 , , J a }
W A The set of process agents, where W A = { 1 , 2 , , N }
n A process agent, where n W A
Ω n k The Cyber World model for the k -th operation of process agent n W A
Ω n The Cyber World model for process agent n
R n k The set of resource agents involved in performing the k -th operation in Ω n
A a k The Cyber World model of the activity that represents the k -th operation is performed by resource agent a , where a R A
Ψ n The Cyber World model of a configuration for process agent n ; Ψ n = ( P n , T n , F n , m n 0 , μ n ) = Ω n   k { 1 , 2 , , K n } , a R A n k A n a k
Table 2. Notations of symbols, variables and parameters used in the proposed algorithm.
Table 2. Notations of symbols, variables and parameters used in the proposed algorithm.
VariableMeaning
L P the learning period of the self-adaptive algorithm
H the number of generations to be executed
N P the population size (the number of individuals in the population)
g the generation index
L the dimension of the vector x of decision variables defined in Table 1
z i The i -th individual in the population, represented by a binary vector with the same dimensions as the vector x of the decision variables defined in Table 1
z i l the element in the l -th dimension of z i
v i the mutant vector corresponding to z i
v i l the element in the l -th dimension of v i
u i the mutant vector corresponding to z i
u i l the element in the l -th dimension of u i
F i the scale factor for the i -th individual in the population
c r i the crossover rate of the i -th individual
f p the parameter that determines the generation of the scale factor F i and selection of mutation strategy
s a mutation strategy: s = 1 represents mutation strategy v i lg z r 1 lg + F i ( z r 2 lg z r 3 lg ) and s = 2 denotes mutation strategy v i lg z i lg + F i ( z b lg z i lg ) + F i ( z r 1 lg z r 2 lg )
n s the number of individuals generated by mutation strategy s successfully replacing the original individual and entering the next generation
m s the number of individuals generated by mutation strategy s failing to replace the original individual and which are discarded
C R r e c an array recording the crossover rate c r i associated with individual i successfully replacing the original individual and entering the next generation
C R m the parameter defined by C R m = k = 1 | C R r e c | C R r e c ( k ) | C R r e c | to generate the crossover rate c r i of individual i
r a random number with uniform distribution U ( 0 , 1 )
r 1 a random number with Gaussian distribution N ( μ , σ 1 2 ) with mean μ and standard deviation σ 1
r 2 a random variable r with uniform distribution U ( 0 , 1 )
T ( u i ) a function to transform a trial vector u i to a binary vector
Table 3. The information of processing time of bids in B .
Table 3. The information of processing time of bids in B .
Agent (a) j Bid   ( B a j ) o a j 1 o a j 2 o a j 3 o a j 4 o a j 5 Processing   Time   ( τ a j )
1 1 B 11 1000025
2 1 B 21 0000125
3 1 B 31 1000145
4 1 B 41 1000030
5 1 B 51 0000135
6 1 B 61 1000160
7 1 B 71 0010040
8 1 B 81 0100028
9 1 B 91 0001032
Table 4. The information of energy consumption of bids in E .
Table 4. The information of energy consumption of bids in E .
Agent (a) j Bid   ( E a j ) o a j 1 o a j 2 o a j 3 o a j 4 o a j 5 Energy   Consumption   ( e a j )
1 1 E 11 100002
2 1 E 21 000012
3 1 E 31 100014
4 1 E 41 100003
5 1 E 51 000013
6 1 E 61 100016
7 1 E 71 001004
8 1 E 81 010002
9 1 E 91 000103
Table 5. Fitness function values for discrete SaNSDE, NSDE and PSO with population size N P = 10.
Table 5. Fitness function values for discrete SaNSDE, NSDE and PSO with population size N P = 10.
CaseIKSaNSDENSDEPSO
143321/17.8319.8/13321/25.6
25542/13342/2842/14.5
35555/1731.851/99.654/4039.1
41010539/70.9536.66/28.3542.2/133.5
51010715.08/5327.1616.06/145.7485.12/4946.1
610201717/5140.61580.7/149.71310.4/4603.3
720201557.9/4860.41070.7/178.3256.1/4832.2
83010726.9/3750.3639.4/134.8434.1/4327.8
93020768.8/2453.2731.4/140.9461.3/4841.6
104010780.1/3175.5677.7/140.9303.9/4999.8
Table 6. Average fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 10.
Table 6. Average fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 10.
CaseIKDE1DE2DE3DE4DE5DE6
143320.4/23.7320.4/96.3320.4/113.8320.4/31.5321/24.1321/493.1
25542/8.342/25.540.5/20.540.4/764.441.5/1093.940.3/810.9
35551.7/98.342.8/2604.151/221.641.6/934.349.4/755.253/1428.6
41010534.06/31.6540.6/32.8542.2/894.3539/77.3536.66/90.2539/119.2
51010717.93/2846.6621.36/3302.6701.53/5920.3593.53/5588.3538.62/4369.4694.59/3550.2
610201674/3035.11602.2/4466.81737/4950.51615.6/3021.61574.6/2961.21596.8/2059
720201544.9/5964.41110.7/52851381.6/4777.91194.1/5950.21078/3609.41440.3/5512
83010661.7/1439.1354.6/2993.8678.2/2655.8525.9/2668.5532.9/2401.8601.2/3066.8
93020725.1/1760.3657.8/839.8732.6/1093.8721.9/1305693.6/2318.3706.6/1458.9
104010730.8/1771.2566.1/4057.5700.1/1883.1689.8/2653.2623.1/1862629.1/2833.1
Table 7. Fitness function values for discrete NSDE, NSDE and PSO with population size N P = 30.
Table 7. Fitness function values for discrete NSDE, NSDE and PSO with population size N P = 30.
CaseIKSaNSDENSDEPSO
143321/6321/16.3321/14.1
25542/10.142/740.942/24
35555/3754/304.355/1134.7
41010542.2/13.9533.05/43.8542.2/45.9
51010721.56/1551.2620.56/163.1495.24/4441.8
610201728.4/2322.61648.8/45891371.2/5215.7
720201598.3/1268.31214.1/4732326.3/5634.2
83010731/558.9731/2373.5594/4288.1
93020802/519.9802/379.1486.2/5297.2
104010797/1379.6797/2694.4383.4/5878.5
Table 8. Average fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 30.
Table 8. Average fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 30.
CaseIKDE1DE2DE3DE4DE5DE6
143321/10.6321/653321/88.6320.4/1126320.4/19320.4/1435.2
25542/8.442/341.541.5/19.641.5/684.842/32.742/20.2
35555/71.949/876.550.5/1837.151/1645.846.8/1039.452/183.4
41010542.2/9.6542.2/333.2540.6/24.9542.2/397.7533.05/161.9542.2/35.1
51010731.05/3521.3641.42/4200.1724.24/1625.1705.95/2988.4606.92/3312.6679.29/5319.2
610201724.9/30531705.4/3283.61699.6/65631620.8/3037.61685.7/4188.71672/2930.8
720201645.5/4361.91370.3/3447.41509.3/78571454.9/4874.91485.7/2065.71353/4575.5
83010731/977484.1/1186.4724.9/2582.3584.6/1425.7562.5/335.3692.7/2537.8
93020779.4/289.9741.4/290802/1128.9710.3/1926715.3/434.6786.4/318.2
104010792.3/1407.1739.6/3086.4783.7/2071759.8/1151.1635/2731.5774.4/1678.5
Table 9. Fitness function values for discrete NSDE, NSDE and PSO with population size N P = 50.
Table 9. Fitness function values for discrete NSDE, NSDE and PSO with population size N P = 50.
CaseIKSaNSDENSDEPSO
143321/6.2320.4/23.9321/8.2
25542/4.341/61.742/14.9
35555/7452/119.255/1371
41010542.2/11.3542.2/25.5542.2/34.6
51010724.02/1794.6612.07/156.6494.62/6664.5
610201730.5/2311.21637/6304.81381.1/5476.9
720201576.6/1088.11203.9/4685.2359.7/5671.6
83010731/279.2731/2092.8586.2/3114.5
93020802/375.9802/240.3495.9/5033.8
104010797/663.4797/2420.8357.1/4258.6
Table 10. Average fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 50.
Table 10. Average fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 50.
CaseIKDE1DE2DE3DE4DE5DE6
143321/7.7321/138.8321/178321/1107.2321/325.3321/551
25542/9.741.5/526.442/743.242/192.542/27.841.5/9.9
35554/13347.5/4147.649.9/1808.344.9/1376.244.3/1920.845.7/495.9
41010542.2/342.3540.6/41.6530.12/907.3535.66/976539.59/63.5540.6/78.7
51010715.36/3430.6627.7/3291.1727.83/3778.6648.74/2632.6635.83/4070.5587.12/3588.4
610201734.1/3210.31726.6/2628.11693/5468.91711.7/4546.31701.5/2996.41662.9/4184.7
720201646.1/4503.71300.7/3689.61328.9/7119.391382/4348.71279.3/2512.1
83010720.8/460.1541.9/1235.6723.1/2999.5714.6/3235644.2/1370.3714.4/2184.7
93020777.7/622.8745.4/2565.8802/707.8774.9/879.5756.4/529.3770.2/1279.8
104010787.9/976722.1/902774.3/3339.9771.8/3505.2635.1/1247.5664.6/2989.3
Table 11. Average fitness values and average number of generations for SaNSDE with algorithmic parameter L P = 10, 1000 and 2000.
Table 11. Average fitness values and average number of generations for SaNSDE with algorithmic parameter L P = 10, 1000 and 2000.
CaseIKSaNSDE (LP = 10)SaNSDE (LP = 1000)SaNSDE (LP = 2000)
143321/11321/6321/7.6
25542/9.342/10.142/11.1
35555/74.755/3755/47.9
41010542.2/10542.2/13.9542.2/11.5
51010691.48/5986.6721.56/1551.2727.66/1392.8
610201685.8/6989.91728.4/2322.61743.7/1163.9
720201334.1/7993.21598.3/1268.31629.2/1386.8
83010728.8/1628.7731/558.9731/936.7
93020802/591802/519.9802/1063.7
104010797/3218.2797/1379.6797/2669.6
Table 12. Average fitness values and average number of generations for SaNSDE with algorithmic parameter N P = 10, 30 and 50.
Table 12. Average fitness values and average number of generations for SaNSDE with algorithmic parameter N P = 10, 30 and 50.
CaseIKSaNSDE (NP = 10)SaNSDE (NP = 30)SaNSDE (NP = 50)
143321/17.8321/6321/6.2
25542/13342/10.142/4.3
35555/1731.855/3755/74
41010539/70.9542.2/13.9542.2/11.3
51010715.08/5327.1721.56/1551.2724.02/1794.6
610201717/5140.61728.4/2322.61730.5/2311.2
720201557.9/4860.41598.3/1268.31576.6/1088.1
83010726.9/3750.3731/558.9731/279.2
93020768.8/2453.2802/519.9802/375.9
104010780.1/3175.5797/1379.6797/663.4
Table 13. Standard deviation of fitness function values for discrete SaNSDE, NSDE and PSO with population size N P = 10 and L P = 1000.
Table 13. Standard deviation of fitness function values for discrete SaNSDE, NSDE and PSO with population size N P = 10 and L P = 1000.
CaseIKSaNSDENSDEPSO
14302.52980
255000
35505.16393.1622
410106.746117.5190
5101012.249527.406741.1472
6102016.075222.0254351,447
7202085.915281.259588.2892
8301012.965345.785230.4394
9302037.418943.6379131.5278
10401019.330166.7196.3574
Table 14. Standard deviation of fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 10 and L P = 1000.
Table 14. Standard deviation of fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 10 and L P = 1000.
CaseIKDE1DE2DE3DE4DE5DE6
1431.89731.89731.89731.897300
255002.41525.37581.58115.3758
3555.37589.39035.163915.60056.1684.2163
4101020.73795.059606.746117.5196.7461
5101012.0483116.959646.3209158.0998150.375489.9087
6102093.9822183.441633.4099245.0483183.8067182.9856
72020322.4046591.8342477.0795572.9579599.2337309.0789
8301057.7062312.821252.0465284.4938203.4308222.3413
9302052.1204103.553355.65663.246376.201795.0312
10401036.1963187.0451140.7144114.6247254.3267241.3109
Table 15. Standard deviation of fitness function values for discrete SaNSDE, NSDE and PSO with population size N P = 30 and L P = 1000.
Table 15. Standard deviation of fitness function values for discrete SaNSDE, NSDE and PSO with population size N P = 30 and L P = 1000.
CaseIKSaNSDENSDEPSO
143000
255000
35503.16220
41010021.39870
5101010.332324.673720.0383
6102027.056316.903635.6426
7202040.724144.388365.0658
830100051.3917
930200089.8749
10401000111.3943
Table 16. Standard deviation of fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 30 and L P = 1000.
Table 16. Standard deviation of fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 30 and L P = 1000.
CaseIKDE1DE2DE3DE4DE5DE6
1430001.89731.89731.8973
255001.58111.581100
35505.16395.9865.16397.81454.8304
41010005.0596021.39870
5101022.1143112.881916.579830.6306113.687572.9427
6102064.545396.486281.4278169.2747156.7446149.8784
72020219.7454607.2852244.3599404.5649565.1306582.2639
830100339.575313.2199308.6382298.719958.4618
9302037.830650.23540182.681299.410525.1714
10401014.962785.366121.525453.2015183.862841.6898
Table 17. Standard deviation of fitness function values for discrete SaNSDE, NSDE and PSO with population size N P = 50 and L P = 1000.
Table 17. Standard deviation of fitness function values for discrete SaNSDE, NSDE and PSO with population size N P = 50 and L P = 1000.
CaseIKSaNSDENSDEPSO
14301.89730
25502.10810
35504.83040
41010000
5101015.329117.806313.9583
6102029.24718.767527.3229
7202076.495739.767274.9163
830100032.1102
9302000115.8959
1040100090.0067
Table 18. Standard deviation of fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 50 and L P = 1000.
Table 18. Standard deviation of fitness function values for DE1, DE2, DE3, DE4, DE5 and DE6 with N P = 50 and L P = 1000.
CaseIKDE1DE2DE3DE4DE5DE6
143000000
25501.58110001.5811
3553.162212.15867.309817.12987.972816.1386
4101005.059625.575720.68128.25355.0596
5101035.32398.824916.040792.1441106.6155153.1257
6102054.11856.107469.633380.8964117.6617144.5901
72020202.1124486.4097361.1803510.4664539.5477486.2034
8301024.7512292.623118.002724.708228.50338.1465
9302041.317373.7039047.829461.368156.0769
10401016.1551107.107821.741126.8692242.5954193.7009
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Hsieh, F.-S. A Self-Adaptive Neighborhood Search Differential Evolution Algorithm for Planning Sustainable Sequential Cyber–Physical Production Systems. Appl. Sci. 2024, 14, 8044. https://doi.org/10.3390/app14178044

AMA Style

Hsieh F-S. A Self-Adaptive Neighborhood Search Differential Evolution Algorithm for Planning Sustainable Sequential Cyber–Physical Production Systems. Applied Sciences. 2024; 14(17):8044. https://doi.org/10.3390/app14178044

Chicago/Turabian Style

Hsieh, Fu-Shiung. 2024. "A Self-Adaptive Neighborhood Search Differential Evolution Algorithm for Planning Sustainable Sequential Cyber–Physical Production Systems" Applied Sciences 14, no. 17: 8044. https://doi.org/10.3390/app14178044

APA Style

Hsieh, F. -S. (2024). A Self-Adaptive Neighborhood Search Differential Evolution Algorithm for Planning Sustainable Sequential Cyber–Physical Production Systems. Applied Sciences, 14(17), 8044. https://doi.org/10.3390/app14178044

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