JuliaOpt/juliaopt-notebooks

List of notebooks to find

Opened this issue · 18 comments

  • Berkeley nonlinear
  • IAP2015
  • NRM example

Don't have a TSP one as a notebook I think, but we should.

@karanveerm developed a number of notebooks for Convex.jl. Should we try to gather them here?

Sure! Right now they're living at
https://github.com/JuliaOpt/Convex.jl/tree/master/examples.

On Fri, Jan 23, 2015 at 10:37 PM, Miles Lubin notifications@github.com
wrote:

@karanveerm https://github.com/karanveerm developed a number of
notebooks for Convex.jl. Should we try to gather them here?


Reply to this email directly or view it on GitHub
#1 (comment)
.

Madeleine Udell
PhD Candidate in Computational and Mathematical Engineering
Stanford University
www.stanford.edu/~udell

From the julia-opt mailing list:

"Route Optimizer" is just the TSP code I wrote, taken and put on Forio servers

Nonlinear and trajectory and sudoku already live on the juliaopt webpage: https://github.com/JuliaOpt/juliaopt.org/tree/gh-pages/notebooks

Well let's move them over. Just need to add a description and license header.

@madeleineudell @karanveerm, so for the the Convex.jl notebooks I think there's a line that we can draw between notebooks that document basic syntax and notebooks that walk through a complete modeling problem (like tomography, time_series, control, etc.). It's certainly open for discussion as to what the scope of notebooks included here should be, but I'd say that the latter should be the first to be collected here. What do you think?

Yes, that makes sense. It is unfortunate that there's no such thing as a
github symlink, though; it seems like we've found here another instance of
code that ought to be in two different places.

On Sat, Jan 24, 2015 at 9:50 AM, Miles Lubin notifications@github.com
wrote:

@madeleineudell https://github.com/madeleineudell @karanveerm
https://github.com/karanveerm, so for the the Convex.jl notebooks I
think there's a line that we can draw between notebooks that document basic
syntax and notebooks that walk through a complete modeling problem (like
tomography, time_series, control, etc.). It's certainly open for discussion
as to what the scope of notebooks included here should be, but I'd say that
the latter should be the first to be collected here. What do you think?


Reply to this email directly or view it on GitHub
#1 (comment)
.

Madeleine Udell
PhD Candidate in Computational and Mathematical Engineering
Stanford University
www.stanford.edu/~udell

@mlubin added the notebooks, feel free to go in and add the relevant licensing info

@IainNZ, did you write all of those? Okay with http://creativecommons.org/licenses/by-sa/4.0/ license?

Yeah they're all mine, looks fine

I agree that half of the Convex notebooks shouldn't really be put here (such as entropy maximization etc). But, how would you define a 'complete modeling problem'? Section allocation could be considered as one, but it really isn't. If we were to have some standard for notebooks, I'd guess it'll be something like:

  • Introduces and motivates the problem
  • (if applicable) Uses real world data (or some standard dataset) for the problem
  • Explains how the problem can be solved in a mathematically concise (and preferably solver-independent) way
  • Uses JuMP/ Convex/ pure Julia etc. to solve the problem
  • (if applicable) At the very least mentions how extensions or variants of the problem can be solved. Time series does a good job of actually going ahead and solving more complex versions.
    • (if applicable) Beautiful, intuitive visualizations

Is that what you guys were thinking, or is it just loosely defined?

@karanveerm, I'm not sure if I want to have guidelines which are that specific, but I agree with the sentiment. In general the goal is to have a collection of high quality, useful, and interesting notebooks. The section allocation notebook probably wouldn't make the cut, while time series certainly does.

@IainNZ, @joehuchette, the sudoku example notebook is pretty much fine as is, but the rocket control problem needs a lot more description, and the NRM notebook needs a bit more background on the formulation and the problem that's being solved.

Yeah I'll get around to that (one day :) )

Also notebooks should be standalone to the extent possible (unless there's a series of notebooks). That means giving sufficient background (or at least links to relevant resources) and minimizing dependencies on external code that isn't a released package.

I'd like to push forward on this if possible. Examples are still a pretty sore spot for us.

@madeleineudell,

Yes, that makes sense. It is unfortunate that there's no such thing as a
github symlink, though; it seems like we've found here another instance of
code that ought to be in two different places.

What about a README.md file in Convex.jl/examples which points to juliaopt-notebooks?

I'll get on to getting some up and tidied

OK, so Sudoku and NRM are up and tidied. I have the various nonlinear ones, but they worry me a bit as they are really tough to solve with IPOPT, apparently. While they show off JuMP really nicely, I'm not sure they make for good examples.