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

Update IDAES branch from pyomo/master #154

Merged
merged 239 commits into from
Jun 6, 2017
Merged

Update IDAES branch from pyomo/master #154

merged 239 commits into from
Jun 6, 2017

Conversation

jsiirola
Copy link
Member

@jsiirola jsiirola commented Jun 5, 2017

I am recreating @qtothec's PR (#152) now that #151 has been merged with master.

As @qtothec pointed out: IDAES/models will begin to fail tests if the fix to symbolic.py isn't merged in, because of a switch to using the Pyomo differentiate() function rather than going through CasADi.

Attn:
@eslickj
@andrewlee94
@tony121psu
@dangunter

ghackebeil and others added 30 commits November 10, 2016 18:49
When walking large trees, this will return as soon as the outcome is
determined - and can avoid walking the entire tree.
Interpreters that do not support getrefcount now automatically default
to pyomo4 expressions.
 - cleaning up _GetItemExpression._potentially_variable
 - check _potentially_variable when extracting linear components from
   expressions.
Completely rearchitecting the Pyomo4 expressions to rely on
getrefcount() if it is available.  If it is not, it removes the
implicit "in-place" operations for improved safety.
Completely redesigning the refrence count detection to centralize all
refrence count checks upon initial entry to the expression generation
code.  This also centralizes some initial type checking, conversion, and
management into the clone_if_needed functions.  Much of this is also
mirrored in the _parent_expr verification logic (for pypy).
Re-adding clone-detection tests from coopr3 expressions (now that
reference count-based cloning is supported).
whart222 and others added 15 commits May 14, 2017 13:12
These are failing because of an issue with pyomo.extras.
…parser attempted to cast the string 'None' to a float
The current pyomo script implicit model identification logic will error
if there are multiple (python) variables that point to models.  This
will catch and ignore situations where the variables all point to the same
model; for example:
    m = model = ConcreteModel()
or
    model = ConcreteModel()
    inst = model.create_instance()
…ion is mapped to the 'executable' keyword for SolverFactory
Add exponential function support to symbolic module and add documentation
(Sympy converts integers to floating point.)
@codecov-io
Copy link

codecov-io commented Jun 5, 2017

Codecov Report

Merging #154 into IDAES will increase coverage by 0.21%.
The diff coverage is 77.71%.

Impacted file tree graph

@@            Coverage Diff            @@
##           IDAES     #154      +/-   ##
=========================================
+ Coverage     60%   60.22%   +0.21%     
=========================================
  Files        421      423       +2     
  Lines      54723    54854     +131     
=========================================
+ Hits       32838    33034     +196     
+ Misses     21885    21820      -65
Impacted Files Coverage Δ
pyomo/checker/checker.py 100% <ø> (ø) ⬆️
admin/jenkins.py 0% <ø> (ø) ⬆️
pyomo/core/base/log_config.py 100% <ø> (ø) ⬆️
pyomo/core/base/component_order.py 100% <ø> (ø) ⬆️
pyomo/bilevel/plugins/lcp.py 85% <ø> (ø) ⬆️
pyomo/core/base/register_numpy_types.py 88.57% <ø> (ø) ⬆️
examples/pyomo/core/t1.py 100% <ø> (ø) ⬆️
examples/pyomo/tutorials/param.py 100% <ø> (ø) ⬆️
pyomo/bilevel/plugins/solver3.py 94.82% <ø> (ø) ⬆️
pyomo/bilevel/plugins/solver2.py 95% <ø> (ø) ⬆️
... and 291 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ec7cf31...240d3f9. Read the comment docs.

@eslickj
Copy link
Contributor

eslickj commented Jun 5, 2017

I'm okay with this. I think we will have a minor issue with ExternalFunctions related to the AMPLFUNC environment variable, but we need to work that out anyway, and it won't break any tests. Otherwise I think this works fine for my stuff.

@andrewlee94
Copy link

My only concern is the same one John has. Otherwise, I would like to update to the new master for the fix to solving indexed blocks.

@jsiirola
Copy link
Member Author

jsiirola commented Jun 5, 2017

I am looking at #153 right now. @andrewlee94: are you referring to #73? I will take a look at that next.

@dangunter
Copy link

I am fine with this if John and Andrew are.

I think @ksbeattie was going to be "gatekeeper", at least initially.

@andrewlee94
Copy link

@jsiirola The issue we are referring to is the follow on from #73 we mentioned at the meeting. To recap, the AMPLFUNC environment variable does not seem to be getting registered for those people using newer versions of Pyomo.

jsiirola added 4 commits June 5, 2017 12:12
(Re)Generate the _op_template map for each call to the NL writer.  This
allows the expression system to be switched after the writer is first loaded.
Shallow copying os.environ does not create an independent dictionary.
Detect spaces and quote the string when generating the AMPLFUNC
environment variable.
@ksbeattie
Copy link
Contributor

I believe I did agree to be the "gatekeeper" for these PRs. As in, I was supposed to be the one making the request. I appear to have fallen down in that regard for this request.

As such, I'm ok with merging this PR as clearly everyone is ok with it.

I'll make a point of driving these requests in the future from the IDAES team.

Copy link
Contributor

@qtothec qtothec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to work fine for me.

@jsiirola jsiirola merged commit e919cc6 into IDAES Jun 6, 2017
@jsiirola jsiirola deleted the IDAES-premerge branch June 6, 2017 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.