Develop a broad perspective on the relationships between various types of optimization problems; acquire modeling and solution skills for various methodologies: integer programming, network flows, dynamic programming, heuristics; apply these skills to problems from domains such as service, production, transportation, and energy systems.