You are on page 1of 10

An Agent Based Supply Chain System with Neural Network Controlled Processes

Murat Ermis1, Ozgur Koray Sahingoz2, and Fusun Ulengin3


Dept. of Industrial Engineering, Turkish Air Force Academy, 34149 Yesilyurt, Istanbul, Turkey 2 Dept. of Computer Engineering, Turkish Air Force Academy, 34149 Yesilyurt, stanbul, Turkey {ermis, sahingoz}@hho.edu.tr 3 Dept. of Industrial Engineering, Istanbul Technical University, 80680 Macka, Istanbul, Turkey ulengin@itu.edu.tr
1

Abstract. A supply chain refers to any system which consists of multiple entities (companies or business units within an enterprise), that depend on each other in some way in conducting their businesses. In a supply chain, sales forecasting is highly complex due to the influence of internal and external environments. However, a reliable prediction of sales can improve the business strategy. Agent-based technology is considered suitable in providing nearoptimal adaptive business and knowledge management strategies to help managers reduce both mental effort and search costs. This paper presents an agent-based approach which supports mobile agents as mediators between system entities. The proposed mobile agent-based system uses the publish/subscribe communication mechanism; therefore, system entities (like customers and suppliers) can dynamically connect and disconnect to the system at any time. The system uses a Two-Leveled Mobile Agent Structure and some design details of the sales forecasting process of the system based on a neural network approach are presented.

1 Introduction
A supply chain is a connected series of organizations (e.g., suppliers, equipment manufacturers, distributors, transporters, etc.), resources and activities involved in the criterion and delivery of value, in the form of both finished products and services to end-customers [1,2]. Supply chains exist in both service and manufacturing organizations. Realistic supply chains have multiple end-products with shared components, facilities and capacities. Traditionally, marketing, distribution, planning, manufacturing, and purchasing operate independently along the supply chain. These departments have their own objectives and they are thus often in conflict. Over the past few decades, we have witnessed an increasing globalization of the economy and thereby also of supply chains. Products are no longer produced and consumed within the same geographical area; even the different parts of a product may, and often do, come from all over the world. This creates longer and more
J. Zhang, J.-H. He, and Y. Fu (Eds.): CIS 2004, LNCS 3314, pp. 837846, 2004. Springer-Verlag Berlin Heidelberg 2004

838

M. Ermis, O.K. Sahingoz, and F. Ulengin

complex supply chains, and therefore it also changes the requirements within supply chain management. Business firms are increasingly embracing integrated supply chains because they promise cost reduction, efficiency, and effective fulfillment of market demand [3]. The rapid development within the information and software engineering sectors has given rise to unprecedented opportunities for integration and coordination, whereby information technology can help overcome the uncertainties of supply chain management. The electronic exchange of information can lead to a reduction of errors and to an increased efficiency of the processes involved. When one company has access to other companies information in the supply chain, the negative effects of uncertainty (i.e., inaccurate forecasts, higher inventory levels, etc.) can be reduced. It is not possible to meet extended enterprise requirements under the present configuration of supply chain systems. Therefore, to cope with increasing complexity and organizational issues, intelligent agent architectures are envisaged to build and operate extended manufacturing enterprises. These agents provide a new and important paradigm for developing industrial distributed systems and a number of researchers have attempted to apply agent technology to manufacturing enterprise integration, supply chain management, manufacturing scheduling and control [49]. Agents help in the automating of a variety of tasks, including those involved in buying and selling products over the internet. Agent activities in terms of products required and supplied are defined so as to reduce an agents decision problem as to how to evaluate the trade-offs of acquiring different products. Such agents are designed to reduce a users information overload or search costs. The difference between such systems and conventional programs is that they are domain-specific, continuously running and autonomous. This paper presents an agent-based approach for supporting the coordination and control mechanisms of mobile-agent based supply chains for knowledge management with a formal approach by using neural network based analytical tools. The remainder of the paper is organized as follows: in Section 2, we focus on e-supply chain systems in Section 3, we discuss mobile-agent based customer-supplier systems and their subsystems, such as Control/Optimize Services, the sales forecasting process of a supply chain systems based on the neural network approach is given in Section 4; in Section 5, the system performance is evaluated, and Section 6 presents some concluding remarks.

2 E-Supply Chain Systems


Both the functionality and the complexity of the integration level of e-supply chain systems may vary from highly to partially integrated. The highly e-integrated esupply chain systems generally have fairly complex internal and external operations. They might have many suppliers, spread all over the world, who supply a large variety of parts and components. In order to respond to competitive challenges (e.g., maintaining customer service levels, lowering the inventory, etc.), an e-supply chain system that would efficiently and effectively link-up complex operations can be installed.

An Agent Based Supply Chain System

839

Three major players exist in these systems: manufacturers, suppliers, and distributors (Fig.1); logistics and warehousing are also included. The system performs two major tasks geared towards achieving competitive advantage by way of reducing inventory in the chain, avoiding delays, and providing better customer service; the two tasks are: 1) cooperative planning among various members of the supply chain and, 2) responding to customer query [10].
Supplier
Web Server SCP ERP ERP

Warehouses

Manufacturer
Web Server SCP ERP

Internet
Web-based orders Web Browser

Distribution Centers

ERP Traditional orders

Customers

Material Flow Information Flow

Fig. 1. Order fulfillment process in the integrated supply chain systems

The wide geographic spread of the companys operations, as well as the number of items it sells and different stocking policies for items based on demand, make internal operations exceedingly complex. Due to the involvement of a large number of customers and suppliers, external operations are equally complex. Both internal and external operations are very important for the success of the companies. To effectively implement the agent-based supply chain systems, two enabling tools need to be developed: first, data and information transformation tools which are used for data gathering from various machinery systems and processes exist at various levels (described in Section 3) and second, sales forecasting tools, which include advanced prediction methods and tools which need to be developed in order to predict the future pattern of sales (described in Section 4).

3 System Design
The procurement and sales forecasting processes of a supply chain system are designed in a large-scale and dynamic environment, in which there can be any number of customers and suppliers at any time. For achieving this goal, our system

840

M. Ermis, O.K. Sahingoz, and F. Ulengin

architecture is based on the publish/subscribe paradigm, which supports the many-tomany interaction of loosely coupled entities. In this model, customers know neither the number of the suppliers nor their addresses. A customer sends its request to the Manager, by means of a mobile agent, and the Manager then dispatches the clones of this mobile agent to the selected suppliers. We define a set of services that need to collaborate with the publish/subscribe infrastructure to address the dynamics of mobile environments. Our work exploits mobile agent technology extensively. Not only does it support the activities of customers and suppliers, it also facilitates the parallel computation by running mobile agents on suppliers concurrently. The system uses mobile agents as mediators between customers and suppliers. Mobile agents belong to two different levels of execution (explained with details in [11]) and responsibilities, as shown in Fig. 2: Manager Level Mobile Agents (MMA) and Supplier Level Mobile Agents (SMA). An MMA is created by a Customer Agent and is sent to the Manager. This MMA creates SMAs and sends them to suppliers in order to search their databases, to select among products and to negotiate with the supplier. We use the Contract Net Negotiation Protocol [12], which facilitates distributing subtasks among various agents. The agent wanting to solve the problem broadcasts a call for bids, waits for a reply for some length of time, and then awards a contract to the best offer(s) according to its selection criteria. There is not just one single mobile agent in the system that visits every supplier one by one; instead, clones of the mobile agent are sent to each of the suppliers concurrently. This model of parallel computation is especially important as more suppliers can be searched in a shorter time to provide customers with better choices in their decision-making.
Manager level Mobile Agent (MMA)
C Mng

Level 1 Supplier level Mobile Agents (SMA)

C : Customer Si : Supplier Mng: Manager : MMA : SMA

S1

S2

S3

S4

Level 2

Fig. 2. A Two-Leveled Mobile Agent Model

