page_title: MCS algorithm
hierarchical_section_title: MCS algorithm
caption_attribution_description: English: Minimization of the two-dimensional Rosenbrock function via MCS (the global minimum is located at (1,1)). The optimization process can be characterized by three stages: 1. Identify a potential box for splitting (magenta) 2. Extract the optimal splitting direction and splitting values (green) 3. If the box is considered to be a good candidate then split it into subboxes with sizes dictated by the value of the objective function at the spitting values. Note that at least one of the splitting values (yellow) always concides with a known sample hence the value of the objective function is already known there.
context_page_description: Multilevel Coordinate Search 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. 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 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 quadratic interpolant of the function and line searches can be used to augment performance of the algorithm; in this case the plain MCS is used to provide the starting points. The information provided by local searches is then fed back to the optimizer and influences the splitting criteria, resulting in reduced sample clustering around local minima and faster convergence.
context_section_description: 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 (namely local minima of the objective function) is then fed back to the optimizer and influences the splitting criteria, resulting in reduced sample clustering around local minima and faster convergence.
caption: 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.