Fuzzy adaptive agent for supply chain management

Size: px
Start display at page:

Download "Fuzzy adaptive agent for supply chain management"

Transcription

1 Fuzzy adaptve agent for supply chan management Yan-Whar S a,* and So-Fan Lou b a,b Faculty of Scence and Technology, Unversty of Macau, Av. Padre Tomas Perera, Tapa, Macau Abstract. Recent technologcal advances n electronc commerce have fuelled the need for desgnng effectve strateges for supply chan management. These strateges are essental n gudng varous actvtes wthn a supply chan such as component acquston, nventory management, customer orders bddng, schedulng for producton, and delvery. Among these actvtes, plannng of raw materal acquston for nventory and bddng for customer orders can be extremely complex snce such actvtes are requred to deal wth external enttes such as supplers and customers. Specfcally, n the context of the manufacturng ndustry, acqurng raw materals for mantanng a flexble yet adequate nventory level s a complex ssue due to the potental fluctuaton n supplers producton capacty and market demand. Desgnng an effectve strategy for bddng customer orders s also an ntrcate problem due to the ntense competton n fast changng market envronments. In ths paper, we descrbe the strateges of a supply chan management agent whch adaptvely adjusts ts target nventory level and customer order bddng prce based on fuzzy logc reasonng. The agent has competed n the 2006 Tradng Agent Competton for Supply Chan Management and has acheved good results. Keywords: Intellgent agents, supply chan management, fuzzy logc, target nventory level, bddng prce settng, Tradng Agent Competton 1. Introducton A supply chan s consdered a network of enttes and ther related actvtes that work together to produce value for the customer [23]. Supply chan management nvolves acquston of raw materals, assemblng of fnshed products, and delverng these products to customers [5]. These tasks are closely ntertwned, n that shortcomngs n one can adversely affect the others. For nstance, ntense competton among manufacturers who are seekng to acqure raw materals may drve supplers to reduce ther usual capacty allocated to ther loyal customers. It s crucal that such a stuaton s constantly montored by manufacturers and reflected n ther busness strateges. In such crcumstances, manufacturers may need to mmedately ncrease the components bddng prce for securng stable supples. It s also crucal that manufacturers take nto account the avalable nventory level and market demand n settng approprate sellng prces for the assembled products. If the market s nundated wth oversupply from compettors, a manufacturer may need to mmedately re-adjust ts sellng prce and producton level. In today s complex e-busness envronment, supply chan managers face constant pressure to respond to changes n the envronment as quckly as possble. However, mmedate response to the market stuaton cannot be easly carred out by managers and busness analysts snce such varatons n market condton can be subtle (gradual and hard to recognze. In ths paper, we nvestgate how manufactures and supply chan mangers can effcently respond (adapt to the market stuaton through a smulated agentbased supply chan management envronment. In the past decade, agent technology has been extensvely used to model supply chan components. The generc propertes of software agents [24] such as autonomy, reactvty, pro-actveness, and socal ablty are well suted to capture the characterstcs of complex supply chan components and ther nteracton actvtes. Specfcally, a mult-agent approach to * Correspondng author. E-mal: fstasp@umac.mo. Phone: ( , Fax: (

2 modelng supply chan management has been extensvely adopted n a number of research prototypes. One of the major applcatons of agent-based modelng s to smulate supply chan actvtes n a vrtual envronment. In a framework proposed by Swamnathan et al. [14], supply chan models are composed from software components that represent types of supply chan agents (e.g. retalers, manufacturers, transporters, ther consttuent control elements (e.g., nventory polcy, and ther nteracton protocols (e.g., message types. In a smlar framework [26], supply chan elements such as flows, materal, and nformaton are modeled as objects and software agents are used to emulate enttes such as enterprses and nternal departments. The framework proposed n [26] s then used as a decson support system to perform smulaton analyss for petrochemcal cluster management and crude procurement n a refnery [26]. A mult-agent approach s also used to smulate the effect of dfferent schedulng algorthms under varyng orders n supply chans [38]. Mult-agent systems are also extensvely used for modelng and analyss of certan aspects of supply chans such as collaboratve nventory management [39], order fulfllment process [10, 36], and requrements analyss [17]. In [9], an ntegrated agent system whch ncludes both smulated and physcal agents s used for supportng real-tme onlne decson makng. Physcal agents are used for coordnatng wth other agents to form busness processes as well as for detectng the varatons occurrng n the outsde world whereas smulated agents are used for analyzng what-f scenaros to support physcal agents n makng decsons. Managng, coordnatng, and optmzng supply chan performance by means of mult-agents has also been extensvely studed n recent years. In [37], TÆMS agents [16] are equpped wth coordnaton mechansms to automate and manage a dstrbuted dynamc supply chan. In the manufacturng doman, the Java Agent Development (JADE Platform ( was used to mplement an agent-based mult-contract negotaton system for collaboratng negotaton n a supply chan network [13]. Furthermore, Yung et al. [33] demonstrate how mult-agent technology and constrant networks can be ntegrated together to mprove the effcency and transparency of supply chan management. In [33], agents are desgned to communcate through the Internet to support dynamc optmzaton based on Genetc algorthm. Agent technology has also been appled n onlne formaton of supply chans as well as n the context of Supply Chan Event Management (SCEM. Wang et al. [23] have proposed an agent-medated approach to on-demand e-busness supply chan ntegraton. In ther approach, each agent works as a servce broker and coordnates ther actvtes across the supply chans whch are dynamcally set up n response to market requrements. In [23], decson makng and coordnaton among servces are modeled as a dstrbuted constrant satsfacton problem whereby solutons and constrants are dstrbuted nto a set of servces. Each agent then explores ts own decsons and coordnates wth other agents towards a global soluton. In agent-based SCEM [31], a number of agents are defned to montor event-related nformaton such as dsruptons, malfunctons n the operatonal fulfllment process, and crtcal orders across the supply chan. One of the most successful applcatons of agent technology n smulatng supply chan management s the annual Tradng Agent Competton n Supply Chan Management (TAC SCM [12]. The Tradng Agent Competton (TAC 1 [22] s an nternatonal forum desgned to promote and encourage hgh qualty research nto the tradng agent problem. The supply chan management game for the tradng agent competton (TAC SCM has been desgned jontly by a team of researchers from the e-supply Chan Management Laboratory at Carnege Mellon Unversty and the Swedsh Insttute of Computer Scence (SICS [12]. In TAC SCM, a smulated supply chan management problem s precsely defned for ndvduals as well as research groups. Based on ths unform framework, researchers are free to desgn ther own agents for competng wth other agents n maxmzng ther proft. Ths competton provdes an excellent opportunty for researchers to mplement and test ther deas and desgns for varous aspects of the supply chan management problem. The Unversty of Macau team has desgned an agent [35] (called UMTac-06 and partcpated n the 2006 TAC SCM competton. One of the challenges for the Unversty of Macau team n the 2006 TAC SCM competton was to desgn an agent that can adapt to a fast changng busness landscape. Aganst ths background, we mplemented a heurstc-based agent and a fuzzy logc-based agent for dfferent stages of the competton. The heurstc-based agent uses a set of rules to control the agent s decson makng whle the fuzzy logc-based agent employs a fuzzy reasonng mechansm to control the target nventory level. The fuzzy logc-based agent also ad- 1

3 justs ts own proft margn based on the level of stock holdng, market trend, rate of prevous successful bddng, and bddng prce level of the prevous day. Although a number of approaches (stochastc [19], machne learnng [6] can be appled for adaptvely controllng target nventory level and proft margn n supply chan management, we have chosen fuzzy logc [18] for several reasons. Frstly, smplcty n Fuzzy Expert Rules allow supply chan managers to defne desred actons and adjustments n layman terms whch can be understood and analyzed by other decson makers. As a result, the actons to be taken and factors attrbuted to such conclusons can be easly verfed and tested. Secondly, fuzzy logc represents results or conclusons n degrees rather than n classcal bnary values. Such type of output s crucal for adjustng subtle responses to the hghly dynamc envronment. Thrdly, fuzzy systems are well suted for controllng supply chan management processes whch are generally ll-defned. These processes are hghly nterdependent and modelng such actvtes can be extremely complex. A bref ntroducton to the TAC SCM s gven n secton 2. The heurstc-based agent for qualfyng round s descrbed n secton 3. The desgn of the fuzzy logc-based agent s descrbed n secton 4. The performance of the agent s dscussed n secton 5. In secton 6 we brefly revew related work before summarzng our deas n secton Game overvew In TAC SCM [12], sx agents compete n each game. Each game s played for 220 smulated days wth each day beng 15 seconds long. Each day, agents compete n two markets (suppler sde and customer sde n order to mantan ther nventory level to buld and sell dfferent types of PCs. In a TAC SCM game, 16 types of PCs can be bult from four component types: CPUs, motherboards, memores, and hard drves. Each PC type s defned wth ts consttuent components, the number of assembly cycles requred, and the market segment (low range, md range, hgh range they belong to. Each component type has two supplers from the computer hardware manufacturng ndustry. The supplers are Pntel for Pntel CPUs, IMD for IMD CPUs, Basus and Macrostar for motherboards, MEC and Queenmax for memores, and Watergate and Mntor for dsks. There are eght supplers n total. The total number of customers s undefned and they are treated as a sngle entty. An overvew of the TAC SCM scenaro s gven n Fgure 1. Fg. 1. TAC SCM scenaro

4 Supplers: Each day an agent s allowed to send a maxmum of ten Request For Quotes (RFQs to each suppler. Selecton of an RFQ by a suppler depends on the prorty of the agent whch s calculated based on the rato of the number of RFQs and the actual orders. If the suppler can satsfy the order specfed n the RFQ n ts entrety, an offer s sent as a response. If the suppler cannot supply the entre quantty requested n the RFQ by the requested due date, the suppler wll respond by ssung up to two amended offers, each of whch relaxes one of the two parameters quantty and due date. All offers made by supplers are vald for a day and hence requre the agent, f nterested, to send a confrmaton by ssung a purchase order. The producton capacty C ac d of a suppler on a day, d, s defned n the TAC SCM specfcaton as follows: C ac d =max (1, C ac d ( C C nom nom +random(-0.05, C ac d 1 C nom Where denotes the nomnal capacty. C ac d 1 at the start of the game s typcally C nom ± 35%. At the start of every TAC day the suppler computes C ac d for each of ts producton lne. The avalable capacty on day d + can be defned as: fr w cm C d, = Cd, Cd, Where cm C d, C, denotes the free capacty for that day. fr d denotes the commtted capacty for outstandng agent orders that due to be shpped on day d++1. w C, denotes the capacty of suppler wllng to sell d for orders. The offer prce of some component c that s due on day d++1 s gven by: base C d P d, Pc 1 δ C avl', = ac d where, d P, s the offer prce on day d for an RFQ due on day d++1, δ s the prce dscount factor and have a standard tournament value of 50%. P s the baselne prce for components of type C. base c ac C d s the d, avl ' suppler s actual capacty on day d. C s the capacty that s avalable to satsfy some set of requests due on day d++1. Customers: Customers request PCs of dfferent types to be delvered by a certan due date by ssung RFQs to the agents each day. Agents must bd to satsfy the entre order (both quantty and due date specfed n a RFQ. The customer selects the bd wth the lowest prce (whch s less than or equal to the reserve prce specfed n the RFQ as the wnnng bd and the wnner wll be notfed at the start of the next day. For each RFQ, a penalty s chosen unformly n the nterval of 5% to 15% of the reserve prce. Penaltes are charged daly when an agent defaults on a promsed delvery date. If the agent fals to delver over a perod of fve days, the order s cancelled and no further penaltes are charged. After the last day of the game all pendng orders are charged for the remanng penalty (up to fve days as they can never be delvered. Agents: Each agent s responsble for controllng the overall process of PC producton whch ncludes tasks such as acqurng components, assemblng PCs, and delverng to customers. These tasks can be hghly nfluenced by the market stuaton. Each day, agents ssue RFQs to the supplers. The next day, the supplers reply to the agents wth offers based on ther avalabltes. Agents then select from these offers (based on the quanttes, delvery dates, and prces and reply to the suppler on the same day. Each day, customers ssue requests for quotes of dfferent types of assembled personal computers (PCs to the agents and, wthn the same day, the agents reply wth offers. Customers then select the best offer based on delvery dates and prces, and reply to the agents on the next day. At the start of each day, each agent receves RFQs for PCs from the customers, and orders won by the agent n response to offers sent to the customers the day before. Also, each agent receves offers for the components n response to the RFQs that the agent had sent to the supplers the day before. Fgure 2 llustrates key daly events nvolved n runnng an agent.

5 assemblng 23 PCs per day. For sellng those assembled PCs, the agent sets the bddng prce for customer RFQs based on the PC nventory. In summary, the heurstc-based agent focuses on mantanng a steady PC nventory level and deploys a conservatve form of a buy-to-buld strategy [34]. In the buy-to-buld strategy, the agent acqures as many components as possble and assembles them nto PCs regardless of the orders actually receved from the customers. Fg. 2. A TAC SCM day Each agent s endowed wth a PC factory whch s capable of assemblng any type of PC, and an nventory storng both components and fnshed PCs. Each day, the agent sends a producton schedule to the factory for the producton on the next day. The agent also sends a delvery schedule whch wll cause delveres to the customer the next day. The supples (components can be used for producton on the next day after the delvery and PCs are not allowed to be shpped on the day of ther producton. Inventory (both fnshed goods and components for each agent s charged a storage cost whch s a percentage of the base prce of components. The storage cost s chosen randomly n a pre-defned range at the start of the game. Ths cost s appled to the nventory held by the agent at the end of each day. Agents have accounts n the bank and start the game wth no money n the accounts. A fxed nterest rate s charged f the balance s n debt or credted f the balance s postve. The storage cost for both fnshed goods and components s chosen randomly from a predefned range at the start of the game and revealed to all the agents. At the end of the game, the agent wth the hghest sum of money n the bank s declared as the wnner. In ths research, we desgn two agents: a heurstcbased agent for qualfyng round and a fuzzy logcbased agent for seedng round and fnal round. We brefly summarze both agents capabltes as follows: Heurstc-based agent: The agent uses a set of rules to control the agent s decson makng n component acquston and n bddng prce settng for customer RFQs. Component acquston s desgned based on the observaton that the maxmum producton capacty of each agent s equvalent to 23 unts for each type of PC per day. Heurstc-based agent then orders components to mantan a stock level whch s suffcent for Fuzzy-based agent: The fuzzy-based agent s desgned to overcome some of the ssues from the heurstc-based agent. The fundamental archtecture of the agent s smlar to the heurstc-based agent except the ncluson of fuzzy logc decson makng to set the target nventory level of each type of PC and the bddng prce of customer RFQs. The fuzzy-based agent sets the target nventory level of each type of PC based on the market trend and proft margn. The bddng prce for the customer RFQs s also set based on the number of PCs n stock, market trend, success rate n customer order bddng, and bddng prce level of prevous day. In summary, fuzzy-based agent s desgned n such a way that t can adapt ts decson makng behavor based on market stuatons. Ths capablty s prevously unattanable n the heurstcbased agent. 3. Heurstc-based agent 3.1. Component acquston Frst Day: Most of the agents begn orderng components at the early stage of the game. However, snce agents have no pror nformaton about the future demand, t s dffcult for our agent to choose an approprate component acquston strategy. Therefore we desgn our agent to only order suffcent components for the early perod of competton. From our estmaton, the UMTac-06 agent s capable of producng around 23 unts of each PC every day. In addton, each type of CPU can be used to assemble 4 types of PC. Other components can be used to assemble 8 types of PCs. Therefore, for 3 days capacty, the agent needs approxmately 250 unts (23 unts x 4 types x 3 days of CPU and 500 unts (23 unts x 8 types x 3 days of other components. Based on ths estmaton, the agent sends two RFQs to each suppler. The components stated n these RFQs are requested to be delvered on day 3 and day 6. The detal delvery schedule s shown n the frst and the second column

6 of Table 1. The agent also sends 3 addtonal RFQs to the supplers for delverng components at day 9, 18, and 25. The components for these RFQs are lkely to be cheaper due to ther longer delvery due dates. Table 1 Components ordered at day 1 Delvery Date Component Day 3 Day 6 Day 9 Day 18 Day 25 Pntel CPU, GHz Pntel CPU, GHz IMD CPU, GHz IMD CPU, GHz Pntel Motherboard IMD motherboard Memory, 1GB Memory, 2GB Hard dsk, GB Hard dsk, 500 GB Day 2 to Day 210: We dvde the nventory level of each type of component nto three stages: shortage, normal, and maxmum stage. For each stage, we defne correspondng component orderng plans whch are lmted by constrants. It s crucal to have constrants n orderng snce we need to take nto account the components whch are yet to be delvered by the supplers. We then compare the current nventory level aganst the component stages one by one. Each agent has 2000 producton cycles per day and needs 4 to 7 cycles to assemble a PC. Therefore each agent can produce around 23 unts of each type of PC per day. The UMTac-06 agent needs around 92 unts of CPU and 184 unts of other types of component every day. We defne β as the daly requred number of each type of component. We set β to 92 unts for all CPU components and 182 unts for other components (Motherboard, Memory, and Hard Dsk. Let V be the current nventory level at day and ECA be the expected component arrval at day. For any smulated TAC SCM day, the UMTac-06 agent derves the estmated component holdng ( H for next n days as follows: n H n = V + + n + 1 ECA Shortage stage: Ths stage s used to ndcate that there wll be a potental shortage of components n comng few days. Ths stage s detected when the estmated component holdng for the next 10 days s less than 3β. H 10 < 3β If a shortage stage s detected, the agent wll send fve RFQs to each suppler n whch components are requested to be delvered wthn a short lead tme. In our desgn, each RFQ s defned as a template (RFQ no., order amount, delvery date, constrant. Accordng to TAC SCM game regulatons, each agent can send up to fve RFQs to each suppler for the products offered by that suppler, for a total of ten RFQs per suppler [12]. In order to maxmze the chances of acqurng supplers components, the UMTac-06 agent s desgned to send followng fve RFQs to each suppler on every smulated day. ( 1, β, + 3, No 5 ( 2, β, + 5, H < 5β 13 ( 3,2β, + 10, H < 11β 18 ( 4,2β, + 15, H < 14β 24 ( 5,3β, + 21, H < 16β Accordng to these templates, the agent wll send a RFQ to the suppler f t detects that the sum of the current nventory level and components expected to be delvered drops below a certan level. Ths condton s pre-defned as a constrant. For nstance, the UMTac-06 agent wll not send RFQ no. 2 to the suppler f estmated component holdng for next 5 days s less than 5β (. Snce RFQs are sent H 5 < 5β wthout reserve prces, t s possble that all RFQs could be accepted by the suppler. In such case, the agent could easly exceed ts own capacty. Wth these constrants, we can lmt the agent from orderng too many components n short perod. In addton, n order to have constant supply of components, RFQs are assgned wth dfferent delvery dates whch are customzed based on the results of our prelmnary testng.

7 Normal stage: The agent s consdered to be n the normal stage f the estmated component holdng for the next 10 days s less then 8β. H 10 < 8β If a normal stage s detected, the agent only orders components for medum term usage by sendng followng RFQs to each suppler: 9 ( 1, β, + 8, H < 9β 18 ( 2, β, + 15, H < 13β 25 ( 3, β, + 23, H < 16β 34 ( 4, β, + 30, H < 22β 43 ( 5, β, + 40, H < 30β Maxmum stage: The agent s consdered to be n the maxmum stage f the estmated component holdng for next 14 days s less than 12β. H 14 < 12β If a maxmum stage s detected, the UMTac-06 agent only orders components for long term producton usage by sendng followng RFQs to each suppler: 14 ( 1, β, + 12, H < 12β 18 ( 2, β, + 16, H < 13β 27 ( 3,2β, + 24, H < 20β 38 ( 4,2β, + 35, H < 27β 48 ( 5,3β, + 45, H < 33β After Day 210: To reduce the number of unused components at the end of competton, the UMTac-06 agent stops orderng from supplers after Day Bddng for customer order Every day, each agent wll receve more than 150 RFQs (approx PCs from the customer. The UMTac-06 agent cannot bd all RFQs snce t only mantans 5 days producton capacty. In addton, an agent s lable to pay heavy penalty f t cannot honor the orders won. Therefore, the UMTac-06 agent assgns hgher prorty to RFQs whch have less number of requested PCs. By choosng such RFQs, the UM- Tac-06 agent can bd more customer orders and hence the chance of wnnng s lkely to be ncreased. RFQs wth less number of requested PCs have also lower penalty. In addton, customer orders wth short delvery dates are more dffcult to be fulflled wthout a suffcent level of components n the nventory. In contrast, customer orders wth long delvery dates could be fulflled by short to medum term component acqustons. Therefore, we presume that most of our compettors are less lkely to bd RFQs whch have short delvery dates. Therefore, n case f the number of requested PCs n two RFQs are the same, the RFQ wth shorter due date s gven hgher prorty. However, t s also possble that other agents may have ther own capacty reservaton mechansms and could compete for short term customer orders. In addton, fulfllng RFQs wth short delvery dates allows our agent to rapdly reduce the nventory and thus costs less storage charge 2. Day 1 to Day 200: The UMTac-06 agent sets the bddng prce (BP accordng to the total number of PCs n nventory. PCs and components stored n the nventory are subject to storage charge and therefore the agent should avod havng a hgh nventory level. We defne fve levels for nventory: Very Low, Low, Normal, Hgh, and Very Hgh. (see Table 2. Table 2 Bddng prce settng Level Condton Bddng Prce (BP Very Low 0 I 15 O max Low 15< I 50 O avg Normal 50 < I O avg Hgh 100< I O mn Very Hgh I > 200 O mn where I s the total number of PCs n the nventory and O max, O mn, and O avg are the maxmum, mnmum, and average order prce of each type of PC from prevous day. After day 200: The UMTac-06 agent tres to sell all PCs from nventory as soon as possble through prce reducton. The bddng prce after day 200 s defned as follows: 2 Storage charge s appled to nventory on hand at the end of every smulated day.

8 BPd = O mn 1 Omn d 0.1( = 200 < d < d < 220 where d s the smulated day n the competton. After analyzng game results from qualfyng round, we fnd that the actual sellng prce of PCs at the closng tme s often hgher than those from the early days n the game. One of the possble reasons s that many agents do not have enough components or capacty at the end of the game. From ths observaton, we decded not to reduce the bddng prce for some of the games n qualfyng round Assemblng PCs Everyday, the UMTac-06 agent sends a producton schedule to ts factory. Fulfllng customer orders s crucal for the agent and therefore outstandng orders are gven the hghest prorty. The factory also assembles addtonal PCs usng free capacty whenever possble. From the records of prevous testng, we estmate that the UMTac-06 agent can sell around 30 unts of each type of PC per day. For each type of PC, the agent calculates the dfference between the current stock level and 30 unts. The types of PCs to be assembled are then prortzed based on the dfference calculated. The types of PC wth very low stock level are gven hghest prorty and they are assembled untl current stock level s equal to 30 unts. The UMTac- 06 agent contnues to assemble untl all remanng free capacty s used. The agent delvers the assembled PCs to the customers mmedately f there are suffcent numbers of unts n the nventory. Otherwse, the agent wats untl all unts are assembled by the factory. 4. Fuzzy-based agent In the seedng round of the 2006 TAC SCM competton, the UMTac-06 agent deploys fuzzy logc reasonng to control target PCs nventory level and prce adjustment for customer orders bddng. In Fgure 3, the detal archtecture of the fuzzy-based agent s depcted usng Gane-Sarson [2] Data Flow Dagram notatons. The UMTac-06 agent s desgned wth three man components: Component Acquston, Assembles PCs, and Bd for Customer Order. For each TAC SCM day, the agent sets the target nventory levels of components usng fuzzy logc for future acquston. By usng fuzzy logc, the agent calculates the target nventory level based on market trend and proft margn of each type of PC. Ths stuaton s depcted n the top and mddle area of Fgure 3. Agent receves customers RFQs (Request For Quotes every day. Before agent sends any offers back to the customers, t sets the bddng prce usng fuzzy logc by takng nto account current PC stock level, market trend, success rate n customer order bddng, and bddng prce level of prevous day. Ths stuaton s depcted n the lower area of Fgure 3. Agent then assembles PCs to fulfll customer orders or to replensh PC stocks. The agent gves hghest prorty to the outstandng customer orders and extra PCs are assembled f and only f there s any free producton capacty.

9 Fg. 3. Fuzzy logc-based agent desgn

10 4.1. Component acquston Frst Day: Snce the market envronments of frst day n all games are almost the same, the agent deploys the same component acquston strateges from qualfyng round. (See secton 3.1 Day 2 to Day 210: The UMTac-06 agent uses fuzzy logc to control the nventory level of PCs. The fuzzy reasonng s based on the market trend and prevous sale results. There are two steps n calculatng target nventory level. Frst, we calculate the average daly customer demand whch s the average number of PCs requested by the customers n ther RFQs whch are sent to all agents n the competton n the last fve days perod. Snce the UMTac-06 agent may not wn all the RFQs, we defne the basc daly PC demand of the agent as 20% of the average daly customer demand. Next, we set the basc daly PC demand as the nventory level of the agent. The nventory level s then adjusted wth the output from fuzzy logc reasonng. The fuzzy rules take nto account two nputs: proft margn and market trend. 1. Fuzzy nput 1, proft margn of each type of PC: Snce proft margn can drectly nfluence the revenue, the UMTac-06 agent s desgned to gve prorty to PCs whch have hgher proft margns. Based on the records of components the agent has ordered, we calculate the average cost of each type of component. The proft margn s equal to the proft of that type of PC dvded by the average cost. Based on the proft margn 3, we defne the fuzzy set values as depcted n Fgure Fuzzy nput 2, market trend of each type of PC: Market trend s used to ndcate the customer demand of a specfc type of PC. The agent s desgned to keep hgher nventory levels for PCs whch have elevated market trend. We use Smple Movng Average (SMA for calculatng market trend. SMA used to ndcate whether the demand of PC s lkely to ncrease or decrease n future. The UMTac-06 agent calculates the market trend by dvdng 5 days SMA wth 10 days SMA. The fuzzy sets for market trend are depcted Fgure 5. 3 In normal stuaton, the proft margn les wthn the range of 15% to 20%. In poor market stuaton, the proft margn drops to 3% to 8%. In a good market stuaton, the proft margn can be as hgh as 25%. Fg. 4. Fuzzy sets of proft margn for each type of PC Fg. 5. Fuzzy sets of market trend for each type of PC Fuzzy output, adjustng target nventory level of each type of PC: We defne the fuzzy output as a percentage value whch wll be added to the basc daly PC demand from step one. We defne the fuzzy set value n Table 3 and correspondng fuzzy rules n Table 4. Cut -90%, -90%, -90% Table 3 The fuzzy set value of target nventory level Reduce More -40%, -40%, -25%, -20% Reduce Keep Add -22%, -18%, -8%, -5% -4%, 0, 0.4% 5%, 8%, 20%, 22% Add More 20%, 25%, 40%, 40% Based on these fuzzy varables, 20 rules can be generated from all possble combnaton of fuzzy nput and output. Examples of generated fuzzy rules are gven n Table 4. Proft Margn (P {lost, low, mddle, hgh} Market Trend (MT {hgh decrease, decrease, no change, ncrease, hgh ncrease} Adjustng Target Inventory Level (T {cut, reduce more, reduce, keep, add, add more}

11 Table 4 The rule set for target nventory level IF P s lost and MT s decrease THEN T s cut. IF P s lost and MT s ncrease THEN T s reduce. IF P s low and MT s decrease THEN T s reduce. IF P s low and MT s ncrease THEN T s keep. IF P s mddle and MT s decrease THEN T s keep. IF P s mddle and MT s ncrease THEN T s add. IF P s hgh and MT s decrease THEN T s keep. IF P s hgh and MT s ncrease THEN T s add more. Accordng to rule 1 n Table 4, f the proft of one type of PC s consdered to be lost and the market trend for that type of PC s quckly decreasng, the agent should cut substantal amount of that type of PC. The agent then orders components from the supplers based on the target nventory level calculated. Suppose that a CPU wth 2.0GHz can be used to assemble ether a PC of type A or B. If the target nventory level of type A s 30 unts and type B s 40 unts, then the requred number of CPU wth 2.0GHz wll be equvalent to 70 unts. We defne ths value (e.g. 70 unts as the daly requred number of a partcular component (abbrevated as µ. Smlar to the heurstc-based agent, we dvde the nventory level of each type of component nto four stages: crtcal, shortage, normal and maxmum. Crtcal stage: Ths stage s used to ndcate that there wll be a severe shortage of components n a short term. The agent s consdered to be n the crtcal stage f the estmated component holdng for the next 5 days s less then 4µ. H 5 < 4µ If a crtcal stage s detected, the UMTac-06 agent only orders components for short term producton usage by sendng followng four RFQs to the supplers. The ffth RFQ s used for probng prce. 9 ( 1, µ, + 5, H < 6µ 12 ( 2, µ, + 10, H < 10µ 18 ( 3,2µ, + 15, H < 15µ 24 ( 4,2µ, + 20, H < 18µ Shortage stage: Ths stage s used to ndcate that there wll be a potental shortage of components n a short term. The agent s consdered to be n the shortage stage f the estmated component holdng for the next 9 days s less then 6µ. H 9 < 6µ If a shortage stage s detected, the UMTac-06 agent only orders components for medum term producton usage by sendng followng RFQs to the supplers: 12 ( 1,2 µ, + 10, H < 11µ 18 ( 2,2µ, + 15, H < 15µ 24 ( 3,2µ, + 20, H < 19µ 30 ( 4, µ, + 25, H < 25µ Normal stage: The agent s consdered to be n the normal stage f the estmated component holdng for the next 14 days s less then 10µ. H 14 < 10µ If a normal stage s detected, the UMTac-06 agent only orders components for long term producton usage by sendng followng RFQs to the supplers: 20 ( 1,2 µ, + 15, H < 14µ 26 ( 2, µ, + 20, H < 18µ 30 ( 3, µ, + 25, H < 21µ 40 ( 4, µ, + 35, H < 28µ Maxmum stage: Ths stage s used to ndcate that avalable components n the nventory are estmated to be suffcent for medum term requrement. The agent s consdered to be n the maxmum stage f the estmated component holdng for the next 14 days s greater than or equal to 10µ. H 14 10µ If a maxmum stage s detected, the UMTac-06 agent wll only order a small quantty of components for future usage. 20 ( 1,2 µ, + 20, H < 14µ 26 ( 2, µ, + 25, H < 18µ 1 3, µ, + 30, H 2 1 4, µ, + 35, H < 22µ < 26µ

12 Day 210 to 220: After day 210, the UMTac-06 agent stops orderng from supplers n order to reduce the number of unused components Bddng for customers orders Selecton of customer RFQs: The UMTac-06 agent s desgned to select RFQs whch are lkely to yeld hgh proft. The agent selects RFQs based on four crtera: (1 due date, (2 reserve prce, (3 the number of unts, and (4 penalty. Due date: Due dates of customers RFQs vary from 3 to 12 days [2]. The UMTac-06 agent assgns hgher prorty to RFQs wth shorter due date snce we predct that the other agents may not have enough PCs or free capacty to fulfll these RFQs. We defne the prorty PD based on the delvery date as follows: P D (x = (x - 3, where x s the requred delvery date and 12 x 3. Reserve prce: The UMTac-06 agent assgns hgher prorty to RFQs whch mpose hgh reserve prce. Reserve prce s usually defned as 75% to 125% of the nomnal prce of a PC [2]. We defne the prorty P R for reserve prce as follows: P R (x = 25(x , where x s the reserve prce (defned as the percentage of the nomnal prce [2] and 125 x 75. The number of unts: The number of unts requested n any customer RFQ s wthn 1 to 20 [2]. All agents have lmted producton capacty. Therefore, f the number of unts requested n a RFQ s low, the agent can bd more RFQs and hence ncrease the chance of wnnng more customer orders. In addton, f the agent cannot fulfll the RFQ whch contans low number of requested unts, the penalty s also lkely to be low as well. We defne the prorty P U for dfferent number of unts as follows: P U (x = (x - 1, where x s the number of requested unts n a RFQ and 20 x 1. Penalty: The range of penalty for a customer RFQ s betweens 5% to 15% of the customer reserve prce per day [2]. The agent assgns hgher prorty to RFQs whch mpose lower penalty. We defne the prorty PN based on the penalty as follows: P N (x = 50(x , where x s the penalty and 15 x 5. After the agent has receved all customer RFQs, t calculates the prorty of each RFQ as follows: Prorty = P D + P R + P U + P N In these formulas, P ( { D, R, V, N} s not normalzed and the range of P value s used to reflect the prorty assgned to each crtera. In order to maxmze the chance of wnnng more customer orders, the UMTac-06 agent assgns hghest prorty to RFQs wth less number of unts. The UMTac-06 agent only bds for customer orders accordng to ts avalable capacty. We presume that the penalty ncurred could be lower due to ths conservatve strategy. Therefore, the agent assgns lowest prorty to RFQs wth lower penalty. The agent assgns medum prortes to RFQs wth shorter due dates as well as to RFQs wth hgh reserve prce. Fnally, the RFQs are ordered from hghest to the lowest prorty for bddng. The agent also makes sure that t only bds for the RFQs whch can be fulflled by the current nventory (ncludng yet to be delvered components. Bddng prce settng: After the agent has selected the RFQs based to ther prorty, t determnes the bddng prce based on the number of avalable PCs n the stock, market trend, recorded success rate, and bddng prce level of prevous day. The agent uses fuzzy logc reasonng to determne the prce adjustment for bddng prce settng. Fuzzy nput 1, number of PCs n stock: Every agent mantans an nventory of assembled PCs. Determnng the level of current stock based on the number of avalable PCs n the nventory s a dffcult task snce the noton of hgh or low correlates to dfferent market scenaro. Therefore, the UMTac-06 agent calculates the PC nventory level based the value of µ whch reflects the current market envronment. The PCs nventory level s dvded nto very low, low, average, hgh, and very hgh. The fuzzy set value and correspondng fuzzy sets are gven n Fgure 6.

13 Fuzzy nput 2, market trend of each type of PC: Market trend s calculated n the same way as descrbed n secton 4.1. Fuzzy sets for market trend are depcted n Fgure 7. Fuzzy nput 3, success rate n customer order bddng: Low success rate n wnnng customer orders may ndcate certan problems n the bddng prce settng mechansm. One possble reason for havng low success rate s that the agent s bddng prce (sellng prce could be too hgh to be acceptable by the customers. In that case, the agent should reduce the bddng prce. In contrast, f the success rate n wnnng customer orders s too hgh, the agent should ncrease the bddng prce to secure more proft. To reflect these stuatons, success rate s defned as the total number of PCs whch are actually ordered by the customers dvded by the total number of PCs bded n the prevous day. Fuzzy sets for the success rate n customer order bddng are depcted n Fgure 8. Fuzzy nput 4, bddng prce level of prevous day: The bddng prce level of prevous day s defned as the bddng prce of that partcular type of PC dvded by the nomnal prce whch s defned n [12]. Fuzzy sets for bddng prce level of prevous day are depcted n Fgure 9. Fg. 7. Fuzzy sets of market trend for each type of PC Fg. 8. Fuzzy sets for the success rate n customers order bddng Fg. 9. Fuzzy sets for bddng prce level of prevous day Fg. 6. Fuzzy sets for the number of PCs n stock Fuzzy output, prce adjustment: The output of fuzzy logc reasonng s the prce adjustment (n percent whch s to be appled to the bddng prce of prevous day. The fuzzy set for prce adjustment s gven n Table 5. Table 5 The fuzzy set of prce adjustment Reduce More Reduce Lttle Reduce Keep Add Add Lttle Add More -17%, -16%, -12%, -11% -12%, -11%, -8%, -7% -8%, -7%, -3%, -2% -2%, 0, 2% 2%, 3%, 7%, 8% 7%, 8%, 11% 12% 11%, 12%, 16%, 17% From all possble combnaton of fuzzy nput and output, 375 rules can be generated. After smplfcaton, we obtan 162 fuzzy rules. Examples of several rules from the smplfed set are gven n Table 6. PCs n stock (PS {very low, low, average, hgh, very hgh} Market Trend (MT {decrease, keep, ncrease}

14 Successful rate n customer order bddng (SR {very low, low, normal, hgh, very hgh } Bddng prce level of prevous day (BP {very low, low, normal, hgh, very hgh} Prce adjustment (PA {reduce more, reduce lttle, reduce, keep, add, add lttle, add more} Table 6 Example of fuzzy rules after smplfcaton IF PS s very low, SR s low THEN PA s keep. IF PS s very low, SR s normal THEN PA s add. IF PS s very low, SR s hgh THEN PA s add more. IF PS s low, SR s low THEN PA s reduce. IF PS s low, SR s normal THEN PA s keep. IF PS s low, SR s hgh THEN PA s add. IF PS s average, SR s low THEN PA s keep. IF PS s average, SR s normal THEN PA s Add. IF PS s average, SR s hgh THEN PA s Add more. IF PS s hgh, SR s low THEN PA s reduce. IF PS s hgh, SR s normal THEN PA s reduce. IF PS s hgh, SR s hgh THEN PA s add. IF PS s very hgh, SR s low THEN PA s reduce more. IF PS s very hgh, SR s normal THEN PA s reduce. IF PS s very hgh, SR s hgh THEN PA s add. Accordng to rule 1 n Table 6, f the number of PCs n stock s very low and success rate n customer order bddng s low, the prce adjustment should be set to keep (.e. only requres mnmum adjustment Assemblng PCs The UMTac-06 agent assembles PCs based the target nventory level calculated n secton 4.1. For each type of PC, the agent calculates the dfference between the target nventory level and the current stock level. The types of PC to be assembled are then prortzed based on the dfference calculated. The types of PC wth very low stock level are gven hghest prorty and are assembled untl current stock level s equal to the target nventory level. If there are free factory cycles, the agent wll contnue assemblng more PCs untl the stock level s equal to four days requrement (4µ. The agent delvers the assembled PCs to the customer wthout delay f there are suffcent numbers of unts n the nventory. Otherwse, the agent wats untl all unts are assembled by the factory Agent for fnal round For the fnal round of TAC SCM competton, we have revsed the fuzzy logc-based agent wth some addtonal heurstc rules. Bddng prce for customer RFQs: In the prevous rounds, the agent only selects a RFQ f the reserve prce s hgher than the calculated bddng prce. In the fnal round, n order to ncrease the revenue and to secure more customers orders, the agent s revsed to enhance ts flexblty n bddng prce settng. In the revsed verson, the UMTac-06 agent scans customer RFQs three tmes. In the frst round, the agent uses the bddng prce calculated from fuzzy logc-based prce adjustment to select RFQs from the pool. In the second round, the agent scans the remanng RFQs from the pool and selects the RFQs usng 2% reduced bddng prce. In the thrd round, the agent wll agan scans the remanng RFQs from second round and selects RFQs usng 4% reduced bddng prce. Components orderng: In the seedng round, the UMTac-06 agent uses fuzzy logc to control the target PCs nventory level. However, the agent only takes nto account the number of unts n each RFQ sent by the customer. It does not consder the total number of unts actually beng sold. In fact, the agent should acqure more components f t can sell a large number of PCs. To correct ths problem, we apply followng addtonal heurstc rules: o If the total number of unts ordered by the customer s greater than 350 unts n a TAC day, the agent wll ncrease the component order by 4%. o If the total number of unts ordered by the customer s n the range of 300 to 350 unts, the agent wll ncrease the component order by 2%. Reserve prce for components: In the fnal round, the UMTac-06 agent s revsed to set the reserve prce for components orderng based on the proft margn of the PC. By dong so, t ensures that the agent wll not sell PCs f t does not make any proft. To calculate the reserve prce, the proft margn s added to the average prce of that component. Balancng stock level of components: To assemble a PC, the agent requres four types of component. Therefore, f one type of component s unavalable or out of stock, the agent can not assemble that partcular type of PC. In the seedng round, the UMTac-06 agent s desgned not to order any component after day 210 to avod com-

15 ponent buld up. In the fnal round, after day 210, f one type of component s less than the average component nventory level, the agent wll send RFQs to the supplers to ncrease the stock level of that partcular component. We set the average component nventory as 920 unts whch s the maxmum usage capacty of the agent for 10 remanng days. 5. Performance comparson We analyze the performance of the heurstc-based agent and the fuzzy logc-based agent from qualfyng, seedng, quarter fnals, sem fnals, and second fnals rounds of the 2006 Tradng Agent Competton for Supply Chan Management Heurstc-based agent Vs fuzzy-based agent Factory utlzaton: We fnd that the adaptablty of the UMTac-06 agent has ncreased after fuzzy logcbased nventory level control s deployed. Durng the qualfyng round, the heurstc-based agent mantaned smlar factory utlzaton regardless of market envronments. Specfcally, the agent kept hgh factory utlzaton n any market envronment. After we have deployed fuzzy logc-based nventory control, we fnd that the UMTac-06 agent adaptvely reduces the producton for some of the non-proftable PCs accordng to the market envronment. In Fgure 10, we compare the factory utlzaton levels of both agents n dfferent market envronments. We classfy the market stuaton nto three categores: poor, general, and favorable. A game s defned as a poor market f three or more agents get negatve result (proft. A game s defned as a favorable market f less than three agents get negatve result. In general case, we take nto account all games regardless of ther results. Durng the qualfyng round, factory utlzaton n favorable market s 80% and n poor market s 77%. The small dfference n these two markets (just 3% ndcates that the heurstc-based agent does not adapt well to the market envronment. However, n the seedng and fnal rounds, factory utlzaton for favorable market s 67% and for poor market s 58%. The dfference n these two markets has ncreased to 9%. It shows that our fuzzy logcbased agent s capable of adaptng ts producton level wth respect to the market envronment. 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 80% 79% Factory Utlzaton 77% Heurstc-based Agent 67% 65% Favorable Market General Case Poor Market 58% Fuzzy-based Agent Fg. 10. Factory utlzaton levels for qualfyng round (the heurstc-based agent and seedng/fnal round (the fuzzy-based agent Average PC sellng prce: We have extracted the average sellng prce for each type of PC n all rounds (see Fgure 11. We can notce that the average sellng prce of fuzzy-based agent from seedng and fnal rounds s sgnfcantly hgher than those of heurstcbased agent from qualfyng rounds. It shows that the adaptablty of agent has ncreased after fuzzy logcbased strategy for bddng prce settng n customer orders has been deployed.

16 The sellng prce of UMTac-06 n TAC SCM Prce Heurstc-based Agent Fuzzy-based Agent IMD 5GHz 2/500GB IMD 5GHz 2/300GB IMD 5GHz 1/500GB IMD 5GHz 1/300GB IMD 2GHz 2/500GB IMD 2GHz 1/300GB IMD 2GHz 1/500GB IMD 2GHz 1/300GB Pntel 5GHz 2/500GB Pntel 5GHz 2/300GB Pntel 5GHz 1/500GB Pntel 5GHz 1/300GB Pntel 2GHz 2/500GB Pntel 2GHz 2/300GB Pntel 2GHz 1/500GB Pntel 2GHz 1/300GB PC Fg. 11. Average PC sellng prce Success rate n bddng customer order: We have also observed that the success rate n bddng for customer orders has also ncreased sgnfcantly n seedng and fnal rounds (28.33% for the heurstc-based agent, 31% for the fuzzy logc-based agent after customer RFQs selecton strategy and fuzzy logc-based prce settng have been deployed. Overall performance: Four factors are used to measure the overall performance of UMTac-06. In Fgure 12, we can observe that the overall proft s sgnfcantly ncreased n seedng round after a fuzzy logcbased strategy has been deployed. In addton, the nterest charged, storage cost and penalty are also decreased. It also shows that the agent s strategy on justn-tme producton and delvery has effectvely reduced the overhead cost. The Performance Comparson 8,000,000 7,000,000 6,000,000 Heurstc-based Agent Fuzzy-based Agent 5,000,000 4,000,000 3,000,000 2,000,000 1,000,000 0 Result Interest Charge Storage Charge Penalty Charge Fg. 12. Performance comparson

17 5.2. Comparson wth top three agents Storage cost: The fuzzy-based UMTac-06 agent has competed n seedng round (96 games, quarter fnals round (9 games, sem fnals round (16 games, and second fnals round (16 games. From the game results, we calculate the average storage cost of UM- Tac-06 agent and the other agents. We fnd that the average storage cost of UMTac-06 s lower than the average cost of other agents (see Fgure 13. Average Storage Cost 4,500,000 4,000,000 3,500,000 3,000,000 2,500,000 2,000,000 1,500,000 1,000, ,000 0 Other Agents UMTac-06 Second Fnals Round Sem Fnals Round Quarter Fnals Round Seedng Round Fg. 13. Average storage cost In Fgure 14, we compare the average storage cost of fuzzy-based UMTac-06 agent wth top three agents (TacTex, PhantAgent, and DeepMaze from 2006 competton. The result shows that our agent has relatvely low storage cost n all rounds. Average Storage Cost 3,000,000 2,500,000 2,000,000 1,500,000 1,000,000 TacTex PhantAgent DeepMaze UMTac ,000 0 Second Fnals Round Sem Fnals Round Quarter Fnals Round Seedng Round Fg. 14. Comparson of average storage cost wth top three agents from 2006 competton Penalty: In Fgure 15, we compare the average penalty of fuzzy-based UMTac-06 agent wth top three agents. Due to our agent conservatve bddng strategy for customer orders, we have relatvely less penalty compared to other agents. However, our agent had hgh penalty n second fnals round due to the network problem durng game 8637.

18 Average Penalty 1,000, , , ,000 TacTex PhantAgent DeepMaze UMTac ,000 0 Second Fnals Round Sem Fnals Round Quarter Fnals Round Seedng Round Fg. 15. Comparson of average penalty wth top three agents form 2006 competton Customer orders: In Fgure 16, we compare the average number customer orders receved by the fuzzybased UMTac-06 agent wth top three agents from the competton. We fnd that our agent has won less customer orders n second fnals, sem fnals, and quarter fnals Round. One notceable reason for resultng low successful rate n wnnng customer order s that the UMTac-06 agent lacks a predcton mechansm for bddng customer orders. Average Customer Orders 8,000 6,000 4,000 2,000 TacTex PhantAgent DeepMaze UMTac-06 0 Second Fnals Round Sem Fnals Round Quarter Fnals Round Seedng Round Fg. 16. Comparson of average number of customer orders wth top three agents form 2006 competton Overall performance The UMTac-06 agent has competed aganst 23 nternatonal compettors n 2006 Tradng Agent Competton. The UMTac-06 agent based on heurstc rules has scored 17th poston n qualfyng round 4. In the seedng round, the UMTac-06 agent based on fuzzy logc has secured 8th poston 5. After the seedng round, the fuzzy logc-based UMTac-06 agent s modfed wth addtonal heurstcs rules. The revsed agent has secured second poston n hs group n quarter fnals and 13 agents are elmnated. In the second fnals round, the UMTac-06 agent has secured 4th poston 6. The average score of UMTac-06 agent n 2006 TAC SCM competton s depcted n Fgure 17, 18, 19, and