--
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 ampl+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ampl/fa593383-ad75-4f81-ac82-1a7839cbee96n%40googlegroups.com.
On Thu, Sep 23, 2021 at 9:44 PM UTC, AMPL Google Group <am...@googlegroups.com> wrote:
Can you run again with mipdisplay=2 added to your cplex_options string? This will cause a long CPLEX log listing to appear; copy and paste the entire listing into your reply. The CPLEX log listing often contains useful information that suggests what is happening or what should be tried next.
--
Robert Fourer
am...@googlegroups.com
Thank you for the suggestions. I will progress backwards.
4. As a result of my earlier debug attemps, the AMPL presolve was already switched off along with the CPLEX presolve.
3. If I switch it on and specify 'show_stats 2', then the log in log3.txt is created. The presolve stats are not particularly interesting to me but the CPLEX log is slightly different from the original. I don't know what "cutoff" means in this context (without an incumbent solution and user cutoffs).
2. The continuous relaxation is feasible. (AMPL presolve is off again.) Log:
CPLEX 20.1.0.0: presolve=0
mipdisplay=2
iisfind=1
timelimit=3600
CPLEX 20.1.0.0: optimal solution; objective 53824381.08
70 separable QP barrier iterations
No basis.
1. The problem remains infeasible with the enlarged tolerance (see log1.txt). I tried with 'feasibility=1e-3' and the result is essentially the same. ( AMPL presolve is off in this test, too.)
On Fri, Sep 24, 2021 at 4:59 PM UTC, AMPL Google Group <am...@googlegroups.com> wrote:
It appears that CPLEX's simplex algorithm determines that the problem's root (continuous) relaxation has no feasible solution. But then the conflict refiner does not detect any infeasible constraints. However CPLEX considers a solution to be "feasible" if the maximum amount of infeasibility is less than some small tolerance, and this can occasionally lead to inconsistent results. Here are a few more tests to try, to shed light on the current situation:In my experience, it's important to take care that the tests are run independently. The safest way to do this is to start an entirely new AMPL session for each test.
- Increase the feasibility tolerance for this problem, by adding feasibility=1e-5 to your cplex_options string. Report whether the feasibility issues are still seen.
- Set "option relax_integrality 1;" so that CPLEX solves only the continuous relaxation. Report whether it finds the problem to be feasible or whether it computes an IIS.
- Set "option show_stats 2;" to get more information about AMPL's presolve phase. Report any message like "Setting . . . could change presolve results."
- Set "option presolve 0;" to avoid any side-effects of AMPL's presolve phase. Report whether the feasibility issues are still seen.
--
Robert Fourer
am...@googlegroups.com
I have completed this test with and without AMPL presolve. The number "clique table members" is much smaller, otherwise I do not see meaningful differences.
On Mon, Sep 27, 2021 at 8:00 PM UTC, AMPL Google Group <am...@googlegroups.com> wrote:
It appears that CPLEX finds a feasible solution with some fractional variables after only a few simplex iterations. But then after many more iterations (but no branching) it determines that no integer feasible solutions exist. The only way I can see that integer infeasibility could be determined in this situation is that in the course of adding cuts at the root node, the problem becomes infeasible.
What happens if you set cutpass = -1 in cplex_options? If the error is the same, then at least we will know that it is not related to cut processing. In any case, please post the log.
--
Robert Fourer
am...@googlegroups.com
I had to abort the cutpass=-1 test after 2 days.
On Sat, Oct 2, 2021 at 7:54 PM UTC, AMPL Modeling Language <am...@googlegroups.com> wrote:
In these cases, "infeasible" appears in the logs instead of "cutoff".
I had to introduce a time limit because the conflict search is very long in the cutpass=-1 version. Of course, it is not really meaningful this way... It is running now without the time limit for more than 12 hours.
On Wed, Sep 29, 2021 at 5:43 PM UTC, AMPL Google Group <am...@googlegroups.com> wrote:
Looking back at your earlier tests, the only case where I see cuts reported is in "log1.txt", which has these options:
presolve=0
mipdisplay=2
iisfind=1
feasibility=1e-5
In the log for this case there are many reported cuts,
Clique cuts applied: 24
Cover cuts applied: 323
Implied bound cuts applied: 379
Flow cuts applied: 320
Mixed integer rounding cuts applied: 2326
Gomory fractional cuts applied: 63
and applying them is reported to require over 9000 simplex iterations. Can you reproduce this case, and then run it again with cutpass=-1 added to the options? Also, try running it again with cutsfactor=0 (a different way to suppress cuts) added instead.
--
Robert Fourer
am...@googlegroups.com