Weird behavior: "CPLEX solution status 3 with fixed integers"

729 views
Skip to first unread message

tonypap

unread,
Mar 25, 2010, 7:36:11 PM3/25/10
to AMPL Modeling Language
Hi,

I am iteratively solving the same model with different values for one
of the parameters. The model is feasible for the 2nd iteration, which
is confirmed by the fact that if I run the problem with the data of
the 2nd iteration, without running the 1st iteration, it solves
properly. However, if I run the 1st iteration before the 2nd, I get
the message

CPLEX solution status 3 with fixed integers: infeasible problem

and the solver returns the following messages:

Status recovering solution: infeasible problem
9 integer variables rounded (maxerr = 6.60512e-07).
Assigning integrality = 3e-07 might help.
Currently integrality = 1e-05.

This is obviously a CPLEX bug, but I am wondering if it is due to the
ampl script (i.e. due to the fact that I have somehow fixed variables
to their optimal value from the previous iteration). Is this something
I should worry about or is there some known problem with CPLEX that
produces this output?

Anthony

Robert Fourer

unread,
Mar 26, 2010, 9:39:12 AM3/26/10
to am...@googlegroups.com, tonypap
This kind of result has been observed with some versions of CPLEX, though
I'm not sure whether it is common with more recent ones.

By default in CPLEX's branch-and-bound procedure, a variable is considered
to be integral if its value is within 1e-05 of an integer. Then at the end
of the procedure all variables are rounded to exact integer values; as the
message indicates in this case there were 9 variables rounded by as much as
6.60512e-07. In rare cases this can result in some constraints not being
satisfied to within the feasibility tolerance, which is apparently what
happened here. You may be able to circumvent this problem by reducing the
integrality tolerance from 1e-05 to something smaller, as the message
suggests; you would do this by specifying, say,

option cplex_options '... integrality=3e-07 ...';

where ... are any other options you may already be using.

Bob Fourer
4...@ampl.com

moret....@gmail.com

unread,
Jul 3, 2015, 7:03:26 PM7/3/15
to am...@googlegroups.com, 4...@ampl.com, tpa...@hotmail.com
Hi,

I'm experiencing a similar problem with a MILP problem. If I take the same exact problem and solve it with Gurobi 6.0.0 (gurobi_ampl) I get the optimal solution without any warning, while if I solve it with CPLEX 12.6.1 (cplexamp) I get the same solution but with the following infeasibility: 

"CPLEX 12.6.1.0: CPLEX solution status 3 with fixed integers:
infeasible problem
optimal integer solution; objective 418732244.2
9 MIP simplex iterations
0 branch-and-bound nodes"

Strange thing is that with previous versions of CPLEX (I tried with 12.5.1 and 12.6.0) it wouldn't give this error.
I've two questions I haven't been able to answer by checking the various forums:

1) why does only this last version of the solver output this error? 
2) Assuming my model has numerical instability, how can I further investigate which of the variables are causing these problems? Can I specify some options to output this information?

Thank you in advance for your help,
Stefano Moret

Stefano Moret

unread,
Jul 4, 2015, 12:31:52 PM7/4/15
to am...@googlegroups.com, tpa...@hotmail.com, 4...@ampl.com
Hi,

Adding on to the previous questions, which it's still of interest to me. I worked on my model to reduce possible numerical problems (big/small numbers), and with that I got rid of the aforementioned CPLEX error. Now solving the model with CPLEX 12.6.1 I get the following warning:

"option abs_boundtol 1.2440796412797536e-20;"
or "option rel_boundtol 2.026203116556481e-15;"
will change deduced dual values.

and with Gurobi 6.0.0 this other one:

GRBoptimize of fixed model: infeasible.

The problem is anyway solved, and solve_result_num = 0. So I'd assume I can disregard them, but I'd like to understand thoroughly what's going on.
How can I interpret the errors in my previous post and in this one?

Thanks again for your time,
Stefano

Robert Fourer

unread,
Jul 6, 2015, 5:54:14 PM7/6/15
to am...@googlegroups.com
In general, messages like "CPLEX solution status 3 with fixed integers: infeasible problem" and "GRBoptimize of fixed model: infeasible" indicate a difficulty as described in my previous post (https://groups.google.com/d/msg/ampl/ilUU9ne3QWA/alXH1_hW8DwJ). In solutions to continuous relaxations during the branch-and-bound process, some integer variables are coming out very close to integer values, and hence are being rounded to integers -- but after the rounding, the constraints cannot be satisfied. Consider for example the constraint

X <= 1000000000 * Z

where Z is a zero-one variable. When integrality of Z is relaxed, there is a solution

X = 1, Z = .000000001

With their default settings CPLEX or Gurobi would consider Z to be effectively zero, and hence would consider this to be the integer solution

X = 1, Z = 0

which obviously does not satisfy the constraint. I can't say more about your particular case, however, without seeing the solver's detailed logs, such as are given by

option cplex_options 'mipdisplay 2';
option gurobi_options 'outlev 1';

(The other "boundtol" messages are not important unless you are relying on the settings of the optimal dual values being computing in a very specific way.)

Bob Fourer
am...@googlegroups.com

=======

From: am...@googlegroups.com [mailto:am...@googlegroups.com] On Behalf Of Stefano Moret
Sent: Saturday, July 4, 2015 11:32 AM
To: am...@googlegroups.com
Cc: tpa...@hotmail.com; 4...@ampl.com
Subject: Re: [AMPL 10171] Weird behavior: "CPLEX solution status 3 with fixed integers"

Adding on to the previous questions, which it's still of interest to me. I worked on my model to reduce possible numerical problems (big/small numbers), and with that I got rid of the aforementioned CPLEX error. Now solving the model with CPLEX 12.6.1 I get the following warning:

"option abs_boundtol 1.2440796412797536e-20;"
or "option rel_boundtol 2.026203116556481e-15;"
will change deduced dual values.

and with Gurobi 6.0.0 this other one:

GRBoptimize of fixed model: infeasible.

The problem is anyway solved, and solve_result_num = 0. So I'd assume I can disregard them, but I'd like to understand thoroughly what's going on.
How can I interpret the errors in my previous post and in this one?

Thanks again for your time,
Stefano

==

peinadog...@gmail.com

unread,
Sep 22, 2018, 7:01:34 PM9/22/18
to AMPL Modeling Language
I am receiving the following output:

CPLEX 12.8.0.0: CPLEX solution status 3 with fixed integers:
infeasible problem
optimal integer solution; objective 7.7865

I am confused as to why it says it is infeasible, then proceeds to give the optimal integer solution. Is the solution optimal or not?

AMPL Google Group

unread,
Sep 24, 2018, 5:35:15 PM9/24/18
to Ampl Modeling Language
It seems that you have feasibility anomalies. The most common cause of feasibility anomalies is very large numbers in your constraints, or a very large range of magnitudes. But it could also be that your problem is just right on the edge of infeasibility. I would suggest you to check which constraint is violated after cplex finish execution. You can use following scripts for that:
for{i in 1.._ncons}
{
display _con[i].slack;
}

The negative slack value indicates the constraint is violated. You can use display _conname; to display the constraint name. After that you can examine your constraint and try to get the idea of what went wrong.

Thanks,


--
Dr. Paras Tiwari
am...@googlegroups.com
{#HS:669608468-23811#}
--
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 post to this group, send email to am...@googlegroups.com.
Visit this group at https://groups.google.com/group/ampl.
For more options, visit https://groups.google.com/d/optout.



Reply all
Reply to author
Forward
0 new messages