In many electronic commerce and supply chain systems, a customer (or the system) has a fixed number of suppliers, which are initialized into the system at start up. When a new supplier is to be added, it has to be registered manually by supplying its address and the necessary parameters. In a dynamically changing supply chain environment, a system should have the ability to adapt itself to this dynamic world. To meet this requirement, we have designed an architecture that utilizes the publish/subscribe paradigm for registration and dispatching operations, with the aim of increasing the efficiency and effectiveness of the supply chain system in terms of costs, quality, performance and time, for both customers and suppliers. In our approach, the supply chain models are composed from software components that represent types of static supply chain agents (like Customer Agent,

An Agent Based Supply Chain System

841

Controller Agent and Supplier Agent) and mobile supply chain agents (like Manager Level Mobile Agent and Supplier Level Mobile Agent). Agent descriptions provide an ability to specify both static and dynamic characteristics of various supply chain entities. Each agent is specialized according to its intended role in the supply chain. Since it is vital to reduce both reduce inventory in the chain and avoid delays, as well as to provide better customer service in order to achieve competitive advantage, the sales forecasting process takes on a critical role in the chain. Thus, an accurate and timely sales forecast can be achieved by using non-parametric /semi-parametric approaches, such as artificial neural networks, as illustrated in Section 4. It is well known that the supply chain is a complex process and even a simple procurement process on a supplier can be complicated by supplying the sub-part of the product from other tier II suppliers or from raw material vendors. In this system, we assume that the suppliers can make these products without purchasing components from other suppliers or vendors The system has an extendable architecture, as depicted in Fig. 2, and provides all the services which are essential to agent-based commercial activities. Our supply chain sales forecasting process system involves three main actors: 1) customers, who are looking for purchase services from suppliers; 2) suppliers or sellers, who offer the services or products, and; and 3) a Control/Optimize Service (Manager), who facilitates selection of the suppliers and communication between customers and these suppliers. Customer Subsystem: To request a purchase order from the system, a customer has to initialize a Customer Subsystem on its machine. Customers have to know the address (URL) of the manager agent that they will connect to, just like the URLs of well known web sites (i.e. Yahoo!, Alta Vista). By allowing users to generate diverse Manager Level Mobile Agents with different behaviors, several transaction scenarios can be realized. A human user interacts with the Customer Agent, who supplies the orders necessary information (such as type and number of products, destination address, delivery date, etc.). The Customer Agent allows the users to control and monitor the progress of transactions and to query past transactions from its database. The Customer Agent is the main process of the Customer Subsystem. It is a stationary agent created during the initialization step of the subsystem and is responsible for offering an interface to end users for inputting query tasks; it communicates with the Manager Level Mobile Agents, which it creates in order to accomplish his task. When a customer agent receives a purchase request from a user, it creates a Mobile Agent to search for product information and to perform goods or services acquisition in the system. The Customer Agent specifies the criteria for the acquisition of the product and dispatches the MMA to the manager. When this MMA reaches the best deal, it sends a result report to the Customer Agent and this information is added to its database. Supplier Subsystem: A supplier has to initialize a Supplier Subsystem on its machine to join the system. When a supplier system is created for the first time, it subscribes to the system providing its address and the names of its products. If a supplier starts or stops delivering a product, it again subscribes or unsubscribes its

842

M. Ermis, O.K. Sahingoz, and F. Ulengin

products respectively. Every supplier agent has to know the address of the manager so that it can make a connection. The supplier agent subscribes to the manager by sending its product definitions and waits for customers to make requests for its products The Supplier Subsystem includes seven main components, shown in Fig. 3. The Product Database contains the services and product details of the supplier. The Graphical User Interface is used for interaction (i.e. inquiring about past and current transactions from the agent; a user may also specify selling strategies through this module) with human users. The Mobile Agent Manager controls and coordinates the incoming SMAs. The Priority Manager checks the waiting requests (SMA) and selects the one with highest priority. The Class Loader downloads the necessary classes from the Manager, while the Supplier Agent acts on behalf of the user. The Neural Network predicts future sales by using historical product data and updates the Product Database according to current sales information. The Supplier Agent is also a stationary agent which is responsible for offering an interface to end users to enter information, control operations and input query tasks. The Supplier Agent processes purchase orders from Customer Agents and decides how to execute transactions according to sales strategies specified by the user. Since organizations differ in the products they sell, a Supplier Agent should be customized before it is placed online.
Product Database
NEURAL NETWORK

notify Load Classes Send Negotiation Results

Class Loader
Mobile Agents

Supplier Agent
Priority Manager

Mobile Agent Manager

Supplier GUI

Fig. 3. Supplier Subsystem Architecture

The Control/Optimize Service (Manager): plays the most important role in our proposed Supply Chain system. It mediates between customers and suppliers in an electronic marketplace. The main component of the Control/Optimize Service is the Manager Agent. The Manager Agent is useful when a supply chain system has many customers and suppliers and the search cost is relatively high, or when trust services are necessary. The inner structure of the Manager is shown in Fig. 4. There are two main manager modules in the system; Knowledge-Base Manager Modules and Queue Manager Modules. The Knowledge-Base Manager manipulates two important databases, the Knowledge Base, which keeps statistical information about suppliers, customers and products in the system, according to message transactions between customer and supplier agents, and the Subscription Base, which keeps simple information, such as the names of services or products, which are

An Agent Based Supply Chain System

843

delivered by suppliers. It also contains supplier id and password pairs for supplier authorization. The Queue Manager has access to five major queues in the Manager. These queues are used for execution of manager modules concurrently: The Class Queue contains the names and addresses of the classes which need to be downloaded by the MMAs; the MMA Queue contains the serialized form of incoming MMAs from Customers; the SMA Queue contains the serialized form of SMAs outgoing to Suppliers; the Result Queue contains incoming results from the SMAs; the Decision Queue contains the decision data of a MMA, which is to be sent to the Customer Agent.

Fig. 4. Inner structure of the Manager

In these queues, each agent selects incoming messages in the system according to a first come first served (FCFS) model. The global list of incoming messages for all queues is sorted in terms of time of activation, with the agent with the earliest message processed next. The manager consists of nine manager modules, which run in parallel in the system. The tasks of these managers and the execution flow of a procurement process in the Manager is as follows: the Subscription Manager gets subscription messages from suppliers via subscribe and unsubscribe methods, verifies their supplier ID and passwords with the Subscription Base, and continues with the necessary actions. The Publish Manager receives the serialized forms of incoming MMA's from the Customer Agent via the publish method and adds them to the MMA Queue. It also gets the names and addresses of the necessary class via the same method and adds them to the Class Queue. The Class Loader downloads classes in the Class Queue from the Customer Subsystem through a call to the Download Class method of the Customer Agent. The Name Manager is used for the SMAs naming operations. The SMA Dispatcher sends each SMA in the SMA Queue to its target supplier, each SMA returning the result of its search and negotiation activity to the Manager via the getResult method. These results are then received by the Result Manager and inserted into the Result Queue. MMAs examine the results in the Result Queue carefully and make a decision after which, they create a decision report and put it into the Decision Queue. The Notification Manager sends each

844

M. Ermis, O.K. Sahingoz, and F. Ulengin

decision in the Decision Queue to its target Customer. The key component of the manager (as in supplier subsystem) is supplier sales forecasting, provided by the Neural Network module, detailed in Section 4. The Manager Agent is the main component of the Control/Optimize System. It controls all operations in the system, evaluates incoming messages and generates lists of target suppliers by using the information in the Knowledge and Subscription Bases. The Manager Agent provides a platform for incoming mobile agents to run and create SMAs and dispatch them to the necessary suppliers. It also supports registering and dispatching operations in accordance with the publish/subscribe paradigm. The Manager Agent creates and activates a thread for each MMA in the MMA Queue. Each MMA has the authority to read and write both Knowledge and Subscription Base. A MMA searches the suppliers information in these tables, creates an SMA for each supplier and thereafter puts the serialized form of each SMA into the SMA Queue.

4 The Sales Forecasting Process


An important part of the agent based supply chain system is the sales forecasting process, a process which is highly complex due to the influence of internal and external factors. It is the critical part of the system for a reliable prediction of sales; by calculating this, it can improve the quality of supply chain strategy. The forecasted values can serve as the basis for developing a distribution manufacturing requirements plans. In view of this, we have selected the Artificial Neural Network (ANN) approach, a model-free approach which has recently been applied in forecasting due to its adequate performance in control and pattern recognition. In our system, the general pattern of the sales is forecasted by a feed forward neural network with an EBP-learning algorithm. ANNs input layer with some neurons represents the previous sales data. It has been established that a single hidden layer is sufficient for an MLP network to learn all the non-linearities present in input data, provided there is a sufficient number of hidden nodes. Hence, only a single hidden layer architecture is considered. The input neurons use y = f(x) = x while all other neurons generally have the sigmoidal function y = f(x) = (1+exp(-x))-1. Let us assume that the net consists of a p, nh and no number of neurons in the input, hidden and output layers. The weight matrices Wih, for links from input layer i to hidden layer h, and Who from hidden layer h to output layer o, respectively, are updated by the following rule:

W ih = W ih + W ih , W ho = W ho + W ho ,

where where

ih W ih j = ie + W j 1 ho W ho j = hd + W j 1

(1)

Here, is the learning rate, is the momentum factor for weight changes, i is the input vector, h is the output vector from hidden layer, t and o are the target and the actual outputs, and d is the vector where dk=ok(1 - ok)(ok - tk), for k=1,2,,no. The objective is to minimize the cost function E defined as:

An Agent Based Supply Chain System

845

1 E= 2

n0 h (1 h ) W ho d k k l lk l =1

(2)

From the above setup and the required data, the ANN can learn the relationship between sales at period t and previous sales from period t - 1 to period t - p. For training, the weights on the links Wih and Who are initialized randomly. Next, applying an input pattern, the error is computed, and the weights are adjusted accordingly by the above rules. The procedure is repeated for a large number of input samples until the weights are stabilized. After the training is over, the network can be used for prediction.

