ArticleslgStudy

computer science

MCS algorithm

MCS algorithm is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand MCS algorithm rather than just read about it. In short: For mathematical optimization, Multilevel Coordinate Search (MCS) is an efficient algorithm for bound constrained global optimization using function values only. To do so, the n-dimensional search space is represented by a set of non-intersecting hypercubes (boxes).

MCS algorithm — main illustration
MCS algorithm — illustration

Key takeaways

  • MCS algorithm belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect MCS algorithm to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of MCS algorithm from memory before moving on to harder problems.

Reference excerpt

For mathematical optimization, Multilevel Coordinate Search (MCS) is an efficient algorithm for bound constrained global optimization using function values only. To do so, the n-dimensional search space is represented by a set of non-intersecting hypercubes (boxes). The boxes are then iteratively split along an axis plane according to the value of the function at a representative point of the box (and its neighbours) and the box's size. These two splitting criteria combine to form a global search by splitting large boxes and a local search by splitting areas for which the function value is good. Additionally, a local search combining a (multi-dimensional) quadratic interpolant of the function and line searches can be used to augment performance of the algorithm (MCS with local search); in this case the plain MCS is used to provide the starting (initial) points. The information provided by local searches (local minima of the objective function) is then fed back to the optimizer and affects the splitting criteria, resulting in reduced sample clustering around local minima, faster convergence and higher precision.

Simplified workflow The MCS workflow is visualized in Figures 1 and 2. Each step of the algorithm can be split into four stages:

Identify a potential candidate for splitting (magenta, thick). Identify the optimal splitting direction and the expected optimal position of the splitting point (green). Evaluate the objective function at the splitting point or recover it from the already computed set; the latter applies if the current splitting point has already been reached when splitting a neighboring box. Generate new boxes (magenta, thin) based on the values of the objective function at the splitting point. At each step the green point with the temporary yellow halo is the unique base point of the box; each box has an associated value of the objective, namely its value at the box's base point. In order to determine if a box will be split two separate splitting criteria are used. The first one, splitting by rank, ensures that large boxes that have not been split too often will be split eventually. If it applies then the splitting point is easily determined at a fixed fraction of the length of the side being split. The second one, splitting by expected gain, employs a local one-dimensional parabolic quadratic model (surrogate) along a single coordinate. In this case the splitting point is defined as the minimum of the surrogate along a line segment and the box is split only if the interpolant value (serving as a proxy for the true value of the objective) is lower than the current best sampled function value.

Convergence The algorithm is guaranteed to converge to the global minimum in the long run (i.e. when the number of function evaluations and the search depth are arbitrarily large) if the objective function is continuous in the neighbourhood of the global minimizer. This follows from the fact that any box will become arbitrarily small eventually, hence the spacing between samples tends to zero as the number of function evaluations tends to infinity.

Recursive implementation MCS is designed to be implemented in an efficient recursive manner with the aid of trees. With this approach the amount of memory required is independent of problem dimensionality since the sampling points are not stored explicitly. Instead, just a single coordinate of each sample is saved and the remaining coordinates can be recovered by tracing the history of a box back to the root (initial box). This method was suggested by the authors and used in their original implementation.

References

External links Homepage of the algorithm Performance of the algorithm relative to others

Illustrations

MCS algorithm: Figure 1: MCS algorithm (without local search) applied to the two-dimensional Rosenbrock function. The global minimum 
  
    
      
        
          f
          
            m
            i
            n
          
        
        =
        0
      
    
    {\displaystyle f_{min}=0}
  
 is located at 
  
    
      
        (
        x
        ,
        y
        )
        =
        (
        1
        ,
        1
        )
      
    
    {\displaystyle (x,y)=(1,1)}
  
. MCS identifies a position with 
  
    
      
        f
        ≈
        0.002
      
    
    {\displaystyle f\approx 0.002}
  
 within 21 function evaluations. After additional 21 evaluations the optimal value is not improved and the algorithm terminates. Observe dense clustering of samples around potential minima - this effect can be reduced significantly by employing local searches appropriately.
Figure 1: MCS algorithm (without local search) applied to the two-dimensional Rosenbrock function. The global minimum f m i n = 0 {\displaystyle f_{min}=0} is located at ( x , y ) = ( 1 , 1 ) {\displaystyle (x,y)=(1,1)} . MCS identifies a position with f ≈ 0.002 {\displaystyle f\approx 0.002} within 21 function evaluations. After additional 21 evaluations the optimal value is not improved and the algorithm terminates. Observe dense clustering of samples around potential minima - this effect can be reduced significantly by employing local searches appropriately.
MCS algorithm: Figure 2: MCS (without local search) applied to the Himmelblau's function with four local minima where 
  
    
      
        f
        (
        x
        )
        =
        0
      
    
    {\displaystyle f(x)=0}
  
.
Figure 2: MCS (without local search) applied to the Himmelblau's function with four local minima where f ( x ) = 0 {\displaystyle f(x)=0} .

Worked examples

Example 1 — a first encounter with MCS algorithm

Start with the simplest possible case. Write down what MCS algorithm claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to MCS algorithm before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about MCS algorithm ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of MCS algorithm

In research
MCS algorithm appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses MCS algorithm in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
MCS algorithm is common in secondary-school and first-year university syllabi. It links to neighbouring topics Optimization algorithms and methods, so understanding it makes those chapters shorter.
In everyday life
Look for MCS algorithm outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study MCS algorithm in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what MCS algorithm means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain MCS algorithm out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is MCS algorithm in simple terms?

For mathematical optimization, Multilevel Coordinate Search (MCS) is an efficient algorithm for bound constrained global optimization using function values only. To do so, the n-dimensional search space is represented by a set of non-intersecting hypercubes (boxes).

Why does MCS algorithm matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study MCS algorithm?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on MCS algorithm.

Tags

  • Optimization algorithms and methods

Keep exploring