# A Basic Study on the Installation of Distributed Autonomous Production Scheduling System in Ubiquitous Environment

Susumu Fujii, Tomomitsu Motohashi, Takashi Irohara, Yuichiro Miyamoto

► To cite this version:

Susumu Fujii, Tomomitsu Motohashi, Takashi Irohara, Yuichiro Miyamoto. A Basic Study on the Installation of Distributed Autonomous Production Scheduling System in Ubiquitous Environment. International Conference on Advances in Production and Management Systems (APMS), Sep 2009, Paris, France. pp.41-48, 10.1007/978-3-642-16358-6_6. hal-01055809

HAL Id: hal-01055809

https://inria.hal.science/hal-01055809

Submitted on 13 Aug 2014

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
A Basic Study
on the Installation of Distributed Autonomous
Production Scheduling System
in Ubiquitous Environment

Susumu Fujii¹, Tomomitsu Motohashi¹,
Takashi Irohara¹ and Yuichiro Miyamoto¹,

¹Dept. of Information and Communication Sciences, Sophia University,
7-1, Kioi-cho, Chiyoda, Tokyo 102-8554 Japan
{susumu-f, tomomi-m, irohara, miyamoto}@sophia.ac.jp

**Abstract.** This paper considers an auction-based scheduling system in a job shop equipped with ubiquitous network environment to cope with dynamically changing market demands. Under such environment all machines and jobs are assumed to have computing and communication devices and can serve as intelligent agents. The functions for an auctioneer and for a participant are investigated to install the scheduling system as a distributed multi-agent system. The systems sending and receiving messages for the auction form a distributed system on a network, enabling an autonomous scheduling.

**Keywords:** Job shop scheduling, Two-way auction, Multi agent, Ubiquitous Network

# 1 Introduction

Recent advances in the information and computer technology (ICT) are realizing a ubiquitous network environment in the factories. Dynamically changing market demands strongly require quick and timely responses of the manufacturing industries and force to fully utilize all assets in the factories by effectively and efficiently controlling and managing them with the aides of advanced ICT.

In the present advanced factories, most of the machine tools are devised with
computers connected to information networks, enabling the real time data gathering
and order dispatching. In the previous study [1], auction-based scheduling procedures,
named one-way and two-way auctions, are proposed for a job shop equipped with the
ubiquitous computing and communication environment. In this study, the software
architecture to realize the proposed auction based scheduling procedure is
investigated considering machine tools and work pieces, jobs hereafter, as intelligent
agents playing roles of an auctioneer and participants in the auction.

A job shop model and the auction methods considered in this study are firstly
outlined. The software architecture is then described as the functions for the
auctioneer and the participant.
# 2 Manufacturing Systems and Auction Methods

In this chapter, a job shop model considered in this study is firstly described and then the basic auction procedure and a two way auction procedure are illustrated.

## 2.1 Objective Model of Manufacturing System

This study considers a manufacturing system or a shop floor as an objective model, which consists of *m* automated machine tools connected to an information network. The system accepts *n* different kinds of products, each of which can be processed by one or more machines specified in advance. Machines are categorized into *k* types corresponding to the processing capability of jobs. Each job carries the information, such as the kind of product, the processing time and the due date. The processing time of a same kind of products may vary depending on the machine type. The setup times from one product kind to the other are given for each type of machines.

Arrived jobs will be assigned to machines which can process each job by a predetermined scheduling procedure if one or more machines are empty. If all machines which can process the jobs in the queue are busy, arrived jobs will line up in the queue waiting for the assignment. In this study, each job is assumed to have an intelligent devise which enables to process and store the information required for the execution of the scheduling procedure and to communicate with all machines independently. In practice, such functions will be replaced by a computer facilitated at storages holding the queue such as warehouses, pallet pools and so on.

## 2.2 Auction-based Scheduling Procedure

In this study, jobs at the shop floor are assumed to be scheduled dynamically by a real time scheduling method to be proposed. The procedure is based on the auction between machines and jobs. In the auction-based scheduling procedures reported in [2,3,4], the bid value is evaluated as a weighted sum of some measures, such as processing time, due date, slack time and so on, and the new bid value raised for the new round is obtained by changing the weight to each measure in a predetermined manner. The auction procedure proposed in our previous study [1] adopts a bidding strategy to change the measure to be used as a bid value, bid criterion hereafter, from one round to the other as outlined below. The basic procedure is further modified to a scheduling procedure at the shop floor as one way auction procedures for the machine selection and the job selection as described later.

### [Basic Auction Procedure]

<Step 1> The auctioneer broadcasts the information of the commodity to the participants. For the first round the first bid criterion is applied in the application order of bid criteria and all the participants are the bidders. After the second round, the bid criterion is selected from the application order list and the participants are the survived bidders in the preceding round except otherwise specified.
<Step 2> Each participant determines the bid value for the bid criterion indicated by the auctioneer and reports it to the auctioneer.

<Step 3> The auctioneer selects the best bid value. Go to Step 5 if the best value is reported by only one bidder, otherwise go to Step 4.

