[Scip] Heuristic Frequency

Timo Berthold berthold at zib.de
Wed Apr 3 08:43:40 MEST 2013


Hi Vivek,

the frequency of calling heuristics is w.r.t. the depth of nodes, not the
number of nodes. Hence, the heuristic gets called at nodes in depth 0, 12,
24, ...

If you are doing a DFS that starts with a long dive, you will see
heuristic calls at the root, node 13, node 25,... . If, however, the tree
can always be pruned at depth at latest 11, the root node call will be the
only one.

Also, how did you check that it was invoked at a certain depth? Did you
add some printf's or are you referring to the display character of the
heuristic being print as a first character of a SCIP output line? The
latter one only happens when an inmproving solution is found. This can of
course be quite arbitrary (in particular when your heuristic found the
optimum at the root, it will never happen again).

Best regards
Timo

> Hello,
>
> I have set the following attributes of a heuristic:
>
> #define HEUR_PRIORITY         10000
> #define HEUR_FREQ             12
> #define HEUR_FREQOFS          0
> #define HEUR_MAXDEPTH         100000
> #define HEUR_TIMING           SCIP_HEURTIMING_AFTERNODE
> #define HEUR_USESSUBSCIP      FALSE
>
> Heuristic is correctly invoked after the root node processing.
>
> And in some models, it's invoked at node 13, node 25, etc., correctly but
> in some cases, it's not invoked. What criteria decides whether the
> heuristic should be invoked or not?
>
> Regards,
> Vivek.
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
>



More information about the Scip mailing list