class_docstr: Interface of an event handler API for hyperparameter search.
  
  Unlike TrialSchedulers, SearchAlgorithms will not have the ability
  to modify the execution (i.e., stop and pause trials).
  
  Trials added manually (i.e., via the Client API) will also notify
  this class upon new events, so custom search algorithms should
  maintain a list of trials ID generated from this class.
  
  See also: `ray.tune.search.BasicVariantGenerator`.
class_docstr_tok: ["Interface","of","an","event","handler","API","for","hyperparameter","search",".","Unlike","TrialSchedulers",",","SearchAlgorithms","will","not","have","the","ability","to","modify","the","execution","(","i.e.",",","stop","and","pause","trials",")",".","Trials","added","manually","(","i.e.",",","via","the","Client","API",")","will","also","notify","this","class","upon","new","events",",","so","custom","search","algorithms","should","maintain","a","list","of","trials","ID","generated","from","this","class",".","See","also",":","`","ray.tune.search.BasicVariantGenerator","`","."]
docstr: Marks the search algorithm as finished.
docstr_tok: ["Marks","the","search","algorithm","as","finished","."]
code: def set_finished(self):
      """Marks the search algorithm as finished."""
      self._finished = True
  
file_path: ray/python/ray/tune/search/search_algorithm.py
imports: from typing import Dict, List, Optional, Union, TYPE_CHECKING
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 9 for calling the SearchAlgorithm obj's underlying member method code with example usage: obj.set_finished() without return types