The Supply Chain Management Game for the Trading Agent Competition 2004 Supervisor: Ishai Menashe Dr. Ilana David final presentation: 10-Oct-04 1 Outline Game overview Motivation Related issues Challenges posed ahead Solution outline High level design of the system Communication protocols Algorithmic ideas Performance Report Ideas for future enhancements References 2 Game overview In the TAC SCM scenario, 6 agents representing PC assemblers that operate in a common market environment and compete for customer orders and for procurement of a variety of components, over a period of several months. 3 Illustration of a TAC day, where the agent plans, produces and delivers PCs. The agent must make several decisions each day: 1. 2. 3. 4. 5. What RFQs to issue for components to suppliers. Which suppliers’ offers to accept. What PCs to manufacture. Which customer orders to ship. Which customers’ RFQs to respond to and with what offers. 4 Motivation Effective SCM is vital to the competitiveness of manufacturing enterprises. It impacts their ability to meet changing market demands in a timely and cost effective manner. 5 Related issues Dynamic programming and control Feedback control Distributed and parallel programming AI – decision making and search Alg Optimization Supply chain models Non-cooperative game theory Computational learning theory 6 Challenges posed ahead Uncertainty and incomplete information Dynamic environment Strategic behavior “The game is far too complex to solve analytically or characterize optimal behavior, due largely to the issues of uncertainty, dynamism, and strategy...” Distributed Feedback Control for Decision Making on Supply Chains - University of Michigan 7 Our work process preparation stage forming our solution’s design implementation stage experiments and participating in the competition analysis and conclusion 8 Solution outline Decomposition of the problem Strategic policy adapts dynamically Sharing aggregated environment parameters Feedback mechanism Coordinating by shared purpose my _ decisions t hagent ( f sales ( statet ), f procurment ( statet ), f factory ( statet )) statet 1 g agent (my _ decisions t , external _ inputs, statet ) 9 High level design of the system Functional distribution Sales module – interacts with customers and makes PCs’ offers Procurements module – interacts with suppliers and handles biding for components Factory module – controls manufacturing and shipping schedule Physical distribution architecture communicating using RMI Separating data gathering and functionality Access to updated data using Multiple Reader One Writer model Using given functionality within the SCMAgent 10 Agent deployment FactoryModule ProcurementModule SalesModule Agent + State TacGameServer 11 Static structure «interface» Remote «interface» ISalesModule «interface» IProcurementModule «interface» IFactoryModule SalesModule ProcurementModule FactoryModule ICurrentStat IFutureState IState «interface» IOurAgent «interface» IRemoteSCMAgent Stat OurAgent RemoteSCMagent UnicastRemoteObject 12 Sequence diagram GameServer OurAgent ProcurementModule OffersSelectorThread State Suppliers Offers Update State Update Module End Of Messages Notification Get Relevant State Parameters Timer End Of Day End Of Day Notofication Return Decision Return Decision 13 Loop schema executed by all the threads each day 1. 2. 3. 4. Wait until End of Messages Notification. Compute the decision according the data received from OurAgent. This computation should be finished X time units before the end of the day. X time units before the end of the day, End of Day notification is received. The thread sends its computation result to the OurAgent object. If not end of game go to 1. 14 Communication schema of OurAgent 1. 2. 3. 4. 5. When receiving new data update the State and the modules. When receiving the SimulationStatus: Start a timer for the current day. Update state parameters. Generate the EndofMessages notification. X time units before the end of the day generate the EndofDay notification. When receiving a decision from one of the threads, deliver it to the game server. When the game is over, reset the State instance and the data on the different modules. 15 Decision-maker threads behavior End Of Messages Wait For End of Messages Calculate Decision Finish Calculate Decision End Of Day Decision Ready 16 OurAgent objects behavior Sending / Receiving Current Day’s Messages Fire End Of Messages Waiting For Decisions Fire End Of Day All Decisions Sent Sending / Receiving Decisions 17 Algorithmic ideas approximating State parameters. refinement of the equilibrium by expanding activity. simple greedy algorithm: 1. Collecting relevant parameters. 2. the weighted average of these parameters gave us a total score. 3. the objects were sorted from the best to the least valuable one. 4. we used as many objects as we could, base on the constraints of the problem 18 Performance Report In the qualifying rounds we finished in place 28 with an average of -11.64M, after playing 78 games. In the seeding rounds we finished in place 28 with an average of -37.9M, after playing 76 games. 19 Results 20 Ideas for future enhancements Refinement of the feed back process at each module, throughout each day, using iterations on the state of the game effected by other modules decisions before performing these decisions. Decreasing communication overhead in the distributed deployment, by transferring functionality to distant modules computers. 21 References Raghu Arunachalam; Norman Sadeh; Joakim Eriksson; Niclas Finne; Sverker Janson – “The Supply Chain Management Game for the Trading Agent Competition 2004” Christopher Kiekintveld; Michael P. Wellman; Satinder Singh; Joshua Estelle; Yevgeniy Vorobeychik; Vishal Soni; Matthew Rudary – “Distributed Feedback Control for Decision Making on Supply Chains” Philipp W. Keller; Felix-Olivier Duguay; Doina Precup – “RedAgent - Winner of TAC SCM 2003“ Joshua Estelle; Yevgeniy Vorobeychik; Michael P. Wellman; Satinder Singh; Christopher Kiekintveld; Vishal Soni – “Strategic Interactions in a Supply Chain Game” Michael Benisch; Amy Greenwald; Victor Naroditskiy; Michael Tschantz – “A Stochastic Programming Approach to Scheduling in TAC SCM” 22