Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
5 changes: 5 additions & 0 deletions examples/run_all.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,11 @@ def do_one_mmw(dirname, modname, runefstring, npyfile, mmwargstring):
"--rel-gap 0.001 --max-iterations=50 "
"--grad-rho --grad-order-stat 0.5 "
"--default-rho=2 --solver-name={} --lagrangian --xhatshuffle".format(solver_name))
do_one("farmer", "../../mpisppy/generic_cylinders.py", 3,
"--module-name farmer --num-scens 6 "
"--rel-gap 0.001 --max-iterations=50 "
"--grad-rho --indep-denom "
"--default-rho=2 --solver-name={} --lagrangian --xhatshuffle".format(solver_name))
do_one("farmer", "../../mpisppy/generic_cylinders.py", 4,
"--module-name farmer --num-scens 6 "
"--rel-gap 0.001 --max-iterations=50 "
Expand Down
7 changes: 6 additions & 1 deletion mpisppy/extensions/grad_rho.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,15 @@ def _scen_indep_denom(self):
op=MPI.SUM,
)

# max over *all* nodes
denom_max = max(max(denom) for denom in global_denoms.values())
scen_indep_denom = {}
for ndn, global_denom in global_denoms.items():
for i, v in enumerate(global_denom):
scen_indep_denom[ndn, i] = v
if (scen_indep_denom[ndn, i]) <= self.denom_bound * v:
scen_indep_denom[ndn, i] = max(denom_max, self.denom_bound * v)
else:
scen_indep_denom[ndn, i] = v

return scen_indep_denom

Expand Down
Loading