Pyomo / pyomo

An object-oriented algebraic modeling language in Python for structured optimization problems.
https://www.pyomo.org
Other
2.03k stars 518 forks source link

Deprecate Model Transformations #273

Closed whart222 closed 1 year ago

whart222 commented 6 years ago

The following model transformations are either weakly tested or not tested at all:

Each of these transformations perform nontrivial changes of the expression tree, and hence they should be reworked to use the new expression tree walker that has been developed on the expr_dev branch. But the fact that these are so poorly tested suggests that they are not used in practice.

Please comment on the utility of these transformations.

qtothec commented 6 years ago

I'm planning to use/build upon radix_linearization in the near (next few months) future, but I haven't had the time to go through and understand what the code is doing yet.

jsiirola commented 6 years ago

The radix_linearization transformation is a whim that I put together after getting excited about Pedro Castro's talk at AIChE (it is a variant on his "multiparametric disaggregation" approach). You are correct that it is not tested (and in fact was never fully completed). I have no qualms marking it as deprecated (but not removing it ... it has some interesting breadcrumbs in it). @qtothec: I also have plans to reconstitute this capability in the next several months. We should coordinate.

As to the others, by core.remove_fixed_vars do you mean core.eliminate_fixed_vars from core/plugins/transform/eliminate_fixed_vars.py? I believe that both core.eliminate_fixed_vars and core.nonnegative_vars are your transformations. I do not know if either has ever been used. Of the two, I could see utility in the nonnegative_vars transformation, though (I see too many algorithms / papers that begin with that standard form assumption, so having a transformation to generate it from a model could be useful).

qtothec commented 6 years ago

@jsiirola: @bernalde also expressed interest in the radix_linearization and piecewise McCormick when I mentioned it to him a few minutes ago.

mrmundt commented 1 year ago

Tracking this in the Archived Design Discussions wiki page.