class_docstr: A sequential domain reduction transformer based on the work by Stander, N. and Craig, K:
  "On the robustness of a simple domain reduction scheme for simulation‐based optimization"
class_docstr_tok: ["A","sequential","domain","reduction","transformer","based","on","the","work","by","Stander",",","N.","and","Craig",",","K",":","''","On","the","robustness","of","a","simple","domain","reduction","scheme","for","simulation\u2010based","optimization","''"]
docstr: Updates contraction rate, window size, and window center.
          
docstr_tok: ["Updates","contraction","rate",",","window","size",",","and","window","center","."]
code: def _update(self, target_space: TargetSpace) -> None:
      """Updates contraction rate, window size, and window center."""
      # setting the previous
      self.previous_optimal = self.current_optimal
      self.previous_d = self.current_d
  
      self.current_optimal = target_space.params_to_array(
          target_space.max()["params"]
      )
  
      self.current_d = (
          2.0 * (self.current_optimal - self.previous_optimal) / self.r
      )
  
      self.c = self.current_d * self.previous_d
  
      self.c_hat = np.sqrt(np.abs(self.c)) * np.sign(self.c)
  
      self.gamma = 0.5 * (
          self.gamma_pan * (1.0 + self.c_hat)
          + self.gamma_osc * (1.0 - self.c_hat)
      )
  
      self.contraction_rate = self.eta + np.abs(self.current_d) * (
          self.gamma - self.eta
      )
  
      self.r = self.contraction_rate * self.r
  
file_path: BayesianOptimization/bayes_opt/domain_reduction.py
imports: from typing import Optional, Union, List
  import numpy
  from .target_space import TargetSpace
  from warnings import warn
label_desc: Use image node_id 3 for calling the SequentialDomainReductionTransformer obj's underlying member method code with example usage: obj._update(target_space) without return types