code: def simulate_values(cls, num_events, **scheduler_kwargs):
          
          keys_to_remove = ['optimizer', 'save_history']
          for key in keys_to_remove:
              if key in scheduler_kwargs:
                  del scheduler_kwargs[key]
          values = []
          scheduler = cls(optimizer={}, save_history=False, **scheduler_kwargs)
          for i in range(num_events):
              scheduler(engine=None)
              values.append([i, scheduler.optimizer_param_groups[0][scheduler.param_name]])
          return values
docs: Method to simulate scheduled values during num_events events.
  
          Args:
              num_events (int): number of events during the simulation.
              **scheduler_kwargs : parameter scheduler configuration kwargs.
  
          Returns:
              list of pairs: [event_index, value]
  
          Examples:
  
          .. code-block:: python
  
              lr_values = np.array(LinearCyclicalScheduler.simulate_values(num_events=50, param_name='lr',
                                                                           start_value=1e-1, end_value=1e-3,
                                                                           cycle_size=10))
  
              plt.plot(lr_values[:, 0], lr_values[:, 1], label="learning rate")
              plt.xlabel("events")
              plt.ylabel("values")
              plt.legend()