Abstract
We study an agent-based scheduling problem of two identical parallel machines:
Keywords
Introduction
Production scheduling plays an important role in production activities. With customers’ increasingly high demands for diversification and personalization, more enterprises undertake small-scale and customized production modes instead of mass-scale production modes. In real production, tasks come from distinct customers who have different goals. Each customer may have different tasks and different objectives. Traditional scheduling models only consider a single objective or two objectives for all jobs. Centralized scheduling is applied to all jobs, but different task requirements are not reflected in the models. A production process has a number of variables, such as order change, machine failure, and lack of raw materials. The model must be readjusted when these changes occur. As a result, traditional scheduling is unable to meet the requirements of customers and has low agility and poor flexibility and is not able to handle variant situations.
With the increasing use of cloud computing, big data, the Internet of Things, and other emerging technologies, agent technologies are currently under development. Wooldridge and Jennings 1 studied agent theory, which is mainly distinguished by two definitions: the weak agent and the stronger agent. The weak agent has four properties: autonomy, social ability, reactivity, and pro-activeness. The stronger agent has a stronger and more specific meaning than the weak agent. The stronger agent is not only a human-like state but also has external human-like attributes. Considering the rapid development of agent theory and technologies and their application to several domains, Baker and Smith 2 and Agnetis et al. 3 introduced the multi-agent scheduling problem and applied it to multi-agent technology in production scheduling fields.
Multi-agent scheduling is superior to traditional scheduling in several respects. Agents have two important properties, autonomy and sociality. Tasks are divided into several agents, each of which owns a subset of jobs and the objective. Each agent has its own goal depending on the schedule of its jobs. All jobs must share common resources. Agents can perceive changes and change certain behaviors rapidly to maintain their goals without external intervention when encountering external changes. Agents can also undertake social responsibility. They seek a comprehensive solution by mutual consultation to keep individual and overall benefits. Multi-agent technologies, such as those introduced by Huang and Liao, 4 Zhang et al., 5 and Li et al., 6 have high flexibility and intelligence, are better able to meet customers’ needs, and have been applied in manufacturing.
Using a classical three-field notation of Graham et al.,
7
we focus on the multi-agent scheduling problem of
The main contributions of this article are as follows. (1) We consider that all jobs have three selections—to be processed by machine A, machine B, or both—and propose a new scheduling system, building two strategies to assign jobs. All jobs are divided into two task agents according to the jobs’ objectives. Each task agent has a set of jobs. Each type of job may have two or more jobs. For an environment with two identical parallel machines, the job may not meet the requirements if it is processed by one machine only, but it can be split and processed by two machines to better meet the requirements than in the former case. (2) We design a single distribution strategy and centralized distribution strategy and apply them to a dynamic scheduling environment and static scheduling environment separately. These strategies improve the scheduling efficiency. (3) Two machine agents are also defined as agents, and all agents are given different degrees. Because each agent can make decisions by itself, agents have status and power restrictions to maintain the balance between the global objective and individual objective, similar to humans. We introduce three classes for all agents to control our scheduling.
Literature review
Many scholars have been interested in multi-agent scheduling over the past 10 years. There are two main research interests. First, research has focused on how to allocate a job sequence using only algorithms. For example, Zhao et al.
9
considered
Other studies have mainly focused on the mechanisms of allocating jobs. Many authors have analyzed various mechanisms based on game strategies. For example, Cohen et al. 13 introduced a game theoretic model for the problem of scheduling parallel rigid jobs on multicore platforms with a price cost to determine the best strategy for their jobs. Cole et al. 14 presented simple mechanisms that required only local information and used the game theoretic insights to obtain a new combinatorial approximation algorithm for the underlying optimization problem. Zhao et al. 15 considered a two-agent scheduling problem on a single machine. They designed a Pareto-efficient solution set and used the Shapley value method to evaluate the job sequence of two agents by comparing the net profit and opportunity. Marini et al. 16 developed preventive or minimax strategies and best-response strategies to solve the scheduling problem of two agents competing to add items to a solution set. Ye and Zhang 17 designed and analyzed coordination mechanisms for machines and considered the class of policies based on the bottom-left and shelf-packing algorithms. Mashayekhy et al. 18 considered a reward-based multi-agent scheduling problem for periodic tasks. The execution of each task is divided into a mandatory part and an optional part. Each task receives a value if its mandatory parts are completed and receives an additional reward value if its optional part is completed. These authors designed an exact and approximate mechanism for selecting a feasible subset of agents and an allocation to achieve the optional execution. Anussornnitisarn et al. 19 considered the viability of each agent during the coordination process and developed an agent decision model that chooses a monetary unit as a common medium of exchange for the coordination process by applying a market-based pricing and costing approach in the decisions of the coordination network participants.
Some authors consider the multi-agent scheduling problem from a centralized perspective and a single-agent perspective. Nicosia et al. 20 investigated a two-agent, single-machine scheduling problem from a centralized perspective and a single-agent perspective. The shortest processing time (SPT), weight shortest processing time (WSPT), and minimax strategy method were used to optimize the objective of one agent. Agnetis et al. 21 investigated a two-agent, single-machine scheduling problem in which one agent has all of the information about the submission sequence of the opponent in advance but the other agent has no information on the opponent’s strategy, representing the worst possible case. The authors minimized the solution cost in this case from a centralized perspective and single-agent perspective and designed a selection strategy.
Several other strategies have been applied in the literature. For instance, Agnetis et al. 22 presented a deterministic scheduling problem with two agents for three different shop configurations. The agent tasks are submitted in successive steps to an external coordinator as a priority rule. A single-agent perspective and centralized perspective are both considered to achieve partial and global objectives. Liang and Fung 23 proposed explicit and implicit coordination mechanisms based on multi-agent technology to solve the real-time scheduling of virtual cellular manufacturing systems. They designed the point-to-point and subscribe/publish communication mode to realize real-time scheduling.
However, how to assign a job sequence and how to assign jobs to machine agents are still two important issues for parallel machine scheduling. When assigning jobs to machine agents, most previous studies have considered the job in its entirety; however, there are two states for the processed job for the scheduling of two parallel machines—processed by one machine or two machines. Therefore, we consider that one job can be split and processed on two machines if doing so can better achieve the optimum.
In practice, although the scheduling environment is a variable, there are certain situations in which the environment does not change. Centralized scheduling is a more efficient scheduling model and is suitable for a static scheduling environment. Hence, we build a new multi-agent scheduling mode and introduce two strategies. The first strategy is that a single distribution strategy will be applied to a dynamic scheduling environment, where only one category of job information is sent to the first available machine agent in SPT order when a machine agent has no job to process. Task agents submit one category of job, and the job is presorted with current processing jobs to two machine agents to achieve the goal of the job. The other strategy is that a centralized distribution strategy will be applied to a static scheduling environment where jobs remain unchanged during a given period. All job information is submitted and sent to a coordination agent. The coordination agent makes a scheduling plan, and machine agents process this scheduling plan as the plan. To ensure that the scheduling goals are met, we create three classes for all agents and define their function.
The remainder of the article is organized as follows. In the “Problem description” section, we discuss the background of the problem considered in this article. In the “Multi-agent system” section, we state the structure of a multi-agent system. In the “Resolution methods” section, a new model with two strategies is presented: a single distribution strategy applied to a dynamic scheduling environment and a centralized distribution strategy applied to a static scheduling environment. Finally, the conclusions of the article are presented in the “Conclusion” section.
Problem description
In this article, we consider
Each type of job can be processed by one machine or two machines when
The tardiness time function of task agent A is
2. The total tardiness time function of agent A is
3. The overall objective function is
Suppose that two machine agents (M1 and M2) belong to two identical parallel machines, each having the same function and processing speed for the same jobs. The machine agents know their own status and satisfy the job objectives as soon as possible. All agents, such as machine agents M1 and M2 and the task agents, can communicate with each other. Furthermore, the machine agents can make autonomous decisions based on their own status.
Multi-agent system
In this section, we present the structure of multi-agent systems and discuss
Architecture of multi-agent systems
Huang and Liao
4
developed three categories of agents—job agents, machine agents, and supervisor agents—in multi-agent systems to support the dynamic negotiation mechanism. However, our multi-agent system includes three types of agents who can contact each other by “dialogue” to achieve global and partial objectives for

