Skip to content

Commit 8b42751

Browse files
authored
Merge branch 'main' into pyros-effective-uncertain-params
2 parents 41cd797 + 5d96b24 commit 8b42751

File tree

1,782 files changed

+1866
-1882
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,782 files changed

+1866
-1882
lines changed

Diff for: .git-blame-ignore-revs

+1
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,5 @@ ed13c8c65d6c3f56973887744be1c62a5d4756de
4545
363a16a609f519b3edfdfcf40c66d6de7ac135af
4646
d024718991455519e09149ede53a38df1c067abe
4747
017e21ee50d98d8b2f2083e6880f030025ed5378
48+
91972008d109322fc1a3b688333d67def2288625
4849

Diff for: .github/workflows/test_branches.yml

+31-16
Original file line numberDiff line numberDiff line change
@@ -304,17 +304,21 @@ jobs:
304304
# Set up environment
305305
conda config --set always_yes yes
306306
conda config --set auto_update_conda false
307+
conda config --set channel_priority strict
307308
conda config --remove channels defaults
308309
conda config --append channels nodefaults
309310
conda config --append channels conda-forge
310311
# Try to install mamba
311-
# Note: removed '--update-deps' on 2025-02-28 to work around
312-
# broken libffi(?)
313-
conda install -q -y -n base conda-libmamba-solver \
314-
|| MAMBA_FAILED=1
315-
if test -z "$MAMBA_FAILED"; then
316-
echo "*** Activating the mamba environment solver ***"
317-
conda config --set solver libmamba
312+
CONDA_VER=$(conda --version | cut -d\ -f2)
313+
if test 23.10 = "`echo -e "23.10\n$CONDA_VER" | sort -V | tail -1`"; then
314+
# Note: removed '--update-deps' on 2025-02-28 to work around
315+
# broken libffi(?)
316+
conda install -q -y -n base conda-libmamba-solver \
317+
|| MAMBA_FAILED=1
318+
if test -z "$MAMBA_FAILED"; then
319+
echo "*** Activating the mamba environment solver ***"
320+
conda config --set solver libmamba
321+
fi
318322
fi
319323
# Add the rest of the channels
320324
conda config --append channels gurobi
@@ -366,17 +370,19 @@ jobs:
366370
# possibly if it outputs messages to stderr)
367371
conda install --update-deps -q -y $CONDA_DEPENDENCIES
368372
if test -z "${{matrix.slim}}"; then
369-
# xpress.init() (from conda) hangs indefinitely on GHA/Windows under
370-
# Python 3.10 and 3.11. Exclude that release on that platform.
373+
# xpress.init() (xpress 9.5.1 from conda) hangs indefinitely
374+
# on GHA/Windows under Python 3.10 and 3.11. Exclude that
375+
# release on that platform.
371376
if [[ ${{matrix.TARGET}} == win && ${{matrix.python}} =~ 3.1[01] ]]; then
372377
# We would like to just use something like:
373378
# - "!=9.5.1" (conda errors)
374379
# - "<9.5.1|>9.5.1" (conda installs 9.1.2, which also hangs)
375380
# - "<=9.5.0|>9.5.1" (conda seg faults)
376-
XPRESS='xpress=9.5.0'
381+
XPRESS='xpress>=9.5.2'
377382
else
378383
XPRESS='xpress'
379384
fi
385+
TIMEOUT_MSG="TIMEOUT: killing conda install process"
380386
PYVER=$(echo "py${{matrix.python}}" | sed 's/\.//g')
381387
echo "Installing for $PYVER"
382388
for PKG in 'cplex>=12.10' docplex gurobi "$XPRESS" cyipopt pymumps scip; do
@@ -405,13 +411,22 @@ jobs:
405411
# indefinitely (lately while installing SCIP),
406412
# we will run "conda install" in a subshell and
407413
# kill it after 5-minutes.
408-
(conda install -q -y $PKG) &
409-
conda_pid=$!
410-
(sleep 300 && kill "$conda_pid" 2>/dev/null) &
414+
(conda install -q -y $PKG |& tee conda.log) &
415+
conda_subshell_pid=$!
416+
sleep 1
417+
conda_pid=$(ps | grep conda | sed 's/^ *//' | sed 's/ .*//')
418+
# Only timeout the conda process if it's not to
419+
# the installation phase yet. Signalling conda
420+
# after it has started the installation process
421+
# can irrecoverably corrupt the environment.
422+
(sleep 300 \
423+
&& if test `grep 'Package Plan' conda.log | wc -l` -eq 0; \
424+
then echo "$TIMEOUT_MSG $conda_pid (TERM)" \
425+
&& kill -TERM $conda_pid 2>/dev/null ; fi) &
411426
timeout_pid=$!
412-
wait "$conda_pid" || _BUILDS=""
413-
kill "$timeout_pid" 2>/dev/null \
414-
|| echo "TIMEOUT: killed conda install process"
427+
wait $conda_subshell_pid || _BUILDS=""
428+
kill $timeout_pid 2>/dev/null \
429+
|| echo "TIMEOUT: time limit expired"
415430
fi
416431
fi
417432
echo ""

Diff for: .github/workflows/test_pr_and_main.yml