5 System Performance
We ran a simple benchmark with a single customer, one Manager and a multiple number of suppliers, which were distributed on the system. The computational experiments of the system were performed by the same machines, Intel Pentium IV 1 GHz with 512 MB of SDRAM PCs running the Windows XP Pro operating system. The number of suppliers was varied from 4 to 28 on successive trials. The experiment used a single order source whose order generation rate was slow enough to allow all the listeners to have processed a given order before the next was generated. As we were sure that there was no concurrent order delivery, we could compute the theoretical best average delivery time (Table 1).
Table 1. Order distribution and decision times # of suppliers Decision times (sec) 4 0.725 8 0.871 12 1.087 16 1.228 20 1.349 24 1.705 28 1.961

We used the feed forward neural network with a BP-learning algorithm in the sales forecasting subsystem. In the ANN, control parameters which included the number of hidden neurons (HN), number of training epochs (E), learning rate () and momentum () were set at HN=4, E=1000, =0.1 and =0.7, after conducting a set of experiments. The total number of data points 202. The results obtained are averages of 10 different replications. The mean square error obtained for the above parameter values is 0.000646 after a 5.17 sec execution time. For cross-validation period MSE is obtained as 0.001293. Although, our system has not been tested with a very large number of subscribers and publishers, the results obtained show that the system is scalable.

6 Conclusion
In summary, we have developed a two-level agent architecture that supports the requirements of supply chain applications, such as procurement and sales forecasting,

846

M. Ermis, O.K. Sahingoz, and F. Ulengin

which have continuously evolving needs. Our systems communication infrastructure is based on the publish/subscribe paradigm, which allows participants to join and leave the system dynamically, extending the Flexibility and Adaptability of the system. By using a two-leveled agent model, we have also made use of parallel computation to enhance performance. In the proposed system, mobile agents are used as mediators between customers and suppliers. The main advantage of using an agent-based approach is that the agents interact autonomously and power is devolved to the agents, i.e. there is no need for a super-agent to oversee communication and interaction. Our system also addresses some specific requirements like Reliability, MMAs and SMAs perform their activity autonomously and through cooperative interaction to accomplish their goals; Learning; interaction between agents is stored in a neural network approach with an EBP-learning algorithm; and Forecasting, via the use of an Artificial Neural Network approach in sales forecasting process, to obtain more accurate and timely values.

References
1. Copacino, W.C.: Supply Chain Management. St. Lucie Press, Boca Raton, FL (1997) 2. Raman, A., and Singh, J.: i2 Technologies, Inc. Harvard Business School Case, 9-699-042 (1998) 3. Fisher, M.L.: What is the right supply chain for your product? Harvard Business Review, Vol. 75 (1998) 105-116 4. Fox, M.S., Barbuceanau, M., Teigen, R.: Agent-oriented supply chain management. The International Journal of Flexible Manufacturing Systems 12 (2003)165188 5. Camarinha-Matos, L.M., Afsarmanesh, H.: Enterprise modeling and support infrastructures: applying multi-agent system approaches. Multi-Agent Systems and Applications, Ninth ECCAI Advanced Course and Agent Links 3rd European Agent Systems Summer School, EASSS 2001, Prague, Czech Republic. Springer and Verlag, (2001) 335364 6. Bussmann, S.: An agent-oriented architecture for holonic manufacturing control. In: Xirouchakis, P., Kiritsis, D., Valckenaers, P. (Eds.), First International Workshop on Intelligent Manufacturing Systems. Lausanne, Switzerland, (1998) 112 7. Lee, J.: E-manufacturing-fundemantals, tools, and transformation. Robotics and Computer Integrated Manufacturing, Vol. 19. (2003) 501-507 8. Karageorgos, A., Mehandjiev, N., Weichhart, G., and Hammerle, A.: Agent-based optimization of logistics and production planning. Engineering Applications Intelligence, Vol.16. (2003) 335-348 9. Maturana, F., Shen, W., and Norrie, D.H.: MetaMorph: an adaptive agent-based architecture for intelligent manufacturing. International Journal of Production Research, Vol.37. (1999) 2159-2173 10. Simchi-Levi, D., Kaminsky, P., and Simchi-Levi, E.: Designing and Managing the Supply Chain. New York: Irwin McGraw-Hill, (2000) 11. Sahingoz, O. K. and N. Erdogan: A Two-Leveled Mobile Agent System for Electronic Commerce, the journal of Aero. and Space Tech. Institute (ASTIN), (2003) 21-32 12. Smith, R.G.: The Contract Net Protocol. High level communication and control in a distributed problem solver. IEEE Transactions on Computers 29 (1980) 11041113.

You might also like