Architecture of the multi-agent system: (a) multi-agent system, (b) subsystem 1, and (c) subsystem 2.
A multi-agent system can be categorized into two subsystems. One subsystem consists of task agents and machine agents. The other subsystem comprises all agents. In subsystem 1, all agents can contact each other and are utilized as a dynamic scheduling environment. In contrast, task agents cannot communicate with machine agents directly in subsystem 2. The coordination agent is not only a bridge for connecting task agents and machines agents but also a scheduling center for a static scheduling environment.
Agent priorities
In the multi-agent system, each agent’s decision-making priorities are distinct and are divided into three classes (Table 1). The degree of the coordination agent is the highest among all agents. Task agents and machine agents must accept the command of the coordination agent and complete the work first without conditions. The degree of the machine agents is higher than that of the task agents. Its functions include accepting or rejecting the jobs from task agents if the coordination agent has no requirements. The degree of the task agent is the lowest among all agents. Its functions include submitting the jobs to the coordination agent and machine agents and ranking the jobs in SPT order.
Agent priorities.
SPT: shortest processing time.
Operation process
The operational process of the multi-agent system is shown in Figure 2. It has two subsystems: subsystem 1 and subsystem 2. We discuss their operation process as follows:
1. Operation process of subsystem 1

Operation process of the system.
Subsystem 1 consists of two task agents and two machine agents, and it applies to a dynamic scheduling environment. The jobs of task agents vary frequently, which requires the production plan to be changed in real time to meet customers’ needs. Thus, we design subsystem 1, in which task agents send job information to machine agents one by one and machine agents allocate the jobs.
When task agents vary frequently, we rank all jobs in SPT order initially. If new job information is obtained by the task agents, they re-sort the remaining jobs in SPT order. Each task agent sends the first job information in SPT order to the machine agents each round when a machine agent is idle. If two machine agents are idle at the same time, the jobs are allocated to machine agent M1 first. The machine agent accepts the job information and develops a production plan. If the production plan of the machine agent can satisfy the requirement, the job is processed by the first idle machine agent. If a machine agent cannot satisfy the requirement or cannot do so optimally, the machine agents will develop a new production plan through consultation. The machine agents implement the production plan until the job is complete. When a machine agent is idle, it sends messages to task agents. Task agents will send new jobs to them. The scheduling is over when the task agents have no more jobs.
2. Operation process of subsystem 2
Compared with subsystem 1, subsystem 2 has a scheduling center, namely, the coordination agent. The coordination agent controls the remaining agents, similar to the human brain. Subsystem 2 can maintain a high efficiency due to the central scheduling mode and is applicable to static scheduling environments. Orders maintain stability, and machine agents remain healthy for a long period of time. In subsystem 2, task agents must submit all job information to the coordination agent, and machine agents send their status to the coordination agent. The coordination agent develops a central schedule according to a centralized distribution strategy and sends the plan to the machine agents. Machine agents must accept the command to process the jobs.
Resolution methods
There are two sub-problems to be solved in the
Single distribution strategy
Phase 1: the job sequence problem
We consider phase 1 from the task agent perspective. The SPT order is used to sort the jobs in sequence. All jobs are ranked based on their processing time from short to long. If some jobs have the same processing time, we rank them according to their due time from short to long.
Example 1
We consider that
Values of the task parameters.
Therefore, all job sequences for the task agents are
Phase 2: assign the jobs to machine agents
A single distribution strategy is mainly applied to dynamic scheduling. From machine agents’ perspectives, the task agents submit information for one type of job in SPT order to the machine agents each round when a machine agent requires it. The first available machine agent selects the job. The objective of the job must remain at the optimum. Therefore, we research all scenarios of one type of job when the job is processed. Assume that machine agent M1 is available first. We partition this situation into two types: when job i from agent A is submitted and when job j from agent B is submitted. We discuss the two situations as follows:
1. Job i from agent A is submitted
Assuming that job i will be assigned to the first available machine agent, M1, when it has no job at time

