From e6d625ad9e12bb5445bc0396f9fdd64f05d6e226 Mon Sep 17 00:00:00 2001 From: Erik Alvarez Date: Mon, 20 Jul 2026 11:34:12 +0200 Subject: [PATCH] Set pIndCompleteProblem and related solve flags in notebook 1.3 Notebook 1.3 replicates the openTEPES_run pipeline call by call. Current openTEPES master sets pIndCompleteProblem, pIndSequentialSolving and pBdTol on the model before the solve, and StageIterativeSolving now reads pIndCompleteProblem. The notebook never set them, so the scheduled submodule bump failed with 'ConcreteModel object has no attribute pIndCompleteProblem'. Set the three flags next to the existing pIndSectorDecomposition flag. Verified by running the notebook against openTEPES master tip 4ec96bd4 on Python 3.12: it solves to optimal, 159.211 MEUR, matching the committed output. --- notebooks/1.3-openTEPES-Running-StepByStep.ipynb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/notebooks/1.3-openTEPES-Running-StepByStep.ipynb b/notebooks/1.3-openTEPES-Running-StepByStep.ipynb index db058b6..0f19416 100644 --- a/notebooks/1.3-openTEPES-Running-StepByStep.ipynb +++ b/notebooks/1.3-openTEPES-Running-StepByStep.ipynb @@ -133,7 +133,12 @@ "\n", "# the empty model object everything is attached to\n", "mTEPES = ConcreteModel(\"openTEPES\")\n", - "mTEPES.pIndSectorDecomposition = 0 # solve the full problem, no sector decomposition" + "\n", + "# solve options that openTEPES_run normally sets on the model; the solve reads them\n", + "mTEPES.pIndSectorDecomposition = 0 # solve the full problem, no sector decomposition\n", + "mTEPES.pIndCompleteProblem = 1 # solve the complete problem, not time Benders decomposition\n", + "mTEPES.pIndSequentialSolving = 1 # solve the stages one after another\n", + "mTEPES.pBdTol = 1e-6 # Benders bound tolerance (unused when solving the complete problem)" ] }, {