Originally posted by: SystemAdmin
[guwek said:]
Ed,
Thanks for your quick answer.
>> Btw, I have two minor questions somebody might help me with.
>>
>> * I am setting a time limit, but for some, large, instances, CPLEX seems to
>> completely ignore it. Any ideas?
>By default, CPLEX measures CPU time, not wall clock time. So, if your large
>instances require a lot of virtual memory usage, the CPU time may be significantly less than the wallclock time, and CPLEX may appear to >ignore
>your time limit. If so, setting CPLEX's clocktype parameter (IloCplex::IntParam::ClockType in the C++ API) to 2 (wall clock time) should
>resolve this.
Mmmh, no. I watched these processes with top and there is plenty of memory.
>If that doesn't do it, check to see if multiple processors is
>somehow involved. If the question persists, try posting some of the node log
>output where CPLEX appears to ignore the time limit.
I am running processes on a dual-processor machine using only one of the two processors. Could that be the source of the problem?
node log... How do I generate this?
>> After solve(), I do the following
>>
>>
>> Code:
>> cout << "solution: " << cplex.getObjValue() << endl;<br />>> cout << "lower bound: " << cplex.getBestObjValue() << endl;<br />>>
>> In the case of getStatus() == optimal I expect that solution and lower bound coincide. This is often not the case (note: I am using cutting >> planes, this
>> might be the reason?)
> By default, CPLEX uses a mipgap of .0001. So, you could see slight differences,
> but you shouldn't see big ones. If you set the mipgap to a larger value, an
> IloCplex::getStatus() call still return optimal; the solution is optimal within
> the requested gap. If you need to distinguish between truly integer optimal and
> optimal within a positive mip gap (regardless of how small), use IloCplex::getCplexStatus instead.
I do see big ones. I am sure the optimal solution is right (I get the same without cutting planes). The bound returnd by getBestObjVal seems not to be up to date. Could that be possible?
Thanks again for your effort,
Gunnar
#CPLEXOptimizers#DecisionOptimization