original_docstring: 
          Check if exceeded maximal number of iteration or time without finding a better solution.
  
          :param best_solution: Instance of AbstractSolution class with the best solution found in this optimization
              algorithm iteration.
  
          :return: True if exceeded maximal number of iterations or time without progress, otherwise False.
          
docstring: Check if exceeded maximal number of iteration or time without finding a better solution.
docstring_tokens: Check if exceeded maximal number of iteration or time without finding a better solution .
code: def _is_limit_without_progress_exceeded(self, best_solution: AbstractSolution) -> bool:
          """
          Check if exceeded maximal number of iteration or time without finding a better solution.
  
          :param best_solution: Instance of AbstractSolution class with the best solution found in this optimization
              algorithm iteration.
  
          :return: True if exceeded maximal number of iterations or time without progress, otherwise False.
          """
          # skip if no checks are performed
          if self.max_iter_without_progress is None and self.max_time_without_progress is None:
              return False
          # update helping variables
          if self._best_objective_found is None or \
                  self._best_objective_found < best_solution.get_objective_value_with_penalty():
              self._iter_without_progress = 0
              self._last_objective_progress_datetime = datetime.now()
              self._best_objective_found = best_solution.get_objective_value_with_penalty()
          else:
              self._iter_without_progress += 1  # type: ignore
          # assess status
          return self._is_iter_without_progress_exceeded() or self._is_time_without_progress_exceeded()
code_tokens: def _is_limit_without_progress_exceeded ( self , best_solution : AbstractSolution ) -> bool : if self . max_iter_without_progress is None and self . max_time_without_progress is None : return False if self . _best_objective_found is None or self . _best_objective_found < best_solution . get_objective_value_with_penalty ( ) : self . _iter_without_progress = 0 self . _last_objective_progress_datetime = datetime . now ( ) self . _best_objective_found = best_solution . get_objective_value_with_penalty ( ) else : self . _iter_without_progress += 1 return self . _is_iter_without_progress_exceeded ( ) or self . _is_time_without_progress_exceeded ( )
short_docstring: Check if exceeded maximal number of iteration or time without finding a better solution.
short_docstring_tokens: Check if exceeded maximal number of iteration or time without finding a better solution .
comment: """
          Check if exceeded maximal number of iteration or time without finding a better solution.
  
          :param best_solution: Instance of AbstractSolution class with the best solution found in this optimization
              algorithm iteration.
  
          :return: True if exceeded maximal number of iterations or time without progress, otherwise False.
          """$SEP$# skip if no checks are performed$SEP$# update helping variables$SEP$# type: ignore$SEP$# assess status