Situations for the presorting of job i: (a) The completion time of the remaining job of machine agent M2 is greater than that of job i, and job i can be completed on time. Hence, job i is processed according to the original plan and is not tardy. (b) The completion time of the remaining job of machine agent M2 is greater than that of job i, but it is not completed on time. However, job i cannot be modified and processed according to the original plan. Its tardiness time is (C1 – Di). (c) The completion time of the remaining job of machine agent M2 is equal to that of job i, and job i can be completed on time. Hence, job i is processed according to the original plan and is not tardy. (d) The completion time of the remaining job of machine agent M2 is equal to that of job i, but job i cannot be completed on time. Job i cannot be modified and is processed according to the original plan. Its tardiness time is (C1 – Di). (e) The completion time of the remaining job of machine agent M2 is smaller than that of job i and job i can be completed on time. Hence, job i is processed according to the original plan and is not tardy. (f) The completion time of the remaining job of machine agent M2 is smaller than that of job i, but job i cannot be completed on time. If
According to Algorithm 1, first, we assess whether job i can be split. Second, if it can be split, we assess the extent to which the job can be split. If the due time of job i can be met by splitting the job, the job is not tardy (sentence 13 in Algorithm 1). If the due time of job i cannot be met by splitting the job, job i is split to attain the optimum and its tardiness time is
2. Job j from agent B is submitted
Assume that machine agent M1 is the first available machine agent. Job j from agent B is the candidate for the next job of M1. Job j is submitted to M1. The objective of jobs from agent B is to minimize the makespan. We consider splitting job j and presort job j if it can be split to achieve the current objective of job j (Figure 4). There are three possible types of situations.

