Abstract
We study a base-agent scheduling problem of two identical parallel machines:
Keywords
Introduction
Production scheduling has played an important role in production activities. With customers’ increasingly high demands for diversification, personalization, more and more enterprises undertake small-scale and customization production mode instead of mass-scale production mode. In real production, tasks come from distinct customers who have different goals. In addition, each customer may have some tasks and they also pursue different objectives. Traditional scheduling models only consider a single or two objectives for all jobs. A centralized scheduling is applied by all jobs, but different task requirements do not reflect in the models. What’s more, production process has a number of variables, such as order change, machine failure, and lack of raw materials. The model needs to be readjusted when these changes are encountered. As a result, traditional scheduling is unable to meet the requirements of customers and low agility, poor flexibility, and poor abilities to deal with variant situations.
In recent years, with cloud computing, big data, Internet of things, and other emerging technologies flourishing, agent technologies are coming. Wooldridge and Jennings 1 studied agent theory first that is mainly distinguished by two definitions: weak agent and stronger agent. There are four properties for weak agent, including autonomy, social ability, reactivity, and pro-activeness. Stronger agent has a stronger and more specific meaning than weak agent. It was not only a human-like state, but also an external human-like attributes. Since agent theory and technologies develop quickly and are applied to a lot of domains, Baker and Smith 2 and Agnetis et al. 3 introduced the multi-agent scheduling problem and applied to multi-agent technology in production scheduling fields.
Comparing with traditional scheduling, multi-agent scheduling has some superiority. Agents have two important properties, autonomy and sociality. Tasks are divided into several agents, which each own a subset of jobs and the objective. Each agent has its own goal depending on the schedule of its only jobs. All jobs must share common resources. Agents can perceive changes and make some behave quickly to keep their goals without external intervention when encounter to external changes. Agents can also undertake social responsibility. They seek a comprehensive solution by mutual consultation to keep part and overall benefits. Multi-agent technologies having high flexibility and intelligence meet customers’ needs better and have been applied in manufacturing, such as Huang and Liao, 4 Zhang et al., 5 and Li et al. 6
Using a classical three-field notation of Graham et al.,
7
we focus on the multi-agent scheduling problem of
In this article, the main contributions are shown as follows. (1) We consider all jobs have three selections to be processed, namely processed by machine A, machine B, or both first and propose a new scheduling system, building two strategies to assign jobs problem. All jobs are divided into two task agents by jobs’ objective. Each task agent has a set of jobs. Each type of job may have two or more jobs. For two identical parallel machine environments, the job may not meet requirements if it is processed by a machine only, but it can be split and processed by two machines to meet requirements or better than the former. (2) We design single distribution strategy and centralized distribution strategy applied to dynamic scheduling environment and static scheduling environment, separately. It improves the efficiency of scheduling. (3) Two machine agents are also defined as agents and all agents are given different degrees. Since each agent can make decision by oneself, agents have also status and power restriction to keep global objective and part objective balance just like the human. We introduce three classes for all agents to control our scheduling.
Literature review
In recent 10 years, many scholars have interest in multi-agent scheduling. It mainly has two research interests. Some researches focus on how to allocate job sequence by the algorithms only. For example, Zhao et al.
9
research
However, other studies mainly focus on mechanisms of allocating jobs. Many authors have analyzed various good mechanisms based on the game strategies. For example, Cohen et al. 13 introduce a game-theoretic model for the problem of scheduling parallel rigid jobs on multicore platforms by a price cost to choose the best strategy for their jobs. Cole et al. 14 state simple mechanisms that require only local information. Authors use the game-theoretic insights to obtain a new combinatorial approximation algorithm for the underlying optimization problem. Zhao et al. 15 state two agents scheduling problem on single machine. They design the pareto efficient solution set and the Shapley value method and evaluate two agents’ job sequence by comparing net profit and opportunity. Marini et al. 16 develop preventive or minimax strategies, best-response strategies to solve the scheduling problem of two agents competing to add items in a solution set. Ye and Zhang 17 design and analyze coordination mechanisms for machines and consider the class of policies based on the Bottom-Left and the Shelf-Packing algorithms. Mashayekhy et al. 18 research the reward-based multi-agent scheduling problem of periodic tasks. Each task’s execution is divided into a mandatory and optional part. Each task gets a value if its mandatory parts are completed and obtains an additional reward value if its optional part is finished. They designed an exact and approximate mechanism for selecting a feasible subset of agents and an allocation of optional execution. Anussornnitisarn et al. 19 consider viability of each agent during the coordination process and develop an agent decision model. By applying market-based pricing and costing approach in the coordination network participants’ decisions, it chooses a monetary unit as common medium of exchange for the coordination process.
On the other hand, some authors consider the multi-agent scheduling problem from centralized perspective and single agent perspective. Nicosia et al. 20 investigate a two-agent single machine scheduling problem from centralized perspective and single agent perspective. Shortest processed time (SPT), weight shortest processed time, and minimax strategies method are used to optimize the objective of one agent. Agnetis et al. 21 explore a two-agent scheduling problem of single machine that one agent knows all information in advance about the submission sequence of opponent, but other agent has no information on the opponent strategy in order to minimize its solution cost in the worst possible case from centralized perspective and single agent perspective and design a selection strategy.
In addition, there are some another strategy to be applied. For instance, Agnetis et al. 22 show a deterministic scheduling problem about two agents in three different shop configurations. Tasks of the agents are submitted in successive steps to an external coordinator as a priority rule. Moreover, single agent perspective and centralized perspective both are considered to achieve part and global objectives. Liang and Fung 23 propose explicit and implicit coordination mechanisms based on multi-agent technology to solve the real-time scheduling of virtual cellular manufacturing systems. And they designed point-to-point and subscribe/publish communication model to realize the real-time scheduling.
However, how to assign jobs’ sequence and how to assign jobs to machine agents are still two important issues for parallel machines scheduling. For assigning jobs to machine agents, most literatures consider the job as a whole, while there are three states for the processed job, processed by one machine or two machines for two parallel machines scheduling. Therefore, we consider that the job can be split and processed on two machines if it can achieve the optimum better.
In practical, although scheduling environment is a variable, sometimes it keeps an unchanged environment. Centralized scheduling is more efficient scheduling model and suitable for static scheduling environment. Hence, we build a new multi-agent scheduling mode and introduce two strategies. One is single distribution strategy applied to dynamic scheduling environment that one only job is sent to earliest available machine agent as SPT order when machine agent having no job to be processed. Task agents submit one category job, and it is presorted with current processing jobs on two machine agents to achieve the goal of the job. Other is centralized distribution strategy applied to a static scheduling environment that jobs are unchanging during a period. All jobs are submitted and sent to coordination agent. Coordination agents make scheduling plan and machine agents process it as the plan. In order to ensure the goals of scheduling, we divide three classes for all agents and define their function.
The remaining of the article is organized as follows: in section “Problem descriptions,” we address backgrounds of the problem studied in this article. In section “Multi-agent system,” we state the structure of multi-agent system. In section “Resolution methods,” a new model is given, having two strategies: single distribution strategy applied to a dynamic scheduling environment and centralized distribution strategy applied to a static scheduling environment. Finally, the conclusion of the article is made in section “Conclusion.”
Problem descriptions
In this article, we consider
Each type of job can be processed by one machine or two machines when the number of
The tardiness time function from task agent A
The total tardiness time function from agent A
The overall objective function
Suppose two machine agents (M1 and M2) belong to two identical parallel machines, each having same function and processing speed for same jobs. Machine agents know its own status and meet the jobs’ objective as soon as possible. All agents can communicate with each other, such as machine agent M1 and M2, machine agents and task agents. And machine agents can make autonomous decision based on own status.
Multi-agent system
In this section, we address structure of multi-agent system and discuss
Architecture of multi-agent system
Huang and Liao
4
develop three categorizes of agents: job agents, machine agents, and supervisor agent in multi-agent system to support the dynamic negotiation mechanism. However, in our multi-agent system, it is also made up of three types of agents and contact each other by “dialogue,” to achieve global and part objective for

Architecture of multi-agent system.
Multi-agent system can be categorized by two subsystems. One consists of task agents and machine agents. Other comprises all agents. In subsystem 1, all agents can contact each other and they are utilized as a dynamic scheduling environment. However, task agents can’t communicate with machine agents directly in subsystem 2. Coordination agent is not only a bridge for connecting tasks agents and machines agents but also a scheduling center dealing with a static scheduling environment.
Priorities of agents
In multi-agent system, each agent’s making-decision priorities are distinct and are divided into three chasses (Table 1). The degree of coordination agent is the highest among all agents. Task agents and machine agents must accept the command of coordination agent and finish the works first without conditions. The degree of machine agent is higher than task agents. Its functions include accepting or rejecting the jobs from task agents if coordination agent has no requirements. The degree of task agent is the weakest among these agents. Its functions contain submitting the jobs to coordination agent and machine agents, ranking the jobs in SPT order.
Priorities of agents.
Operation process
Operation process of multi-agent system is designed (Figure 2). It splits two subsystems: subsystem 1 and subsystem 2. We discuss their operation process respectively.

Operation process of system.
Operation process of subsystem 1
Subsystem 1 consists of two task agents and two machine agents, and it applies to a dynamic scheduling environment. For example, jobs of task agents are variable frequently so that production plan needs to be changed in real time to meet customers’ need. Thus, we design subsystem 1 whose theory is task agents send jobs information to machine agents one by one and machine agents allocate jobs by communication.
When task agents are variable frequently, we rank all jobs in SPT order in initial time. If new jobs information enters task agents, they resort the remaining jobs in SPT order. Each task agent sends the top job information as SPT order to machine agents each round if machine agent is idle. Machine agents accept job information and each machine agent makes a production plan. If production plan of two machine agents all can satisfy requirement, the jobs are processed by the early machine. If only one machine agent can satisfy requirement, the jobs are processed by it. If no machine agents can meet jobs’ objective, machine agents will develop new production plan through consultations. Machine agents implement the production plan until finishing the job. When machine agent is idle, it sends messages to task agents. Task agents will send new job to them. The scheduling is over until task agents have no jobs.
Operation process of subsystem 2
Compared with subsystem 1, subsystem 2 has a center of scheduling: coordination agent. Like the human brain, coordination agent controls the remaining agents. Due to the central scheduling mode, subsystem 2 can maintain a high efficiency. It applies to a static scheduling environment. In instance, orders keep stability and machine agents keep health in a long time. In subsystem 2, task agents must submit all jobs information to coordination agent, and machine agents send their status to coordination agent; Coordination agents make a central scheduling by centralized distribution strategy and send the plan to machine agents. Machine agents must accept the command to process the jobs.
Resolution methods
In
Single distribution strategy
Phase 1: problem of the jobs’ sequence
From task agents’ perspectives, we consider phase 1. Classical SPT order is used by sorting the jobs’ sequence. All jobs are ranked based on their processing time from small to big. If some jobs have same processing time, we rank them as due time from small to big.
Example 1
We consider that
Values of tasks parameters.
Therefore, all jobs’ sequences in task agents are
Phase 2: assign the job to machine agents
Single distribution strategy is mainly applied to dynamic scheduling. From machine agents’ perspectives, task agents submit one special of job as SPT order to machine agents each round when machine agent requires it. The machine agent selects the job as earliest available rule of machine agent. We must keep objective of the job to be optimum. Therefore, we research all scenarios of one job when the job is processed. Assume that machine agent M1 is the earliest available. We partition it into two types: one is the job i from agent A is submitted and other is job j from agent B is submitted. We discuss the two situations as follows.
Job i from agent A is submitted
Assuming that job i will be assigned to earliest available machine agent M1 when it has no job. Machine agent M2 is processing its jobs in current time. We analyze jobs’ status of machine agents at this time. For jobs from agent A, its objective is to minimize total tardiness time. We consider splitting job and presort job i if it can be split. It may have six kinds of situations (Figure 3).
Finishing time of remaining job of machine agent M2 is larger than that of job i, and the job i can be finished on time. Hence, the job i is processed as the original plan and has no tardiness.
Finishing time of remaining job of machine agent M2 is larger than that of job i, but it is not finished on time. However, the job i can’t be modified and processed as the original plan. Its tardiness time is (C1-Di).
Finishing time of remaining job of machine agent M2 is equal to that of the job i, and the job i can be finished on time. Hence, the job i is processed as the original plan and has no tardiness.
Finishing time of remaining job of machine agent M2 is equal to that of the job i, but the job i cannot be finished on time. But the job i cannot be modified and is processed as the original plan. Its tardiness time is (C1-Di).
Finishing time of remaining job of machine agent M2 is smaller than that of job i, and the job i can be finished on time. Hence, the job i is processed as the original plan and has no tardiness.
Finishing time of remaining job of machine agent M2 is smaller than that of job i, but the job i cannot be finished on time. If

Situation of presorting job i.

Situations of presorting job j.
From algorithm 1, first, we judge whether the job i can be split. Second, if it can be split, we judge what extent the job can be. If it can meet due time of job i by splitting job, it has no tardiness (sentence 13 in algorithm 1). If it cannot meet due time of job i by splitting job, it splits the job i to attain the optimum and its tardiness time is
2. Job j from agent B is submitted
Assume machine agent M1 is the earliest available machine. Job j from agent B is candidate for next job of M1. The job j is submitted to M1. For jobs from agent B, its objective is to minimize makespan. We consider splitting job j and presort job j if it can be split to achieve current objective of job j. It can also have three kinds of situations:
Finishing time of remaining job of machine agent M2 is larger than that of job j. And the job j can be finished before finishing jobs of M2. Hence, the job j is processed as the original plan. Its makespan is C1.
Finishing time of remaining job of machine agent M2 is equal to that of job j. And the job j can be finished the same as that of M2. Hence, the job j is processed as the original plan. Its makespan is C1.
Finishing time of remaining job of machine agent M2 is smaller than that of job j. But the job j can be finished after that of M2. If

Gant chart of single distribution strategy and SPT order.
The algorithm is shown as follows:
From algorithm 2, first, we judge whether the job j can be split. Second, if it can be split, we judge what extent the job can be. It splits the job j to attain the optimum; its makespan is
Single distribution strategy is explained as follows:
Step 1. All jobs of Task agents are sequenced in SPT order.
Step 2. Task agents submit one type of job of the shortest processing time to the earliest available machine agent.
Step 3. Judge if objective of each processing job on machine agents achieves the optimum as current sequence. If the objective of each job achieves the optimum, go to step 4. If no, go to step 5.
Step 4. Machine agents process jobs, go to step 6.
Step 5. If the job comes from agent A and can be split, it splits it by algorithm 1. If the job comes from agent B, and it splits by algorithm 2. Go to step 4.
Step 6. If new jobs enter task agents before machine agent are idle again, it updates jobs’ sequences. If no, go to step 7.
Step 7. If task agents have jobs, go to step 2. If no, the scheduling is over.
Property 1
For the scheduling problem in subsystem 1, the time complexity of problem can be solved in
Example 2
Suppose
Objective values of SPT order and single distribution strategy.
The total tardiness time of agent A is 9 and makespan of agent B is 9 in SPT order. For single distribution strategy, the total tardiness time of agent A is 7 and makespan of agent B is 8. For overall objective value, value of single distribution strategy is 15, while the SPT order is 18. Therefore, single distribution strategy that the jobs can be split has a better performance than SPT order.
Centralized distribution strategy for subsystem 2
Different from single distribution strategy, centralized distribution strategy can be applied to static scheduling. Task agents submit all jobs to coordination agent and machine agents submit own status to coordination agent. Coordination agent considers centralized optimum, assigning all jobs to machine agents. We introduce a hybrid strategy based on longest processed time (LPT) rule, SPT rule, and the jobs to be processed by one machine agent or two machine agents. Coordination agent makes a production scheme and sends it to machine agents, and machine agents accept the command and process jobs.
From algorithm 3, first, we arrange all jobs in LPT order and assume assigning all jobs as LPT rule to machine agents. Second, reassign the jobs in SPT order for each machine agent. If some jobs have same processing time as LPT or SPT order, we rank them as due time from small to big. Third, we execute algorithm 4 to minimize the total tardiness time except for final processing jobs both two machine agents. Fourth, we execute algorithm 5 to minimize makespan for the job from agent B. Fifth, we execute algorithm 4 again to revision when the total tardiness time changes. Finally, we adjust the final processing jobs on two machines agents to minimize their completion time gap.
Centralized distribution strategy is explained as follows:
Step 1. Arrange all jobs in LPT order.
Step 2. Assign all jobs as LPT rule to machine agents.
Step 3. Reassign the jobs in SPT order for each machine agent.
Step 4. Compute the total tardiness time of jobs from agent A except for the final processing jobs both two machine agents.
Step 5. If the job from agent A has tardiness, it selects an earliest tardiness job k and judges it if it can be split. If the job from agent A has no tardiness or cannot be split, go to step 7 (see Algorithm 4).
Step 6. If the job k can be split, it selects the job h from agent A allocated by other machine agent whose finishing time is less than job k, but it is the closest to job k. It splits the job k and adds the part of job k partitioned into other machine agent behind job h until minimize the tardiness time of job k. Then, the job k has moved out the agent A, go to step 5. It is not over until agent A having no tardiness. Go to step 7 (see Algorithm 4).
Step 7. If the finishing time of job i is largest finishing time for agent B, it selects the job i and judges it if it can be split. If the job can’t be split, go to step 10 (see Algorithm 5).
Step 8. If job i can be split, it selects the job j allocated by other machine agent from agent B whose finishing time is less than job k, but it is the largest finishing time from other machines. It splits the job i and adds the part of job i partitioned into other machine agent behind job j but is adjacent to job j until minimize makespan. Go to step 9 (see Algorithm 5).
Step 9. If it has some jobs behind job i from agent A except for the final processing job and the jobs can be split, go to step 5 for the jobs. If the jobs have no tardiness or cannot be split, go to step 10.
Step 10. Adjust the final processing jobs by two machine agents to minimize their completion time gap. The scheduling is over.
Example 3
We use centralized distribution strategy to solve same problem from Example 2 (Figure 6). The end results are shown as follows.

Gant chart of centralized distribution strategy.
For centralized distribution strategy, the total tardiness time of agent A is 5 and makespan of agent B is 9, and the overall objective value is 14. As shown in Table 4, centralized distribution strategy that the jobs can be split has a better performance than SPT order. Comparing with objective of agent B, makespan in centralized distribution is bigger than that in single distribution strategy, but the overall performance is better. Hence, the new model performs more efficiently and has a stronger ability to deal with complex and dynamic scheduling environments.
Objective values of SPT order, single distribution strategy, and centralized distribution strategy.
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, machine agent don’t select allocation each other and compete for each other, what strategies are given to achieve the optimal scheduling; second, we already suppose all jobs’ information are known in advance, it will be studied that machine agents don’t know the jobs’ information before starting work or know a part of information, how to solve this problem; third, how to allocate the jobs to machine agents when we consider setup time. What’s more, we will improve single distribution strategy and centralized distribution strategy to meet customers’ need.
Footnotes
Academic 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).
