pyomo.lite

22 views
Skip to first unread message

Bill Hart

unread,
Dec 6, 2016, 7:19:37 AM12/6/16
to Pyomo Developers
After thinking about it a while, I renamed pyomo.simple to pyomo.lite.

Although I haven't talked with anyone who thinks this package provides interesting functionality,  I still think it's worth sharing this package with users to illustrate how Pyomo could be used to support PuLP-like functionality.

However, I'm not sure where/how.  I see two options:

1. Distribute as a separate Python package
2. Distribute as a package within Pyomo

I prefer the latter, mostly because it simplifies my life.  I have one less package to manage.  But I don't expect this package to have any future development, so that's not a strong consideration.

Thoughts?

--Bill

David Woodruff

unread,
Dec 6, 2016, 11:42:24 AM12/6/16
to pyomo-de...@googlegroups.com
Bill,
   There are advantages to having it be a separate package. Even though it is supposed to be a gateway drug, it would be nice if it had its own document, its own location for issues on github and its own "label" on stock overflow and no mention of the pyomo forum. Having it just be part of the growing family will probably result in confusion for its users and maybe for us as well.
  Dave


--
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.
For more options, visit https://groups.google.com/d/optout.

William Hart

unread,
Dec 6, 2016, 1:45:59 PM12/6/16
to pyomo-de...@googlegroups.com
Dave:

I agree that a separate package would allow it to be documented separately.  I'm waffling on whether to do that, or simply to treat this as a demonstration package.

FWIW, I'm not planning on NOT setting up an email list for this, but rather recommend questions on stack overflow.  We still get lots of email questions that I'd rather see there.

--Bill

Gabriel Hackebeil

unread,
Dec 6, 2016, 2:01:42 PM12/6/16
to pyomo-de...@googlegroups.com
Bill,

I see where you are going with pyomo.lite, but I’m afraid people might interpret that name as meaning “more lightweight and faster”. But it can not be that since it is written on top of pyomo.core. I would suggest sticking with pyomo.simple as the name.

Gabe 

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

Laird, Carl D

unread,
Dec 6, 2016, 2:05:26 PM12/6/16
to pyomo-de...@googlegroups.com
While I agreed with the name change when you first proposed it, after more thought I realized that lite usually means the "free" version with fewer features. Not really what this is. 

Regards,

Carl Laird.

David Woodruff

unread,
Dec 6, 2016, 3:14:32 PM12/6/16
to pyomo-de...@googlegroups.com
It would be nice for stack overflow readers if they can easily tell that it is *not* Pyomo that is being discussed but rather pyomo.lite (or pyomo.simple)

Gabriel Hackebeil

unread,
Dec 6, 2016, 3:20:49 PM12/6/16
to pyomo-de...@googlegroups.com
It would also need to drop the dot: pyomo_lite or pyomo_simple

Gabe

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

William Hart

unread,
Dec 8, 2016, 9:42:21 AM12/8/16
to pyomo-de...@googlegroups.com
Carl:

I disagree with your interpretation of Lite, but in any case I don't think we'll find a term that doesn't have some negative association w.r.t. Its relationship with Pyomo.

Would it be better to have a separate name in a separate package?  For example, suppose that I call this PuNLP and distribute it as a separate python package. There's no confusing it with Pyomo, but we also lose the branding "Pyomo inside".

Alternatively, we could create a directory for demos like this:

  Pyomo.demos.punlp

So the package name illustrates that this is not part of Pyomo's functionality.

Thoughts?

Bill

Sent from my iPad

Siirola, John D

unread,
Dec 8, 2016, 10:09:09 AM12/8/16
to pyomo-de...@googlegroups.com
A couple quick notes:

1) I really, really dislike the name "punlp". 

2) I like the idea of a demos or, better yet, an "applications" directory. (Or should blew be hip and call it "apps"??)  I have a heat exchanger synthesis application built on pyomo from Imperial that I would like to get into the repo, but have been struggling with where to put it. 

John

William Hart

unread,
Dec 8, 2016, 7:47:20 PM12/8/16
to pyomo-de...@googlegroups.com
John:

You dislike punlp more than Pyomo.lite?

Is there much difference between Pyomo.apps and PyomoGallery?  I think it we should reserve the Pyomo repos for the core code.  Pyomo.lite is a grey area for me, since it isn't an application example.

Bill



Sent from my iPad

Bethany Nicholson

unread,
Dec 9, 2016, 10:18:57 AM12/9/16
to pyomo-de...@googlegroups.com
I agree with John, I really don't like punlp. There isn't a good way to pronounce it, either you're making a joke using LPs ('pun-LP') or you're feeding into the misconception that NLPs are hard and should be avoided ('P-U-NLP'). I also agree with Gabe that we don't want users to interpret this package as a “more lightweight and faster” version of Pyomo. How about something like Pyomo.stripped or Pyomo.pulpsyntax?

I think the PyomoGallery is a good place for it, that way it isn't being distributed with the core Pyomo code but it is still easily accessible for anyone who wants to use it. Putting it in the gallery also implies that it is a demonstration or example rather than a package that is actively developed.

Bethany

Watson, Jean-Paul

unread,
Dec 9, 2016, 10:52:15 AM12/9/16
to pyomo-de...@googlegroups.com

How about Pyomo.pulplike?

 

jpw

--

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.

--
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.

--
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.

--
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.

--
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.

--
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.

--
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.

--
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.

--
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.

Siirola, John D

unread,
Dec 9, 2016, 1:04:27 PM12/9/16
to pyomo-de...@googlegroups.com

