Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 11:53
    abelsiqueira opened #1934
  • 11:49
    abelsiqueira opened #1933
  • 06:57
    jacktang commented #2099
  • Jun 30 22:52
    codecov[bot] commented #2955
  • Jun 30 22:52
    codecov[bot] commented #2955
  • Jun 30 22:51

    odow on gh-pages

    build based on d21f342 (compare)

  • Jun 30 22:34
    codecov[bot] commented #2955
  • Jun 30 22:32
    codecov[bot] commented #2955
  • Jun 30 22:30
    codecov[bot] commented #2955
  • Jun 30 22:28
    codecov[bot] commented #2955
  • Jun 30 22:24

    odow on gh-pages

    build based on 8ce8452 (compare)

  • Jun 30 22:16
    codecov[bot] commented #2955
  • Jun 30 22:16
    codecov[bot] commented #2955
  • Jun 30 22:16
    odow synchronize #2955
  • Jun 30 22:16

    odow on moi-nonlinear

    Handle unicode comparisons in n… (compare)

  • Jun 30 22:06
    odow commented #2955
  • Jun 30 21:56
    odow closed #3011
  • Jun 30 21:56

    odow on master

    Typo fix in docstring of set_up… (compare)

  • Jun 30 21:56

    odow on space

    (compare)

  • Jun 30 06:49
    codecov[bot] commented #3011
