Deep Maize is the University of Michigan's agent for the TAC Supply Chain Management competition. The SCM competition aims at providing a rich multiagent supply chain scenario for the e-commerce research community. Deep Maize has been a finalist in each year of the competition's three year history. This site contains information relating to the design and performance of Deep Maize.
In the TAC/SCM game, six agents representing PC (personal computer) manufacturer agents compete to maximize their profits over a simulated year. There are 220 simulation days, and agents have approximately 14 seconds to make decisions each day. Agents participate simultaneously in markets for supplies (components) and finished PCs. There are 16 different types of PCs (divided into three market segments), defined by the compatible combinations of 10 different component types. Components fall into one of four categories: CPU, motherboard, memory, and hard disk. There are four types of CPUs and two types of all other components; one component from each category is required to produce a PC.
Agents negotiate deals with suppliers and customers through an RFQ (request-for-quote) mechanism. The suppliers and customers execute policies defined by the game specification and implemented in the server. The suppliers have limited production capacity that varies during the game according to a random walk. They make offers and set prices based on their ratio of available capacity. The customer generates requests for PCs each day. The number of requests is driven by a stochastic demand process for each market segment.
Agents face substantial uncertainty in both markets. The underlying supplier capacities, customer demand parameters, and local state of other manufacturer agents are not directly observable, so agents must estimate these fromother sources of information. There is also strategic uncertainty, since agents do not know the exact strategies employed by their competitors.
Each manufacturer is endowed with an identical factory that has limited production capacity, measured in cycles. Each PC type requires a different number of cycles to produce. Agents pay storage costs for all components and PCs held in inventory each day, and are charged (or paid) interest on bank balances. At the end of the game agents are evaluated based on total profit, and any remaining inventory is worthless.
The central idea governing of our design is to estimate marginal values for each finished product and component input as accurately as possible, given predictions about market conditions and constraints on production. These values provide a way to decompose the agent's decisions into manageable subproblems while retaining many of the advantages of global optimization. We first perform a centralized, high-level optimization to create a long-term projected production schedule. This optimization accounts for the major constraints that act across markets and over time, but abstracts away from the details of interacting with suppliers and customers. We make specific decisions about actions in the individual markets using a second stage of optimization. To coordinate these second-stage optimizations with the high-level production plan we introduction the notion of resource values. These values are derived from the production plan and used to form a modified objective function for the low-level decisions. They transmit information about global market conditions and constraints to the individual subproblems.