Yes.  I dislike punlp more than pyomo.lite.

 

Just so last night’s discussion is documented somewhere…

 

Bill and I chatted about where “applications” should be put…  (I think) we agreed that:

-          Pyomo/pyomo should be restricted to core functionality and core examples. 

-          Pyomo/pyomo-model-libraries can hold the rest of the models for testing (particularly ones requiring large data sets, or ones [like CUTEr] that are highly redundant). 

-          Pyomo/PyomoGallery is for user-contributed examples with documentation – in the form of a Jupyter notebook

 

The question is where to put things that are *derived* from Pyomo.  This would include things like pyomo.{simple,lite,pulplike,gutted}, but also derived algorithms, like Miten Mistry’s HENS code (see https://github.com/Pyomo/PyomoGallery/pull/8).  I believe we reached the conclusion that we should float the idea of having us create additional public repos under the Pyomo organization for contributed applications.  We would also want to provide a mechanism for getting the applications hooked into the nightly testing framework – that is, by agreeing to “donate” your application to the Pyomo organization, we would in turn make sure that it is tested along with trunk.  The idea is that way the applications could be associated with Pyomo (and in a sense, get a certification that they still work with Pyomo) – but can also maintain their own identity.  It would complicate distribution – but then, distribution would be the problem of the POC for each application repo.

 

Thoughts?

 

john

 

From: pyomo-de...@googlegroups.com [mailto:pyomo-de...@googlegroups.com] On Behalf Of William Hart
Sent: Thursday, December 08, 2016 5:47 PM
To: pyomo-de...@googlegroups.com
Subject: Re: [EXTERNAL] Re: pyomo.lite

 

John:

--

William Hart

unread,
Dec 9, 2016, 4:37:39 PM12/9/16
to pyomo-de...@googlegroups.com
I like the idea of having derived packages be separate in the Pyomo github organization.  However, we can make it easy to install them with pyomo.  

For example, if we add a pyomo.aux namespace package, then a user could install pyomo.aux.simple 

This allows users to develop and distribute packages that won't conflict with pyomo, but which are clearly associated with pyomo.

Bill

--

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


For more options, visit
https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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,
Dec 12, 2016, 1:12:53 PM12/12/16
to Pyomo Developers
I just chatted about pyomo.aux with Carl and Bethany.  We agreed to use 'pyomo.contrib' to conditionally import packages that provide additional functionality that users might leverage (e.g. Pyomo-based solvers that users develop, or the pyomo_simplemodel package).

This avoids the namespace logic that I proposed below, which wound up being difficult to test!

--Bill

Siirola, John D

unread,
Dec 12, 2016, 1:40:27 PM12/12/16
to pyomo-de...@googlegroups.com
Bill,

Can you comment more on this? What is the difference between pyomo.contrib and pyomo.aux? 

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

Bill Hart

unread,
Dec 12, 2016, 3:41:01 PM12/12/16
to Pyomo Developers
pyomo.contrib is NOT a namespace package, but pyomo.aux IS.

--Bill

Siirola, John D

unread,
Dec 12, 2016, 4:53:12 PM12/12/16
to pyomo-de...@googlegroups.com
Ahh. Got it. So all contributions to contrib would be housed in a single git repo - separate from pyomo - in the Pyomo organization?

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

William Hart

unread,
Dec 12, 2016, 5:04:18 PM12/12/16
to pyomo-de...@googlegroups.com
It's easy to support multiple git repos, and that probably works better for developers.  The key difference from namespace directories is that we need to explicitly list the packages we are importing.  But that seems OK, as it provides us an opportunity for vetting the packages we want to include in pyomo.contrib.

--Bill

Laird, Carl Damon

unread,
Dec 12, 2016, 5:05:32 PM12/12/16
to pyomo-de...@googlegroups.com

And they will be conditionally imported based on installation status.

 

From: <pyomo-de...@googlegroups.com> on behalf of William Hart <whar...@gmail.com>
Reply-To: "pyomo-de...@googlegroups.com" <pyomo-de...@googlegroups.com>
Date: Monday, December 12, 2016 at 3:04 PM
To: "pyomo-de...@googlegroups.com" <pyomo-de...@googlegroups.com>
Subject: Re: [EXTERNAL] Re: pyomo.lite

 

It's easy to support multiple git repos, and that probably works better for developers.  The key difference from namespace directories is that we need to explicitly list the packages we are importing.  But that seems OK, as it provides us an opportunity for vetting the packages we want to include in pyomo.contrib.

 

--Bill

 

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.

 

 

--
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.

--
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.

--
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.

--
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.

--
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.

--
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.

--
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.

--
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.

--
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.

--

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.

--

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.

--
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.

William Hart

unread,
Dec 12, 2016, 5:33:03 PM12/12/16
to pyomo-de...@googlegroups.com
Yes.  This would not impose additional dependencies on Pyomo, but rather if the user had installed contributed packages, then they could be accessed in a standard manner.  In many cases, this will simply be a simplification of the import process for users, but we could also automate the registration of Pyomo plugins using this mechanism.

--Bill

To unsubscribe from this group and stop receiving emails from it, send an email to pyomo-developers+unsubscribe@googlegroups.com.
For more options, visit
https://groups.google.com/d/optout.

 

 

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--

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.


For more options, visit https://groups.google.com/d/optout.

--

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.


For more options, visit https://groups.google.com/d/optout.

--
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.


For more options, visit https://groups.google.com/d/optout.

--
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.
Reply all
Reply to author
Forward
0 new messages