From 6ea5bb820c3376696b0fdd4bebddf8022c97fa46 Mon Sep 17 00:00:00 2001 From: Alex Dowling Date: Wed, 25 Jun 2025 06:23:21 -0400 Subject: [PATCH 1/3] Added links and references to background material --- idaes_examples/notebooks/index.md | 6 +++++- idaes_examples/notebooks/references.bib | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/idaes_examples/notebooks/index.md b/idaes_examples/notebooks/index.md index 606a8a8e..5889705d 100644 --- a/idaes_examples/notebooks/index.md +++ b/idaes_examples/notebooks/index.md @@ -25,11 +25,15 @@ The online examples have been created with the ### Prerequisites -Examples in this documentation are rigorously *tested* to ensure that they work with the *latest* version of the IDAES +**Install the latest version of IDAES.** Examples in this documentation are rigorously *tested* to ensure that they work with the *latest* version of the IDAES software. For more information on installing IDAES on your platform, please refer to the [IDAES documentation](https://idaes-pse.readthedocs.io/en/latest/index.html). +**Learn about mathematical optimization and Pyomo.** IDAES is a state-of-the-art equation-oriented modeling and optimization environment. Below are recommended topics and references: +* *Mathematical optimization* especially nonlinear programs (optimization problems) and chemical engineering applications. {cite}`Postek2025`, along with the [companion website](https://mobook.github.io/MO-book/intro.html) and [overview video](https://www.youtube.com/watch?v=DPv-7TeSTNs), are the best resources for a user new to mathematical optimization. {cite}`biegler1997systematic`, {cite}`biegler2010nonlinear`, and {cite}`grossmann2021advanced` are excellent references for advanced users. The [Prof. Dowling's course website](https://ndcbe.github.io/optimization/intro.html) includes Jupyter notebooks and Pyomo examples inspired by these texts. +* *Pyomo*. IDAES is built upon Pyomo, which is an open-source algebraic modeling environment. New users will likely find {cite}`Postek2025` along its [companion website](https://mobook.github.io/MO-book/intro.html) and the [ND Pyomo Cookbook](https://ndcbe.github.io/ND-Pyomo-Cookbook/README.html) as the easiest introduction to Pyomo. Other excellent resources include {cite}`bynum2021pyomo` and the [Pyomo documentation](https://pyomo.readthedocs.io/en/stable/). + ### Getting the source code The full source code for these examples is available from the [IDAES examples repository](https://github.com/IDAES/examples) on GitHub. diff --git a/idaes_examples/notebooks/references.bib b/idaes_examples/notebooks/references.bib index ea7b27b2..323d5af6 100644 --- a/idaes_examples/notebooks/references.bib +++ b/idaes_examples/notebooks/references.bib @@ -14,4 +14,21 @@ @incollection{miller2018idaes Bethany Nicholson and Carl Laird and Lorenz T. Biegler and Debangsu Bhattacharyya and Nikolaos V. Sahinidis and Ignacio E. Grossmann and Chrysanthos E. Gounaris and Dan Gunter}, keywords = {Multiscale modeling, conceptual design, process optimization, dynamic optimization, parameter estimation} +} + +@book{Postek2025, + title = {Hands-On Mathematical Optimization with Python}, + author = { Krzysztof Postek and Alessandro Zocca and Vrije Universiteit Amsterdam and Joaquim A. S. Gromicho}, + publisher = {Cambridge University Press}, + year = {2025}, + isbn = {9781009493505}, + url = {https://www.cambridge.org/us/universitypress/subjects/mathematics/optimization-or-and-risk-analysis/hands-mathematical-optimization-python} +} + +@book{biegler1997systematic, + title={Systematic methods of chemical process design}, + author={Biegler, Lorenz T and Grossmann, Ignacio E and Westerberg, Arthur W}, + year={1997}, + publisher={Prentice Hall}, + isbn={9780134924229} } \ No newline at end of file From 8beb5f0de6dcecf08900cefc400d6438e7a9e6eb Mon Sep 17 00:00:00 2001 From: Alex Dowling Date: Wed, 25 Jun 2025 06:27:37 -0400 Subject: [PATCH 2/3] Forgot to save changes --- idaes_examples/notebooks/references.bib | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/idaes_examples/notebooks/references.bib b/idaes_examples/notebooks/references.bib index 323d5af6..dc30276e 100644 --- a/idaes_examples/notebooks/references.bib +++ b/idaes_examples/notebooks/references.bib @@ -31,4 +31,28 @@ @book{biegler1997systematic year={1997}, publisher={Prentice Hall}, isbn={9780134924229} +} + +@book{biegler2010nonlinear, + title={Nonlinear programming: concepts, algorithms, and applications to chemical processes}, + author={Biegler, Lorenz T}, + year={2010}, + publisher={SIAM} +} + +@book{grossmann2021advanced, + title={Advanced optimization for process systems engineering}, + author={Grossmann, Ignacio E}, + year={2021}, + publisher={Cambridge University Press}, + isbn = {9781108831659} +} + +@book{bynum2021pyomo, + title={Pyomo-optimization modeling in python}, + author={Bynum, Michael L and Hackebeil, Gabriel A and Hart, William E and Laird, Carl D and Nicholson, Bethany L and Siirola, John D and Watson, Jean-Paul and Woodruff, David L and others}, + volume={67}, + number={s 32}, + year={2021}, + publisher={Springer} } \ No newline at end of file From 34ebc13c46044342e63cbf3ba788a041e8fd926d Mon Sep 17 00:00:00 2001 From: Bethany Nicholson Date: Wed, 1 Oct 2025 11:39:38 -0600 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Miranda Mundt <55767766+mrmundt@users.noreply.github.com> --- idaes_examples/notebooks/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/idaes_examples/notebooks/index.md b/idaes_examples/notebooks/index.md index 5889705d..b0bb00a3 100644 --- a/idaes_examples/notebooks/index.md +++ b/idaes_examples/notebooks/index.md @@ -31,8 +31,8 @@ For more information on installing IDAES on your platform, please refer to the [IDAES documentation](https://idaes-pse.readthedocs.io/en/latest/index.html). **Learn about mathematical optimization and Pyomo.** IDAES is a state-of-the-art equation-oriented modeling and optimization environment. Below are recommended topics and references: -* *Mathematical optimization* especially nonlinear programs (optimization problems) and chemical engineering applications. {cite}`Postek2025`, along with the [companion website](https://mobook.github.io/MO-book/intro.html) and [overview video](https://www.youtube.com/watch?v=DPv-7TeSTNs), are the best resources for a user new to mathematical optimization. {cite}`biegler1997systematic`, {cite}`biegler2010nonlinear`, and {cite}`grossmann2021advanced` are excellent references for advanced users. The [Prof. Dowling's course website](https://ndcbe.github.io/optimization/intro.html) includes Jupyter notebooks and Pyomo examples inspired by these texts. -* *Pyomo*. IDAES is built upon Pyomo, which is an open-source algebraic modeling environment. New users will likely find {cite}`Postek2025` along its [companion website](https://mobook.github.io/MO-book/intro.html) and the [ND Pyomo Cookbook](https://ndcbe.github.io/ND-Pyomo-Cookbook/README.html) as the easiest introduction to Pyomo. Other excellent resources include {cite}`bynum2021pyomo` and the [Pyomo documentation](https://pyomo.readthedocs.io/en/stable/). +* *Mathematical optimization* especially nonlinear programs (optimization problems) and chemical engineering applications. {cite}`Postek2025`, along with the [companion website](https://mobook.github.io/MO-book/intro.html) and [overview video](https://www.youtube.com/watch?v=DPv-7TeSTNs), are the best resources for a user new to mathematical optimization. {cite}`biegler1997systematic`, {cite}`biegler2010nonlinear`, and {cite}`grossmann2021advanced` are excellent references for advanced users. [Professor Alexander Dowling's course website](https://ndcbe.github.io/optimization/intro.html) includes Jupyter notebooks and Pyomo examples inspired by these texts. +* *Pyomo*. IDAES is built upon Pyomo, which is an open-source algebraic modeling environment. New users will likely find {cite}`Postek2025` along with its [companion website](https://mobook.github.io/MO-book/intro.html) and the [ND Pyomo Cookbook](https://ndcbe.github.io/ND-Pyomo-Cookbook/README.html), as the easiest introduction to Pyomo. Other excellent resources include {cite}`bynum2021pyomo` and the official [Pyomo documentation](https://pyomo.readthedocs.io/en/stable/). ### Getting the source code The full source code for these examples is available from the