algorithmgenetic-algorithmmixed-integer-programmingant-colony

Optimization Approaches (Meta-heuristic, Graph-based, MILP)


I am very new to algorithms, now working on some route optimization problems and came across some papers on the following approaches:

I am a little bit confused as to the relationships between these approaches, do we use for example use GA to solve MILP or they are all just separate approaches?

Thanks in advance!!


Solution

  • Mixed-Integer Linear Programming is more a class of problems than an algorithm. It consists of all problems that boil down to maximizing a cost function that is linear and has integer values. These assumptions make it easier to create algorithms that tackle this very specific problem, and I think that is what you are referring to by "MILP Approach". Implementation can vary a lot though, because problem-specific optimizations might be applicable on top of a good general solution.

    Graph-based is more difficult to define, because all algorithms involving graph theory do not make it explicit that they are using a graph, but proof of correctness or optimality might require using some non-trivial theorems on graphs.

    Meta-heuristics are a class of algorithms that intend to extend heuristics. A heuristic is a "practical" approach to a problem, that does not guarantee to be optimal, but that is sufficient for the immediate goal. Meta-heuristics take the abstraction level one step higher : instead of reasoning directly on a problem, you will be building solutions for the problem (i.e. individuals in GA) and reasoning about them (i.e. evolving your population in GA).


    Route optimization might fall under any of the three categories, you would need to be more precise before I can answer properly, but here are a few examples:

    I'm sorry my three examples fall into graph-related problems, but it also shows that graphs can help solve an incredible number of problems, even when the term graph is not explicitly quoted in the problem statement.

    All three also happen to be route optimization problems, it all depends on what optimization you are looking for. Your problem might be best solved with one of these three methods, or maybe by combining two (local LP optimization for Meta-heuristics for instance).