class_docstr: OpEvo Tuner
  
  Parameters
  ----------
  optimize_mode: str, 'maximize' or 'minimize'
  parents_size: int
  offspring_size: int
      parents_size and offspring_size govern the diversity in evolutionary
      process. OpEvo with large parents_size and offspring_size tends to get
      rid of suboptimum but sacrifice data efficiency, while one with smaller
      parants_size and offspring_size is easier to converge but suffers suboptimum.
  mutate_rate: float, (0, 1)
      Mutation rate ranging from 0 to 1. It trade-offs the exploration and
      exploitation. OpEvo tends to exploration as q approaches 0, while tends
      to exploitation as q approaches 1.
class_docstr_tok: ["OpEvo","Tuner","Parameters","--","--","--","--","--","optimize_mode",":","str",",","'maximize","'","or","'minimize'","parents_size",":","int","offspring_size",":","int","parents_size","and","offspring_size","govern","the","diversity","in","evolutionary","process",".","OpEvo","with","large","parents_size","and","offspring_size","tends","to","get","rid","of","suboptimum","but","sacrifice","data","efficiency",",","while","one","with","smaller","parants_size","and","offspring_size","is","easier","to","converge","but","suffers","suboptimum",".","mutate_rate",":","float",",","(","0",",","1",")","Mutation","rate","ranging","from","0","to","1",".","It","trade-offs","the","exploration","and","exploitation",".","OpEvo","tends","to","exploration","as","q","approaches","0",",","while","tends","to","exploitation","as","q","approaches","1","."]
docstr: Method invoked when a trial reports its final result.
  
  Override of the abstract method in :class:`~nni.tuner.Tuner`.
code: def receive_trial_result(
      self, parameter_id, parameters, value, **kwargs
  ):
      """Method invoked when a trial reports its final result.
  
      Override of the abstract method in :class:`~nni.tuner.Tuner`.
      """
      if isinstance(value, dict):
          value = value["default"]
  
      self.population.append(self.wait_dict[parameter_id], value)
      del self.wait_dict[parameter_id]
  
      if not self.serve_list:
          self.serve_list = self.population.get_offspring(
              self.parents_size, self.offspring_size
          )
  
      while self.request_list and self.serve_list:
          param_id = self.request_list[0]
          self.wait_dict[param_id] = self.serve_list.pop()
          self.send_trial_callback(
              param_id, self.wait_dict[param_id].pick_out()
          )
          self.request_list.pop(0)
  
imports: import math
  import logging
  import copy
  import random
  import numpy
  from itertools import permutations, combinations
  import nni
  from nni.tuner import Tuner
label_desc: Use image node_id 5 for calling the OpEvo obj's underlying member method code with example usage: obj.receive_trial_result(parameter_id, parameters, value) without return types