Draft:Construct, Merge, Solve and Adapt

From Wikipedia, the free encyclopedia

Construct Merge Solve and Adapt (CMSA)[1] is a Metaheuristic for Combinatorial optimization introduced by Blum et al. in 2016. It employs an exact solver, which is used at each iteration for solving a sub-instance of the problem instance under consideration. This sub-instance is modified throughout the execution of the algorithm, with the objective of having high-quality solutions contained in it. An iteration of the algorithm can be split into four steps, which give its name: Construct, Merge, Solve and Adapt.

Description[edit]

S_{bsf} = null, C' = \emptyset
while CPU time limit not reached 
    for i = 1,...,n_a
        S = probabilistic_solution_generation(C)
        for c \in C and c\not\in C
            age[c] = 0
            C'=C'\cup\{c\}
        end for
    end for
    <math>S'_{opt}</math> = apply_exact_solver(C')
    if S'_{opt} is better than S_{bsf} then S_{bsf} = S'_{opt}
    adapt(C', S'_{opt}, age)
end while


References[edit]

  1. ^ Blum, Christian; Pinacho, Pedro; López-Ibáñez, Manuel; Lozano, José A. (2016-04-01). "Construct, Merge, Solve & Adapt A new general algorithm for combinatorial optimization". Computers & Operations Research. 68: 75–88. doi:10.1016/j.cor.2015.10.014. ISSN 0305-0548.