Information agents cooperating with heterogenous data sources for customer-order management

of 6

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
6 pages
0 downs
Information agents cooperating with heterogenous data sources for customer-order management
  Information Agents Cooperating with Heterogenous DataSources for Customer-Order Management Dionisis Kehagias Dept. of Electrical and Computer EngineeringAristotle University of Thessaloniki54124, Thessaloniki, Greece diok@ee.auth.grKyriakos C. Chatzidimitriou Dept. of Electrical and Computer EngineeringAristotle University of Thessaloniki54124, Thessaloniki, Greece kyrxa@ee.auth.grAndreas L. Symeonidis Dept. of Electrical and Computer EngineeringAristotle University of Thessaloniki54124, Thessaloniki, Greece asymeon@ee.auth.grPericles A. Mitkas Dept. of Electrical and Computer EngineeringAristotle University of Thessaloniki54124, Thessaloniki, Greece ABSTRACT As multi-agent systems and information agents obtain an in-creasing acceptance by application developers, existing legacyEnterprise Resource Planning (ERP) systems still providethe main source of data used in customer, supplier and in-ventory resource management. In this paper we present amulti-agent system, comprised of information agents, whichcooperates with a legacy ERP in order to carry out ordersposted by customers in an enterprise environment. Our sys-tem is enriched by the capability of producing recommenda-tions to the interested customer through agent cooperation.At first, we address the problem of information workload inan enterprise environment and explore the opportunity of aplausible solution. Secondly we present the architecture of our system and the types of agents involved in it. Finally,we show how it manipulates retrieved information for effi-cient and facile customer-order management and illustrateresults derived from real-data. Keywords Information Agents, Enterprise Resource Planning,Customer-Order Management 1. INTRODUCTION Information agents acting on a cooperative environmentrepresent a promising paradigm for constructing intelligentdecision-making applications that manipulate data storedin legacy databases. The need for processing legacy dataarises from the fact that many repositories have been devel- Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee. SAC ’04  March 14-17, 2004, Nicosia, CyprusCopyright 2004 ACM 1-58113-812-1/03/04 ... $ 5.00. oped over the past years in the enterprise IT environment,containing significant information. The majority of existingenterprise information systems come up with the problemof extracting available information as efficiently as possible,in order to perform decision-making, resource management,and prediction about financial trends at the lowest cost [13].In this respect, many data manipulation frameworks, knownas Enterprise Resource Planning (ERP) systems, have beendeveloped in order to organize data produced on a periodicbasis over an enterprise network. These systems automateand integrate the most important business processes in realtime, creating large amounts of enterprise data [19].However, in the best of its expenditure, an ERP systemremains a data logging system, which keeps enterprise man-agers up-to-date, at any time of the inter-enterprise busi-ness workflow. The accumulation of large amounts of dataprovided by an ERP system, results in such a data over-flow into enterprise databases, which humans cannot copewith, even utilizing the most advanced information extrac-tion capabilities that the ERP system deploys. Moreover,traditional ERP systems cannot deal with tasks such as theeffective resource planning and decision support [18], thusincreasing the need for the development of a low-cost effi-cient information- manipulation system, especially for majorand high-risk business processes.In this paper we present a multi-agent system (MAS) thathandles the business process of customer-order management.The process-flow of the latter involves the following phases:1. A customer requests a new order to be processed, andthe ERP operator inputs the order into the system.This activity is related to the functionality introducedby a specific agent type, which has been developedwithin our system and which is called  Customer Order Agent   (COA).2. Fixed business policies are applied to the customer andthe order. This phase involves two agent types, the Recommendation Agent   (RA) and the  Customer Pro- file Identification Agent   (CPIA).3. The system notifies the operator about the result. The  COA of our system is also related to this process.The procurement of the required supplies to fulfill cus-tomers’ orders, follows a different, but similar process (if the ERP system has a Supply Chain Management moduleinstalled):1. Fixed business policies are applied to the inventoriesand to the suppliers. This functionality is implementedas a coordinated activity between the agents: RA,  In-ventory Profile Identification Agent   (IPIA) and  Sup-plier Profile Identification Agent   (SPIA).2. System notifies the operator about the result of theprocessing. This activity is carried out in our systemby the COA.3. A request for supplies is performed.The agent types mentioned above, are described in detaillater in this paper.Our system confronts the problem of reducing the cost of information manipulation and decision-making over enter-prise data, concerning the efficient transaction of customer-orders. For this purpose, the MAS presented in this paperis coupled with a decision-making mechanism for generatingrecommendations to the customer. All agents involved init represent different business processes, which are activatedin collaboration, in order to fulfill the customer-requestedorder. The MAS is built on top of a legacy ERP system,which contains data representing all business-process enti-ties involved in the information processing procedure. Theseentities include customers, inventories and suppliers. Thus,the ERP system provides the main source of informationfor agents. Using specific techniques, described later in thispaper, all information agents of the MAS perform efficientinformation processing that results in the generation of a setof recommendations for each requested order. Through ourapproach we intend to provide a low-cost, effective solutionthat overcomes data overload in an enterprise IT infrastruc-ture and exploits the vast amount of available legacy datasources for successful customer-order management.The paper is structured as follows. Section 2 reviews re-lated work. Section 3 describes the architecture of our ap-plication and illustrates the types of agents involved in it. Insection 4, a presentation of the core information processingmechanisms is given. Finally, section 5 concludes the paperand outlines future work. 2. RELATED WORK Many approaches have been introduced for enterprise man-agement and development of decision support systems. Es-pecially, in the last few years, many researchers have in-volved agents into business processes for realizing decision-making capabilities. In this context, two known frameworks[4, 20] have been developed for modeling supply chains in or-der to capture their dynamics and provide a re-usable devel-opment platform, to be exploited by managers for detailedanalysis and evaluation.Another system for Supplier Relationship Management(SRM) [7] uses neural networks and case-based reasoningfor benchmarking suppliers by both quantitative and qual-itative criteria. Even though the system integrates Cus-tomer Relationship Management and Supplier RelationshipManagement, it does not deal with any account-inventorymanagement, such as demand forecasting, at all. Moreover,this approach requires additional effort from human experts,in order to gather quantitative and qualitative informationfrom available data about customers and suppliers, becauseit does not rely on attributes already stored in legacy datasources.Two successful implementations of a multi-agent systemsupporting intelligent integration, but in a different domainthan ours, can be found in [12, 16]. These two applicationsprovide an intelligent framework for production planning inan enterprise, by the use of expertise agents acting in a co-operative way. Both systems are situated on top of a legacysystem gathering information and providing real-time deci-sions for different manufacturing-management scenarios.All of the aforementioned systems have been developed forthe provision of customer-oriented services and share com-mon characteristics. From a software-engineering perspec-tive, only [12, 16] are constructed as complete multi-agentsystems. These also deploy a relatively high degree of intel-ligence into agents, which is not always a mandatory char-acteristic of a MAS. For instance, work described in [4] and[20] is also based on agents, without incorporating any AI al-gorithms. On the other hand, several implementations havegiven special focus on the use of advanced AI techniques.In particular, a specific mechanism has been developed in[7] that enables agents to learn suppliers profiles from theirrecorded attributes.Even though there is an effort in pursuing Customer Re-lationship Management (CRM) dynamically in time, mostsystems of this kind do not capture the complete dynamics of the entities in an enterprise (e.g Integration with SupplierRelationship Management modules). Our implementationuniquely combines agent technology, fuzzy techniques anddata mining algorithms for building a facility that performsCRM [17]. The special focus of our approach is given in atwo-fold way: a) as the application of fuzzy algorithms anddata mining techniques for information processing, and b)as an information-flow procedure, beginning from the legacydata-source and ending up to the end-user, which is realisedas a set of coordinated communicative activities betweenagents, according to a concrete MAS architecture. 3. THE MULTI-AGENT SYSTEM3.1 Architecture Our system can be viewed as a set of five cooperatinglayers; each one of them lies on top of the other. The fivelayers, illustrated in figure 1, are the following:1. The  data source layer   includes the external data repos-itory, which is incorporated into the legacy ERP sys-tem.2. The  software middleware layer   comprises of all soft-ware interfaces that provide connectivity between theexternal data and the MAS.3. The  information processing layer   is the core layer of the system. It handles the manipulation of informationreceived by the previous layer and the execution of theappropriate mechanisms that identify data attributesused for system recommendations.4. The  decision-making layer   is responsible for collect-ing the outcome of information processing performed  in the previous layer and generating specific recom-mendations about how the order should be transacted.This layer is implemented as a rule-based agent.5. The  graphical user interface layer   enables the systemuser to enter input data, regarding the details of theorder to be transacted. This layer is also responsiblefor notifying users about the recommendation gener-ated by the system. Graphical User Interface Layer Decision Making Layer Information Processing Layer Software Middleware Layer Data Source Layer Figure 1: The five cooperating layers that representthe functionality of the system. In order to model our MAS we used the Agent-ObjectRelationship Modeling Language (AORML) [22], an exten-sion of UML that supports the representation of relationsbetween agents, as well as other agent-specific characteris-tics that cannot efficiently represented by the use of plainUML. The architecture of our system is illustrated in figure2, on an  external AORML diagram   where six different typesof agents are depicted. The implementation of our MAS isbased on the Java Agent Development Environment (JADE)[6], ensuring compatibility to FIPA standards, as they de-fined in [5, 8]. All agents, acting within the MAS, exchangecertain Agent Communication Language (ACL) messages toeach other, enabling the coordination of actions for the exe-cution of the requested order. The ERP system is depictedas a rectangle box in the lower-left part of figure 2. Havingnow an idea of how the agents are arranged, we give, in theremaining section, a brief description of their roles and tasksthey carry out. 3.2 Types of involved agents 3.2.1 Data source, ERP agents By the ERP agent type, we represent a class of agentsthat implement the Software Middleware layer of figure 1.These agents can be resembled to transducers [10], becausethey are responsible for retrieving data from the legacy ERPsystem and transforming it into an agent-comprehensive for-mat. The ERP agents handle all queries posted by the infor-mation agents residing on the third level. Specifically, theyestablish communication with the ERP database, throughthe Java JDBC application programming interface and trans-form the retrieved data to XML documents. Parts of thesedocuments become content of specifically constructed ACL Multi Agent System Human User Customer Operator Request a new order / Inform about the proposal Customer Order Agent Recommendation Agent Customer Profile Identification Agent Inventory Profile Identification Agent Supplier Profile Identification Agent ERP Customers Data Inventory Data Suppliers Data ERP Agent Profile Repository Customer Profiles Supplier Profiles Inventory Profiles Customer Management and Financial Elements Inventory Management and Financial Elements Supplier Management and Financial Elements Request to process order/ Inform about recommendation 0..* 0..* 0..* 0..* Request To Process order  / Inform about Recommendation 0..* 0..* Request / Sends Customer Profile 1 1 Requests / Sends Inventory Profile 1 1 Request / Sends Supplier Profile 1 1 Queries / Sends Customer Data 1 1 Queries / Sends Inventory Data 1 1 Queries / Sends Supplier Data 1 1 Asks/Receives 1 1 1 1 Identifies / Stores / Handles 1 0..* 0..* 0..* Identifies / Stores / Handles   Identifies / Stores / Handles Figure 2: External AORML diagram representingthe architecture of the system. messages, which are sent to the information agents of thethird layer. In our implementation we used FIPA-SL0 [9]as the ACL. All agents represented by this agent-type arethe only agents of the system that need to be configuredproperly in order to meet the specific characteristics of thelegacy ERP. 3.2.2 Customer Profile Identification Agents The  Customer Profile Identification Agents   (CPIAs) arecapable of identifying specific attributes in data retrievedfrom the legacy database that characterize the customer’sprofile. In this way, a CPIA classifies any customer whoposts a request for a new order. This procedure is quiteessential for the generation of a recommendation that bestsuits the current order. The process takes place on a monthlybasis and the profiles are stored inside a profile-repositoryfor future use, serving as a long time memory. A CPIA be-longs to the Information Processing Layer, shown in figure1. 3.2.3 Inventory Profile Identification Agents Agents of this type are specifically designed to identifythe profile of company’s products. An  Inventory Profile Identification Agent   (IPIA) retrieves prices and availabilitiesabout a specific product from the legacy database and con-  structs a profile, which is based on statistical measurementsabout this product’s demand in the past years, or other re-lated products’ concurrent demand. Moreover market bas-ket analysis techniques are applied on available transactions.In particular IPIA plays a two-fold role in the MAS and theproduct profile is an integration of two different processes:1. It fetches information on price, stock, related suppliersand statistical data about the demand faced for eachproduct in the order.2. It provides recommendations on additional items tobuy, based on association rule extraction techniques,by the use of the the Apriori Algorithm [3, 11].This methodology results in the extraction of associationrules, which are cached into the profile-repository for futurereference. IPIAs are also represented in the InformationProcessing layer in figure 1. 3.2.4 Supplier Profile Identification Agents A  Supplier Profile Identification Agent   (SPIA) is responsi-ble for creating and providing a supplier-specific profile. Theidentification of that profile is performed in a similar mannerto the one implemented for the CPIA. The suppliers’ pro-files are used by a SPIA in order for it to choose the mostappropriate suppliers from a list of available ones, by review-ing its value towards the company. Any agent described bythis agent-type is part of the Information Processing layer,illustrated in figure 1. 3.2.5 Recommendation Agents A  Recommendation Agent   (RA) is responsible for gather-ing all profiles created by agents in the Information Process-ing layer, and producing the final recommendation. Thisagent employs a rule-based reasoning mechanism, imple-mented with the Java Expert System Shell (JESS) [2]. AnyRA is an expert agent, which uses customizable rules, re-flecting company’s policies. These rules represent fixed busi-ness policies created by managers in the form of non-compiledrule documents. In this way business rules cannot only ap-ply to raw legacy data, but also to generated profiles. Thisagent-type implements the Decision Making layer in figure1. 3.2.6 The Customer-Order Agents A  Customer-Order Agent   (COA) provides the main GUIto the operator of our application. This agent implementsthe Graphical User Interface layer of figure 1 and enablesthe operator to transparently interoperate with the ERPfor providing input information and requesting visualizationservices. One capability of a COA is to show informationof all available products to the user. Through the GUI pro-vided by a COA, a user can select the products ordered bythe customer, and enter information about the desired pay-ment terms, the selected backorder policy and the type of product transportation costs. When the user completes allrequired information, COA transfers the customers’ orderand their preferences to the RA, from which the decisionprocess begins.In figure 3 and 4 two snapshots of the main GUI areshown. The customer is a company that sells toys and re-quests an order about three different products to be com-pleted. After processing user’s input, our system informs Figure 3: Order Input GUI.Figure 4: Customer Profile and RecommendationGUI. the customer about how the company will satisfy the requestand also finds out that two additional items are related tothose already ordered by the customer. Another purpose of the GUI is to provide an explanatory unit to the MAS oper-ator. By clicking on the appropriate GUI components, theuser can gain information explaining the recommendationand providing the required steps to be executed, such as theprocurement of necessary supplies. 4. INFORMATION PROCESSINGTECHNIQUES Three agent types that perform information processing ondata from legacy resources, CPIA, IPIA and SPIA, exploitseveral known AI techniques in order to obtain customer,supplier and product profiles, which are used for generat-ing suitable recommendations. To be more specific, let uspresent the core techniques used by each one of them.The CPIA, uses pattern recognition clustering techniquesand fuzzy logic inference for the generation and the char-acterization of the profiles. A customer’s profile consists of customer priority and discount due to past behaviour (neg-ative or positive). The profile of suppliers is identified bySPIA, using the same procedure as CPIA. However, the sup-plier’s profile only consists of supplier’s credibility, which isan indicative criterion about suppliers’ reliability against thecompany. All generated profiles are fine-tuned on a constanttime basis.In order for the information techniques used by CPIA andSPIA, to be implemented, the following steps are executed:1. Clustering is performed on the financial records of cus-  tomers and suppliers, by firstly using the Maximin al-gorithm [14], which provides a good estimation of thenumber of clusters. Maximin’s outcome provides in-put into the K-means algorithm [14, 15]. After that,clustering is performed on the financial datasets ac-quired by the ERP agents for customers and suppli-ers. The dataset contains multiple variables, whichare either deterministic or random. These variablesinclude, among others,  Account Balance, Credit Limit,Turnover, Geographic Location   etc. Each variable hasa preferred tendency denoting whether the companyis benefited by its increase or not. As a final step theclusters are inserted into the profile-repository.2. (a) In order to characterize the clusters generated inthe previous step, in terms of priority and dis-count, the use of an adaptive fuzzy logic infer-ence engine is adopted. The attributes of eachcluster-center are used as input variables of thefuzzy engine.(b) Random variables (RV) are treated separately, ac-cording to their variation coefficient which is de-fined as the ratio of standard deviation towardsthe average of the variable. Random variables areused only when (1) is satisfied:( STD ( RV   ) AVG ( RV   )) 2 <ξ  (1)(c) Since all inputs have three fuzzy variables (LOW,MEDIUM, HIGH), 3 ν Fuzzy Rules (FRs) are pro-duced, where  ν   denotes the number of inputs inthe fuzzy engine. FRs are of the following type: if X1 is LZ1(k) and X2 is LX2(k) and .. and Xn is LXn(k) Then U is LU(k), K = 1,.., m  Triangular membership functions are adopted for allinputs and outputs, whereas maximum defuzzificationis used for crisping the FRs. All inputs are given aCorresponding Value (CV) ranging from -1 to 1, ac-cording to the preferred tendency. The output valuecalculated for each FR is given by equation (2). OV    =  i =1 ..n CV    (2)where  n   is the number of inputs. The OV-Fuzzy Values(FV) lookup table is illustrated in table 1.3. From this point forward each time a RA asks eitherCPIA or SPIA about a specific customer or supplierprofile, a dataset for this specific entity is fetched bythe ERP agent and matched with a characterized clus-ter center using the space distance metric. The previ-ously characterized cluster is then send back to RA.The final recommendation is produced by the RA. In gen-eral, RA decides whether the order should be split or not.The splitting policy is initiated each time the customer re-quests to do so and the company stock availability cannotsatisfy order needs. In case that the requested quantitiesare matched by the company’s inventory stock, the order isfulfilled immediately.In addition to that, the RA produces an estimation onthe delivery time of the ordered products and another one Table 1: The OV-FV lookup table for output dis-count. For example VERYLOW equals 0% discountwhile VERYHIGH equals 30% discount. Output Value Fuzzy Value-6,-7 VERYLOW-4,-5 LOW-2,-3 MIDLOW-1,0,1 MEDIUM2,3 MIDHIGH4,5 HIGH6,7 VERYHIGHon the requested quantity out of the available supplies. Amore detailed description of the AI algorithms used, can befound in [21]. 5. CONCLUSIONS AND FUTURE WORK In this paper we presented a multi-agent application aboutcustomer management in an enterprise environment. In oursystem we involved several information agents, data acqui-sition agents and a rule-based reasoning agent, acting incollaboration for generating recommendations about howa new customer-order should be executed. All informa-tion agents receive data from a legacy ERP and manipulatethe extracted information using a combination of known AItechniques.In order to test the efficiency of our system, we used realdata from a company with approximately 3,100 customersand 500 suppliers. This company’s installed ERP systemcontains data about 14,500 customer orders executed in thepast two-year period. The existing legacy database storesover 150 Mbytes of information. After having informationagents process available data, we managed to reduce thesize of valuable information to 6 Mbytes. Another signifi-cant point, noticed during our experiments was that, basedon the aforementioned amount of data, we received a rec-ommendation in between 30 to 60 seconds, depending onthe cardinality of ordered products and whether there wasa stock-out or not.Regarding the clustering process of customers and sup-pliers, the characterization of the cluster-centers, as well asthe Market Basket Analysis, led to quite efficient results.For a specific company, CPIA has identified five major cus-tomer clusters, the same number as SPIA has identified forthe suppliers. As a sample, the results for customers aresummarized in table 2, while the results from the MarketBasket Analysis were: 25 generated rules for 2% supportand 90 % confidence, and 10 generated for 4% support and90% confidence. Table 2: The resulting customer clusters and thecorresponding Discount and Priority values. CenterID Population% Discount% Priority0 0.002 20 High1 10.150 10 Medium2 46.600 15 Medium3 22.240 10 Medium4 20.830 5 Low
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks