1. A method for managing operations of a system, comprising: partitioning the system into a plurality of subsystems; for a subsystem: 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 using an optimization algorithm involving the agents to manage system operation based on the goals and the overall objective function.