CBE 40455/60455 Process Operations: Syllabus#

August 23, 2022

Catalog Description#

This course introduces students to methods for the analysis and optimization of process operations. Topics will include process modeling, continuous and discrete optimization, scheduling, supply chains, scenario analysis, and financial analysis for process operations. Special emphasis will be given to practical implementation of methods for real world applications.

Course Information#

Schedule and Locations#

  • Class Meetings: TTh 9:35-10:50 in 119 DeBartolo Hall

  • Course Management: Course materials and assignments will be managed using Canvas, Notre Dame’s Learning Management System.

  • Github Repository: jckantor.github.io/CBE60455

  • Instructor: Jeffrey Kantor, Department of Chemical & Biomolecular Engineering.

    • Office: 257 Nieuwland Hall

    • Office Hours: Monday and Wednesday afternoons are the regularly scheduled drop-in office hours for the course. Otherwise I’m generally available during regular business hours by appointment.

    • Email: jeff@nd.edu This is the generally the best way to reach me.

    • Text Message: 574-532-4233

Textbooks and Readings#

There is no fixed textbook for the course. Course notes will be available as Jupyter notebooks incorporated in the Github repository jckantor.github.io/CBE60455 Reference materials, and links to journal articles, are cited in the course notebooks.

Computational Resources#

The course is organized as a series of 1-2 week units, each accompanied by a substantial computational project. Modeling and Python coding are integrated into virtually every lecture and assignment.

Enrolled students will require a recent model of a high performance laptop capable of efficiently running state-of-the-art Python development environments, libraries for data science and optimization, and discrete-event simulation. Simulation and optimization models may include up to 100,000 variables and constraints. A recommended configuration would be Mac, Windows, or Linux laptop with 8GB of memory, approximately 100GB of free storage, and capable of installing and running commercial optimization codes such as Gurobi, Mosek, and open source CBC.

Topics#

Weeks 1-2: Discrete Event Dynamics and Simulation#

  • Discrete Event Simulation. Implementing discrete event simulations in Python. Poisson processes, queues, evaluating simulation results.

Reading: \citep{Beamon1998} \citep{Christopher2000} \citep{Shah2005} \citep{You2008} \citep{Ferrio2008}

Project: Simulation a COVID outbreak.

Weeks 3-4: Linear Optimization#

  • Blending Problems. Formulation and solution of blending'  and diet’ models. History and significance of linear programming. Comparison of single product and multi-product plants.

  • Modeling Languages. Formulation and solution of linear programming problems using spreadsheets, algebraic modeling languages, and embedded modeling languages.

  • Examples of modeling languages for mathematical programming.

    • AMPL

    • APMonitor

    • GLPK/MathProg

    • CMPL

    • CPLEX/OPL

  • Examples of modeling languages embedded within programming languages.

    • Matlab/CVX

    • Matlab/YALMIP

    • Matlab|Python/APMonitor

    • Python/PuLP

    • Python/Pyomo

  • Mathematical formulation and optimality conditions. Standard formulations of linear programming problems. Necessary conditions for optimality. Outline of an active set method for solution.

  • Sensitivity Analysis. Weak and strong duality. Slack variables, shadow prices. Applications to process analysis and decision making.

  • Transportation, Assignment, and Network Flow Problems]

  • Project Management. Critical Path Method, PERT and Gantt charts.

{Readings:}

{Project:} Optimization of a simple model for refinery operations (Example 16.1 from \citep{Edgar2001}).

Weeks 5-6: Scheduling#

  • Mixed Integer Linear Programming. Integer and binary variables. Using binary variables to model logical constraints and application to process decisions. Application to agricultural and stock cutting operations.

  • Scheduling. Empirical methods for job scheduling.

  • Machine and Job Scheduling. Modeling machines and jobs. Disjuctive constraints. Locating bottlenecks, tracking jobs and machine activities with Gannt charts. Practical implications of computational complexity.

  • Short Term Scheduling of Batch Processes. Resource task networks, state task networks.

Reading: \citep{Mendez2006a} \citep{Floudas2005a}

Project: Scheduling production for a contract pharmaceutical manufacturer.

Weeks 7-8: Logistics#

  • Inventory Management. Inventory, reorder levels, economic order quantity. Empirical models for inventory management.

  • Supply Chains. Beer Game Simulation. Multi-echelon supply chains, processes, dynamics, and the `bullwhip’ effect. The role of information flow in supply chains.

Readings#

Fisher, Marshall L. “What is the right supply chain for your product?.” Harvard business review 75 (1997): 105-117.

Weeks 9-10: Optimization under Uncertainty#

  • Newsvendor Problem. Optimal order size for uncertain demand \citep{Petruzzi1999}.

  • Scenario Analysis. Plant expansion. Introduction to stochastic programming. Expected values, optimization of the mean scenario, value of perfect information, value of the stochastic solution. Here and Now' decisions versusWait and See’.

  • Stochastic Linear Programming. Two stage decisions, recourse variables. Implementing stochastic linear programs with algebraic modeling languages. Solution by decomposition methods.

  • Process Resiliency. Measures of process flexibility and resiliency to perturbations.

Readings: \citep{Sen1999a} \citep{Grossmann2014}

Project: Production planning for a consumer goods company.

Weeks 11-12: Financial Modeling, Risk and Diversification#

  • Time value of money. Discounted cash flows. Replicating portfolio for a sequence of cash flows. Bonds and duration. Net present value and internal rate of returns. Project valuation.

  • Stochastic Modeling of Asset Prices. Statistical properties of prices for financial assets and commodity goods. Statistical distributions, discrete time models, model calibration, approximations with binomial trees. Correlation and copulas.

  • Commodity Markets. Futures, forwards, and options, and swaps. Hedging operational costs. Replicating portfolios.

  • Investment Objectives. Kelly’s criterion, and log optimal growth. Logarithmic utility functions, certainty equivalence principle, coherent risk measures, first and second order stochastic dominance. Practical risk measures.

  • Portfolio Management. Risk versus return. Markowitz analysis, diversification. Efficient frontier. Comparison of Markowitz to Mean Absolute Difference, and optimal portfolios. Effects of adding a risk-free asset, two-fund theorem, market price of risk.

  • Real Options. European and American options on a financial asset. Extending the analysis to real options on tradable assets, and to decisions without tradable assets. \citep{Davis20xx}

Reading: \citep{Adner2004}, \citep{Anderson2013},

Project: (a) Valuation of a natural resource operation, or (b) Pricing and managing an energy swap for a flex-fuel utility

Weeks 13-14: Capstone Project#

The capstone experience will be a team-based, integrative, open-ended project. Student teams will propose projects of their own design or select from a suggested list of projects. Projects will consist of an initial proposal, an oral status report to the class, a final poster presentation and written report, and a Github repository memorializing the project.

Project Ideas#

  • Networks Against Time. Blood supplies, medical nuclear supplies, pharacueticals, food, and fast fashion are all examples of supply chains for perishable products. The book Networks Against Time (available from Hesburgh Library) describes analytics suitable for supply chains of perishable goods. Using an example from this book, develop an analytical model, sample calculation, and simulation.

  • Model Predictive Control is an optimization-based method for feedback control of dynamical systems. Implement and MPC controller for a system with discrete decisions.

  • Refinery Products Pooling Problem is the task of finding a cost set of product pools from which final products can be blended. The project is to develop and solve an example problem.

  • Energy Swap design and price an energy swap for a flex fuel utility located on a university campus.

  • Demand Response evaluate the potential for demand response for an aluminum smelter or a chlorine producer.

  • Process Resiliency has been a topic discussed in the process systems engineering literature since the pioneering work of Morari and Grossmann in the early 1980’s (Grossmann, 2014). The purpose of this project is to implement a measure of process resiliency and demonstrate its application to a chemical process.

  • Log Periodic Power Laws are models that have been used to predict the collapse of speculative `bubbles’ in financial and commodity markets. For this project, develop a regression method to fit a log periodic power law model to commodity price data, and compare a recent data series of your choice to the price of gold in the 2007–2009 period.

Additional project ideas can be found at the following links:

Project Github Repository#

Your project should be memorialized in the form of a Github repository. The simplest way to manage your repository is to use download the Github Desktop application and follow the tutorial and guides.