[Cbc] Reporting progress

Christian Schmidt christian2.schmidt at gmx.de
Fri Sep 5 11:20:17 EDT 2014


Hi,

how can we report the progress of solving in Cbc?

1) For MIP I've registered an CbcEventHandler and calculate the gap from

double ub = getModel()->getObjValue()
double lb = getModel()->getBestPossibleObjValue()
double gap = fabs(ub - lb) / (lb != 0 ? fabs(lb) : fabs(ub))

I could use 1 - min(gap, 1) as a progress measure. But typically the gap decreases exponentially or polynomially, so e.g.

progress = 1 - pow(gap, 1.0 / 3)

seems to be more "smooth". Are there any other ideas?

2) What would I do for big LPs? The CbcEventHandler will not be called... Any ideas here?


Best regards,

Christian
-- 
Dr. Christian Schmidt
Partner
LOCOM Software GmbH
Stumpfstr. 1, D 76131 Karlsruhe
Tel: +49 (0)721/9651-128, Fax: +49 (0)721/9651-149
Web: http://www.locom.de

Geschäftsführer: Volker Klohr
Amtsgericht Mannheim HRB 108747, USt-ID DE207707531

Ausgezeichnete Logistikberatung für den Mittelstand
LOCOM erhält Gütesiegel "TOP CONSULTANT 2013/14"

--
Dr. Christian Schmidt




More information about the Cbc mailing list