<Step 4> The auctioneer changes the bid criterion to the next one in the application order list if the criterion is not the last one in the list and go to Step 1. If the bid criterion is the last one, the auctioneer selects one winner randomly from the survived bidders reporting the best value and go to Step 5.

<Step 5> The commodity is awarded to the winner and the auction is terminated.

**One Way Auction for Machine Selection.** When a job arrives at the shop, an auction to select a machine to process the job will be initiated. The auctioneer and the commodity is the job itself. Machines, idle or free machines in most of the cases, are the participants. If all free or idle machines can not process the job, the auction will be terminated and the job will line up in the job queue.

**One Way Auction for Job Selection.** When a machine completes the processing of a job and becomes idle, an auction to select a job to process will be initiated. The auctioneer and the commodity is the machine and all jobs in the queue are the participants. If there is no job to process, the machine will line up in the idling machine queue.

## 2.3 Bid Criteria

As bid criteria in the auction, measures or rules used in the ordinary dispatching procedures are acceptable. In this study, FCFS (First Come First Service), EDD (Earliest Due Date), MS (Minimum Slack), SPT (Shortest Processing time), SST (Shortest Setup Time), Availability (Idling or Busy) and Capability (Processable or Not Processable) are considered as bid criteria.

These criteria are applied one after another in the predetermined order in the auction. Availability and Capability are firstly applied in the machine selection to select machines which are idling and can process the job, but only Capability is applied in the job selection since the auctioneer is an idling machine. The application orders of these criteria in the auction significantly affect the system performance as discussed in [1].

## 2.4 Two Way Auction-based Scheduling

To avoid the dominant effect of the bid criterion applied after the default criteria on the scheduling performance in a heavily loaded shop floor, a two way auction procedure for the job selection auction is proposed in [1] as described in the following.
[Two Way Auction for Job Selection]

<Step1> When a machine $M_i$ completes a job processing and becomes free, or returned from Step 3, $M_i$ initiates a one way auction for the job selection as the auctioneer. If no job is selected, the auction is terminated and $M_i$ lines up in the idling machine queue. If a job $J_k$ is selected by the auction, go to Step 2.

<Step2> $J_k$ initiates a one way auction for the machine selection as the auctioneer. In this auction all machines assume to process $J_k$ after completing all jobs already loaded on them. If the selected machine $M_i$ is the initiating machine $M_i$, $J_k$ is assigned to $M_i$, and the auction is terminated. Otherwise go to Step 3.

<Step3> $J_k$ is temporarily assigned to $M_j$ loading at the end of its loaded jobs. $J_k$ is also temporarily deleted from the job queue. If the job queue becomes empty, go to Step 4. Otherwise go to Step 1 for the secondary auction.

<Step4> The temporarily assigned jobs during the auction are released to the job queue and $M_i$ again initiates a one way auction for the job selection and the selected job is assigned to it. The bid criteria applied may differ from those in Step 1. Then the auction is terminated.

# 3 Software Architecture of Auction System

An auction based scheduling procedure is proposed in the above to cope with dynamically changing manufacturing circumstances utilizing the recent advanced ubiquitous network environment. Machine tools, jobs and other facilities at the shop floor are assumed to be equipped with computing and communicating devices and autonomously develop appropriate schedules communicating each other through the network. In this chapter the software system installed on each machine or job is considered as an intelligent agent and the necessary functions and the architecture of each agent are investigated to realize such environment.

## 3.1 Basic Functions of Agent

The NC controller of CNC machines is equipped with the basic functions as an intelligent agent. The communication function checks messages on the network and if a message is addressed to the machine it will be analyzed to identify the proper activities to perform, such as handling the pallet, processing a work piece, updating track records in the data base and so on. After finishing such activity, a proper message may be sent to an addressee when necessary.

In this study, all agents in the job shop are assumed to have the communication function, i.e., receiving, sending and analyzing messages, the execution function of the activity and the data bases necessary for the operations. Each agent staying in the shop is assigned an agent specific local IP and a common multicast IP assigned to the shop. Local IP and multicast IP are assigned to jobs when they arrive at the shop.
## 3.2 Machine Agent and Job Agent

In Fig. 1, functions for a machine agent are shown with their relation. As described in the previous session, F1, F2, F3, F7-F10 in Fig. 1 are the basic functions of a machine agent. Three data bases necessary for the real operations of NC machine are A. Operational record DB, B. Job processing DB and C. Tooling DB.

Auctioneer and participant functions, F5 and F6, are to be installed for the auction based scheduling procedure and the simulation function, F4, is necessary to obtain a schedule for certain time period, e.g., one hour, one shift, one day and so on. A received message in F1 is firstly distinguished whether it is addressed to the machine or not. If it is not, the next function is to wait for a next message in F10. In F2, a proper function, F3, F4, F5 or F6, is identified by analyzing the message code.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Architecture of machine agent</figcaption></figure>

The real operation function in F3 is the one in the basic function, but is modified to initiate an auction procedure for the job selection to request a job to process as shown by dotted line when the machine completes the processing of a job and becomes empty. Data bases are referred by F5 and F6 while the auction procedure is in progress. In the simulation, duplicated data bases at the starting time of simulation are generated to serve as those for simulation.

The real job agent has similar functions as those of a machine agent, where the real operation is to report its arrival to the shop and to register processing data including due date to the data base in the shop or in a warehouse accepting incoming jobs. A job agent arriving at the shop initiates an auction for the machine selection and provides a job data base instead of three data bases in Fig. 1 to store its processing data, the arrival time, the due date and other status data required for the auction procedure.
3.3 Functions for Auctioneer and for Participant

As described in Chapter 2, auctions, one-way and two-way, are initiated by a job for
the machine selection and a machine for the job selection. Since the detail procedures
of auction for the auctioneer and the participants depend on the type of auction and
the main or secondary auction in the two-way auction, the configuration of the
functions for the auctioneer and participant will be partially different accordingly.
This section describes the functions only in the main auction, of which configurations
for an auctioneer and a participant are shown in Figs. 2 and 3, respectively.

Figures 2(a) and 2(b) show the sending and the receiving systems of messages. When an auction is initiated, the auctioneer calls for participation for the auction. The calling message with the machine capability for the job selection and with the kind of job for the machine selection, is broadcasted to all members in the shop (A-SEND 1). The message is received by a participants system in Fig. 3. The message is identified by the message code and decision is made whether to apply or not by referring the commodity information to its status and capability in the self information data base. The application message is sent to the auctioneer’s local IP by PtoP manner (P-SEND 1). The communication could be made by broadcasting, but PtoP is adopted to ensure the reliable communication. All applications for the participation are received by the receiving system in Fig. 2(b) and their local IPs are registered to the participants list.

<figure><img src="image_3.png" /><figcaption>Fig. 2(a) Sending system of messages for the auctioneer</figcaption></figure>
<figure><img src="image_4.png" /><figcaption>Fig. 2(b) Receiving System of messages for the auctioneer</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Fig. 3. Receiving and sending system for the participant</figcaption></figure>

After waiting for predetermined time, which is sufficient to receive messages from all members in the shop, the sending system for the auctioneer counts the number of participants to the auction. If there is no participant, the auction is terminated after putting the auctioneer in the queue of empty machines or unprocessed jobs. If there are some, the bid criterion for the first auction is sent to each participant (A-SEND 2). The message received by the participant's system in Fig. 3 is identified as the one to calculate the bid value. The bid value is sent to the auctioneer (P-SEND 2).
The sending system of the auctioneer evaluates the bid values and selects the survivors after confirming all participants reported their values. If only one survived, the participant is the winner and the message of the winner is sent to all participants (A-SEND 3). By this message all participants recognize the auction is terminated. If the survivors are more than one, the bid criterion for the next round is sent to them (A-SEND 2). Participants who failed to survive are also notified their failure.

Participants receiving the new bid criterion calculate the bid value and send back to the auctioneer (P-SEND 2). The procedure will be repeated until a winner is decided or all criteria are exhausted. If the latter occurs, the winner is selected randomly. The winner processes the transaction as a winner and sends the completion message of the processing to confirm (P-SEND 3).

In the above, each job is assumed to be an independent agent. In practice, however, jobs are stored in some storage areas, such as warehouses, pallet pool and so on. To cope with such situation, it is more practical to consider a storage of jobs as an intelligent agent, say a warehouse agent. When a job arrives at the warehouse, the warehouse agent registers the job information and initiates an auction for the machine selection for the job. The configuration of the sending and receiving system of the auctioneer are the same as in Fig. 2 except the data base. On the contrary, when an auction is initiated by a machine agent for the job selection, the warehouse agent selects jobs for the machine and sends the number of survivors and their bid value. If there are more than one warehouse, the auctioneer selects the warehouse(s) to survive.

# 4 Conclusions

This paper presented the architecture to implement an auction based scheduling system in a job shop, in which all machines and jobs are equipped with intelligent devices. The functions for an auctioneer and for a participant are investigated to install the auction based scheduling system in a job shop. The systems sending and receiving messages for the auction form a distributed system on a network, enabling an autonomous scheduling. The simulation capability is also investigated to generate a schedule to a certain time horizon but will be presented in other occasion.

# References

1. Fujii, S., Motohashi, T., Irohara, T., Miyamoto, Y., Moriguchi, S.: A Study on Job Shop Scheduling based on Two-Way Auction in Ubiquitous Environment. APMS 2008, (2008)

2. Saygin, C., Siwamogsatham, T.: Auction-based distributed scheduling and control scheme for flexible manufacturing systems, International Journal of Production Research, 42-3, 547-572 (2004)

3. Srivinas, Tiwari, M.K., Allada, V.: Solving the machine-loading problem in a flexible manufacturing system using a combinational auction-based approach. International Journal of Production Research, 42-9, 1879-1983 (2004)

4. Kumar, V., Kumar, S., Tiwari, M.K., Chan, F.T.S.: Auction-based approach to resolve the scheduling problem in the steel making process, International Journal of Production Research, 44-8, 1503-1522 (2006)