Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doe with blocks #13

Closed
wants to merge 174 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
174 commits
Select commit Hold shift + click to select a range
ce39b7d
Adding Pyomo.DOE logo files.
adowling2 Sep 7, 2022
0eb99f5
Moved files into version 1 folder
adowling2 Sep 18, 2022
8b9f470
Added version 2
adowling2 Sep 18, 2022
411cc31
Beginning of a GDP-to-MIP transformation base class
emma58 Nov 28, 2022
3ace706
Merging, fixing some imports
emma58 Dec 5, 2022
a1f315d
Attempting to merge the change to logical to disjunctive
emma58 Dec 5, 2022
e14187e
Almost moving most of the common pre-transformation stuff to the base…
emma58 Dec 5, 2022
ed53a3a
Calling logical transformation in hull
emma58 Dec 5, 2022
aeff0ff
Add support for callbacks in Python.
djunglas Dec 2, 2022
7403826
Switch default NL writer to nlv2
jsiirola Dec 20, 2022
22d7aca
Fixing some bugs in scaling transformation
Dec 28, 2022
fe7f9d8
Improving handling of constraint scaling in propagate_solution
Dec 30, 2022
b406ca1
Catching overflow errors in calcuate_variable_from_constraint
Jan 3, 2023
414daae
Making a BigM mix-in class and moving multiple bigm onto the base class
emma58 Jan 4, 2023
0e88f26
Making a BigM mix-in class and moving multiple bigm onto the base class
emma58 Jan 4, 2023
0dda4e8
Merge branch 'gdp-transformation-base-class' of github.com:emma58/pyo…
emma58 Jan 4, 2023
31f61ff
Mostly finishes moving common functionality in bigm and hull to the b…
emma58 Jan 5, 2023
1b565a9
Merge branch 'main' into gdp-transformation-base-class
emma58 Jan 5, 2023
1f196d3
Fixing some (not yet all) of the hull tests to not rely on the names …
emma58 Jan 5, 2023
873a4fe
Fixing the remaining hull tests to not rely on the names of the trans…
emma58 Jan 6, 2023
703aaee
Redoing hull baselines because the names of transformed constraints c…
emma58 Jan 6, 2023
b84d600
Making self._config in the transformation constructor so that hacky t…
emma58 Jan 6, 2023
9c93dda
Making self._config in the transformation constructor so that hacky t…
emma58 Jan 6, 2023
d0827db
Merge branch 'gdp-transformation-base-class' of github.com:emma58/pyo…
emma58 Jan 6, 2023
a5a4c38
Standardizing return values of '_add_transformation_block', multiple …
emma58 Jan 9, 2023
b7f4e69
Combining multiple bigm and base class implementations of '_get_disju…
emma58 Jan 9, 2023
92cad40
Moving _warn_for_active_disjunct to the base class--only hull can't u…
emma58 Jan 9, 2023
44dfd62
We assume _transform_constraint is implemented right now--making that…
emma58 Jan 9, 2023
cde8f01
Finishing moving multiple bigm onto the base class
emma58 Jan 9, 2023
a4eb1ca
Fixing the FME tests that break whenever anything changes in hull
emma58 Jan 9, 2023
688f3c5
Merge branch 'main' into gdp-transformation-base-class
emma58 Jan 9, 2023
ef9b937
Update NLv2 writer to be compatible with v1 Complementarity
jsiirola Jan 9, 2023
9f3708d
Restoring back to default config options after apply_to. This is why …
emma58 Jan 9, 2023
8a8cb76
Make sens tests less sensitive to variable ordering
jsiirola Jan 9, 2023
b4bc14b
Deleting self._config at the end of apply_to, it's sneakily a class a…
emma58 Jan 9, 2023
a782da0
Specify file determinism when generating NL files
jsiirola Jan 9, 2023
ee18cf4
Pass all file determinism values provided by user
jsiirola Jan 9, 2023
5049948
Ignore double-negation when comparing NL files
jsiirola Jan 9, 2023
0264cbc
Deleting the list of targets we stick on the transformation too
emma58 Jan 9, 2023
744b1ec
Track change of file determinism flag
jsiirola Jan 9, 2023
1f23c90
Support running the nl_diff as a script
jsiirola Jan 9, 2023
916aa25
Use nl_diff to compare NL files
jsiirola Jan 9, 2023
b9c4bae
Merge branch 'main' into activate-nlv2
jsiirola Jan 9, 2023
347bfb2
Never storing list of targets on the transformation at all
emma58 Jan 9, 2023
f718375
Debugging LBB failure
emma58 Jan 9, 2023
1b0f9b6
More debugging
emma58 Jan 9, 2023
1217597
Moving GDPopt LBB test to use Gurobi as minlp solver (it's quadratic)…
emma58 Jan 9, 2023
8e6bf02
Merge branch 'fix-gdpopt-failure' into gdp-transformation-base-class
emma58 Jan 10, 2023
0cefb96
Merge branch 'main' of https://github.com/Pyomo/pyomo into xpress-sup…
djunglas Jan 10, 2023
ee6832e
Remove invalid assertion.
djunglas Jan 10, 2023
c121314
Updating doctests to be more forgiving of small changes in ipopt traces
jsiirola Jan 10, 2023
6a440a1
Merge remote-tracking branch 'refs/remotes/me/activate-nlv2' into act…
jsiirola Jan 10, 2023
e1e000e
Merge branch 'main' into activate-nlv2
jsiirola Jan 10, 2023
cd6d23c
Minor fix
Jan 10, 2023
ece2185
Adding regression test for calc_var_value issue
Jan 10, 2023
31222e6
Merge branch 'main' of https://github.com/Pyomo/pyomo into scaling_bugs
Jan 10, 2023
475b5a1
Undoing changes to incidence analysis that crept in
Jan 10, 2023
c3cfed6
Fix invalid file_determinism value
jsiirola Jan 10, 2023
54d640e
Adding mark to skip test if sympy not avaialble
Jan 10, 2023
eaceabd
Update to support PySide6 and display units and domain.
Jan 10, 2023
caa0090
remove stray sleep
Jan 11, 2023
6620542
:x
Jan 11, 2023
50caafd
Merge branch 'main' of https://github.com/Pyomo/pyomo into xpress-sup…
djunglas Jan 11, 2023
8c291a7
Rework PintUnitExtractionVisitor for efficiency and to always return …
jsiirola Jan 11, 2023
3c0b4f7
Cache the PintUnitExtractionVisitor
jsiirola Jan 11, 2023
d8dfa1b
get_units() will always return a _PyomoUnit (even for dimensionless)
jsiirola Jan 11, 2023
5102d92
Support comparing _PyomoUnits without generating expressions
jsiirola Jan 11, 2023
4b4ba95
NFC: removing whitespaec
jsiirola Jan 11, 2023
3d06acf
Updating units tests to reflect get_units() returning dimensionless
jsiirola Jan 11, 2023
b120d6b
Adding tests for #1570
jsiirola Jan 11, 2023
1e7eeaa
Fix dummy classes
Jan 11, 2023
054bc8c
Merge branch 'main' of https://github.com/pyomo/pyomo into viewer_update
Jan 11, 2023
d32fc42
NFC: whitespace / typos
jsiirola Jan 11, 2023
d63a916
Simplify string formatting
jsiirola Jan 11, 2023
c796e73
Remove unreachable code
jsiirola Jan 11, 2023
4bea1f2
Clarifying error message for when Ms are spcified as lists and tuples
emma58 Jan 13, 2023
dce5985
Merge branch 'main' into gdp-transformation-base-class
emma58 Jan 13, 2023
308f418
Merge branch 'main' into gdp-transformation-base-class
emma58 Jan 16, 2023
e270f7c
Fixing bigm tests that rely on the error message for M values
emma58 Jan 16, 2023
4c310ee
Standardizing some function names to refer to 'bigM' when referring t…
emma58 Jan 16, 2023
90b0064
Merge branch 'gdp-transformation-base-class' of github.com:emma58/pyo…
emma58 Jan 16, 2023
e2cb7ca
Name the public facing field `problem` rather than `prob`.
djunglas Jan 17, 2023
6f3b049
Use snake case instead of long variable names.
djunglas Jan 17, 2023
917ccb0
Fix typo.
djunglas Jan 17, 2023
bc623a2
Fix comment.
djunglas Jan 17, 2023
206f323
Spell out the name of the callback context.
djunglas Jan 17, 2023
9e4fc23
Use more verbose variable name.
djunglas Jan 17, 2023
ebde260
Fix typo.
djunglas Jan 17, 2023
863ff86
Fix typo.
djunglas Jan 17, 2023
f28adb8
Addressing comments
Jan 17, 2023
869fc14
More comments
Jan 17, 2023
2a6fee1
Merge branch 'main' into scaling_bugs
jsiirola Jan 17, 2023
c245f66
Merge branch 'main' into activate-nlv2
jsiirola Jan 18, 2023
004b47f
Merge branch 'main' into activate-nlv2
jsiirola Jan 18, 2023
16fa5b3
Skip QCP_simple nl test for cplex 12.6.0.0
jsiirola Jan 18, 2023
49c1d80
Remove use of as_numeric for Complementarity args
jsiirola Jan 18, 2023
0f039da
Add state vars attribute to test model
shermanjasonaf Jan 19, 2023
6ce2da8
Fix retrieval of master/polishing block state vars
shermanjasonaf Jan 19, 2023
205fc90
Remove state variable attribute print statements
shermanjasonaf Jan 19, 2023
2632779
Update handling / warning for \r\n line endings and external functions
jsiirola Jan 19, 2023
0a9e43c
Switch to using an actual file for line ending tests
jsiirola Jan 19, 2023
8498946
Merge branch 'main' into viewer_update
blnicho Jan 20, 2023
5de09a2
Update to handle streams where tell() is always 0
jsiirola Jan 20, 2023
eab2eb3
Fixing dangling reference
jsiirola Jan 20, 2023
2a93717
Merge branch 'main' of https://github.com/pyomo/pyomo into viewer_update
Jan 21, 2023
8ff6544
UB and LB edit
Jan 21, 2023
a5ff3dc
Merge branch 'viewer_update' of https://github.com/eslickj/pyomo into…
Jan 21, 2023
7b9852f
Fix messed up skip
Jan 23, 2023
c76acfa
Run black
Jan 23, 2023
9610cee
Merge branch 'main' into activate-nlv2
jsiirola Jan 23, 2023
8554619
Explicitly test suffixes for NL v1 and v2 writers
jsiirola Jan 23, 2023
e097826
Map 'inf'/'-inf' bounds to None
jsiirola Jan 23, 2023
60c9670
Merge branch 'main' into gdp-transformation-base-class
jsiirola Jan 24, 2023
3bd78fb
Fix typo in PyQt5 code
Jan 24, 2023
5c7a63e
Merge branch 'main' of https://github.com/pyomo/pyomo into viewer_update
Jan 24, 2023
e13fe45
Merge pull request #2700 from shermanjasonaf/fix-load-dr-polishing-sol
emma58 Jan 24, 2023
200e777
Merge pull request #2678 from andrewlee94/scaling_bugs
emma58 Jan 24, 2023
1fd7586
Change GAMS solver type for time limit adjustment
shermanjasonaf Jan 25, 2023
50d518a
Clarifying option documentation
jsiirola Jan 25, 2023
745aa17
Make references to GAMS shell type more specific
shermanjasonaf Jan 25, 2023
c5a189f
Add tests
Jan 26, 2023
32e2f90
run black
Jan 26, 2023
bb3290c
Merge branch 'main' of https://github.com/pyomo/pyomo into viewer_update
Jan 26, 2023
cf1e2a6
Add tests for residual_table
Jan 26, 2023
8e927e5
Improve ComponentItemModel testing
Jan 26, 2023
f62302a
Fix a bunch of ors to in
Jan 26, 2023
f77f748
NFC: fix comment typo
jsiirola Jan 26, 2023
00f15f3
Add check for pyomo units availability
Jan 26, 2023
c81dbd6
More testing
Jan 27, 2023
303bd9a
run black
Jan 27, 2023
7edd5f0
Merge pull request #2676 from jsiirola/activate-nlv2
mrmundt Jan 27, 2023
f2e3372
Merge branch 'main' into units-dimensionless
blnicho Jan 27, 2023
141baf0
Merge pull request #2706 from shermanjasonaf/fix-adjust-pyros-time-lim
blnicho Jan 27, 2023
65ebbf8
Removing debuging
emma58 Jan 28, 2023
92a81ef
Merge branch 'gdp-transformation-base-class' of github.com:emma58/pyo…
emma58 Jan 28, 2023
42cb8b8
Python3-ing super calls
emma58 Jan 28, 2023
8d97f88
Not having base class implementations of apply_to and apply_to_impl--…
emma58 Jan 28, 2023
b620e19
Merge branch 'main' into gdp-transformation-base-class
emma58 Jan 28, 2023
2948af2
Merge branch 'main' of https://github.com/pyomo/pyomo into viewer_update
Jan 30, 2023
5cf5482
Update the standalone app and more tests.
Jan 30, 2023
a2e22bb
fix missed skip
Jan 30, 2023
e445b1c
Fix bugs tabulating the number of skipped suffix values
jsiirola Jan 30, 2023
8f06da4
Improve grammar in logged warning
jsiirola Jan 30, 2023
e755ae7
Fix reporting a negative number of skipped keys
jsiirola Jan 30, 2023
3fef1cf
Test logging warnings for skipped suffix values
jsiirola Jan 30, 2023
85c3f33
Merge pull request #2691 from jsiirola/units-dimensionless
blnicho Jan 30, 2023
449180c
Merge pull request #2294 from jialuw96/doe-review
blnicho Jan 30, 2023
0462454
Merge branch 'main' into pyomodoe-logo
adowling2 Jan 30, 2023
82bb3f5
Updated Pyomo.DoE logo
adowling2 Jan 30, 2023
fb7f8c7
Merge pull request #2710 from jsiirola/nlv2-suffix-fix
jsiirola Jan 30, 2023
aedb47f
Adding forgotten handler in multiple bigm
emma58 Jan 30, 2023
0055cfa
Merge branch 'gdp-transformation-base-class' of github.com:emma58/pyo…
emma58 Jan 30, 2023
1021ed2
Merge pull request #2527 from adowling2/pyomodoe-logo
blnicho Jan 30, 2023
60bbc35
Merge branch 'main' of https://github.com/pyomo/pyomo into viewer_update
Jan 31, 2023
ba53ef4
Fix pyqt5 test fail
Jan 31, 2023
3224654
Merge pull request #2648 from fico-xpress/xpress-support-callbacks
mrmundt Jan 31, 2023
a1c0690
Fix dimensionless unit test
Jan 31, 2023
38f83e0
Revert "Add support for Xpress callbacks in Pyomo."
mrmundt Jan 31, 2023
7fa676b
Merge pull request #23 from Pyomo/revert-2648-xpress-support-callbacks
mrmundt Jan 31, 2023
7839615
Fixing Sphinx warnings
blnicho Jan 31, 2023
ba6f483
Merge pull request #2713 from mrmundt/revert-2648
mrmundt Jan 31, 2023
0ef8cde
Merge pull request #2712 from blnicho/fix-sphinx-warnings
blnicho Jan 31, 2023
9ee4235
Merge pull request #2689 from eslickj/viewer_update
mrmundt Feb 2, 2023
2555067
update the example to have no scenario index
jialuw96 Feb 4, 2023
a1d002b
update measurement and scenario class to provide helper data structure
jialuw96 Feb 5, 2023
6fde970
Merge pull request #2687 from emma58/gdp-transformation-base-class
jsiirola Feb 5, 2023
1866a70
end of the day commit. Update compute_FIM() with blocks. Pending debu…
jialuw96 Feb 6, 2023
803fbda
changed sequential_finite mode. begin debugging
jialuw96 Feb 7, 2023
13ce77e
debugged measurements.
jialuw96 Feb 7, 2023
a6a2049
debugged compute_FIM sequential finite mode
jialuw96 Feb 7, 2023
2f8e1e5
update jacobian computation
jialuw96 Feb 7, 2023
651d7f3
debugged sequential finite, removing the continuousSet and discretize…
jialuw96 Feb 7, 2023
bef83d9
codes before closing this branch
jialuw96 Feb 7, 2023
40132df
Merge branch 'Pyomo:main' into doe_with_blocks
jialuw96 Feb 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion doc/OnlineDocs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
'sphinx.ext.inheritance_diagram',
'sphinx.ext.autosummary',
'sphinx.ext.doctest',
'sphinx.ext.todo',
'sphinx_copybutton',
#'sphinx.ext.githubpages',
]
Expand Down Expand Up @@ -121,7 +122,7 @@
pygments_style = 'sphinx'

# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False
todo_include_todos = True

# If true, doctest flags (comments looking like # doctest: FLAG, ...) at
# the ends of lines and <BLANKLINE> markers are removed for all code
Expand Down
5 changes: 2 additions & 3 deletions doc/OnlineDocs/modeling_extensions/gdp/modeling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,10 @@ Usage:
>>> m.Y = BooleanVar(m.my_set)
>>> m.p = LogicalConstraint(expr=atleast(3, m.Y))
>>> m.p.pprint()
p : Size=1, Index=None, Active=False
p : Size=1, Index=None, Active=True
Key : Body : Active
None : atleast(3: [Y[1], Y[2], Y[3], Y[4]]) : False
None : atleast(3: [Y[1], Y[2], Y[3], Y[4]]) : True
>>> TransformationFactory('core.logical_to_linear').apply_to(m)
...
>>> # constraint auto-generated by transformation
>>> m.logic_to_linear.transformed_constraints.pprint()
transformed_constraints : Size=1, Index=logic_to_linear.transformed_constraints_index, Active=True
Expand Down
13 changes: 5 additions & 8 deletions doc/OnlineDocs/pyomo_modeling_components/Suffixes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,7 @@ Suffix component with an IMPORT_EXPORT direction.

ipopt = pyo.SolverFactory('ipopt')