+31-16
Original file line numberDiff line numberDiff line change
@@ -341,17 +341,21 @@ jobs:
341341
# Set up environment
342342
conda config --set always_yes yes
343343
conda config --set auto_update_conda false
344+
conda config --set channel_priority strict
344345
conda config --remove channels defaults
345346
conda config --append channels nodefaults
346347
conda config --append channels conda-forge
347348
# Try to install mamba
348-
# Note: removed '--update-deps' on 2025-02-28 to work around
349-
# broken libffi(?)
350-
conda install -q -y -n base conda-libmamba-solver \
351-
|| MAMBA_FAILED=1
352-
if test -z "$MAMBA_FAILED"; then
353-
echo "*** Activating the mamba environment solver ***"
354-
conda config --set solver libmamba
349+
CONDA_VER=$(conda --version | cut -d\ -f2)
350+
if test 23.10 = "`echo -e "23.10\n$CONDA_VER" | sort -V | tail -1`"; then
351+
# Note: removed '--update-deps' on 2025-02-28 to work around
352+
# broken libffi(?)
353+
conda install -q -y -n base conda-libmamba-solver \
354+
|| MAMBA_FAILED=1
355+
if test -z "$MAMBA_FAILED"; then
356+
echo "*** Activating the mamba environment solver ***"
357+
conda config --set solver libmamba
358+
fi
355359
fi
356360
# Add the rest of the channels
357361
conda config --append channels gurobi
@@ -403,17 +407,19 @@ jobs:
403407
# possibly if it outputs messages to stderr)
404408
conda install --update-deps -q -y $CONDA_DEPENDENCIES
405409
if test -z "${{matrix.slim}}"; then
406-
# xpress.init() (from conda) hangs indefinitely on GHA/Windows under
407-
# Python 3.10 and 3.11. Exclude that release on that platform.
410+
# xpress.init() (xpress 9.5.1 from conda) hangs indefinitely
411+
# on GHA/Windows under Python 3.10 and 3.11. Exclude that
412+
# release on that platform.
408413
if [[ ${{matrix.TARGET}} == win && ${{matrix.python}} =~ 3.1[01] ]]; then
409414
# We would like to just use something like:
410415
# - "!=9.5.1" (conda errors)
411416
# - "<9.5.1|>9.5.1" (conda installs 9.1.2, which also hangs)
412417
# - "<=9.5.0|>9.5.1" (conda seg faults)
413-
XPRESS='xpress=9.5.0'
418+
XPRESS='xpress>=9.5.2'
414419
else
415420
XPRESS='xpress'
416421
fi
422+
TIMEOUT_MSG="TIMEOUT: killing conda install process"
417423
PYVER=$(echo "py${{matrix.python}}" | sed 's/\.//g')
418424
echo "Installing for $PYVER"
419425
for PKG in 'cplex>=12.10' docplex gurobi "$XPRESS" cyipopt pymumps scip; do
@@ -442,13 +448,22 @@ jobs:
442448
# indefinitely (lately while installing SCIP),
443449
# we will run "conda install" in a subshell and
444450
# kill it after 5-minutes.
445-
(conda install -q -y $PKG) &
446-
conda_pid=$!
447-
(sleep 300 && kill "$conda_pid" 2>/dev/null) &
451+
(conda install -q -y $PKG |& tee conda.log) &
452+
conda_subshell_pid=$!
453+
sleep 1
454+
conda_pid=$(ps | grep conda | sed 's/^ *//' | sed 's/ .*//')
455+
# Only timeout the conda process if it's not to
456+
# the installation phase yet. Signalling conda
457+
# after it has started the installation process
458+
# can irrecoverably corrupt the environment.
459+
(sleep 300 \
460+
&& if test `grep 'Package Plan' conda.log | wc -l` -eq 0; \
461+
then echo "$TIMEOUT_MSG $conda_pid (TERM)" \
462+
&& kill -TERM $conda_pid 2>/dev/null ; fi) &
448463
timeout_pid=$!
449-
wait "$conda_pid" || _BUILDS=""
450-
kill "$timeout_pid" 2>/dev/null \
451-
|| echo "TIMEOUT: killed conda install process"
464+
wait $conda_subshell_pid || _BUILDS=""
465+
kill $timeout_pid 2>/dev/null \
466+
|| echo "TIMEOUT: time limit expired"
452467
fi
453468
fi
454469
echo ""

Diff for: LICENSE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
LICENSE
22
=======
33

4-
Copyright (c) 2008-2024 National Technology and Engineering Solutions of
4+
Copyright (c) 2008-2025 National Technology and Engineering Solutions of
55
Sandia, LLC . Under the terms of Contract DE-NA0003525 with National
66
Technology and Engineering Solutions of Sandia, LLC , the U.S.
77
Government retains certain rights in this software.

Diff for: conftest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/conf.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain
@@ -107,7 +107,7 @@
107107

108108
# General information about the project.
109109
project = u'Pyomo'
110-
copyright = u'2008-2024, Sandia National Laboratories'
110+
copyright = u'2008-2025, Sandia National Laboratories'
111111
author = u'Pyomo Development Team'
112112

113113
# The version info for the project you're documenting, acts as replacement for

Diff for: doc/OnlineDocs/ext/pyomo_autosummary_autoenum.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/ext/pyomo_tocref.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD3.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD4.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD5.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD6.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD7.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD8.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ABCD9.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/diet1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/ex.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/import1.tab.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/import2.tab.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/import3.tab.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/import4.tab.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/import5.tab.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/import6.tab.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/import7.tab.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

Diff for: doc/OnlineDocs/src/data/import8.tab.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ___________________________________________________________________________
22
#
33
# Pyomo: Python Optimization Modeling Objects
4-
# Copyright (c) 2008-2024
4+
# Copyright (c) 2008-2025
55
# National Technology and Engineering Solutions of Sandia, LLC
66
# Under the terms of Contract DE-NA0003525 with National Technology and
77
# Engineering Solutions of Sandia, LLC, the U.S. Government retains certain

0 commit comments

Comments
 (0)