Situations of presorting job j: (a) the completion time of the remaining job of machine agent M2 is greater than that of job j, and job j can be completed before completing the jobs of M2. Hence, job j is processed according to the original plan. Its makespan is C1. (b) The completion time of the remaining job of machine agent M2 is equal to that of job j. Job j can be completed in the same amount of time as the remaining job of M2. Hence, job j is processed according to the original plan. Its makespan is C1. (c) The completion time of the remaining job of machine agent M2 is smaller than that of job j. If
The algorithm is shown below.
According to Algorithm 2, first, we assess whether job j can be split. Second, if it can be split, we assess the extent to which the job can be split. Job j is split to attain the optimum; its makespan is
3. The single distribution strategy is explained as follows:
Step 1. All jobs of the task agents are sequenced in SPT order.
Step 2. Task agents submit one type of job in SPT order each round to the first available machine agent.
Step 3. Assess whether the objective of each processing job of the machine agents achieves the optimum in the current sequence. If the objective of each job achieves the optimum, go to step 4. Otherwise, go to step 5.
Step 4. If the machine agents process the jobs, go to step 6.
Step 5. If the job comes from agent A and can be split, the job is split according to Algorithm 1. If the job comes from agent B and the job is split according to Algorithm 2, go to step 4.
Step 6. If new jobs are received by the task agents before the machine agents are idle again, job sequence is updated. If not, go to step 7.
Step 7. If task agents have jobs, go to step 2. If not, the scheduling is complete.
Property 1
For the scheduling problem in subsystem 1, the time complexity of the problem can be solved in
Example 2
Suppose that
Objective values of SPT strategy and single distribution strategy.
SPT: shortest processing time.