The difference in performance can be seen by examining Ipopt's iteration
log with and without warm starting:

Expand All @@ -405,13 +406,9 @@ log with and without warm starting:
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 1.6109693e+01 1.12e+01 5.28e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 1.6982239e+01 7.30e-01 1.02e+01 -1.0 6.11e-01 - 7.19e-02 1.00e+00f 1
2 1.7318411e+01 3.60e-02 5.05e-01 -1.0 1.61e-01 - 1.00e+00 1.00e+00h 1
3 1.6849424e+01 2.78e-01 6.68e-02 -1.7 2.85e-01 - 7.94e-01 1.00e+00h 1
4 1.7051199e+01 4.71e-03 2.78e-03 -1.7 6.06e-02 - 1.00e+00 1.00e+00h 1
5 1.7011979e+01 7.19e-03 8.50e-03 -3.8 3.66e-02 - 9.45e-01 9.98e-01h 1
6 1.7014271e+01 1.74e-05 9.78e-06 -3.8 3.33e-03 - 1.00e+00 1.00e+00h 1
7 1.7014021e+01 1.23e-07 1.82e-07 -5.7 2.69e-04 - 1.00e+00 1.00e+00h 1
8 1.7014017e+01 1.77e-11 2.52e-11 -8.6 3.32e-06 - 1.00e+00 1.00e+00h 1
2 1.7318411e+01 ...
...
8 1.7014017e+01 ...

Number of Iterations....: 8
...
Expand Down Expand Up @@ -441,7 +438,7 @@ log with and without warm starting:
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 1.7014032e+01 2.00e-06 4.07e-06 -6.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 1.7014019e+01 3.65e-12 1.00e-11 -6.0 2.50e-01 - 1.00e+00 1.00e+00h 1
2 1.7014017e+01 4.48e-12 6.42e-12 -9.0 1.92e-06 - 1.00e+00 1.00e+00h 1
2 1.7014017e+01 ...

Number of Iterations....: 2
...
Expand Down
Binary file added doc/logos/doe/PyomoDoE-lg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/logos/doe/PyomoDoE-md.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/logos/doe/PyomoDoE-sm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,608 changes: 1,608 additions & 0 deletions doc/logos/doe/PyomoDoE.ai

Large diffs are not rendered by default.

Binary file added doc/logos/doe/PyomoDoE.eps
Binary file not shown.
Binary file added doc/logos/doe/PyomoDoE.pdf
Binary file not shown.
Binary file added doc/logos/doe/PyomoDoE_noTXT-150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/logos/doe/PyomoDoE_noTXT-300.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/logos/doe/PyomoDoE_noTXT-600.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/logos/doe/PyomoDoE_noTXT-72.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion examples/pyomobook/abstract-ch/pyomo.abstract7.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ model:
save file: None
save format: None
symbolic solver labels: false
file determinism: 1
file determinism: None
transform: []
preprocess: []
runtime:
Expand Down
2 changes: 1 addition & 1 deletion examples/pyomobook/abstract-ch/pyomo.model3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
# @cmd:
pyomo convert --output=concrete1.nl concrete1.py
# @:cmd
diff concrete1.nl concrete1-ref.nl
python -m pyomo.repn.tests.ampl.nl_diff concrete1.nl concrete1-ref.nl
rm -f results.yml results.json concrete1.nl
8 changes: 5 additions & 3 deletions pyomo/contrib/appsi/solvers/highs.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,11 +165,13 @@ def config(self, val: HighsConfig):
@property
def highs_options(self):
"""
A dictionary mapping solver options to values for those options. These
are solver specific.

Returns
-------
highs_options: dict
A dictionary mapping solver options to values for those options. These
are solver specific.
dict
A dictionary mapping solver options to values for those options
"""
return self._solver_options

Expand Down
Loading