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 of process agent requires five operations to be performed. Suppose the upper bound of the processing time of the process to be composed for process agent is = 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 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).
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 in the CPS are specified by the operations and the connection between operations. We construct the Cyber World model for the -th operation of process agent and the Cyber World model for process agent as follows.
In this paper, we adopt Discrete Timed Petri Nets (DTPNs) to represent the Cyber World model of an activity.
A DTPN is described by , where denotes a set of places, denotes a set of transitions, denotes a set of flow relations, denotes the initial marking, the function specifies the firing time for each transition and is the set of nonnegative integers.
Definition 1. The Cyber World model for the -th operation of process agent is a DTPN with = and = , where denotes the start transition, denotes the end transition, denotes the busy state place of the -th operation and denotes a function specifying the firing time of each transition in .
For the motivating example, to represent the operations, a model is constructed for each operation. As there are five operations for the workflow of process agent , we will construct models, , , , and , to represent these five operations.
Figure 1a–e show the DTPN models
,
,
,
and
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
is
and the end transition of
is
. The start transition of
is
and the end transition of
is
. Similarly,
,
,
,
,
and
. The busy state place of
is
, the busy state place of
is
, the busy state place of
is
, the busy state place of
is
and the busy state place of
is
.
To construct the Cyber World model for process agent , we combine the Cyber World models of the operations involved. A operator is defined to combine two DTPNs.
Definition 2. Given two DTPNs, = (, , , , ) and = (, , , , ), = (, , , , ), where , , , and .
Let denote the maximum number of operations involved in the workflow of process agent . We define the Cyber World model of process agent as follows.
Definition 3. The Cyber World model of process agent , where is an acyclic DTPN = .
Figure 2 shows the DTPN model,
, for process agent
, where
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 denote the Cyber World model described by a DTPN of the activity performed by resource agent for -th operation of process agent , defined as follows.
Definition 4. We use DTPN as the Cyber World model to represent that the -th operation of
process agent is
performed by
resource
agent
, where , the initial marking is the number of available resources and is the idle state place. There is no common transition between and for .
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 to denote the activity that the -th operation of process agent can be performed by resource agent . In this example, the resource activity model for resource agent is , the resource activity model for resource agent is , the resource activity model for resource agent is , the resource activity model for resource agent is , the resource activity model for resource agent is , the resource activity model for resource agent is , the resource activity model for resource agent is , the resource activity model for resource agent is and the resource activity model for resource agent is .
Figure 3 shows the resource activity models for the resource agents in the motivating example.
The set of resource agents for performing the -th operation in is denoted by . The set of resource agents for performing the operations in is denoted by .
A configuration for process agent is defined by the Cyber World model, , of process agent and the Cyber World models of activities of resources agent for performing the operations in .
Definition 5. The Cyber World model for a configuration of process agent with the Cyber World model and the Cyber World models of activities of resources agent for performing the operations in is a DTPN = = , where . The firing time for each transition is .
Note that the number of different configurations of process agent
is usually not unique. For example,
Figure 4a–c show three different configurations for process agent
. The process-planning problem is to find the optimal configuration of the process agent
and the associated set of resource agents
for performing the
-th operation in
to compose the overall Cyber World model
=
=
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 to represent the requirements of the process agent . 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 requires a number of operations to be performed and the upper bound of total processing time is . Let be the maximum number of operations in the workflow of process agent . In this case, can be described by , where is equal to 1 if operation is required to be performed in the requirements of process agent , is equal to 0 otherwise and the overall processing time must be no greater than .
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 . 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 of the process agent .
We use to represent the number of bids submitted by resource agent . The j-th bid submitted by a resource agent is denoted by = , where is one if operation can be performed by resource agent in the j-th bid, is zero otherwise and is the overall processing time for performing the specified operations. The set of all bids is denoted by = {, where and }.
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 for resource agent consists of transition and transition . As transition is the start transition of Cyber World model and transition is the end transition of Cyber World model , resource agent can perform the first operation. Therefore, resource agent submits a bid = = , where 25 is the processing time of resource agent 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 is denoted by = , where 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 = {, where and }.
We use to denote the decision variable of the optimization problem. The value of is one if the j-th bid of agent 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 to denote a function that calculates the total processing time of a configuration of process agent based on the solution and , where and . We use to denote a function that calculates the energy consumption according to the solution and , where and .
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, . Therefore, we use 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 is a function of the total processing time of the configuration calculated by and the energy consumption of the configuration calculated by . Therefore, is described by . Note that is related to time, whereas is related to energy consumption. There are several different ways to combine and to define the objective function . For example, one may introduce weighting coefficients to combine and to define the objective function . Alternatively, one may define as the weighted sum of functions of and , e.g., = , where is a monotonic decreasing function and 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 for the special case of sequential processes later to illustrate how the objective function is defined.
In our problem formulation, we use
to denote the constraints to satisfy the requirements of the operations specified in
. We use
to denote the constraints to satisfy time requirements specified in
. We use
to denote the other types of constraints. We formulate the following problem to maximize the objective function.
s.t.
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 for a process agent with a sequential Cyber World model in a CPS. Suppose the composed process must satisfy three requirements: (i) each operation in the process must be performed by an agent, (ii) the total processing time of the process must be no greater than a given upper bound and (iii) the number of times an operation can be performed by each agent cannot exceed a pre-specified upper bound .
In this case, we may tailor the problem defined by (1) through (5) for composing a sequential process as follows. If the is a sequential process, the constraints to satisfy the requirements of the operations can be represented by . If is a sequential process, . Let denote the upper bound of the total processing time of the process . In this case, the constraints to satisfy the time requirements can be represented by . Suppose we want to set an upper bound on the maximum number of times that an operation can be performed by each agent. The constraints can be represented by .
We define
as an increasing function of
and a decreasing function of
. For example,
. We formulate the following problem to maximize the objective function.
The problem defined in (6) through (10) aims to find a solution that maximizes the objective function , where and , such that the requirement of the process is satisfied, the total processing time of the overall process cannot exceed and the maximum number of times that an operation can be performed by each agent cannot exceed .