-
-
Notifications
You must be signed in to change notification settings - Fork 399
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
Simpler syntax to relax integer variables #587
Comments
I'm not sure I want to store an extra state variable in the JuMP model representing whether we're relaxed or not. What about a |
|
@JackDunnNZ suggested |
That doesn't sound too bad either. Let's keep bikeshedding it |
|
Also from jack: ampl has |
+1 to |
I kinda like |
What about SOS constraints? |
Anyone who knows what SOS constraints are shouldn't be too confused |
Are you asking if we need to explicitly add in the relaxation of the SOS constraints? |
My point is that there's a natural relaxation for everything JuMP supports, but it doesn't necessarily correspond to relaxing integrality when it comes to SOS or semicontinuous variables, for example. |
Relaxation means lots of different things to different people. It's clear in the context of MIP that it means relaxing integrality/SOS/etc, but in the context of nonconvex (MI)QCQP it might be an SDP relaxation. |
Maybe ambiguous, but it's the most natural choice, and it's not misleadingly inaccurate like |
|
Which continuous relaxation? Your SDP relaxation for MIQCQP would seemingly fit the bill. Just seems like adding 11 extra characters without clearing up the ambiguity. |
|
Perhaps it would be useful to make a list of all the relaxations users may want in JuMP. Here are the ones mentioned in the thread thus far: IMHO, if relax_discrete, relax_sos and relax_sdp are all options for solve, I think the confusion will be minimal. On Sep 30, 2015, at 9:45 AM, Joey Huchette <notifications@github.commailto:notifications@github.com> wrote: Which continuous relaxation? Your SDP relaxation for MIQCQP would seemingly fit the bill. Just seems like adding 11 extra characters without clearing up the ambiguity. — |
My vote is to make the kwarg I'm not sure I see the utility in adding a bunch of keyword arguments that won't likely be used much, and aren't too difficult to implement in code anyway. |
That's a bit of a biased view, not everyone is solving MIPs. What's wrong with Realistically I don't see JuMP doing any other kinds of relaxations anytime soon, but that doesn't really change the point. |
True, but if you're using JuMP and are asking for a relaxation of something, chances are it's a MIP.
It's more verbose, and makes a distinction that I'm not convinced is necessary, given your last sentence. Plus, lumping semicontinuous variables (and to a lesser extent, SOS) under the "discrete" banner seems a little off to me, since it's just a specialized way of expressing non convex constraints on continuous variables. It's better than |
I don't think it's too much of a misnomer to categorize semicontinuous variables as discrete, anyone who knows what they are won't be too confused. @IainNZ, deciding vote? |
Closed by #597 |
I'd like to see simpler syntax (one line?) to relax/unrelax all integer variables in a MI(N)LP. For example,
"relax(m)" and "unrelax(m)" where m is a JuMP model
(P.S. My apologies if I placed this feature request in the wrong place.)
The suggestion offered here (https://groups.google.com/forum/#!topic/julia-opt/L6gn60ex6ww) could be used to relax/unrelax individual variables.
The text was updated successfully, but these errors were encountered: