This special issue of SIGecom Exchanges is concerned with the Supply Chain Management version of the International Trading Agent Competition (TAC SCM). This competition was held at the International Joint Conference on Artificial Intelligence (IJCAI) in Acapulco, Mexico in August, 2003. The papers in this issue describe the designs of five of the six finalists, and a sixth agent that performed well in preliminary rounds but whose performance in the semifinals was adversely affected by networking difficulties in Mexico.
RedAgent, the top-scorer in TAC 2003, is based on a highly distributed architecture: it is composed of a number of simple, heuristic-based agents, with markets serving as a means of communication and exchange among them. DeepMaize, the second place agent, is also based on a distributed architecture, but it relies on feedback control to coordinate its various modules. The paper about DeepMaize in this issue emphasizes one component: the procurement strategy. The designs of TacTex and Botticelli are similar, and not unlike earlier TAC agent designs: both agents build models of the environment and attempt to optimize with respect to those models. TacTex uses heuristics to acquire components at cheap prices, and schedules its manufacturing of finished goods using a greedy approach. Botticelli formulates the SCM biding problem as an integer program that inherently accounts for the stochasticity in the market. PackaTAC uses a conservative heuristic strategy, which is careful not to bid on more orders than it can handle but still seeks to maintain full factory utilization. Finally, Jackaroo's strategy is rooted in theoretical modelling and statistical analysis of the TAC SCM scenario.
Because it was the first year this new game was run, there was a lot to learn just to achieve competence. Most of the work in developing agents was focused on understanding the rules and their implications, and building an agent framework to support the intended strategy. Now that many teams have a solid base to start from, the data to perform an analysis of the game and the agents, and the time to rework and extend their agents, it will be very interesting to see what the competitors come up with for next year's event. In addition, it is our hope that the publication of the articles in this issue, and other papers on TAC SCM agents, will help new contestants get up to speed more quickly.
About TAC SCM
In TAC SCM, six software agents compete in a simulated sector of a market economy, specifically the personal computer (PC) manufacturing sector. Each agent can manufacture 16 different types of computers, characterized by different stock keeping units (SKUs). Building each SKU requires a different combination of components, of which there are 10 different types. These components are acquired from a common pool of suppliers at costs that vary as a function of demand. After assembly, each agent can sell its PCs to a common pool of customers by underbidding the other agents. The agents are ranked based on their profits over 220 days, each of which lasts 15 seconds.
Each day in the TAC SCM simulation customers send a set of requests for quotes (RFQs) to the agents. Each RFQ contains a SKU, a quantity, a due date, a penalty rate, and a reserve price---the highest price the customer is willing to pay. Each agent sends an offer to each customer for each RFQ, representing the price at which it is willing to satisfy that RFQ. After the customer receives all its offers, it selects the agent with the lowest-priced offer and awards that agent with an order. Either: the winning agent delivers the entire order by its due date, in which case it is paid in full; it delivers the entire order within five days of its due date, in which case it is paid the amount of its offer less a penalty based on the number of late days; or, it cannot deliver the entire order within five days of its due date, in which case the order is canceled, no revenues are accrued, and the maximum penalty is incurred.
Meanwhile, the agents themselves are sending RFQs to suppliers, requesting a specific quantity of a component to arrive on a particular day. The suppliers respond to these requests the next day with either partial or full offers, indicating the price per unit at which the RFQ can be satisfied. If an agent receives a partial offer, the supplier cannot deliver the requested quantity of the component on the day on which it was requested, but it can deliver a lesser quantity on that day. Full offers either have a delivery date on the day requested, or a delivery date later than the one requested, in which case they are often accompanied by partial offers. Among these offers, an agent can choose to accept at most one, in which case agent and supplier enter into a contract agreeing that the agent will be charged for the components upon their arrival.
At the end of each day, each agent converts the components it acquired from suppliers into SKUs according to a production schedule it generates for its factory. It also reports a delivery schedule assigning the SKUs in its inventory to customer orders.
Visit www.sics.se/tac for details.