Draft article not currently submitted for review.
This is a draft Articles for creation (AfC) submission. It is not currently pending review. While there are no deadlines, abandoned drafts may be deleted after six months. To edit the draft click on the "Edit" tab at the top of the window. To be accepted, a draft should:
It is strongly discouraged to write about yourself, your business or employer. If you do so, you must declare it. Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
Last edited by Jaume Reixach P (talk | contribs) 21 days ago. (Update) |
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
editFor 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
editThe 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
editHereby, 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
editAs 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
editThe 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
editThe 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- ^ Construct, Merge, Solve & Adapt. doi:10.1007/978-3-031-60103-3.
- ^ 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.