I am from a machine learning (ML) background and am interested in how ML is applied to Combinatorial Optimisation. As such, as I have been reading around the area and have come across the statement that essentially states 'designing heuristics requires considerable domain knowledge'.
For instance, in this paper they make the statement "Nonetheless, the design process of such heuristic methods requires specialized domain knowledge and involves trial-and-error as well as tuning".
Further, in this paper they say "However, the effectiveness of general algorithms is dependent on the problem being considered, and high levels of performance often require extensive tailoring and domain-specific knowledge".
Neither of these papers provide references to support such a statement so I am wondering what kind of domain knowledge they are referring to? Based on the papers that I have read where new CO heuristics are introduced, it seems that the 'domain knowledge' is a good understanding of the problem (e.g. TSP) and being good at the math required to prove bounds on the solution qualities, search strategies, etc.
Also, it doesn't seem like any extra requirement on domain knowledge is required compared to if you were developing an algorithm for some other field (e.g. an ML algorithm!); in general I would argue that to develop an algorithm to solve a problem you would have to have pretty good knowledge of the area you're developing the algorithm for, that shouldn't be specific to CO.
I was wondering if anyone could provide some insight into these comments, please.