Skip to content
Open
Show file tree
Hide file tree
Changes from 57 commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
10f6b37
First pass at code redesign, still need to figure out more
sscini Nov 18, 2025
b0b7e2c
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Nov 20, 2025
3e95e91
Added comments where I have question
sscini Nov 20, 2025
8d3a4d5
Merge branch 'Q_opt-redesign' of https://github.com/sscini/pyomo into…
sscini Nov 20, 2025
3982e1b
Got preliminary _Q_opt simple working with example!
sscini Nov 21, 2025
e829344
Ran black
sscini Nov 21, 2025
e464097
Changed name to _Q_opt_blocks
sscini Nov 21, 2025
dc5ee76
Update parmest.py
sscini Nov 21, 2025
6355818
Ran black
sscini Nov 21, 2025
099f541
Added in case for bootlist, works with example
sscini Nov 25, 2025
76ee05e
Ran black
sscini Nov 25, 2025
d91ce3f
Simplified structure, ran black
sscini Nov 29, 2025
1aea99f
Removed _Q_opt, and replicate functions, only using _Q_opt_blocks
sscini Dec 13, 2025
7d93cc0
Ran black on mac
sscini Dec 15, 2025
d7d2214
Revert "Removed _Q_opt, and replicate functions, only using _Q_opt_bl…
sscini Dec 15, 2025
7f21344
Added testing statement
sscini Dec 17, 2025
32d8d41
Ran black
sscini Dec 17, 2025
4e8c3ee
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Jan 6, 2026
1e802ba
Made small design changes, in progress, ran black.
sscini Jan 6, 2026
4b89bb3
Merge branch 'Q_opt-redesign' of https://github.com/sscini/pyomo into…
sscini Jan 6, 2026
4777253
Progress made on objective_at_theta_blocks, unfinished.
sscini Jan 8, 2026
c58d5f3
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Jan 11, 2026
ea734b7
Merge branch 'Q_opt-redesign' of https://github.com/sscini/pyomo into…
sscini Jan 11, 2026
490abea
Added notes for design meeting 01/12/26
sscini Jan 12, 2026
1074fb0
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Jan 14, 2026
9543456
Removed answered reviewer question, attempted adding covariance
sscini Jan 14, 2026
af4df1a
Added assertions for cov_n
sscini Jan 14, 2026
d4c4125
Finished implementing covariance
sscini Jan 14, 2026
9d396fa
Added functional return values argument
sscini Jan 14, 2026
a97b21e
Ran black
sscini Jan 14, 2026
0afb5ba
Corrected extraction for unknown parameters
sscini Jan 14, 2026
191b131
Initial attempt at objective_at_theta_blocks
sscini Jan 14, 2026
2c0760e
Working out bugs in _Q_at_theta implement. In progress.
sscini Jan 14, 2026
bbe994b
Corrected obj_at_theta_blocks
sscini Jan 15, 2026
2c2e024
Removed _Q_opt, commented out _Q_at_theta, ran black
sscini Jan 15, 2026
2333a4b
Fixed for loop issue
sscini Jan 15, 2026
b9af9f1
Removed fix_theta from create_parm_model
sscini Jan 15, 2026
6cd3b4b
Renamed objective_at_theta_blocks, ran black.
sscini Jan 15, 2026
b46e1a7
Removed mentions of _Q_opt_blocks
sscini Jan 15, 2026
3261798
Changed back to get_labeled_model in _cov_at_theta()
sscini Jan 15, 2026
fc478be
Added notes in unused files.
sscini Jan 15, 2026
acba985
Removed _Q_at_theta and objective_at_theta
sscini Jan 15, 2026
145c2d8
Added comments for reviewers, ran black.
sscini Jan 15, 2026
337095d
Corrected count_total_experiments to divide by # outputs.
sscini Jan 15, 2026
837192c
Ran black.
sscini Jan 15, 2026
4b46c30
Undo change to count_total_experiments.
sscini Jan 15, 2026
b9cf010
Update mpi_utils.py
sscini Jan 19, 2026
062a9ee
Switched unknown_params to Vars
sscini Jan 19, 2026
5baaa2f
Fixed number for cov_n, still need to adjust counting function
sscini Jan 19, 2026
c8194ac
Added question for reviewers
sscini Jan 19, 2026
26d70e3
Ran black
sscini Jan 19, 2026
4aa027d
Changed retrieval of variables for ind_red_hes.
sscini Jan 19, 2026
26ba2ea
Added note related to count_total_experiments, commented out assertion.
sscini Jan 19, 2026
dd926f8
Ran black
sscini Jan 19, 2026
7b70d1d
Removed dependence on cov_est for theta_est(), added bool for len(exp…
sscini Jan 19, 2026
43cbaa4
Merge branch 'main' into Q_opt-redesign
sscini Jan 19, 2026
07798c9
Ran black
sscini Jan 19, 2026
b325f0d
Attempted adding support for indexed vars
sscini Jan 19, 2026
8b47430
Ran black
sscini Jan 20, 2026
aac1476
Addressed some review comments.
sscini Jan 20, 2026
66a1396
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Jan 21, 2026
3957dc9
Added Shammah fix for exp count
sscini Jan 21, 2026
382ea20
Updates to address comments.
sscini Jan 21, 2026
0da606f
Addressed some comments, simplified scenarios
sscini Jan 22, 2026
935b700
Replaced getattr with suffix calls.
sscini Jan 22, 2026
1fc71ee
Updated, ran black.
sscini Jan 22, 2026
56ac15d
Noted failing tests, currently 15
sscini Jan 22, 2026
60dc796
Removed old comment during dev
sscini Jan 22, 2026
6bf439e
Fixed scenario count issue, ran black.
sscini Jan 22, 2026
a68906b
Added else statement in cov calc
sscini Jan 23, 2026
f31a35f
Update test_parmest.py
sscini Jan 23, 2026
b124def
Update parmest.py
sscini Jan 23, 2026
2908c78
Update simple_reaction_parmest_example.py
sscini Jan 23, 2026
58435d3
Added measurement error to reactor_design
sscini Jan 23, 2026
db646ba
Changed to built-in SSE
sscini Jan 23, 2026
d222c4f
Commented out model_initialized
sscini Jan 23, 2026
9d829c4
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Jan 23, 2026
7ffab76
Merge remote-tracking branch 'refs/remotes/origin/Q_opt-redesign' int…
sscini Jan 23, 2026
e267983
Remove solver import
sscini Jan 23, 2026
e3ae6e6
Ran black
sscini Jan 23, 2026
345c3f2
Update test_parmest.py
sscini Jan 23, 2026
6c3d5a0
Added back option, ran black
sscini Jan 23, 2026
49b787a
Rearranged _Q_opt for fix_theta
sscini Jan 23, 2026
8cf624e
Ran black
sscini Jan 26, 2026
c248c74
Adjusting parmest models, in progress
sscini Jan 27, 2026
b975089
Added more description, simplified comparison
sscini Jan 27, 2026
a63e4fc
Update parameter_estimation_example.py
sscini Jan 27, 2026
b92aa7d
Ran black
sscini Jan 27, 2026
471dbe7
Adjusted if statement
sscini Jan 27, 2026
98d91fc
Removed answered questions
sscini Jan 27, 2026
a6821ae
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Jan 27, 2026
f0ef6d6
Update parmest.py
sscini Feb 2, 2026
1f86b03
Fixed models in variants test
sscini Feb 5, 2026
72b4345
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Feb 5, 2026
c495e0f
Merge remote-tracking branch 'refs/remotes/origin/Q_opt-redesign' int…
sscini Feb 5, 2026
82ee4ce
Update test_parmest.py
sscini Feb 5, 2026
559a900
Update parmest.py
sscini Feb 5, 2026
65067d5
Update parmest.py
sscini Feb 5, 2026
db26533
Temporary remove failing test.
sscini Feb 5, 2026
c9b19d7
Fixed experiment counter
sscini Feb 5, 2026
7bba006
Modified testing
sscini Feb 5, 2026
2cd2614
Removed extra print statements
sscini Feb 5, 2026
5ba4fab
Updated error message.
sscini Feb 5, 2026
ee57ec9
Adjusted experimental counter
sscini Feb 5, 2026
7cffb34
Update test_examples.py
sscini Feb 6, 2026
ebbd279
Addressed comments
sscini Feb 6, 2026
0c1e605
Merge branch 'Pyomo:main' into Q_opt-redesign
sscini Feb 11, 2026
92a2dd6
Update simple_reaction_parmest_example.py
sscini Feb 15, 2026
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
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ def simple_reaction_model(data):
model.x2 = Param(initialize=float(data['x2']))

# Rate constants
# @Reviewers: Can we switch this to explicitly defining which parameters are to be
# regressed in the Experiment class?
model.rxn = RangeSet(2)
initial_guess = {1: 750, 2: 1200}
model.k = Var(model.rxn, initialize=initial_guess, within=PositiveReals)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ def main():
pest = parmest.Estimator(exp_list, obj_function='SSE')

# Parameter estimation with covariance
obj, theta, cov = pest.theta_est(calc_cov=True, cov_n=17)
obj, theta, cov = pest.theta_est(calc_cov=True, cov_n=19)
print(obj)
print(theta)
print(cov)


if __name__ == "__main__":
Expand Down
14 changes: 5 additions & 9 deletions pyomo/contrib/parmest/examples/reactor_design/reactor_design.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,11 @@ def reactor_design_model():
# Create the concrete model
model = pyo.ConcreteModel()

# Rate constants
model.k1 = pyo.Param(
initialize=5.0 / 6.0, within=pyo.PositiveReals, mutable=True
) # min^-1
model.k2 = pyo.Param(
initialize=5.0 / 3.0, within=pyo.PositiveReals, mutable=True
) # min^-1
model.k3 = pyo.Param(
initialize=1.0 / 6000.0, within=pyo.PositiveReals, mutable=True
# Rate constants, make unknown parameters variables
model.k1 = pyo.Var(initialize=5.0 / 6.0, within=pyo.PositiveReals) # min^-1
model.k2 = pyo.Var(initialize=5.0 / 3.0, within=pyo.PositiveReals) # min^-1
model.k3 = pyo.Var(
initialize=1.0 / 6000.0, within=pyo.PositiveReals
) # m^3/(gmol min)

# Inlet concentration of A, gmol/m^3
Expand Down
Loading
Loading