Teaching


Welcome to my teaching page. Below you will find complete course pages for all current and previously taught courses, including lecture materials, problem sets, and other useful links. Please let me know if you find something here useful. All materials on these pages are copyright Ted Ralphs.

Course Descriptions

  • Computational Integer Programming
  • Course Description: In this short course, we give an overview of the theory and practice of integer programming. The course describes in detail the primary computational components of a modern solver: methods for bounding, branching, and search. We also spend some time discussing software: what’s available and how to use it. The focus will be on open source, especially the software available in the COIN-OR repository.

  • IE 170/171 Algorithms in Systems Engineering
  • Course Description: This course introduces students to the principles involved in designing, analyzing, and implementing basic algorithms common in systems engineering applications. The course is divided into five units by topic area (see syllabus on course page). Course meetings consist of two 75 minute lectures and one three hour laboratory each week. The laboratory exercises consist of case studies in which the students will have to apply the principles discussed during the week’s lectures to solve a given systems engineering problem. This is accomplished mainly through implementing various algorithms in C++. Weekly homework based on the laboratory case studies further reinforce student learning.

  • IE 316 Advanced Operations Research Techniques
  • Course Decription: An introduction to mathematical programming, including techniques for the solution and analysis of deterministic linear models used in operations research. Primary types of models addressed are linear programming, network flow, and integer linear programming. The course emphasizes the application of mathematics to the solution of optimization problems, effective modeling of optimization problems, the use of algebraic modeling languages, and the use of commercial solvers.

  • IE 406 Introduction to Mathematical Programming
  • Course Decription: An introduction to mathematical programming, including techniques for the solution and analysis of deterministic linear models used in operations research. Primary types of models addressed are linear programming, network flow, and integer linear programming. The course emphasizes the application of mathematics to the solution of optimization problems, effective modeling of optimization problems, the use of algebraic modeling languages, and the use of commercial solvers.

  • IE 407 Computational Methods in Optimization
  • Course Decription: This course covers a wide range of topics related to the computational methods encountered in optimization applications. The lectures cover both the theoretical aspects of computation and computation in practice, attempting to bridge the gap between the two. Assigned exercises will focus on employing the computational methods discussed in class to real-world applications. Topical coverage will include data structures, design and analysis of algorithms (sequential and parallel), programming paradigms and languages, development tools and environments, numerical analysis, and matrix computations.

  • IE 411 Graphs and NetworkFlows
  • Course Description: This course focuses on an important class of optimization problems known as network flow problems that arise in the analysis of systems whose operation involves determining how to direct the flow of certain commodities through an underlying network. The course addresses the modeling of such systems as they arise in a variety of settings and the development of efficient algorithms for performing the analysis. Specifically, the course covers the analytical and computational aspects of the shortest path problem, the maximum flow problem, and the minimum cost flow problem. Other topics include generalizations of the minimum cost flow problem, such as the convex cost flow problem and the multicommodity flow problem, and related models, such as those for matching and computing minimum cost spanning trees.

  • IE 417 Nonlinear Programming
  • Course Decription: Advanced topics in mathematical programming with emphasis on modeling and analysis of non-linear optimization problems. Topics include convex analysis, unconstrained and constrained optimization, duality theory, Lagrangian relaxation, and methods for solving non-linear programs, including descent methods, Newton methods, conjugate gradient methods, and penalty and barrier methods.

  • IE 418 Integer Programming
  • Course Decription: Advanced topics in mathematical programming with emphasis on modeling and analysis of optimization problems with integer variables. Topics include polyhedral theory, theory of valid inequalities, duality and relaxation, computational complexity, and methods for solving integer programs, such as branch and bound and branch and cut.

  • IE 447 Financial Optimization
  • Course Decription: This course concerns making sound financial decisions in an uncertain world. Increasingly, financial decision-makers are depending on optimization techniques to guide them in their decisions. We will survey the use of such methods in financial decision-making processes. Financial topics to be covered will include asset/liability management, option pricing and hedging, risk management, and portfolio optimization. The optimization techniques to be covered will include linear and nonlinear programming, integer programming, dynamic programming, and stochastic programming. As a supporting theme, the course will also emphasize effective modeling, the use of modeling languages, such as AMPL, and the use of
    commercial solvers for solving financial optimization problems.

  • IE 495 Computation in Operations Research
  • Course Decription: A survey of topics related to the theory of computation as they relate to implementing algorithms in operations research.

If you find something here useful, buy me a beer!