Optimization courses at the graduate level

Listing of courses offered at the graduate level related to optimization

A full listing of courses and more information can be found here. The following courses are often recommended and relevant for energy systems optimization research, and a sample progression is noted with “*”.

  • *COMP SCI / ​E C E / ​I SY E 524:   Introduction to Optimization
    • Introduction to mathematical optimization from a modeling and solution perspective.
  • *COMP SCI / ​I SY E/ ​MATH / ​STAT 525:   Linear Programming Methods
    • Real linear algebra over polyhedral cones; theorems of the alternative for matrices; formulation of linear programs; duality theory and solvability; the simplex method and related methods for efficient computer solution.
  • COMP SCI / ​I SY E 526:   Advanced Linear Programming
    • Polynomial time methods for linear programming; quadratic programs and linear complementarity problems and related solution techniques; solution sets and their continuity properties.
  • COMP SCI /​ E C E /​ M E 532:   Matrix Methods in Machine Learning
    • An introduction to machine learning that focuses on matrix methods and features real-world applications ranging from classification and clustering to denoising and data analysis.
  • COMP SCI / ​I SY E 719:   Stochastic Programming
    • Stochastic programming is concerned with decision making in the presence of uncertainty, where the eventual outcome depends on a future random event. Topics include modeling uncertainty in optimization problems, risk measures, stochastic programming algorithms, approximation and sampling methods, and applications.
  • COMP SCI /​ I SY E 723:   Dynamic Programming and Associated Topics
    • General and special techniques of dynamic programming are developed by means of examples. Shortest-path algorithms; deterministic equipment replacement models; resource allocation problem; traveling-salesman problem; general stochastic formulations; Markovian decision processes and more
  • *COMP SCI /​ I SY E /​ MATH / ​STAT 726:   Nonlinear Optimization I
    • This course emphasizes continuous, nonlinear optimization and could be taken with only a background in mathematical analysis.
  • *COMP SCI /​ I SY E /​ MATH 728:   Integer Optimization
    • Introduction to optimization problems over integers and survey of the theory behind the algorithms used in state-of-the-art methods for solving such problems. Special attention is given to the polyhedral formulations of these problems, and to their algebraic and geometric properties.
  • COMP SCI / ​I SY E /​ MATH 730:   Nonlinear Optimization II
    • Theory and algorithms for nonlinearly constrained optimization; relevant geometric concepts, including tangent and normal cones, theorems of the alternative, and separation results.

N-sided polygon view factor algorithm (Matlab)

This Matlab algorithm analytically computes the view factor from polygon A to polygon B.

Full Description | Matlab code

This Matlab algorithm analytically computes the view factor from polygon A to polygon B, so long as the following conditions are met:
1) polygons are planar (all vertices lie in the same plane)
2) polygons are simple (no self-intersecting polygons)
3) polygons are convex (in theory, concave polygons should work, but this remains untested)

 

Author: Jacob Kerkhoff, 2021

Running MatLab on the CHTC

This document provides details on running MatLab scripts on the CHTC server for projects with large computational requirements. The document is hosted on the SEL website.

The Center for High-Throughput Computing (CHTC) is a UW-Madison resource that is free of charge to students and faculty doing research. The CHTC accepts a variety of computing jobs, including those designed using MatLab. This document describes the procedure for submitting and retrieving a MatLab computing job at the CHTC. (Link to document hosted on the SEL website.)

MatLab – CHTC procedure on SEL website

LaTeX Installation and Configuration

LaTeX is a document typesetting language used for scientific and mathematical publishing and research writing. It generates clean, well-formatted documents and provides extensive support for references, tables, equations, and other features that can be temperamental in MS Word. This procedure can be used to step through installation and configuration for use with VS Code as the editor.

Procedure on GitHub.

 

As an alternative to downloading and installing the LaTeX compiler and development environment on your computer, you can use a web-hosted service such as Overleaf. The video below goes through how to use this tool, but more generally gives pointers on how to write LaTeX documents.