Objectives
Home Syllabus Calendar Objectives Homework Project

Last updated 8/19/04

Course Objectives

IE 510 aims to:

Enable students to formulate optimization problems using networks and graphs (collections of nodes and arcs),
Introduce students to algorithmic approaches to optimization and enable them to intelligently compare competing algorithms for solving the same problem, and
Familiarize students with solution methods for specific problem types.

Themes and Specific Objectives

  1. Introduction

    Explain the advantages of network formulations over mathematical programming formulations.

    Identify similarities and differences between minimum cost flow, shortest path, maximum flow, transportation and assignment problems.

    Use network and graph terminology accurately.

    Navigate data structures used to represent networks on a computer.

    Perform transformations on networks.

     

  2. Algorithm Design and Analysis

    Perform worst-case complexity analysis on a simple algorithm.

    Explain the difference between polynomial and exponential time complexity and its practical implications.

    Follow simple algorithms for searching, topological ordering, and decomposing flows on networks.

     

  3. Formulation (note:  this is a semester-long theme and the particular focus of the semester project)

    Model a real life optimization problem as a network optimization problem; i.e., define nodes with their supplies/demands, arcs with their costs and capacities, and specify an appropriate objective function.

     

  4. Shortest Paths

    Perform reaching, Dijkstra's, label-correcting, and Floyd-Warshall algorithms.

    Identify when each of the above algorithms is most appropriate.

    Formulate a sequential decision problem as a dynamic program by identifying stages, states, decisions, and a recursive optimal value function along with a boundary condition, then solve by backward recursion.

     

  5.  Maximum Flows

    Perform the flow-augmenting algorithm and the preflow-push algorithm.

    Apply the max flow/min cut theorem.

     

  6. Minimum Cost Flows

    Perform cycle-canceling, successive shortest path and network simplex algorithms and explain the relationships, similarities and differences between them.

    Understand residual networks, reduced costs and complementary slackness and their role in defining optimality conditions.

  7. Assignments and Matchings

    Solve bipartite cardinality matching as a maximum flow problem.

    Solve bipartite weighted matching (assignment) as a minimum cost flow problem.

     

  8. Minimum Spanning Trees

    Perform Kruskal's and Prim's algorithms and explain their similarities and differences.