"Recently" someone asked on Twitter whether "people still use genetic algorithms for integer programs". The "majority answer", i.e., 1 out of 1, was: "Yes" .
So, my follow-up question is: With all the (A) progress in computer hardware, solver improvements and decomposition techniques for IPs on the one hand , (B) "elaborated" frameworks for all kinds of search strategies (TS, SA, GA, VNS, ...) on the other -- and, also, (C) constraint (programming) solvers sitting somewhere in between...
...how do you determine if a problem has to be tackled by technique(s) A, B or/and C [when problem constraints fit to (or: can be captured in) any of these "paradigms"] -- e.g., given a multi-stage version of a JSP or a FSP when the "quality" of the solution outweighs the aspect of availability "near"-time results?
What are the criteria/rules of thumb/... that you apply? Which steps do you think of/go through in order to figure out what might work best?