metab0t
@metab0t:matrix.org
[m]
@frapac: You can use use_ccall_macro = true in generator.toml to make generated c binding more readable with @ccall
2 replies
Oscar Dowson
@odow
@/all we're considering some additions to the style guide to address abstract method arguments. Please read and chime in here: jump-dev/JuMP.jl#2995
Oscar Dowson
@odow
@/all a reminder that the next Nonlinear developer call is this Wednesday, June 8th at 2pm Eastern. @sshin23 is going to talk about https://github.com/sshin23/MadDiff.jl. Please ask @frapac for an invite if you don't already have one.
freemin7
@freemin7
Is https://web.stanford.edu/~boyd/papers/gp_tutorial.html a strict subset of cone programming?
Mathieu Besançon
@matbesancon
more like a map of problems onto conic (or even linear) optimization
Neng-Fa Zhou
@nfzhou
How to do dereference in Julia? This should be one of the FAQs, however I couldn't find a satisfactory answer. For example, for a variable created in JuMP, @variable(model, x, Bin), the type of x is VariableRef, and I'd like to get the object referenced to by x, and access the lower_bound of the object.
Oscar Dowson
@odow
You don't dereference in Julia. You just go
model = Model()
@variable(model, x >= 0)
has_lower_bound(x)
lower_bound(x)
Oscar Dowson
@odow
@/all a preprint of a paper to celebrate JuMP 1.0 is available: https://arxiv.org/abs/2206.03866. Comments/typos/suggestions most welcome.
metab0t
@metab0t:matrix.org
[m]
I previously found that mathematical formula on https://jump.dev/JuMP.jl/dev/moi/manual/standard_form/ is broken but fine on https://jump.dev/MathOptInterface.jl/dev/manual/standard_form/ . The issue seems to be caused by different rendering JS library.
JuMP page uses katex and it cannot parse \mbox command in TeX
MOI page uses Mathjax and it renders without issues.
metab0t
@metab0t:matrix.org
[m]
Joshua Pulsipher
@pulsipher
A quick feasibility check, do MOF files support nonlinear constraints? If they do, might it be possible to construct an MOF file manually (potentially containing nonlinear constraints) and then have it read into MOI? Some colleagues are interested in seeing if it would be possible to make a file writer for Pyomo to port models into MOI. We can just write nl files, but those loose a lot of information (e.g., sets).
Oscar Dowson
@odow
Nonlinear support in MOF is a little in flux. You can write but not read. I need to update it now we have MOI.Nonlinear.
I'll take a look at what would be involved jump-dev/MathOptInterface.jl#1906
By loose set information, what do you mean? MOF doesn't support nested subexpressions or compact representations of sets
Joshua Pulsipher
@pulsipher
"loose" was a typo for "lose". Sets was probably a poor example since those aren't stored like Pyomo (I was a little cross-eyed reading back and forth). My understanding is that MOF is a JSON serialization of an MOI model so it likely encodes more model information than a generic nl file. Better examples I think would include distinguishing between linear and general nonlinear constraints and storing variable/constraint names. I am acting as a middle man for my colleagues on the IDAES project that are hoping they could preserve more model information/structure in translating an IDAES model (basically a Pyomo model with specialized process unit models which are typically nonlinear) to MOI. Using MOF was just an initial thought, but perhaps there is a better way...
Oscar Dowson
@odow
Yes, you could write out linear/quadratic/general nonlinear in LessThan/GreaterThan/EqualTo/Interval and preserve variable and constraint names. But otherwise the model is flattened, so it's no structure preserving in the sense of index sets or blocks
Joshua Pulsipher
@pulsipher
Yep, that makes sense. So, it can be structured to the extent that MOI models are. On a related note after working with a number colleagues that use pyomo a lot (and are now starting to take a closer look at JuMP now that I am here :) ), one of the key features they mention they wish JuMP/MOI had was the abstraction of blocks like pyomo.
Oscar Dowson
@odow
The block abstraction in Pyomo is worth exploring in JuMP, but I think it's best left to a modeling extension. What might be useful is collecting some examples of where pyomo's blocks makes modeling simpler, and then open an issue in JuMP.jl with them as examples.
Joshua Pulsipher
@pulsipher
I'll take a look into it.
Frames Catherine White
@oxinabox
I don't understand this but it seems like adding base_name to some of my constraints makes precompilation take forever. Like literally left it running all weekend.
also I think maybe since i started using base_name in lots of places my precompilation and load time has gone right up.
Oscar Dowson
@odow
That seems like a Julia issue, rather than a JuMP issue? Does it work on 1.6, 1.7, and 1.8?
Frames Catherine White
@oxinabox
I tried 1.6 and 1.7
Frames Catherine White
@oxinabox
It goes away if instead of using base_name i just put the name as the 2nd argument to @constraint
Oscar Dowson
@odow
That's something slightly different. Do you have a MWE for base_name?
Frames Catherine White
@oxinabox
I do not. And it seems like it is only if I have a lot of them maybe.
I was using names like "Foo: Bar (qux)" which might have made it sad?
freemin7
@freemin7
Does someone have a nice, self contained application example of mixed integer cone programming?
Benoît Legat
@blegat
Joey's presentation in the SumOfSquares README
freemin7
@freemin7
Any other examples or ideas? I am giving a talk on mixed integer programming, some tricks of the trade, ... that kind of stuff.
i have good ideas what to do for linear and will show off something non-linear i did but for conic have no idea yet
Miles Lubin
@mlubin
See convex/cvxpy for examples of what you can do with cones
freemin7
@freemin7
what is that specfic convex?
Miles Lubin
@mlubin
cvxpy has a lot of examples: https://www.cvxpy.org/examples/index.html
they're all cone problems
freemin7
@freemin7
Ah there are indeed some nice ones there.
Chris C.
@chriscoey
Hi all, just announcing that Pajarito has been redesigned from scratch and now works with MOI as of v0.8.0, released today. Pajarito is a mixed-integer conic solver with a generic cone interface (like Hypatia), allowing you to add support for any convex cones. Currently second-order, PSD, exponential, and power cones are supported out of the box. Pajarito uses outer approximation and is finite-time in theory (see repo for 2020 paper with Miles and JP).
Oscar Dowson
@odow
freemin7
@freemin7
Awesome @odow @chriscoey I will use it in a workshop i give this week end. this amkes life a lot easier
3 replies
Oscar Dowson
@odow
People interested in nonlinear: you might want to try out the new CasADi_jll.amplexe via AmplNLWriter: https://github.com/lanl-ansi/rosetta-opf/issues/21#issuecomment-1162412250. It's a version of Ipopt that uses CasADi for the automatic differentiation instead of AMPL's ASL. Let me know how it goes. If promising, we may consider investigating ways to hook CasADi into JuMP more generally.
16 replies
Oscar Dowson
@odow
@/all a reminder that the next JuMP monthly call is tomorrow, Thursday 23 at 14:00 Eastern. Please ping me for an invite if you don't already have one.
Miles Lubin
@mlubin
Off topic, but Artelys has a great homepage
Miles Lubin
@mlubin
Does anyone have access to web of science? The graphic for AMPL citations might look interesting for JuMP: https://ampl.com/products/ampl/ampl-for-research/
1 reply
BridgingBot
@GitterIRCbot
[slack] <Wikunia> Do you mind opening an issue with the problem you tried to solve?
BridgingBot
@GitterIRCbot
[slack] <Sobhan> i think it's harder to do with JuMP :rolling_on_the_floor_laughing:: https://files.slack.com/files-pri/T68168MUP-F03LXCJNGPR/download/image.png
[slack] <Sobhan> this is jump + julia