Use this page to plan a course, add an optimization assignment, learn a method, choose software, or find a chemical engineering case. The resources connect mathematical formulation with process models, data, computation, and engineering decisions.
| Change | Time | What to add | Good starting point |
|---|---|---|---|
| One class | 30 to 75 minutes | Turn an engineering statement into variables, objective, constraints, bounds, and units | Notre Dame Pyomo Cookbook |
| One assignment | One to two weeks | Build a model, verify it, solve it, and explain the decision | Ready-to-adapt assignments |
| Short module | Three to six classes | Formulation, linear or nonlinear methods, solver evidence, and sensitivity | BYU Design Optimization |
| Course redesign | One term | Modeling, algorithms, chemical engineering cases, uncertainty, computation, and AI-aware assessment | Course models below |
| Area | Students should be able to | Evidence |
|---|---|---|
| Problem definition | State the decision, objective, alternatives, constraints, data, uncertainty, and acceptance criteria | Plain-language problem statement |
| Formulation | Define sets, variables, units, bounds, equations, objective terms, and assumptions | Symbol table and mathematical model |
| Problem classification | Recognize linear, mixed-integer, nonlinear, convex, nonconvex, dynamic, stochastic, and multiobjective structure | Classification with reasons |
| Method selection | Match problem structure, scale, accuracy, and available software to a suitable method or solver | Solver choice and alternative |
| Numerical work | Use scaling, bounds, initialization, tolerances, derivatives, relaxations, and decomposition appropriately | Solver log and numerical checks |
| Verification | Check feasibility, units, balances, objective calculations, termination, optimality evidence, and reproducibility | Independent calculations and test cases |
| Decision analysis | Interpret sensitivity, tradeoffs, uncertainty, economics, safety, and limits | Engineering recommendation and scenarios |
| Responsible tools | Use code, solvers, GenAI, and agents with clear records, privacy controls, and human review | Source record, AI-use record, and audit trail |
| Stage | Core topics | Student activity | Useful resource |
|---|---|---|---|
| 1. Formulate | Variables, units, bounds, objective, constraints, assumptions, and degrees of freedom | Write and hand-check a blending or production model | ND Pyomo Cookbook |
| 2. Linear decisions | LP, duality, sensitivity, network models, and integer choices | Compare a hand solution with a solver and explain active constraints | Hands-On Mathematical Optimization |
| 3. Nonlinear models | Gradients, KKT conditions, local solutions, scaling, initialization, and constraints | Optimize a reactor or process design from several starting points | BYU Design Optimization |
| 4. Convexity and global search | Convex models, relaxations, branch and bound, global bounds, and nonconvexity | Compare local and global evidence on a small problem | Convex Optimization and EAGO |
| 5. Process systems | Flowsheets, thermodynamics, recycle, scheduling, design, and operations | Optimize one process and audit physical feasibility | IDAES examples |
| 6. Data and uncertainty | Parameter estimation, design of experiments, surrogates, uncertainty, and multiple objectives | Use data to update a model or compare tradeoffs | Pyomo.DoE |
| 7. Dynamic decisions | Optimal control, dynamic optimization, MPC, and state estimation | Choose a trajectory or operating policy under constraints | BYU Dynamic Optimization |
| 8. Integrated project | Safety, economics, communication, reproducibility, and responsible tool use | Defend the model, solution evidence, and recommendation | Chemical engineering cases |
| Format | Suggested sequence | Chemical engineering work | Assessment evidence |
|---|---|---|---|
| Undergraduate module Four to six classes |
Problem statements and formulations, LP and MILP, smooth NLP, solver output, sensitivity, and engineering decisions | Blending or production planning followed by a constrained reactor or heat-integration problem | Hand-checked formulation, reproducible notebook, solver record, sensitivity result, and short recommendation |
| Graduate course One term |
Formulation, LP and MILP, NLP, convexity, global methods, process systems, dynamic optimization, uncertainty, design of experiments, multiple objectives, and agentic workflows | Reactor, separations, flowsheet, scheduling, real-time optimization, estimation, or MPC cases that build toward an integrated project | Problem sets, code and model audits, method comparisons, project milestones, reproducibility package, presentation, and oral defense |
| Assignment | Time | Suggested source | What students submit |
|---|---|---|---|
| Gasoline blending | One week Introductory |
ND Pyomo Cookbook | Formulation, unit and balance checks, solution, active constraints, and sensitivity explanation |
| Refinery planning | Two weeks Intermediate |
MO Book refinery notebook | Baseline model, one planning extension, scenario comparison, and decision recommendation |
| Reactor optimization | One to two weeks Intermediate |
Van de Vusse reactor assignment | Model, bounds, multiple initializations, constraint residuals, and physical interpretation |
| Heat exchanger network synthesis | One to two weeks Advanced |
GAMS SYNHEAT model | Stream and utility data audit, temperature-approach checks, formulation map, solver evidence, network diagram, and comparison with a simple target |
| Distillation sequence synthesis | Two weeks Advanced |
GAMS NSHARPX or MINLPHIX | Sequence decisions, correlation and property assumptions, mass and energy checks, cost comparison, solver record, and limits of the legacy model |
| Flowsheet optimization | Two to four weeks Advanced |
IDAES HDA flowsheet | Converged base case, objective and constraints, solver record, sensitivity, and limitations |
| Water treatment design | Three to five weeks Advanced |
WaterTAP flowsheets | Treatment goals, cost model, technology choices, uncertainty cases, and decision tradeoffs |
| Model-based design of experiments | Two to three weeks Advanced |
Notre Dame reaction MBDoE | Candidate experiments, information measure, noise assumptions, selected design, and limitations |
| Real-time optimization study | Two to three weeks Advanced |
Notre Dame process operations notebooks | Steady-state target, dynamic or estimator context, update policy, disturbance test, constraint checks, and explanation of how the optimizer and controller interact |
| Audit an AI-generated formulation | One week Intermediate |
GenAI guidance below | Original prompt, generated model, error log, corrected model, solver checks, and explanation of each correction |
| Optimization agent project | Three to six weeks Advanced |
OptiGuide or an instructor-built tool wrapper | Verified base model, allowed tools, action log, test set, failure analysis, cost record, oral defense, and compliance with repository use restrictions |
| Step | Start here | What to do | Result |
|---|---|---|---|
| 1. Learn formulation | ND Pyomo Cookbook | Write a small model in words and mathematics before coding it | One to two weeks Checked LP or NLP formulation |
| 2. Learn core methods | BYU Design Optimization or MIT OpenCourseWare | Study linear, nonlinear, constrained, discrete, and numerical methods | Three to six weeks Worked problems and solver comparisons |
| 3. Use a modeling tool | Modeling tools below | Implement the same small problem in one tool and inspect solver output | One week Reproducible model |
| 4. Add process detail | Chemical engineering cases | Add balances, properties, kinetics, equipment limits, or operating choices | Two to four weeks Physically checked case |
| 5. Complete a project | Assignment ideas | Compare a baseline, verify feasibility, test uncertainty, and explain the decision | Three to six weeks Model, evidence, and recommendation |
| Resource | Audience and level | What is included | Best use | Access and limits |
|---|---|---|---|---|
| Design Optimization Brigham Young University |
Instructor and learner Upper undergraduate or graduate |
Syllabus, course schedule, Python and MATLAB examples, linear and nonlinear methods, discrete decisions, case studies, activities, and projects | Full engineering optimization course | Free online. Check individual downloads for reuse terms. |
| Optimization for Decision Science University of Notre Dame |
Instructor and learner Upper undergraduate or graduate |
Open Jupyter Book with formulation, linear and nonlinear models, Pyomo, network models, scheduling, and assignments | Notebook-centered course and self-study | Free online. Check the repository for current code and license details. |
| Notre Dame Pyomo Cookbook | Instructor and learner Introductory to advanced |
Notebooks on blending, production, scheduling, estimation, reactors, control, and many mathematical programming patterns | Ready examples and assignments | Text is CC BY-NC-ND and code is MIT. Run older notebooks before class. |
| Process Optimization LearnCHE and McMaster |
Instructor and learner Upper undergraduate |
Archived chemical engineering course with lessons, assignments, solutions, and process examples | Course structure and legacy assignments | Free archive from 2014. Review software and links before use. Reuse terms vary. |
| Optimization Methods MIT OpenCourseWare |
Instructor and learner Advanced undergraduate or graduate |
Lecture notes, assignments, exams, linear and nonlinear methods, networks, dynamic programming, and integer optimization | Methods course and problem sets | Free under MIT OpenCourseWare terms. Examples are not chemical engineering specific. |
| Computational Optimization Open Textbook Cornell University |
Instructor and learner Intermediate to advanced |
Student-contributed chapters on algorithms, model classes, and applications | Topic reference and student reading | Open to read. Depth and style vary, so instructors should review assigned pages. |
| Resource and author | Level and publication | Topics and best use | Access and limits |
|---|---|---|---|
| Engineering Design Optimization Martins and Ning |
Advanced undergraduate or graduate 2022 |
Theory, algorithms, multidisciplinary design, examples, code, and data | Free to read online with copyright retained. The printed book is commercial. |
| Hands-On Mathematical Optimization with Python Postek, Zocca, Gromicho, and Kantor |
Introductory to intermediate 2025 |
Jupyter notebooks on LP, MIP, networks, scheduling, blending, refinery planning, and uncertainty | Notebook code is MIT licensed. The printed book is sold separately. |
| Convex Optimization Boyd and Vandenberghe |
Advanced or graduate 2004 |
Convex analysis, duality, modeling, algorithms, and exercises | Free to read online with copyright retained. Not chemical engineering specific. |
| Engineering Optimization: Applications, Methods, and Analysis Rhinehart |
Upper undergraduate or graduate 2018 |
Engineering applications, formulation, numerical methods, and analysis | Commercial textbook. Confirm student cost and availability. |
| Design Optimization Book Chapters Hedengren |
Upper undergraduate or graduate Living online chapters |
Engineering examples and chapters aligned with the BYU course | Free online. Check rights for any redistribution. |
| Engineering Optimization Rao |
Intermediate to advanced Fifth edition, 2019 |
Broad methods reference with engineering applications | Commercial publisher access. |
| Optimization of Chemical Processes Edgar, Himmelblau, and Lasdon |
Advanced chemical engineering Second edition, 2001 |
Chemical process formulation, nonlinear methods, process design, and operations | Free 25.5 MB CACHE archive. Check copyright and redistribution terms before modifying or reposting it. Files and software are legacy. |
| Problem type | Typical chemical engineering use | What to teach | Possible tools | Watch for |
|---|---|---|---|---|
| LP | Blending, production planning, allocation, and network flow | Linearity, active constraints, dual values, and sensitivity | HiGHS through SciPy, SCIP, Gurobi, GAMS, AMPL, Pyomo, or JuMP | Incorrect units, missing bounds, and interpreting duals after model changes |
| MILP | Scheduling, equipment selection, process synthesis, and logistics | Binary decisions, formulations, relaxations, branch and bound, and gap | HiGHS, SCIP, OR-Tools, Gurobi, GAMS, AMPL, Pyomo, or JuMP | Weak big-M values, symmetry, long solve times, and accepting a solution without a gap |
| Smooth NLP | Reactor design, parameter estimation, economics, and continuous process design | Gradients, KKT conditions, local solutions, scaling, and initialization | SciPy, Ipopt, Knitro, CONOPT, CasADi, GEKKO, GAMS, Pyomo, or JuMP | Local optima, infeasible starts, poor scaling, and incorrect derivatives |
| Nonconvex NLP or MINLP | Phase equilibrium, process synthesis, pooling, and rigorous flowsheets | Convex relaxations, bounds, global search, and valid termination claims | BARON, Couenne, EAGO, SCIP for supported models, Gurobi for supported structures, or APOPT | Local solutions presented as global, loose bounds, discontinuities, and high computation |
| Dynamic optimization | Batch operation, grade transition, startup, energy use, and optimal control | Discretization, path constraints, controls, states, estimation, and time grids | GEKKO, CasADi, Pyomo.DAE, JuMP ecosystem, or IDAES | Discretization error, initialization, stiffness, and hidden infeasibility |
| Stochastic or robust optimization | Planning under uncertain demand, price, feed, kinetics, or reliability | Scenarios, recourse, risk measures, robustness, and value of information | Pyomo, JuMP, GAMS, AMPL, or specialized packages | Unsupported distributions, too few scenarios, and confusing robustness with probability |
| Multiobjective optimization | Cost, emissions, safety, water, energy, and product quality tradeoffs | Pareto sets, scaling, preferences, and decision support | pymoo, Pyomo, JuMP, GAMS, or custom methods | Arbitrary weights, incomparable units, and claiming one solution is best without preferences |
| Derivative-free optimization | Expensive simulators, laboratory experiments, nonsmooth models, and black-box tuning | Budgets, noise, exploration, repeatability, and benchmark comparisons | pymoo, SciPy, commercial tools, or specialized libraries | No optimality proof, stochastic variation, high evaluation cost, and unsafe experiments |
The NEOS Guide explains common problem types and algorithms. The PLATO Optimization Software Guide helps compare software, test results, and problem classes.
| Tool | Teaching use | Runs where and data location | Access and limits |
|---|---|---|---|
| AMPL | Readable algebraic models for LP, MIP, NLP, and many solver backends | Desktop, notebook, or hosted services Data location depends on the chosen setup |
Commercial with free learning options. The Community Edition supports learning, open projects, and noncommercial prototyping. It has no model-size limits with selected open solvers, needs internet for its cloud license, and does not expire. Commercial solver trials last 30 days. AMPL for Courses gives approved classes a time-limited bundle with additional solvers. |
| GAMS | Algebraic modeling, large model library, and broad solver access | Desktop, server, or cloud Data location depends on deployment |
Commercial. Free personal and academic options differ in eligibility and solver access. Some have no model-size limits. |
| Pyomo | Python models for linear, integer, nonlinear, dynamic, stochastic, and other optimization | Local Python, notebook, server, or cloud | BSD. Solvers are installed and licensed separately. |
| JuMP | Julia algebraic modeling with strong tutorials and solver interfaces | Local Julia, notebook, server, or cloud | MPL-2.0. Students need Julia and a compatible solver. |
| CasADi | Algorithmic differentiation, nonlinear optimization, optimal control, and dynamic models | Local Python, MATLAB, or C++ | LGPL. CasADi is a framework, not a complete solver. Advanced users must choose and configure a solver. |
| GEKKO | Algebraic and dynamic optimization, estimation, control, and engineering models | Python with hosted or local solving | MIT. Remote mode sends a model to a service. Use GEKKO(remote=False) when work must stay local. |
| CVXPY | Teaching convex modeling and disciplined convex programming in Python | Local Python or notebook | Apache 2.0. Models must follow supported curvature rules. It is not a general nonconvex modeling tool. |
| SciPy.optimize | Direct Python exercises in local and constrained minimization, least squares, roots, linear programming, mixed-integer linear programming, and derivative-free methods | Local Python or notebook Data stay local unless the notebook is hosted |
BSD-3-Clause. It is a numerical library, not an algebraic modeling language. Capabilities differ by method. Check scaling, starts, repeatability, status, and whether a result is local. |
| Google OR-Tools | Routing, scheduling, assignment, network flow, constraint programming, LP, and MIP | Local Python, C++, Java, or C# | Apache 2.0. Strong for discrete decisions and operations research. CP-SAT requires integer variables and coefficients. It is not a general smooth NLP tool. |
| Tool | Problem classes | Runs where and data location | Access and limits |
|---|---|---|---|
| HiGHS | LP, MIP, and QP | Local library, command line, Python, Julia, SciPy, and other interfaces | MIT. Good open default for linear and mixed-integer teaching. SciPy uses HiGHS in linprog and milp. |
| SCIP and PySCIPOpt | MIP, constraint integer programming, and supported bounded MINLP models | Local C library, command line, Python wrapper, and modeling-system interfaces | Apache 2.0 for current releases. PySCIPOpt can be installed with pip. Global claims require supported bounded models, suitable tolerances, and a completed solve. |
| Ipopt | Large smooth constrained NLP | Local library through many modeling tools | EPL-2.0. Finds a local solution and does not prove a global optimum for nonconvex models. |
| BARON | Deterministic global NLP and MINLP | Local through supported modeling systems or hosted through NEOS | Proprietary with paid academic licensing. The unlicensed local mode is limited to 10 variables, 10 constraints, and 50 nonlinear operations. Separate modeling-system licenses may be needed. NEOS receives the submitted model. |
| Bonmin | MINLP with exact methods for convex models and heuristic use on nonconvex models | Local library and modeling-system interfaces | EPL-1.0. Open source. Installation, documentation, and compiled dependencies are legacy. |
| Couenne | Global optimization for factorable nonconvex MINLP | Local library and modeling-system interfaces | EPL. Open source with legacy setup. Finite bounds are important. Only a completed solve within stated tolerances supports a global certificate. |
| Artelys Knitro | Smooth NLP, QP, QCQP, SOCP, nonlinear least squares, complementarity, and supported MILP or MINLP | Local through Python, MATLAB, modeling systems, and other interfaces | Commercial. Approved courses can receive full-featured 12-month teaching licenses. Nonconvex NLP results are generally local, and nonconvex MINLP methods are heuristic. |
| MOSEK | LP, convex QP and QCQP, conic, semidefinite, and supported mixed-integer convex models | Local library through Python and many modeling tools | Commercial. Eligible academic users can obtain a free renewable 365-day personal license without model-size limits. The academic license excludes the AMPL shell. It is not a general nonconvex NLP solver. |
| Gurobi Optimizer | LP, MIP, QP, QCP, and supported convex and nonconvex structures | Local, server, or cloud depending on the license | Commercial. Eligible academic users can obtain free full-featured licenses without model-size limits. Account and institutional eligibility still apply. See Gurobi for Academics. |
| EAGO | Deterministic global optimization for nonconvex NLP and MINLP in Julia | Local Julia | MIT. Global methods need valid variable bounds and can be computationally expensive. |
| CONOPT | Large smooth NLP | Usually local through GAMS and supported systems | Commercial local NLP solver. Qualified academics can request a full no-size-limit license for noncommercial teaching and research. |
| APOPT | NLP and MINLP with engineering and dynamic optimization interfaces | Download or hosted solve through APMonitor and GEKKO | Free to use. Source and reuse terms are not stated as clearly as for open-source solvers. Hosted use sends the model to a service. |
| COIN-OR Projects | Open solver and operations research software collection | Mostly local libraries and command-line tools | Open source with project-specific licenses. Choose a project that matches the model class. |
| HSL MA57 and HSL MA97 | Sparse linear algebra used inside nonlinear solvers such as Ipopt Not standalone optimization solvers |
Compiled local libraries with BLAS and LAPACK | No-cost personal academic teaching and research licenses are available to eligible users. Redistribution and sharing are restricted. Compilation adds setup effort. |
| NEOS Server | Remote access to many optimization solvers | Hosted service Submitted models and data leave the device |
Free public service. Do not submit proprietary, personal, export-controlled, or restricted data. Queue and solver limits vary. |
| pymoo | Multiobjective and evolutionary optimization | Local Python | Apache 2.0. Stochastic methods do not by themselves prove global optimality. |
Use a small verified case before assigning a large flowsheet. Confirm the software, solver, data rights, file size, and expected run time in the student environment.
| Resource | Engineering use | Level and scale | Access and limits |
|---|---|---|---|
| ND Pyomo Cookbook | Blending, production, scheduling, parameter estimation, reactors, and control | Introductory to advanced Short notebooks to projects |
Text is CC BY-NC-ND and code is MIT. Check older dependencies. |
| IDAES HDA Flowsheet | Multi-unit steady-state flowsheet with recycle, simplified properties, reaction, separation, costing, and process optimization | Advanced Multi-unit flowsheet |
Open source. Requires IDAES, Pyomo, compatible solvers, and careful initialization. |
| WaterTAP Flowsheets | Water treatment design, costing, technology selection, energy, and resource recovery | Advanced Unit models to treatment trains |
Open source. Installation and solver setup are substantial. |
| BioSTEAM | Biorefinery simulation, techno-economic analysis, process design, and uncertainty studies | Intermediate to advanced Python processes and full biorefineries |
Open source. Verify property models, process assumptions, and version-specific examples. |
| Gurobi Refinery Planning Demo | Planning and optimization in a refinery setting | Intermediate Guided commercial demo |
Public demonstration. Gurobi and account or license access may be needed for full use. |
| EAGO ModelingToolkit Examples | Global optimization of chemical process models including reactor and separator structures | Advanced Course-sized Julia examples |
MIT. Global solve performance depends strongly on bounds and formulation. |
| BYU Application Project | Student-selected engineering optimization with Python or MATLAB | Intermediate to advanced Multiweek project |
Free project guidance. Students must source data and document rights. |
| Biomass Utilization Superstructure | Optimization-based synthesis and analysis of biomass-to-fuel strategies | Advanced Browser application |
Public web application. Treat results as a teaching model and verify current availability. |
| CEPAC Process Systems Modules | Process analysis, simulation, design, and optimization modules | Intermediate to advanced Varied modules |
Older educational collection. Test links and software before class. |
| Dynamic Optimization BYU |
Optimal control, estimation, differential equations, batch and trajectory problems | Advanced Full course or selected problems |
Free online. Some workflows use hosted solves unless configured locally. |
| Resource | Best use | Scale | Access and limits |
|---|---|---|---|
| GAMS Model Library | Documented examples across model classes and application areas | Small examples to large models | Public documentation. Running models requires compatible GAMS and solver access. |
| MINLPLib | Advanced testing of mixed-integer nonlinear formulations and solvers | Large benchmark collection | The library site states CC BY 4.0. Check each model's origin and attribution. Many cases are too difficult for an introductory course. |
| MIPLIB | Mixed-integer solver testing and performance studies | Curated benchmark collection | Public benchmark. Models are not mainly chemical engineering examples. |
| NL4Opt | Testing conversion of natural-language problems into simple linear programs | About 1,100 short LP examples | MIT. Problems are simple and mainly useful for LLM formulation studies. |
| Resource | Best use | Questions to ask |
|---|---|---|
| Pyomo.DoE | Model-based design of experiments and parameter information | Are the noise model, prior values, candidate experiments, and identifiability assumptions reasonable? |
| Reaction Model-Based Design of Experiments Notre Dame |
Course-sized chemical reaction example | Does the proposed experiment distinguish parameters and remain safe and practical? |
| IDAES Surrogate Examples | Surrogates inside process models and optimization | Is the optimizer leaving the training region? Are physical constraints and uncertainty checked? |
| CACHE Data-Driven Engineering resources | Data quality, time series, hybrid models, uncertainty, and engineering datasets | Are source, license, sampling, leakage, extrapolation, and drift documented? |
For multiple objectives and Pareto-set activities, see pymoo in the solver table. Ask students to check objective scaling, sampling, stochastic variation, and reproducibility.
LLMs can help translate a problem, draft code, explain solver output, and explore scenarios. They can also invent functions, omit constraints, reverse signs, use the wrong units, misclassify a model, or claim optimality without evidence.
| Stage | Better prompt or activity | Required student evidence |
|---|---|---|
| Baseline | Formulate a small version without AI and calculate one feasible point or bound | Student-written formulation and independent result |
| Clarify | Ask the assistant to list missing decisions, data, units, bounds, constraints, assumptions, and uncertainty as questions | Final problem statement with answers and sources |
| Plan | Ask for sets, variables, objective, constraints, problem class, possible solvers, validation tests, and likely failure modes | Reviewed plan with accepted and rejected suggestions |
| Implement | Generate one model block or test at a time and require current documentation links for library calls | Version history, running code, and source record |
| Audit | Ask for a hostile review of units, indices, signs, bounds, balances, feasibility, scaling, termination, gap, KKT conditions, and limiting cases | Independent calculations and corrected model |
| Compare | Compare one-shot prompting with structured planning and a corrected formulation | Error table, solution differences, and explanation of why the final model is better |
| Decide | Use the tool to organize scenarios and claims that need evidence | Engineering recommendation, sensitivity results, and known limits |
| Resource | Best use | Runs where and data location | Access and limits |
|---|---|---|---|
| OptiGuide | LLM-assisted what-if questions around a verified optimization model | Local code plus an LLM service unless adapted for a local model | MIT research prototype. The repository permits evaluation but prohibits scraping its content for model training. Protect data, restrict tools, and verify every model change. |
| AMPLbot | Natural-language help with AMPL formulation and code | Hosted assistant Prompts go to a service |
Vendor tool. Confirm account, privacy, retention, cost, and course access. |
| ORLM | Advanced research on language models for operations research formulation | Local or hosted depending on the model and hardware | Repository code is Apache 2.0. Model weights use separate Llama terms. Current evaluation uses COPT, training needs substantial GPU resources, and generated formulations require careful review. |
| CACHE Programming GenAI guide | Local models, commercial assistants, coding agents, privacy choices, prompting, and course redesign | Local and hosted options | Check campus policy and current product terms. |
| CACHE Agentic Engineering resources | Agent foundations, tool use, evaluation, logging, and responsible AI | Local and hosted options | Start with limited, reversible tasks and fixed tests. |
For a small local benchmark of natural-language to linear-program conversion, see NL4Opt in the benchmark table.
Use the NIST Generative AI Profile to build a risk register, test plan, source record, and incident exercise.
Grade the formulation, checks, and decision evidence, not just the objective value. A solver status or confident generated explanation is not proof that the engineering model is correct.
| Method | What it reveals | Example |
|---|---|---|
| Formulate before coding | Understanding of the decision and mathematical structure | Submit the symbol table, objective, constraints, bounds, units, and assumptions first |
| Small hand-check | Whether the model and objective are understood | Calculate a feasible point, bound, relaxation, or tiny instance independently |
| Staged submission | Planning, revision, and debugging | Submit problem statement, model, tests, scenarios, and recommendation in stages |
| Live modification | Ownership of code and formulation | Change a bound, price, capacity, constraint, or initial point and predict the effect |
| Oral check | Individual understanding in teamwork | Explain one variable, constraint, solver message, active bound, and tradeoff |
| Error diagnosis | Critical review skill | Repair a plausible indexing, units, big-M, sign, scaling, or termination error |
| Method comparison | Whether solver choice is justified | Compare a local result, global bound, relaxation, heuristic, or alternative formulation |
| Review area | Questions | Evidence |
|---|---|---|
| Decision | Does the objective represent the stated decision? Are alternatives, time horizon, stakeholders, and acceptance criteria clear? | Problem statement and objective calculation |
| Variables and indices | Are domains, units, bounds, sets, and indices complete and used consistently? | Symbol table and dimensional checks |
| Physics and chemistry | Do balances, properties, kinetics, equipment limits, phase behavior, and operating rules match the system? | Independent engineering calculations and limiting cases |
| Feasibility | Are all constraints satisfied within meaningful tolerances? Is any slack artificial or too costly? | Constraint residuals, slack report, and reconstructed balances |
| Problem class | Is the model truly linear, convex, smooth, integer, dynamic, stochastic, or nonconvex as claimed? | Structure review and software documentation |
| Numerics | Are scaling, initial values, derivatives, tolerances, discretization, and big-M values defensible? | Solver log, derivative check, and sensitivity tests |
| Termination | What does the solver status actually guarantee? Is there an optimality gap, bound, KKT check, or only a feasible local point? | Complete solver report and accurate claim |
| Alternatives | Do different starts, formulations, solvers, scenarios, or relaxations change the decision? | Comparison table and explanation |
| Uncertainty | How do prices, demand, measurements, properties, kinetics, and equipment availability affect the result? | Sensitivity, scenario, robust, or stochastic analysis |
| Safety and use | Could the optimizer exploit an unsafe or unrealistic omission? Which decisions still require human approval? | Hazard and operability review with explicit limits |
| Reproducibility | Can another person reproduce the result with documented data, versions, solver settings, seeds, and hardware? | Fresh run and complete source record |
Ask students to report the tool, product, and model, date and version, local or cloud deployment, files or context shared, important prompts or a concise interaction summary, suggestions accepted, changed, and rejected, model and solver checks, sources, usage or cost when relevant, and remaining limitations. Students remain responsible for the model and decision they submit.
| Resource | Best use | Notes |
|---|---|---|
| Center for Optimization and Statistical Learning | Research context connecting optimization and machine learning | Research center, not a ready course. |
| AlphaOpt | Short introductory optimization videos | Supplemental video collection. Review individual topics and depth. |
When suggesting a resource, include its audience, prerequisites, problem class, expected time, setup needs, language, solver, data size, license, available assignments, and known limits.
Send feedback to Dr. John Hedengren at Brigham Young University or Dr. Matthew Stuber at the University of Connecticut.
(last updated: 2026/08/10)
Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer