Draft:Construct, Merge, Solve and Adapt

Construct Merge Solve and Adapt (CMSA)[1] is a Metaheuristic for Combinatorial optimization introduced by Blum et al. in 2016[2]. 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 eventually having high-quality solutions contained in it, which can be found by the exact solver. An iteration of the algorithm can be split into four steps, which give the name of the algorithm: Construct, Merge, Solve and Adapt.

To apply CMSA to a combinatorial optimization problem, a set of solution components needs to be defined so that every valid solution can be expressed as a subset of . For example, in the case of the well-known Travelling Salesman Problem, the set of solution components could be the set of edges of the input graph, as every valid solution can be expressed as a collection of edges.

Description

edit

For the following description of the algorithm we assume a set of solution components   for the problem under consideration.

The sub-instance kept by the algorithm is a subset  . Moreover, a value   is also kept for each solution component  . These keep track of how many iterations have passed since each solution component last appeared in the solution given by the exact solver. They are used in the Adapt step for deciding which solution components to erase from the sub-instance.

After initializing the sub-instance   as empty and the best solution so far   to null, the main loop of the algorithm is entered. Hereby, the four CMSA steps are applied in order until a stopping condition, usually a time limit, is reached. The Construct step consists of probabilistically generating a number of   valid solutions, which is generally done by employing a greedy probabilistic method tailored to the problem at hand. In the Merge step, the solution components of such solutions that are not already in the sub-instance   are added to it and their age is set to zero. Then, in the Solve step, the exact solver is applied restricted to sub-instance  , for a time limit  . Finally, the solution obtained   and the age values are used in the Adapt step for modifying the sub-instance. The age of the solution components in   is set to zero and the age of the solution components in   not appearing in   is increased by one. Then, the solution components with an age greater than   are erased from the subinstance  . Note that  ,   and   are the three parameters of the algorithm.

Pseudocode

edit

The following pseudocode describes the algorithm.

Input 1: Set   of solution components for the combinatorial optimization problem under consideration 
Input 2: Values for parameters  ,   and  
 
while CPU time limit not reached do
    for   do
         
        for   and   do
             
             
        end for
    end for
     
    if   is better than   then  
     
end while
return  

Example

edit

Hereby, an example on how CMSA can be applied to a particular combinatorial optimization is presented. In particular, CMSA is applied to the Minimum Dominating Set problem, a classical NP-Hard combinatorial optimization problem.

Given an undirected graph  , the Minimum Dominating Set problem aims at finding a dominating set of   of minimal size. Note that, a dominating set of an undirected graph   is a subset of nodes   which satisfies that for every node   either (1)   or (2)   for some  . A node that satisfies (1) or (2) is denoted as covered by  .

The only problem dependent parts of CMSA consist of the description of the set of solution components  , the method employed for probabilistically constructing solutions in the Construct step and the exact solver used in the Solve step, for obtaining solutions restricted to the sub-instance  .

Set of solution components

edit

As solutions to the Minimum Dominating Set problem consist of subsets of nodes, a valid set of solution components is the set of nodes of the graph. That is,  .

Method for probabilistically constructing solutions

edit

The following notation is required for the proposed method of generating solutions. Given   and a subset  , we denote by   the set of uncovered nodes by   from the closed neighborhood   of  .

An example of a method for probabilistically constructing solutions to the Minimum Dominating Set problem consists of the following probabilistic greedy approach.

Input 1: Graph   under consideration
Input 2: Values for parameters  ,  
 
while   is not a dominating set do
    with probability   do
        add   to  
    otherwise
        consider a subset   of size   such that 
          for all  ,  
        add a node selected uniformly at random from   to   
end while

It starts with an empty solution to which it iteratively adds a node, until it forms a valid solution, that is: a dominating set. A higher probability of selection is given to nodes with a higher amount of uncovered elements by the partial solution under construction in their closed neighborhoods.

Note that this procedure depends on two parameters   and  , which control the diversity of the solutions generated.

Exact solver

edit

The following simple ILP model, together with a commercial ILP solver, can be employed as the exact solver used in the Solve step of CMSA.

 

Notably, the Solve step applies the exact solver to the sub-instance  , hence the following constraint has to be added:   for all  .

With these three components, CMSA can be straightforwardly applied to the MDS problem.


References

edit
  1. ^ Construct, Merge, Solve & Adapt. doi:10.1007/978-3-031-60103-3.
  2. ^ 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.