Gantt chart of the (a) SPT strategy and (b) single distribution strategy.
In the SPT strategy, the total tardiness time of agent A is 9 and the makespan of agent B is 9. For the single distribution strategy, the total tardiness time of agent A is 7 and the makespan of agent B is 8. The overall objective value of the single distribution strategy is 15, whereas that of the SPT order is 18. Therefore, the single distribution strategy, in which the jobs can be split, outperforms the SPT order.
Centralized distribution strategy for subsystem 2
In contrast to the single distribution strategy, the centralized distribution strategy can be applied to static scheduling. Task agents submit all jobs to the coordination agent, and the machine agents submit their status to the coordination agent. The coordination agent considers the centralized optimum, assigning all jobs to machine agents. We introduce a hybrid strategy based on the longest processing time (LPT) order, SPT order, and the jobs to be processed by one machine agent or two machine agents. The coordination agent develops a production scheme and sends it to the machine agents, and the machine agents accept the command and process jobs.
According to Algorithm 3, first, we arrange all jobs in LPT order and assume that all jobs are assigned in LPT order to the machine agents. Second, the jobs are reassigned in SPT order for each machine agent. If some jobs have the same processing time in LPT order and SPT order, we rank them by due time from small to large. Third, we execute Algorithm 4 to minimize the total tardiness time except for the final processing jobs for both machine agents. Fourth, we execute Algorithm 5 to minimize the makespan for the job from agent B. Finally, we adjust the final processing jobs of the two machine agents to minimize their completion time gap.
The centralized distribution strategy is as follows:
Step 1. Arrange all jobs in LPT order.
Step 2. Assign all jobs in LPT order to the machine agents.
Step 3. Reassign the jobs in SPT order for each machine agent.
Step 4. Select all tardiness jobs from agent A except for the final processing jobs from both machine agents as set
Step 5. If the job from set
Step 6. If the job k can be split, select job h from agent A allocated by the other machine agent whose completion time is less than that of job k but is the closest to job k. Job k is split, and the part of job k partitioned into the other machine agent is added behind job h until the tardiness time of job k is minimized. Then, job k is moved out of set
Step 7. If the completion time of job i is the largest completion time for agent B, it selects the job i and determine whether it can be split. If the job cannot be split, go to step 9 (see Algorithm 5).
Step 8. If job i can be split, the algorithm selects job j in the other machine agent from agent B whose completion time is less than job i but is the largest completion time from agent B. Job i is split, and the part of job i partitioned into the other machine agent is added behind job j but is adjacent to job j until the makespan is minimized. Go step 9 (see Algorithm 5).
Step 9. Adjust the final processing jobs of the two machine agents to minimize their completion time gap. The scheduling is complete.
Example 3
We use the centralized distribution strategy to solve the same problem from Example 2 (Figure 6). The results are shown in Figure 6.

Gantt chart of the centralized distribution strategy.
With the centralized distribution strategy, the total tardiness time of agent A is 5, the makespan of agent B is 9, and the overall objective value is 14. As shown in Table 4, the centralized distribution strategy where the jobs can be split has a better performance than the SPT strategy. Compared with the objective of agent B, the makespan in the centralized distribution strategy is larger than that in the single distribution strategy, but the overall performance is better. Hence, the new model performs more efficiently and is better able to handle complex and dynamic scheduling environments.
Objective values of the SPT strategy, single distribution strategy, and centralized distribution strategy.
SPT: shortest processing time.
Conclusion
In this article, we consider a multi-agent scheduling problem of two identical parallel machines. We study
In the future, we will consider three scenarios: first, we will consider strategies to achieve the optimal scheduling when machine agents do not select allocations from each other and compete with each other; second, we suppose that all jobs’ information is known in advance and investigate the situation in which machine agents do not know the job information before starting work or know a part of the information; and third, we will consider how to allocate the jobs to machine agents when considering the setup time. We will improve the single distribution strategy and centralized distribution strategy to meet customers’ needs.
Footnotes
Handling Editor: Murat Uzam
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Foundation of China (NSFC, no. 71501020).
