
    (^ib                    |    d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dl	mZ erd dlmZ  G d	 d
      Zy)    )annotations)Callable)Sequence)TYPE_CHECKING) _process_constraints_after_trial)FrozenTrial)
TrialState)Studyc                  >    e Zd Zdd	 	 	 ddZ	 d	 	 	 	 	 	 	 	 	 ddZy)NSGAIIAfterTrialStrategyN)constraints_funcc                   || _         y N)_constraints_func)selfr   s     m/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/optuna/samplers/nsgaii/_after_trial_strategy.py__init__z!NSGAIIAfterTrialStrategy.__init__   s     "2    c                N    | j                   t        | j                   |||       yy)zCarry out the after trial process of default NSGA-II.

        This method is called after each trial of the study, examines whether the trial result is
        valid in terms of constraints, and store the results in system_attrs of the study.
        N)r   r   )r   studytrialstatevaluess        r   __call__z!NSGAIIAfterTrialStrategy.__call__   s*     !!-,T-C-CUESXY .r   )r   z/Callable[[FrozenTrial], Sequence[float]] | NonereturnNoner   )
r   r
   r   r   r   r	   r   zSequence[float] | Noner   r   )__name__
__module____qualname__r   r    r   r   r   r      sZ    UY2#R2	2 *.ZZ Z 	Z
 'Z 
Zr   r   N)
__future__r   collections.abcr   r   typingr   optuna.samplers._baser   optuna.trialr   r	   optuna.studyr
   r   r    r   r   <module>r'      s.    " $ $   B $ # "Z Zr   