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.

Mentorship agreement

This document provides details on the expectations incumbent upon both student and advisor lab members. This is a statement of our expectations regarding culture, workload, contribution, and interaction among lab members. This version is currently shared among several affiliated energy-related labs in the ME department including the ESOLab.

File: SEL-THL-ME-Mentor-Mentee-Expectations-Ver-1.2.pdf

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

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.

Pyomo for Python

Procedure for configuring Python 3+ installed on a local machine to be used with Pyomo, which is a optimization modeling language developed for compatibility with multiple open-source and commercial solvers, including CPLEX, Gurobi, GLPK, CBC, and others.

Procedure on GitHub