1. A method for managing operations of a production system, comprising: partitioning the system into a plurality of subsystems; for each subsystem, at least one computing device, coupled to a memory executing the steps of: creating an agent to associate with the subsystem; providing to the agent one or more goals for the subsystem; and providing to the agent an overall objective function for the system; and executing, using the at least one computing device, an optimization algorithm involving the agents to manage system operations based on the goals and the overall objective function, wherein the optimization algorithm implements a sampled fictitious play algorithm that includes: providing a policy to the agents; logging the policies of the agents to maintain a historical record of policies; and in successive iterations: generating a plurality of joint policies of the agents from the historical record; the agents independently determining policies assuming other agents jointly choose one of the plurality of joint policies at random; synthesizing the policies determined by the agents into a synthetic joint policy; adding to the historical record by logging the policies determined by the agents; and evaluating the expected value of the synthetic joint policy based on the goals and the overall objective function; wherein iterations continue until a stopping criterion is met.