-
-
Notifications
You must be signed in to change notification settings - Fork 393
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
Suggestions for documentation improvements #2348
Comments
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
I've had a request for a tutorial for getting the matrix form, e.g., doing this: cache = SCS.OptimizerCache{Int}()
MOI.copy_to(cache, backend(model).optimizer.model.model_cache)
A = convert(SparseMatrixCSC{Float64,Int}, cache.constraints.coefficients)
b = cache.constraints.constants.b |
With the new Transitioning section, it would be good to have a short referring section from the "Should you use JuMP?" page |
I forgot to mention, I took a look at this. But I couldn't get Documenter to render the interactive plots, and something was weird with the PDFs. Sticking with Plots.jl and the defaults for now seems okay. |
#3729 (comment) should be a page in the docs. |
Agreed, maybe it should mention |
This comment was marked as resolved.
This comment was marked as resolved.
We could add feasibility cuts to the Benders tutorial x-ref https://discourse.julialang.org/t/dual-ray-from-lp-solved-by-dual-algorithm/114068/4?u=odow |
I'd say that should be either a second part of the tutorial or even a separate tutorial. |
We can actually also add unbounded cuts (it's in https://github.com/JuliaStochOpt/StructDualDynProg.jl/blob/de7801fc990743f326b7c0f09a3b41d48feb0d8d/src/StructProg/nlds.jl#L55-L57). The idea is as follows: if the parent is unbounded, you compute the unbounded ray. Then you solved modified children by adding a variable |
We add a big-M a priori bound to the θ variable so that the parent problem is bounded 😄 |
This comment was marked as resolved.
This comment was marked as resolved.
Add an example of using DifferentiationInterface to https://jump.dev/JuMP.jl/stable/tutorials/nonlinear/operator_ad/: #3806 |
This comment was marked as resolved.
This comment was marked as resolved.
Use or mention PiecewiseAffineApprox.jl in the piecewise linear tutorial: https://jump.dev/JuMP.jl/stable/tutorials/linear/piecewise_linear/ |
I think we need a numerical issues tutorial. I link to the Gurobi ones all the time. People are constantly confused about tolerances, etc. |
Classic reference is Aspects of mathematical modelling related to optimization As of posting, currently active thread on Julia Discourse highlights the issues and confusions. |
We now have https://jump.dev/JuMP.jl/dev/tutorials/getting_started/tolerances/, which I quite like. We probably need a separate tutorial to talk about problem scaling, reasonable coefficients, etc. Or perhaps it can be tagged onto the end of this tutorial. |
Hi there!
This issue is a catch-all for documentation improvement suggestions. I'll keep it updated with things to work on, rather than having lots of separate issues.
General editing
The easiest place to start is just to read through any portion of the docs and give it a good edit. Spelling, grammar, or edits for clarity are always good.
The easiest way to get started is to pick a Markdown page, e.g.,:
https://github.com/jump-dev/JuMP.jl/blob/master/docs/src/index.md
and then click the "Edit this file" pencil icon:
Make your changes, and then scroll to the bottom of the page for instructions on how to submit a pull request.
If you're not sure about a change, make it, open a pull request, and then we can discuss it.
Prior art
There are two existing sources of documentation that I would like us to work towards:
Resolved items
Resolved items
Improve current tutorials
A lot of the tutorials are quite basic and consist of just functions. We should revise the existing tutorials to show a wider range of interesting JuMP and Julia syntax and features.
I think it'd also help if each tutorial used a standardized template. Perhaps something like
Add new tutorials
Structuring larger models
I wrote a nice answer here:
https://discourse.julialang.org/t/integrating-mathoptinterface-into-an-industry-scale-project-e-g-constraint-management/71943/2?u=odow
Improved MIP modeling tricks
People consistently ask how to reformulate
max
andabs
. These should be added. The Mosek modeling cookbook is the gold-standard for this: https://docs.mosek.com/modeling-cookbook/mio.htmlParallelism
I get this question quite frequently. A section should be added to the docs explaining the different options.
Links with content
How to debug a JuMP model
We need a getting started on debugging.
@BenLauwens has a great chapter on debugging: https://benlauwens.github.io/ThinkJulia.jl/latest/book.html#chap21. We should link to it, and re-phrase some of the suggestions in a JuMP context.
Parametric problems
The same user as #2662 asked for ways to solve a collection of problems over a set of parameters. We don't have a good way of doing this in JuMP (we have
@NLparameter
, but not@parameter
), but it could be scripted using the modification API (or even just rebuilding the problem).We should write a tutorial with the different approaches. Here's their suggestion:
![image](https://user-images.githubusercontent.com/8177701/129110774-cc2688d9-ac27-40e2-b6b0-390e1d7c2e0a.png)
I like the idea of visualizing the heat map.
The text was updated successfully, but these errors were encountered: