Griffith PSE — home Griffith PSE — home
  • Demos
    • Quad Tank
    • Knapsack
    • Diet
    • Strip Packing
    • Circle Packing
    • Facility Layout
  • Videos

Griffith PSE

Process systems engineering, with the math made interactive.

This is an in progress library of interactive demos for instructors and their students to use live in lectures. No login, no paywall, public GitHub repositories. If you have feedback or suggestions for future demos, send a message here: devin@griffith-pse.com.

Featured demos

Quad-tank control — click to launch

Quad Tank

The four-tank system is a canonical multivariable nonlinear control problem. Solved here as an open-loop optimization with rIPOPT to track a target tank height profile.

Knapsack optimizer — click to launch

Knapsack

A 0-1 mixed-integer program: choose items with weight and value to maximize value under a capacity constraint. Foundational example for combinatorial optimization in operations research and process scheduling.

Diet optimizer — click to launch

Diet

The classic Stigler diet problem: minimize cost of a meal plan subject to nutritional constraints. The introductory linear program in operations research textbooks; still useful as a process blending teaching example.

Strip Packing GDP optimizer — click to launch

Strip Packing

Pack N rectangles into a fixed-width strip to minimize the used length. The problem is written as a generalized disjunctive program (GDP) and reformulated to an MILP. Compare the Big-M and Hull pyomo.gdp transformations, as well as the HiGHS and Gurobi solvers.

Circle Packing NLP optimizer — click to launch

Circle Packing

Pack N non-overlapping circles into the smallest enclosing rectangle. A textbook non-convex NLP from Biegler’s Nonlinear Programming, solved here with pounce, an interior-point method that converges to a local minimum. Edit any circle’s initial guess by hand to perturb the local optimum and re-solve.

Facility Layout optimizer — click to launch

Facility Layout

Place rectangular process units around a central pipe rack to minimize the facility’s width plus the cost-weighted Manhattan piping from each unit to the rack. A continuous-domain layout problem written as a generalized disjunctive program (GDP), reformulated to an MILP with symmetry-breaking, and solved with Gurobi.

© 2026 Devin Griffith · Griffith PSE

  • devin@griffith-pse.com