-
Notifications
You must be signed in to change notification settings - Fork 8
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
Counne says "tightened NLP is infeasible" #33
Comments
Comment by @merraksh created at 2015-05-18 23:18:32 Hi, I assume your second version has those parameters fixed to a given value. The output you get seems to suggest that the bound reduction procedure indeed finds (incorrectly) that the problem is infeasible. If the problem is not too large, you may try using an option file couenne.opt (which has to reside in the same directory from which you run Couenne) that contains one or more of the following lines:
However, in order to solve the issue, it might be useful if you attach the problem. Regards, Pietro |
Attachment Gas_Model_free_dir_EG.py by thofrei created at 2015-05-19 07:44:33 Abstract Model |
Attachment Belgium_EntsoG.dat by thofrei created at 2015-05-19 07:44:49 Data for model |
Comment by thofrei created at 2015-05-19 07:48:15 Hi Pietro Thank you very much for your answer. Unfortunately, this didn't solve the problem. I put a simplified version of the model and the input file in the attachment. The variables that are causing the problem call m.a_dir and m.p_dir. When I specify them manually as Parameters ipopt and couenne give me a result, so there should be a solution that is feasible. I hope that we can solve this |
Comment by @merraksh created at 2015-06-04 00:33:12 Hi, unfortunately I am not very familiar with pyomo. Have you got a .mod or a .nl copy of the model, so that I can submit it to Couenne? I couldn't see any link between the Python file and the .dat file you sent. |
Comment by thofrei created at 2015-06-04 19:36:07 Hi Pietro Unfortunately, I don't have these files and since I am very new to all this I don't know how to get them. I changed a lot on the model in the mean time and don't get this specific error message anymore. But it's still the case that I get an optimal solution with ipopt, but couenne tells me that the problem is infeasible. The only difference in the couenne case is that I change two parameters to binary variables. So the solution should be reached if the variables get to the right values. Something strange that I realized is that with couenne I get errors such as "can't evaluate pow(0,0.5)" or /0 errors if I don't initialize the values although I specified the model as such that these cases shouldn't be possible. But as I said, the problem of infeasibility remains even if I make the initialization.... Do you have an other idea, what I could try? |
Comment by @merraksh created at 2015-06-04 23:33:18 Hi, the fact that no .sol file was produced suggests that infeasibility was proven at bound tightening, which is weird since the options I gave before turn off all bound tightening. You could try another option to relax the feasibility tolerance from 1e-6 to 1e-4, for instance:
Finally, since Couenne only accepts .nl file I'm thinking that Pyomo must have a procedure to convert instances to that format. See for example If you could somewhat modify the source file to use the convert function and produce a .nl file, I would certainly be able to help more. |
Comment by thofrei created at 2015-06-05 07:18:19 Hi Pietro I found out how to get the .nl!! I hope we can figure out the problem with that. If you need more data please let me know |
Attachment Gas_Model_Couenne.nl by thofrei created at 2015-06-05 07:49:24 Model for solving with couenne |
Comment by @merraksh created at 2015-06-06 14:54:42 Hi, it seems there is a bug in strong branching that reports an infeasible problem. Turning off strong branching seems to allow Couenne to continue, though the problem is quite large and I could not find a solution for a few hours. I'll try to fix this, but in the meantime you can try the following options:
The last line is to turn off strong branching, while the rest is to increase the frequency of heuristics. Being a large problem, though, finding a solution won't be easy. |
Comment by thofrei created at 2015-06-07 10:14:13 Hi Pietro Unfortunately, I get another error message with those options:
Do you know how to solve this? |
Comment by thofrei created at 2015-06-08 14:18:29 Sorry, I realized that it was due to my version of couenne. It runs now without this error message, but unfortunately still without getting me any results. Even if I reduce the number of the binary variables it calculates for a very long time |
Comment by @merraksh created at 2015-06-12 01:20:58 I do observe the same problem. Unfortunately it seems that it's hard to find a feasible solution. Couenne has a feasibility pump heuristic that, although quite computationally expensive, might help. You can activate it with options
The second option is to limit the amount of calls to the heuristic, given that it can really take a lot of time, especially on such a large problem. Make sure SCIP is installed. |
Comment by thofrei created at 2015-06-19 12:34:43 Hi Pietro I changed a lot of things on my model in the mean time (removing binary variables etc.) and now can solve some simple cases with couenne in a reasonable time. As soon as the cases get a bit larger, however couenne tries to reformulate the problem and then seems to be stuck. I will attache one of these cases. Can you please take a look at this? Best, |
Attachment IT_Model.nl by thofrei created at 2015-06-19 12:35:10 |
Comment by @merraksh created at 2015-06-20 16:24:53 Hi, Reformulation actually takes a short time. However, the problem is quite large and Couenne can't explore many BB nodes. Below is the output with stable/0.4. Strong branching indeed seems to slow it down a bit.
|
Comment by thofrei created at 2015-06-23 21:45:00 Hi Pietro Sorry to bother you again, but I was wondering: have you had a look at strong branching? Is there a bug in the solver and could you figure it out? Because I tried all different options you gave me with different versions of couenne and unfortunately still have the result with some cases that Ipopt can give me an optimal solution, but couenne tells me that it is infeasible (even with feas_tolerance 1e-2) |
Comment by @merraksh created at 2015-07-03 22:46:22 Hi, apologies for the late reply. I'm afraid I won't be able to do much before the second half of July, due to other projects. Regards, |
Issue created by migration from Trac.
Original creator: thofrei
Original creation time: 2015-05-18 12:39:37
Assignee: @merraksh
Version:
Keywords: infeasible Couenne tightened NLP
Dear CoinOr
I'm trying to run a model in pyomo. One version of the model is using binary variables, which is why I'd like to use Couenne to solve it. In a second version of the model I have predefined these variables as parameters. I can solve the second version with Ipopt or Couenne and get a optimal solution. When I try to run the first version (which is basically the same model) with Couenne, however, I get the message:
Warning, tightened NLP is infeasible problem infeasible
ERROR: Unexpected exception while running model. [Errno 2] No such file or directory: '/tmp/tmpGAAINb.pyomo.sol'
Do you know, what this means and how I can get my model to work? I am using Couenne 0.4.
Thank you
The text was updated successfully, but these errors were encountered: