We need to merge the expr_dev branch *now*

18 views
Skip to first unread message

Bill Hart

unread,
Apr 25, 2018, 4:01:52 AM4/25/18
to Pyomo Developers
I'd like to get input from everyone on this.  --Bill


Reasons for Not Merging:

- One of the recent merges from master mucked up pyomo.gdp.  (I've suppressed testing errors related to this issue.)  I don't believe this is impact active development, and with a modest amount of effort this could be resolved.

- John hasn't finished his review.


Reasons for Merging:

- Enough Pyomo developers have reviewed the expr_dev branch, and we have excellent testing and documentation.  

- I believe that I've resolved all issues that are likely to be blockers for active developers.

- The merge is a blocker for a variety of Pyomo development activities (e.g. see Dave's latest email).

- As I noted in my recent commit, I'm starting to make commits to expr_dev that really should be reviewed in a PR.  But that's not practical right now.

- I will be mostly unavailable for expr_dev development for the next two months ... starting today.  If we don't merge immediately, then July is the next time window ... unless someone wants to own this branch?

- Delaying the merge for several months will likely lead us to abandon this effort.  I've been merging regularly for the past few months, and even with that I'm struggling to track updates to master (see the GDP issue above).


Laird, Carl Damon

unread,
Apr 25, 2018, 8:06:08 AM4/25/18
to pyomo-de...@googlegroups.com

A couple of follow-up questions:

1)       Are we happy with the state of master immediately before this merge? This point could very well be a fall-back for people if they have troubles with the new expression system.

2)       Do we have active issues for the problems we know about related to expr_dev?

 

If the above are true, then I vote we merge this and work on the outstanding issues.

 

Regards,

 

Carl.

--
You received this message because you are subscribed to the Google Groups "Pyomo Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyomo-develope...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Qi Chen

unread,
Apr 25, 2018, 8:57:55 AM4/25/18
to pyomo-de...@googlegroups.com
How badly does it break GDP, again?

Siirola, John D

unread,
Apr 25, 2018, 10:03:46 AM4/25/18
to pyomo-de...@googlegroups.com
The short answer is I don’t know. The branch removed a ton of assertions in the GDP tests without replacing them with any equivalent checks. There are a number of tests that were just marked “known failures”. My guess is that bigm might work but chull is broken (and anything that depends on it). 

I was going to work on it last night but ended up wasting the night trying (unsuccessfully) to build a test Bill requested for a fix to the NL writer IDAES needs. 

John

Qi Chen

unread,
Apr 25, 2018, 10:49:54 AM4/25/18
to pyomo-de...@googlegroups.com
The more immediate concern for me is that it breaks the GAMS writer:

Exec Error at line 1163: power: FUNC DOMAIN: pow(x,i), i not integer


c299_lo.. 0.0 =l= x225 - power((x226*x227*(x226 + x227)*0.5), 0.333333333333) + 2000*(1 - x141) ;


I have an x^(1/3) expression. I think in this case, it needs to be
c299_lo.. 0.0 =l= x225 - ((x226*x227*(x226 + x227)*0.5)) ** 0.333333333333 + 2000*(1 - x141) ;


The BigM transformation that happens prior to this seems to be working, but I couldn't compare results because of this error.

Bill Hart

unread,
Apr 25, 2018, 11:20:24 AM4/25/18
to Pyomo Developers
1. YES.  We just processed a release, and all tests are passing.

2. YES.  I added tickets for all of the outstanding issues/concerns related to the expr_dev branch, and last night I resolved the only issue that I know would be a blocker for developers.

--Bill

To unsubscribe from this group and stop receiving emails from it, send an email to pyomo-developers+unsubscribe@googlegroups.com.

Bill Hart

unread,
Apr 25, 2018, 11:23:50 AM4/25/18
to Pyomo Developers
Qi:

It's not obvious if your example depends on GDP.  All of the GAMS tests in expr_dev are passing, though.  Perhaps this example reflects a gap in those tests?

FWIW, I expect issues like this to crop up.  But there's a chicken-and-egg dynamic;  we won't know about these issues until we start using the branch but we aren't using the branch because it might break things.

--Bill

Gabriel Hackebeil

unread,
Apr 25, 2018, 11:50:53 AM4/25/18
to pyomo-de...@googlegroups.com
Bill:

I support doing the merge ASAP. If only because we’ve already committed to doing it, and the size of this PR almost guarantees merge conflicts as any new PRs go into master before it. I think we need a solid few months of active use on master to work out any remaining issues before announcing a big release at INFORMS.

Gabe

David Woodruff

unread,
Apr 25, 2018, 11:51:04 AM4/25/18
to pyomo-de...@googlegroups.com
I vote to merge, but the costs to me are very low. If there was not a requirement for voting, I would abstain.


--
You received this message because you are subscribed to the Google Groups "Pyomo Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyomo-developers+unsubscribe@googlegroups.com.

Bill Hart

unread,
Apr 27, 2018, 12:21:02 PM4/27/18
to Pyomo Developers
Thanks all for your input.  I merged expr_dev last night.  I also created the following branches:

master_at_exprdev_merge - This branch was created just *before* the expr_dev merge, in case we need to re-direct development to support a mission need.

expr_expected_failures - This branch was created to resolve the outstanding failures that were suppressed just before the merge.  Test failures in PySP and DAE are here now, and I plan to re-merge GDP from master_at_exprdev_merge by hand to resolve the suppressed GDP failures.

Finally, I've setup nightly performance tests on Sandia's private Jenkins server.  I'm working to automate the transfer of those results to a public server.

--Bill
Reply all
Reply to author
Forward
0 new messages