[AMPL 13096] Fractional root node solution

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[AMPL 13096] Fractional root node solution

Akshay-11
When running a MIP with AMPL/CPLEX and terminating at the root node with option cplex_options 'nodes=0', is there a variable suffix that stores the fractional values of the root node LP solution?

I am interested in obtaining the fractional solution because I want to implement some of my own cutting planes in AMPL, without having to code them through the callback interface in C/C++. 

Is the AMPL/CPLEX interface capable of returning any root node basis information?

--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

RE: [AMPL 13104] Fractional root node solution

Robert Fourer-2
When it detects that you have sent a MIP, CPLEX returns only integer solutions; if CPLEX is stopped before an integer solution is found, it doesn't return anything.  There isn't a way to get the root relaxation solution back into AMPL.

You can get a solution of the continuous relaxation of a MIP, however, by setting "option relax_integrality 1;" in AMPL, or by adding 'relax' to your cplex_options string.  In the latter case it is best to also specify "option presolve 0;" in AMPL, so that AMPL does not make any presolve reductions that rely on integrality.

Bob Fourer
[hidden email]

=======

From: [hidden email] [mailto:[hidden email]] On Behalf Of Akshay
Sent: Wednesday, November 30, 2016 10:22 AM
To: AMPL Modeling Language
Subject: [AMPL 13096] Fractional root node solution

When running a MIP with AMPL/CPLEX and terminating at the root node with option cplex_options 'nodes=0', is there a variable suffix that stores the fractional values of the root node LP solution?

I am interested in obtaining the fractional solution because I want to implement some of my own cutting planes in AMPL, without having to code them through the callback interface in C/C++.

Is the AMPL/CPLEX interface capable of returning any root node basis information?


--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [AMPL 18314] Fractional root node solution

Akshay-11
Hi Bob,

Writing back about this after 2 years with the same question: is it still not possible to obtain the fractional root node solution when solving a MIP in AMPL with Cplex, Gurobi, etc.? Is it possible to have this as a feature in future versions? It will be a really nice thing to have for someone who wants to quickly test some ideas on cutting planes and heuristics in AMPL but doesn't want to go through the hassle of C/C++ interface and callbacks.

- Akshay

On Thursday, December 1, 2016 at 12:51:26 PM UTC-5, Robert Fourer wrote:
When it detects that you have sent a MIP, CPLEX returns only integer solutions; if CPLEX is stopped before an integer solution is found, it doesn't return anything.  There isn't a way to get the root relaxation solution back into AMPL.

You can get a solution of the continuous relaxation of a MIP, however, by setting "option relax_integrality 1;" in AMPL, or by adding 'relax' to your cplex_options string.  In the latter case it is best to also specify "option presolve 0;" in AMPL, so that AMPL does not make any presolve reductions that rely on integrality.

Bob Fourer
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="cYygPP4JBgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">am...@...

=======

From: <a href="javascript:" target="_blank" gdf-obfuscated-mailto="cYygPP4JBgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">am...@... [mailto:<a href="javascript:" target="_blank" gdf-obfuscated-mailto="cYygPP4JBgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">am...@...] On Behalf Of Akshay
Sent: Wednesday, November 30, 2016 10:22 AM
To: AMPL Modeling Language
Subject: [AMPL 13096] Fractional root node solution

When running a MIP with AMPL/CPLEX and terminating at the root node with option cplex_options 'nodes=0', is there a variable suffix that stores the fractional values of the root node LP solution?

I am interested in obtaining the fractional solution because I want to implement some of my own cutting planes in AMPL, without having to code them through the callback interface in C/C++.

Is the AMPL/CPLEX interface capable of returning any root node basis information?


--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [AMPL 18328] Fractional root node solution

AMPL mailing list
There is still no option to ask for the fractional root node solution. However, the root node solution is computed by solving the continuous relaxation of the MIP, which you can get by setting an appropriate solver option. Is there some reason why requesting the continuous relaxation of the MIP would not be helpful for you? An example would be helpful.

--
Robert Fourer
[hidden email]
{#HS:792148353-37629#}
On Sun, Mar 3, 2019 at 2:19 AM UTC, Ampl Modeling Language <[hidden email]> wrote:
Hi Bob,

Writing back about this after 2 years with the same question: is it still not possible to obtain the fractional root node solution when solving a MIP in AMPL with Cplex, Gurobi, etc.? Is it possible to have this as a feature in future versions? It will be a really nice thing to have for someone who wants to quickly test some ideas on cutting planes and heuristics in AMPL but doesn't want to go through the hassle of C/C++ interface and callbacks.

- Akshay

On Thursday, December 1, 2016 at 12:51:26 PM UTC-5, Robert Fourer wrote:
When it detects that you have sent a MIP, CPLEX returns only integer solutions; if CPLEX is stopped before an integer solution is found, it doesn't return anything. There isn't a way to get the root relaxation solution back into AMPL.

You can get a solution of the continuous relaxation of a MIP, however, by setting "option relax_integrality 1;" in AMPL, or by adding 'relax' to your cplex_options string. In the latter case it is best to also specify "option presolve 0;" in AMPL, so that AMPL does not make any presolve reductions that rely on integrality.

Bob Fourer
[hidden email]

=======

From: [hidden email] [mailto:[hidden email]] On Behalf Of Akshay
Sent: Wednesday, November 30, 2016 10:22 AM
To: AMPL Modeling Language
Subject: [AMPL 13096] Fractional root node solution

When running a MIP with AMPL/CPLEX and terminating at the root node with option cplex_options 'nodes=0', is there a variable suffix that stores the fractional values of the root node LP solution?

I am interested in obtaining the fractional solution because I want to implement some of my own cutting planes in AMPL, without having to code them through the callback interface in C/C++.

Is the AMPL/CPLEX interface capable of returning any root node basis information?


--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.



--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [AMPL 18356] Fractional root node solution

Akshay-11
I want to take advantage of the MIP solver's presolve techniques and also the cutting planes it adds to the LP relaxation at the root node. Then just before branching begins, I would like to add my own cutting planes to the current LP relaxation, which would be significantly different than the original LP because of presolve and cuts. I believe this is how most cutting plane experiments work, when implemented through callback interfaces in C, C++, etc. Hence, it would be nice if there is a AMPL suffix that stores the fractional solution after I have terminated MIP solve at root node by setting a node limit of 0.

A work-around of course is to reverse the experiment: solve the original LP relaxation as you mentioned, generate user cuts with respect to its solution, add them as user cuts or lazy constraints in AMPL, and then solve the model as a MIP and see how much root node gap reduction is obtained by user cuts. But it would be nice to be able to do the former experiment since that is the customary way and perhaps most editors/referees are expecting it.

On Tue, Mar 5, 2019 at 2:55 PM AMPL Google Group <[hidden email]> wrote:
There is still no option to ask for the fractional root node solution. However, the root node solution is computed by solving the continuous relaxation of the MIP, which you can get by setting an appropriate solver option. Is there some reason why requesting the continuous relaxation of the MIP would not be helpful for you? An example would be helpful.

--
Robert Fourer
[hidden email]
{#HS:792148353-37629#}
On Sun, Mar 3, 2019 at 2:19 AM UTC, Ampl Modeling Language <[hidden email]> wrote:
Hi Bob,

Writing back about this after 2 years with the same question: is it still not possible to obtain the fractional root node solution when solving a MIP in AMPL with Cplex, Gurobi, etc.? Is it possible to have this as a feature in future versions? It will be a really nice thing to have for someone who wants to quickly test some ideas on cutting planes and heuristics in AMPL but doesn't want to go through the hassle of C/C++ interface and callbacks.

- Akshay

On Thursday, December 1, 2016 at 12:51:26 PM UTC-5, Robert Fourer wrote:
When it detects that you have sent a MIP, CPLEX returns only integer solutions; if CPLEX is stopped before an integer solution is found, it doesn't return anything. There isn't a way to get the root relaxation solution back into AMPL.

You can get a solution of the continuous relaxation of a MIP, however, by setting "option relax_integrality 1;" in AMPL, or by adding 'relax' to your cplex_options string. In the latter case it is best to also specify "option presolve 0;" in AMPL, so that AMPL does not make any presolve reductions that rely on integrality.

Bob Fourer
[hidden email]

=======

From: [hidden email] [mailto:[hidden email]] On Behalf Of Akshay
Sent: Wednesday, November 30, 2016 10:22 AM
To: AMPL Modeling Language
Subject: [AMPL 13096] Fractional root node solution

When running a MIP with AMPL/CPLEX and terminating at the root node with option cplex_options 'nodes=0', is there a variable suffix that stores the fractional values of the root node LP solution?

I am interested in obtaining the fractional solution because I want to implement some of my own cutting planes in AMPL, without having to code them through the callback interface in C/C++.

Is the AMPL/CPLEX interface capable of returning any root node basis information?


--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.



--
You received this message because you are subscribed to a topic in the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ampl/IscbR0zUDgU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.


--
Akshay Gupte

--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [AMPL 18359] Fractional root node solution

AMPL mailing list
That is reasonable, though it's currently not supported by AMPL's MIP solver interfaces. We are currently investigating ways of making additional information available to users through callbacks, and will announce some possibilities for Python/Gurobi this spring.

--
Robert Fourer
[hidden email]
{#HS:792148353-37629#}
On Sun, Mar 10, 2019 at 1:48 PM UTC, Ampl Modeling Language <[hidden email]> wrote:
I want to take advantage of the MIP solver's presolve techniques and also the cutting planes it adds to the LP relaxation at the root node. Then just before branching begins, I would like to add my own cutting planes to the current LP relaxation, which would be significantly different than the original LP because of presolve and cuts. I believe this is how most cutting plane experiments work, when implemented through callback interfaces in C, C++, etc. Hence, it would be nice if there is a AMPL suffix that stores the fractional solution after I have terminated MIP solve at root node by setting a node limit of 0.

A work-around of course is to reverse the experiment: solve the original LP relaxation as you mentioned, generate user cuts with respect to its solution, add them as user cuts or lazy constraints in AMPL, and then solve the model as a MIP and see how much root node gap reduction is obtained by user cuts. But it would be nice to be able to do the former experiment since that is the customary way and perhaps most editors/referees are expecting it.



On Tue, Mar 5, 2019 at 7:54 PM UTC, AMPL Google Group <[hidden email]> wrote:
There is still no option to ask for the fractional root node solution. However, the root node solution is computed by solving the continuous relaxation of the MIP, which you can get by setting an appropriate solver option. Is there some reason why requesting the continuous relaxation of the MIP would not be helpful for you? An example would be helpful.

--
Robert Fourer
[hidden email]


On Sun, Mar 3, 2019 at 2:19 AM UTC, Ampl Modeling Language <[hidden email]> wrote:
Hi Bob,

Writing back about this after 2 years with the same question: is it still not possible to obtain the fractional root node solution when solving a MIP in AMPL with Cplex, Gurobi, etc.? Is it possible to have this as a feature in future versions? It will be a really nice thing to have for someone who wants to quickly test some ideas on cutting planes and heuristics in AMPL but doesn't want to go through the hassle of C/C++ interface and callbacks.

- Akshay

On Thursday, December 1, 2016 at 12:51:26 PM UTC-5, Robert Fourer wrote:
When it detects that you have sent a MIP, CPLEX returns only integer solutions; if CPLEX is stopped before an integer solution is found, it doesn't return anything. There isn't a way to get the root relaxation solution back into AMPL.

You can get a solution of the continuous relaxation of a MIP, however, by setting "option relax_integrality 1;" in AMPL, or by adding 'relax' to your cplex_options string. In the latter case it is best to also specify "option presolve 0;" in AMPL, so that AMPL does not make any presolve reductions that rely on integrality.

Bob Fourer
[hidden email]

=======

From: [hidden email] [mailto:[hidden email]] On Behalf Of Akshay
Sent: Wednesday, November 30, 2016 10:22 AM
To: AMPL Modeling Language
Subject: [AMPL 13096] Fractional root node solution

When running a MIP with AMPL/CPLEX and terminating at the root node with option cplex_options 'nodes=0', is there a variable suffix that stores the fractional values of the root node LP solution?

I am interested in obtaining the fractional solution because I want to implement some of my own cutting planes in AMPL, without having to code them through the callback interface in C/C++.

Is the AMPL/CPLEX interface capable of returning any root node basis information?


--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.



--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.