§
    µ³Ùg’ ã                   óÜ   — d Z ddlZddlmZ ddlZddlmZmZ ddl	m
Z
mZ ddlmZmZmZ ddl	mZmZ ddlmZ dd	lmZ ddlZdd
lmZmZmZmZmZmZ ddlm Z!m"Z" ddlZ G d„ d¦  «        Z#dS )z@
Unit tests for the differential global minimization algorithm.
é    N)ÚPool)ÚDifferentialEvolutionSolverÚ_ConstraintWrapper)Údifferential_evolutionÚOptimizeResult)ÚBoundsÚNonlinearConstraintÚLinearConstraint)ÚrosenÚminimize)Ú
csr_matrix)Ústats)Úassert_equalÚassert_allcloseÚassert_almost_equalÚassert_string_equalÚassert_Úsuppress_warnings)ÚraisesÚwarnsc                   ó®  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)e*j+        j,        d(„ ¦   «         Z-e*j+         .                    d)¦  «        d*„ ¦   «         Z/d+„ Z0d,„ Z1d-„ Z2e*j+        j,        d.„ ¦   «         Z3e*j+         .                    d)¦  «        e*j+        j,        d/„ ¦   «         ¦   «         Z4d0„ Z5d1„ Z6d2„ Z7d3„ Z8e*j+         .                    d4¦  «        d5„ ¦   «         Z9e*j+         .                    d)¦  «        d6„ ¦   «         Z:e*j+         .                    d)¦  «        d7„ ¦   «         Z;e*j+         .                    d)¦  «        d8„ ¦   «         Z<e*j+         .                    d)¦  «        d9„ ¦   «         Z=e*j+         .                    d)¦  «        d:„ ¦   «         Z>d;„ Z?e*j+        j@        e*j+         A                     eBjC        ¦   «         d<k    d=¬>¦  «        d?„ ¦   «         ¦   «         ZDe*j+         .                    d@¦  «        dA„ ¦   «         ZEe*j+         .                    d)¦  «        dB„ ¦   «         ZFdC„ ZGe*j+        j,        e*j+         .                    d)¦  «        dD„ ¦   «         ¦   «         ZHdE„ ZIdF„ ZJe*j+         .                    d4¦  «        dG„ ¦   «         ZKdHS )IÚTestDifferentialEvolutionSolverc                 ón  — t          j        d¬¦  «        | _        t          j        ddgddgg¦  «        | _        ddg| _        t          | j        dg¦  «        | _        t          | j        dgdd	¬
¦  «        | _	        t          j
        t          j        ddd¦  «        ¦  «        j        }|| j	        _        d S )NÚraise©Úinvalidç        ç       @©r   r   ©r   éd   ©r   é   é   ç      à?)ÚpopsizeÚmutationçš™™™™™¹?çš™™™™™é?)ÚnpÚseterrÚ
old_seterrÚarrayÚlimitsÚboundsr   Ú	quadraticÚdummy_solverÚdummy_solver2Ú
atleast_2dÚarangeÚTÚ
population)Úselfr6   s     úg/granary/edev/quantum/lib/python3.11/site-packages/scipy/optimize/tests/test__differential_evolution.pyÚsetup_methodz,TestDifferentialEvolutionSolver.setup_method   sÂ   € Ýœ)¨GÐ4Ñ4Ô4ˆŒÝ”h  R Ø!# R ð *ñ +ô +ˆŒà Ð*ˆŒå7¸¼Ø9A¸
ñDô DˆÔõ 9¸¼Ø:@¸ØABØBEðGñ Gô GˆÔõ ”]¥2¤9¨S°#°sÑ#;Ô#;Ñ<Ô<Ô>ˆ
Ø(2ˆÔÔ%Ð%Ð%ó    c                 ó2   — t          j        di | j        ¤Ž d S )N© )r*   r+   r,   ©r7   s    r8   Úteardown_methodz/TestDifferentialEvolutionSolver.teardown_method-   s    € Ý
Œ	Ð$Ð$�D”OÐ$Ð$Ð$Ð$Ð$r:   c                 ó   — |d         dz  S )Nr   é   r<   )r7   Úxs     r8   r0   z)TestDifferentialEvolutionSolver.quadratic0   s   € Ø�Œt�Q‰wˆr:   c                 ó  — t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d	¦  «         t          t          | j        d
¬¦  «        }t          |j        d
¦  «         t          |j        j        d¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d	¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d	¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d¦  «         t          t          | j        d¬¦  «        }t          |j        d¦  «         t          |j        j        d¦  «         d S )NÚbest1exp©ÚstrategyÚ_best1Úbest1binÚrand1binÚ_rand1Úrand1expÚrand2expÚ_rand2Úbest2binÚ_best2Úrand2binÚrandtobest1binÚ_randtobest1Úrandtobest1expÚcurrenttobest1binÚ_currenttobest1Úcurrenttobest1exp)r   r   r/   r   rE   Úmutation_funcÚ__name__©r7   Úsolvers     r8   Útest__strategy_resolvesz7TestDifferentialEvolutionSolver.test__strategy_resolves3   s”  € õ -­UØ-1¬[Ø6@ðBñ Bô Bˆõ 	�V”_ jÑ1Ô1Ð1Ý�VÔ)Ô2°HÑ=Ô=Ð=å,­UØ-1¬[Ø6@ðBñ Bô Bˆõ 	�V”_ jÑ1Ô1Ð1Ý�VÔ)Ô2°HÑ=Ô=Ð=å,­UØ-1¬[Ø6@ðBñ Bô Bˆõ 	�V”_ jÑ1Ô1Ð1Ý�VÔ)Ô2°HÑ=Ô=Ð=å,­UØ-1¬[Ø6@ðBñ Bô Bˆõ 	�V”_ jÑ1Ô1Ð1Ý�VÔ)Ô2°HÑ=Ô=Ð=å,­UØ-1¬[Ø6@ðBñ Bô Bˆõ 	�V”_ jÑ1Ô1Ð1Ý�VÔ)Ô2°HÑ=Ô=Ð=å,­UØ-1¬[Ø6@ðBñ Bô Bˆõ 	�V”_ jÑ1Ô1Ð1Ý�VÔ)Ô2°HÑ=Ô=Ð=å,­UØ-1¬[Ø6@ðBñ Bô Bˆõ 	�V”_ jÑ1Ô1Ð1Ý�VÔ)Ô2°HÑ=Ô=Ð=å,­UØ-1¬[Ø6@ðBñ Bô Bˆõ 	�V”_ jÑ1Ô1Ð1Ý�VÔ)Ô2°HÑ=Ô=Ð=å,­UØ-1¬[Ø6FðHñ Hô Hˆõ 	�V”_Ð&6Ñ7Ô7Ð7Ý�VÔ)Ô2°NÑCÔCÐCå,­UØ-1¬[Ø6FðHñ Hô Hˆõ 	�V”_Ð&6Ñ7Ô7Ð7Ý�VÔ)Ô2°NÑCÔCÐCå,­UØ-1¬[Ø6IðKñ Kô Kˆõ 	�V”_Ð&9Ñ:Ô:Ð:Ý�VÔ)Ô2Ð4EÑFÔFÐFå,­UØ-1¬[Ø6IðKñ Kô Kˆõ 	�V”_Ð&9Ñ:Ô:Ð:Ý�VÔ)Ô2Ð4EÑFÔFÐFÐFÐFr:   c                 óR  — t          j        dg¦  «        }| j                             t          j        g d¢¦  «        ¦  «        }t	          ||¦  «         t          j        dg¦  «        }| j                             t          j        g d¢¦  «        ¦  «        }t	          ||¦  «         d S )Nçš™™™™™©?©r@   é   é   é   é   ç      Ð?)r*   r-   r2   rF   r   rI   ©r7   ÚresultÚtrials      r8   Útest__mutate1z-TestDifferentialEvolutionSolver.test__mutate1~   s’   € å”˜4˜&Ñ!Ô!ˆØÔ"×)Ò)­"¬(°?°?°?Ñ*CÔ*CÑDÔDˆÝ˜˜vÑ&Ô&Ð&å”˜4˜&Ñ!Ô!ˆØÔ"×)Ò)­"¬(°?°?°?Ñ*CÔ*CÑDÔDˆÝ˜˜vÑ&Ô&Ð&Ð&Ð&r:   c                 óR  — t          j        dg¦  «        }| j                             t          j        g d¢¦  «        ¦  «        }t	          ||¦  «         t          j        dg¦  «        }| j                             t          j        g d¢¦  «        ¦  «        }t	          ||¦  «         d S )Ngš™™™™™¹¿r]   r(   )r*   r-   r2   rN   r   rL   rc   s      r8   Útest__mutate2z-TestDifferentialEvolutionSolver.test__mutate2ˆ   s’   € õ ”˜4˜&Ñ!Ô!ˆØÔ"×)Ò)­"¬(°?°?°?Ñ*CÔ*CÑDÔDˆÝ˜˜vÑ&Ô&Ð&å”˜3˜%‘”ˆØÔ"×)Ò)­"¬(°?°?°?Ñ*CÔ*CÑDÔDˆÝ˜˜vÑ&Ô&Ð&Ð&Ð&r:   c                 ó¬   — t          j        dg¦  «        }| j                             t          j        g d¢¦  «        ¦  «        }t	          ||¦  «         d S )Ng333333Ã?r]   )r*   r-   r2   rQ   r   rc   s      r8   Útest__randtobest1z1TestDifferentialEvolutionSolver.test__randtobest1”   sM   € å”˜4˜&Ñ!Ô!ˆØÔ"×/Ò/µ´¸¸¸Ñ0IÔ0IÑJÔJˆÝ˜˜vÑ&Ô&Ð&Ð&Ð&r:   c                 ó®   — t          j        dg¦  «        }| j                             dt          j        g d¢¦  «        ¦  «        }t	          ||¦  «         d S )Nr(   r#   r]   )r*   r-   r2   rT   r   rc   s      r8   Útest__currenttobest1z4TestDifferentialEvolutionSolver.test__currenttobest1š   sU   € å”˜3˜%‘”ˆØÔ"×2Ò2ØÝŒH�_�_�_Ñ%Ô%ñ
ô 
ˆõ 	˜˜vÑ&Ô&Ð&Ð&Ð&r:   c                 ó†   — d}t          | j        | j        |¬¦  «        }t          |j        t          |¦  «        ¦  «         d S )N©r%   r#   ©r'   )r   r0   r/   r   ÚditherÚlist)r7   r'   rY   s      r8   Útest_can_init_with_ditheringz<TestDifferentialEvolutionSolver.test_can_init_with_dithering£   sJ   € ØˆÝ,¨T¬^Ø-1¬[Ø6>ð@ñ @ô @ˆõ 	�V”]¥D¨¡N¤NÑ3Ô3Ð3Ð3Ð3r:   c                 ó�  — t           }d}t          t          t          || j        |¬¦  «         d}t          t          t          || j        |¬¦  «         dt
          j        f}t          t          t          || j        |¬¦  «         d}t          || j        |¬¦  «        }t          d|j        ¦  «         t          d |j	        ¦  «         d S )N)r%   r^   ro   ©éÿÿÿÿr#   r(   r%   )
r   Úassert_raisesÚ
ValueErrorr   r/   r*   Únanr   Úscalerp   )r7   Úfuncr'   rY   s       r8   Ú+test_invalid_mutation_values_arent_acceptedzKTestDifferentialEvolutionSolver.test_invalid_mutation_values_arent_accepted«   sé   € ÝˆØˆÝ•jÝ5ØØœ+Ø#+ð		-ñ 	-ô 	-ð 	-ð ˆÝ•jÝ5ØØœ+Ø#+ð		-ñ 	-ô 	-ð 	-ð �œ�=ˆÝ•jÝ5ØØœ+Ø#+ð		-ñ 	-ô 	-ð 	-ð ˆÝ,¨TØ-1¬[Ø6>ð@ñ @ô @ˆõ 	�S˜&œ,Ñ'Ô'Ð'Ý�T˜6œ=Ñ)Ô)Ð)Ð)Ð)r:   c                 óŽ   — d„ }t          t          d¬¦  «        5  t          |ddg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó|   — t          j        t          j        | dz  ¦  «        t          j        | ¦  «        g¦  «        S ©Nr@   )r*   r-   Úsum©rA   s    r8   rz   zETestDifferentialEvolutionSolver.test_invalid_functional.<locals>.funcÊ   s+   € Ý”8�RœV A¨¡F™^œ^­R¬V°A©Y¬YÐ7Ñ8Ô8Ð8r:   z,func\(x, \*args\) must return a scalar value©Úmatch©éþÿÿÿr@   )rv   ÚRuntimeErrorr   )r7   rz   s     r8   Útest_invalid_functionalz7TestDifferentialEvolutionSolver.test_invalid_functionalÉ   s¬   € ð	9ð 	9ð 	9õ ÝØEðGñ Gô Gð 	=ð 	=õ # 4¨'°7Ð);Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s   š:º>Á>c                 ó  — t          j        dg¦  «        }t          d| j                             |¦  «        ¦  «         t          j        dgdgg¦  «        | j        _        t          d| j                             |¦  «        ¦  «         d S )Nç333333Ó?é   r!   r   )r*   r-   r   r1   Ú_scale_parametersr.   ©r7   re   s     r8   Útest__scale_parametersz6TestDifferentialEvolutionSolver.test__scale_parametersÒ   sx   € Ý”˜#˜‘”ˆÝ�R˜Ô*×<Ò<¸UÑCÔCÑDÔDÐDõ $&¤8¨c¨U°R°D¨MÑ#:Ô#:ˆÔÔ Ý�R˜Ô*×<Ò<¸UÑCÔCÑDÔDÐDÐDÐDr:   c                 ó  — t          j        dg¦  «        }t          d| j                             |¦  «        ¦  «         t          j        dgdgg¦  «        | j        _        t          d| j                             |¦  «        ¦  «         d S )Nr‰   rˆ   r!   r   )r*   r-   r   r1   Ú_unscale_parametersr.   r‹   s     r8   Útest__unscale_parametersz8TestDifferentialEvolutionSolver.test__unscale_parametersÚ   sx   € Ý”˜"˜‘”ˆÝ�S˜$Ô+×?Ò?ÀÑFÔFÑGÔGÐGõ $&¤8¨c¨U°R°D¨MÑ#:Ô#:ˆÔÔ Ý�S˜$Ô+×?Ò?ÀÑFÔFÑGÔGÐGÐGÐGr:   c                 ó:  — t          j        d¬¦  «        5  t          | j        ddg¬¦  «        }|                     ddg¦  «        }t          |d¦  «         d d d ¦  «         n# 1 swxY w Y   t          | j        ddg¦  «        }t          |j        dd	g¦  «         d S )
Nr   r   ©r   r   )ç      ð?ç      @)r/   r   r%   )r“   r“   r“   )	r*   Úerrstater   r0   rŽ   r   r   r   rA   )r7   rY   ÚvÚress       r8   Útest_equal_boundsz1TestDifferentialEvolutionSolver.test_equal_boundsâ   sè   € ÝŒ[ Ð)Ñ)Ô)ð 	$ð 	$Ý0Ø”Ø" JÐ/ðñ ô ˆFð ×*Ò*¨C°¨:Ñ6Ô6ˆAÝ˜A˜sÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$õ % T¤^°jÀ*Ð5MÑNÔNˆÝ�S”U˜S #˜JÑ'Ô'Ð'Ð'Ð's   –A A"Á"A&Á)A&c                 ó
  — t          j        g d¢¦  «        }| j                             |¦  «         t	          |d         d¦  «         t          t          j        |dk    |dk    ¦  «                             ¦   «         ¦  «         d S )N)çš™™™™™ñ?éœÿÿÿçÍÌÌÌÌÌì?r   g     Àr@gñhãˆµøä¾r@   r›   r   r#   )r*   r-   r1   Ú_ensure_constraintr   r   Úlogical_andÚallr‹   s     r8   Útest__ensure_constraintz7TestDifferentialEvolutionSolver.test__ensure_constraintî   sw   € Ý”Ð=Ð=Ð=Ñ>Ô>ˆØÔ×,Ò,¨UÑ3Ô3Ð3å�U˜1”X˜sÑ#Ô#Ð#Ý•”˜u¨šz¨5°Aª:Ñ6Ô6×:Ò:Ñ<Ô<Ñ=Ô=Ð=Ð=Ð=r:   c                 ón  — t          | j        dgdd¬¦  «        }|                     ¦   «         }t          |j        |                      |j        ¦  «        ¦  «         t          | j        dgdd¬¦  «        }|                     ¦   «         }t          |j        |                      |j        ¦  «        ¦  «         d S )Nrƒ   r#   F)ÚmaxiterÚpolishT)r   r0   Úsolver   ÚfunrA   ©r7   rY   rd   s      r8   Útest_differential_evolutionz;TestDifferentialEvolutionSolver.test_differential_evolutionõ   sª   € õ -ØŒN˜W˜I¨q¸ð
ñ 
ô 
ˆð —’‘”ˆÝ�V”Z §¢°´Ñ!9Ô!9Ñ:Ô:Ð:å,ØŒN˜W˜I¨q¸ð
ñ 
ô 
ˆð —’‘”ˆÝ�V”Z §¢°´Ñ!9Ô!9Ñ:Ô:Ð:Ð:Ð:r:   c                 óŽ   — t          | j        dg¦  «        }|                     ¦   «         }t          |j        |j        ¦  «         d S )Nrƒ   )r   r0   r£   r   rA   r¥   s      r8   Útest_best_solution_retrievalz<TestDifferentialEvolutionSolver.test_best_solution_retrieval  s<   € å,¨T¬^¸g¸YÑGÔGˆØ—’‘”ˆÝ�V”X˜vœxÑ(Ô(Ð(Ð(Ð(r:   c                 ó¤  ‡‡‡	— dŠ	ˆfd„Šd ‰_         t          j        ‰_        ˆˆ	fd„Šd‰_        d ‰_        ‰‰_        ddg}t          ‰|dd¬¦  «        }t          di |¤d	‰i¤Ž}t          di |¤d
‰	i¤Ž}|j	        |j	        cxu rdu sn J ‚‰j        |j        cxk    r‰	k    sn J ‚|j
        dk    sJ ‚|j
        dk    sJ ‚|                     ¦   «         D ];\  }}|dv rŒ
t          ‰j        |         |¦  «         t          ||         |¦  «         Œ<d‰_        t          j        ‰_        d|d<   t          di |¤d	‰i¤Ž}|j        |j        k     sJ ‚d S )Né
   c                 óX   •— t          | ¦  «        }|‰j        k     r| ‰_        |‰_        |S ©N)r   ÚvalrA   )rA   r­   rz   s     €r8   rz   zFTestDifferentialEvolutionSolver.test_intermediate_result.<locals>.func  s,   ø€ Ý˜‘(”(ˆCØ�T”XŠ~ˆ~Ø�”Ø�”ØˆJr:   c                 ó0  •— ‰xj         dz  c_         | ‰_        | j        j        dk    sJ ‚| j        j        d         dk    sJ ‚| j         ‰j         k    sJ ‚t          | j        ‰j        j        ¦  «         t          | j        ‰j        j	        ¦  «         t          | j        t          | j        ¦  «        ¦  «         t          t          | j        ¦  «        ¦  «        D ]9}| j        |         }t          | j        |         ¦  «        }t          ||¦  «         Œ:t          | j        | j        d         ¦  «         t          | j        | j        d         ¦  «         | j        dk    sJ ‚| j        du sJ ‚t!          | t"          ¦  «        sJ ‚‰j         ‰k    rt$          ‚d S )Nr#   r@   r   zin progressT)ÚnitÚintermediate_resultr6   ÚndimÚshaper   rA   rz   r¤   r­   r   ÚrangeÚlenÚpopulation_energiesÚmessageÚsuccessÚ
isinstancer   ÚStopIteration)r°   Úir–   ÚrefÚcallbackr¡   s       €€r8   r¼   zJTestDifferentialEvolutionSolver.test_intermediate_result.<locals>.callback  s·  ø€ ØˆLŒL˜AÑˆLŒLØ+>ˆHÔ(Ø&Ô1Ô6¸!Ò;Ð;Ð;Ð;Ø&Ô1Ô7¸Ô:¸aÒ?Ð?Ð?Ð?Ø&Ô*¨h¬lÒ:Ð:Ð:Ð:õ Ð,Ô.°´´Ñ@Ô@Ð@ÝÐ,Ô0°(´-Ô2CÑDÔDÐDõ Ð,Ô0µ%Ð8KÔ8MÑ2NÔ2NÑOÔOÐOÝ�3Ð2ÔFÑGÔGÑHÔHð 'ð '�Ø)Ô=¸aÔ@�ÝÐ/Ô:¸1Ô=Ñ>Ô>�Ý˜S #Ñ&Ô&Ð&Ð&ÝÐ,Ô.Ø,Ô7¸Ô:ñ<ô <ð <åÐ,Ô0Ø,Ô@ÀÔCñEô Eð Eð 'Ô.°-Ò?Ð?Ð?Ð?Ø&Ô.°$Ð6Ð6Ð6Ð6ÝÐ1µ>ÑBÔBÐBÐBÐBØŒ|˜wÒ&Ð&Ý#Ð#ð 'Ð&r:   r   ©r   r@   ieÊ F)rz   r/   Úrngr¢   r¼   r¡   ú&callback function requested stop earlyú/Maximum number of iterations has been exceeded.>   r¶   r·   Tr¢   r<   )rA   r*   Úinfr­   r¯   r°   rz   Údictr   r·   r¶   Úitemsr   r¤   )
r7   r/   Úkwargsr–   r»   Úfieldr­   r¼   rz   r¡   s
          @@@r8   Útest_intermediate_resultz8TestDifferentialEvolutionSolver.test_intermediate_result
  só  øøø€ ð ˆð	ð 	ð 	ð 	ð 	ð ˆŒÝ”6ˆŒð	$ð 	$ð 	$ð 	$ð 	$ð 	$ð8 ˆŒØ'+ˆÔ$ØˆŒà˜&Ð!ˆÝ˜4¨°FÀ5ÐIÑIÔIˆÝ$ÐAÐA vÐAÐA¸ÐAÐAÐAˆÝ$Ð?Ð? vÐ?Ð?°wÐ?Ð?Ð?ˆð Œ{˜cœkÐ2Ð2Ð2Ð2¨UÐ2Ð2Ð2Ð2Ð2Ð2ØŒ|˜sœwÐ1Ð1Ò1Ð1¨'Ò1Ð1Ð1Ð1Ð1Ð1ØŒ{ÐFÒFÐFÐFÐFØŒ{ÐOÒOÐOÐOÐOØŸ)š)™+œ+ð 	*ð 	*‰JˆE�3ØÐ.Ð.Ð.ØÝ˜Ô5°eÔ<¸cÑBÔBÐBÝ˜˜Uœ SÑ)Ô)Ð)Ð)ð ˆŒÝ”6ˆŒØˆˆxÑÝ$ÐAÐA vÐAÐA¸ÐAÐAÐAˆØŒw˜œÒ Ð Ð Ð Ð Ð r:   c                 ór  — ddg}d}d	d„}t          t          ||¬¦  «        }t          |j        |¦  «         d„ }t          t          ||¬¦  «        }|j        rJ ‚d	d„}t          t          ||¬¦  «        }t          |j        |¦  «         |j        rJ ‚d	d„}t          t          ||¬¦  «        }|j        sJ ‚d S )
Nr½   r¿   r   c                 ó   — dS )NTr<   ©ÚparamÚconvergences     r8   Úcallback_python_truezVTestDifferentialEvolutionSolver.test_callback_terminates.<locals>.callback_python_trueW  s   € Ø�4r:   )r¼   c                 ó   — t           ‚r¬   )r¹   )r°   s    r8   Úcallback_stopzOTestDifferentialEvolutionSolver.test_callback_terminates.<locals>.callback_stop`  s   € ÝÐr:   c                 ó   — dgS )Nrª   r<   rÉ   s     r8   Úcallback_evaluates_truezYTestDifferentialEvolutionSolver.test_callback_terminates.<locals>.callback_evaluates_truef  s	   € à�4ˆKr:   c                 ó   — g S r¬   r<   rÉ   s     r8   Úcallback_evaluates_falsezZTestDifferentialEvolutionSolver.test_callback_terminates.<locals>.callback_evaluates_falsen  s   € ØˆIr:   )r   )r   r   r   r¶   r·   )r7   r/   Úexpected_msgrÌ   rd   rÎ   rÐ   rÒ   s           r8   Útest_callback_terminatesz8TestDifferentialEvolutionSolver.test_callback_terminatesS  s  € à˜&Ð!ˆØ?ˆð	ð 	ð 	ð 	õ (Ý�6Ð$8ð
ñ 
ô 
ˆõ 	˜FœN¨LÑ9Ô9Ð9ð	 ð 	 ð 	 õ (­¨vÀÐNÑNÔNˆØ”>Ð!Ð!Ð!ð	ð 	ð 	ð 	õ (­¨vÐ@WÐXÑXÔXˆÝ˜FœN¨LÑ9Ô9Ð9Ø”>Ð!Ð!Ð!ð	ð 	ð 	ð 	õ (­¨vØ1IðKñ Kô KˆàŒ~ÐÐÐÐÐr:   c                 óf   — dg}d}d„ }t          |||d¬¦  «        }t          |j        d¦  «         d S )N©éöÿÿÿrª   )r’   r   r“   c                 ó�   — t          |t          ¦  «        st          d¦  «        ‚|d         |d         | z  z   |d         | dz  z  z   S )Nzargs should be a tupler   r#   r@   r   )r¸   Útuplerw   )rA   Úargss     r8   r0   zLTestDifferentialEvolutionSolver.test_args_tuple_is_passed.<locals>.quadraticz  sK   € Ý˜d¥EÑ*Ô*ð ;Ý Ð!9Ñ:Ô:Ð:Ø˜”7˜T !œW q™[Ñ(¨4°¬7°Q¸±U©?Ñ:Ð:r:   T)rÚ   r¢   gUUUUUUå?)r   r   r¤   )r7   r/   rÚ   r0   rd   s        r8   Útest_args_tuple_is_passedz9TestDifferentialEvolutionSolver.test_args_tuple_is_passedu  sX   € à�ˆØˆð	;ð 	;ð 	;õ
 (¨	Ø(.Ø-1Ø/3ð5ñ 5ô 5ˆõ 	˜FœJ¨Ñ/Ô/Ð/Ð/Ð/r:   c                 óV   — t           }dg}t          t          t          ||d¬¦  «         d S )N©éýÿÿÿr^   ÚabcrD   )r   rv   rw   r   )r7   rz   r/   s      r8   Útest_init_with_invalid_strategyz?TestDifferentialEvolutionSolver.test_init_with_invalid_strategy…  s=   € åˆØ�ˆÝ•jÝ0ØØ Ø#(ð		*ñ 	*ô 	*ð 	*ð 	*ð 	*r:   c                 ó
  — t           }dg}t          t          t          ||¦  «         ddg}t          t          t          ||¦  «         t          t           t	          ddgddg¦  «        ¦  «        }t          |j        d¦  «         d S )NrÞ   rÝ   )r^   r_   r`   r   r@   )r’   r’   )r   rv   rw   r   r   r   rA   )r7   rz   r/   rd   s       r8   Útest_bounds_checkingz4TestDifferentialEvolutionSolver.test_bounds_checking�  s�   € åˆØ�ˆÝ•jÝ0ØØ ñ	"ô 	"ð 	"ð ˜9Ð%ˆÝ•jÝ0ØØ ñ	"ô 	"ð 	"õ (­­v°q¸!°f¸qÀ!¸fÑ/EÔ/EÑFÔFˆÝ˜FœH hÑ/Ô/Ð/Ð/Ð/r:   c                 óª  — t          j        dd¬¦  «                             dd¦  «        }t          t	          |dd d …f         |dd d …f         ¦  «        ¦  «        }t          d |d¬¦  «        }d}|                     |d	¦  «        \  }}}}}	t          t          t          j	        t          j
        ||||||	g¦  «        ¦  «        ¦  «        d¦  «         d S )
Ng      (@Úfloat64)Údtyper@   ra   r   r#   ©r&   r`   )r*   r4   Úreshaperq   Úzipr   Ú_select_samplesr   r´   Úuniquer-   )
r7   r.   r/   rY   Ú	candidateÚr1Úr2Úr3Úr4Úr5s
             r8   Útest_select_samplesz3TestDifferentialEvolutionSolver.test_select_samples¡  sÝ   € å”˜3 iÐ0Ñ0Ô0×8Ò8¸¸AÑ>Ô>ˆÝ•c˜&  A A A œ,¨¨q°!°!°!¨t¬Ñ5Ô5Ñ6Ô6ˆÝ,¨T°6À1ÐEÑEÔEˆØˆ	Ø#×3Ò3°I¸qÑAÔAÑˆˆB��B˜ÝÝ•”	�"œ( I¨r°2°r¸2¸rÐ#BÑCÔCÑDÔDÑEÔEÀqñ	Jô 	Jð 	Jð 	Jð 	Jr:   c                 óº   — t          t          | j        d¬¦  «        }|                     ¦   «         }t	          |j        d¦  «         t	          |j        d¦  «         d S )Nr#   )r¡   FrÀ   )r   r   r/   r£   r   r·   r¶   r¥   s      r8   Útest_maxiter_stops_solvez8TestDifferentialEvolutionSolver.test_maxiter_stops_solve«  sa   € õ -­U°D´KÈÐKÑKÔKˆØ—’‘”ˆÝ�V”^ UÑ+Ô+Ð+Ý�V”^ØIñ	Kô 	Kð 	Kð 	Kð 	Kr:   c                 ó¬  — t          t          | j        dd¬¦  «        }|                     ¦   «         }t	          |j        d¦  «         t	          |j        d¦  «         t	          |j        d¦  «         t          t          | j        ddd¬¦  «        }|                     ¦   «         }t	          |j        d	¦  «         t	          |j        d¦  «         t	          |j        d¦  «         t          t          | j        ddd
d¬¦  «        }|                     ¦   «         }t	          |j        d
¦  «         t	          |j        d¦  «         t	          |j        d¦  «         d S )Nr#   F)Úmaxfunr¢   r@   z9Maximum number of function evaluations has been exceeded.r`   é(   )r&   r¢   rõ   é)   é/   Údeferred)r&   r¢   rõ   Úupdatingz8Maximum number of function evaluations has been reached.)r   r   r/   r£   r   Únfevr·   r¶   r¥   s      r8   Útest_maxfun_stops_solvez7TestDifferentialEvolutionSolver.test_maxfun_stops_solve´  sg  € õ -­U°D´KÈØ49ð;ñ ;ô ;ˆà—’‘”ˆå�V”[ !Ñ$Ô$Ð$Ý�V”^ UÑ+Ô+Ð+Ý�V”^ð&ñ	'ô 	'ð 	'õ -­UØ-1¬[Ø56Ø49Ø46ð	8ñ 8ô 8ˆð
 —’‘”ˆå�V”[ "Ñ%Ô%Ð%Ý�V”^ UÑ+Ô+Ð+Ý�V”^ð&ñ	'ô 	'ð 	'õ -­UØ-1¬[Ø56Ø49Ø46Ø6@ðBñ Bô Bˆð —’‘”ˆå�V”[ "Ñ%Ô%Ð%Ý�V”^ UÑ+Ô+Ð+Ý�V”^ð%ñ	&ô 	&ð 	&ð 	&ð 	&r:   c                 ó¬   — t          | j        dgd¬¦  «        }|                     ¦   «          t          t	          j        |j        ¦  «        d¦  «         d S )N©rš   r!   ç{®Gáz”?)Útolr   )r   r0   r£   r   r*   Úargminrµ   rX   s     r8   Útest_quadraticz.TestDifferentialEvolutionSolver.test_quadraticä  sT   € å,¨T¬^Ø.9¨]Ø15ð7ñ 7ô 7ˆð 	�Š‰ŒˆÝ•R”Y˜vÔ9Ñ:Ô:¸AÑ>Ô>Ð>Ð>Ð>r:   c                 ó8   — t          | j        dgdd¬¦  «         d S )Nrþ   rÿ   r#   )r   Úseed)r   r0   r=   s    r8   Útest_quadratic_from_diff_evz;TestDifferentialEvolutionSolver.test_quadratic_from_diff_evì  s2   € å˜tœ~Ø +˜}Ø#'Ø$%ð	'ñ 	'ô 	'ð 	'ð 	'ð 	'r:   c                 óÖ   — t          | j        dgddd¬¦  «        }t          | j        dgddd¬¦  «        }t          |j        |j        ¦  «         t          |j        |j        ¦  «         d S )Nrþ   Fr#   r%   )r¢   r¾   r   )r   r0   r   rA   rû   )r7   rd   Úresult2s      r8   Útest_rng_gives_repeatabilityz<TestDifferentialEvolutionSolver.test_rng_gives_repeatabilityó  s€   € Ý'¨¬Ø)4¨Ø/4Ø,-Ø,/ð	1ñ 1ô 1ˆõ
 )¨¬Ø)4¨Ø/4Ø,-Ø,/ð	1ñ 1ô 1ˆõ
 	�V”X˜wœyÑ)Ô)Ð)Ý�V”[ '¤,Ñ/Ô/Ð/Ð/Ð/r:   c           	      óŠ   — t           j                             ¦   «         }g d¢}|D ]}t          | j        dgd|d|¬¦  «         Œd S )N)ÚrandomÚlatinhypercubeÚsobolÚhaltonrþ   Fr%   )r¢   r¾   r   Úinit)r*   r
  Údefault_rngr   r0   )r7   r¾   Úinitsr  s       r8   Útest_random_generatorz5TestDifferentialEvolutionSolver.test_random_generator  sl   € õ Œi×#Ò#Ñ%Ô%ˆà?Ð?Ð?ˆØð 	.ð 	.ˆDÝ" 4¤>Ø$/ =Ø*/Ø'*Ø'*Ø(,ð.ñ .ô .ð .ð .ð	.ð 	.r:   c                 óh   — t          t          | j        dd¬¦  «        }|                     ¦   «          d S )NrC   r#   )rE   r¡   ©r   r   r/   r£   rX   s     r8   Útest_exp_runsz-TestDifferentialEvolutionSolver.test_exp_runs  s6   € å,­UØ-1¬[Ø6@Ø56ð8ñ 8ô 8ˆð
 	�Š‰Œˆˆˆr:   c                 ó>   — ddg}t          t          |dd¬¦  «         d S )N)éûÿÿÿr`   é1   r#   )r&   r¡   )r   r   )r7   r/   s     r8   Útest_gh_4511_regressionz7TestDifferentialEvolutionSolver.test_gh_4511_regression  s-   € ð
 ˜7Ð#ˆõ 	�u f°bÀ!ÐDÑDÔDÐDÐDÐDr:   c                 ó  — t          t          | j        d¬¦  «        }|                     |j        ¦  «         |                     ¦   «          t          t          j        |j	        ¦  «        d¦  «         t          |j
        d¦  «         d S )Nr^   ræ   r   ra   )r   r   r/   Ú_calculate_population_energiesr6   Ú_promote_lowest_energyr   r*   r  rµ   Ú_nfevrX   s     r8   Ú"test_calculate_population_energieszBTestDifferentialEvolutionSolver.test_calculate_population_energies(  sx   € å,­U°D´KÈÐKÑKÔKˆØ×-Ò-¨fÔ.?Ñ@Ô@Ð@Ø×%Ò%Ñ'Ô'Ð'Ý•R”Y˜vÔ9Ñ:Ô:¸AÑ>Ô>Ð>õ 	�V”\ 1Ñ%Ô%Ð%Ð%Ð%r:   c                 óÀ  — t          t          | j        dd¬¦  «        }t          |¦  «        \  }}t	          t          j        |d¦  «        d¦  «         t	          |j        d¦  «         t          t          t          |¦  «         t          t          | j        ¦  «        }t          |¦  «        \  }}t          |¦  «        D ]\  }}|\  }}	||	k    sJ ‚||	}}|dk    r d S Œ d S )Nr^   é   )r&   rõ   r   r@   é2   )r   r   r/   Únextr   r*   Úsizer  rv   r¹   Ú	enumerate)
r7   rY   rA   r¤   Ú_Úfun_prevrº   ÚsolnÚ	x_currentÚfun_currents
             r8   Útest_iterationz.TestDifferentialEvolutionSolver.test_iteration2  sô   € õ -­U°D´KÈØ46ð8ñ 8ô 8ˆå�f‘”‰ˆˆ3Ý•R”W˜Q ‘]”] AÑ&Ô&Ð&õ 	�V”\ 2Ñ&Ô&Ð&õ 	•m¥T¨6Ñ2Ô2Ð2õ -­U°D´KÑ@Ô@ˆÝ˜6‘l”l‰ˆˆ8Ý  Ñ(Ô(ð 	ð 	‰GˆAˆtØ%)Ñ"ˆI�{Ø˜{Ò*Ð*Ð*Ð*Ø# [ˆxˆAà�BŠwˆwØ��ð ð	ð 	r:   c                 ó˜   — t          t          | j        dd¬¦  «        }|                     ¦   «          t	          |j        dk     ¦  «         d S )Nçš™™™™™É?F)r   r¢   )r   r   r/   r£   r   rË   rX   s     r8   Útest_convergencez0TestDifferentialEvolutionSolver.test_convergenceL  sJ   € Ý,­U°D´KÀSØ49ð;ñ ;ô ;ˆà�Š‰ŒˆÝ�Ô" SÒ(Ñ)Ô)Ð)Ð)Ð)r:   c                 óh   — t          t          | j        d d ¬¦  «        }|                     ¦   «          d S )N)r¡   rõ   r  rX   s     r8   Útest_maxiter_none_GH5731z8TestDifferentialEvolutionSolver.test_maxiter_none_GH5731R  s4   € õ
 -­U°D´KÈØ48ð:ñ :ô :ˆà�Š‰Œˆˆˆr:   c           	      ó  — t          t          t          gt          | j        f¢R i ddi¤Ž t          t          | j        ¦  «        }|                     ¦   «          t          |j        d¦  «         t          t          j
        t          j        |j        ¦  «        ¦  «        ¦  «         |                     ¦   «          t          |j        d¦  «         t          t          j
        t          j        |j        ¦  «        ¦  «        ¦  «         |                     d¬¦  «         t          |j        d¦  «         t          t          j
        t          j        |j        ¦  «        ¦  «        ¦  «         t          t          | j        d¬¦  «        }|                     d¬¦  «         t          |j        d¦  «         t          t          j
        t          j        |j        ¦  «        ¦  «        ¦  «         t          j        dd	d
¦  «                             dd¦  «        }t          t          | j        |dddd¬¦  «        }t          |j        d¦  «         t          t          j
        t          j        |j        ¦  «        ¦  «        ¦  «         t          |j        dk    ¦  «         t          |j        dk    ¦  «         t          j        |                     |¦  «        dd¦  «        }t+          |j        d d…         |¦  «         t+          t          j        |j        d d…         ¦  «        d¦  «         t+          t          j        |j        d d…         ¦  «        d¦  «         t          j        dd	d¦  «                             dd	¦  «        }t          t          t          gt          | j        f¢R i d|i¤Ž t          j                             ddd¬¦  «        }t          t          | j        |¬¦  «        }t7          |j        d         |dz  ¦  «         d S )Nr  Úrubbishr   r  )Ú
qmc_enginer  )r  ru   r^   rª   r`   r@   rM   ç{®Gáz„?r#   )r  rE   Úatolr¾   r&   )r`   r@   é   r   r   )ÚlowÚhighr"  ©Úx0)rv   rw   r   r   r/   Úinit_population_randomr   r  r   r*   rž   Úisinfrµ   Úinit_population_lhsÚinit_population_qmcÚlinspacerç   Únum_population_membersÚpopulation_shapeÚcliprŽ   r   r6   ÚminÚmaxr
  Úuniformr   )r7   rY   r6   Úunscaled_populationr8  s        r8   Útest_population_initiationz:TestDifferentialEvolutionSolver.test_population_initiation[  s§  € õ
 	•jÝ1ð	-å˜tœ{Ð+ð	-ð 	-ð 	-ð   Ð+ð	-ð 	-ð 	-õ
 -­U°D´KÑ@Ô@ˆð
 	×%Ò%Ñ'Ô'Ð'Ý�V”\ 1Ñ%Ô%Ð%Ý•”•r”x Ô :Ñ;Ô;Ñ<Ô<Ñ=Ô=Ð=à×"Ò"Ñ$Ô$Ð$Ý�V”\ 1Ñ%Ô%Ð%Ý•”•r”x Ô :Ñ;Ô;Ñ<Ô<Ñ=Ô=Ð=à×"Ò"¨hÐ"Ñ7Ô7Ð7Ý�V”\ 1Ñ%Ô%Ð%Ý•”•r”x Ô :Ñ;Ô;Ñ<Ô<Ñ=Ô=Ð=å,­U°D´KÀgÐNÑNÔNˆØ×"Ò"¨gÐ"Ñ6Ô6Ð6Ý�V”\ 1Ñ%Ô%Ð%Ý•”•r”x Ô :Ñ;Ô;Ñ<Ô<Ñ=Ô=Ð=õ ”[  Q¨Ñ+Ô+×3Ò3°A°qÑ9Ô9ˆ
Ý,­U°D´KØ2<Ø6@Ø26¸AÀqðJñ Jô Jˆõ
 	�V”\ 1Ñ%Ô%Ð%Ý•”•r”x Ô :Ñ;Ô;Ñ<Ô<Ñ=Ô=Ð=Ý�Ô-°Ò2Ñ3Ô3Ð3Ý�Ô'¨6Ò1Ñ2Ô2Ð2õ !œg f×&@Ò&@ÀÑ&LÔ&LØ&'¨ñ,ô ,Ðå˜FÔ-¨b¨q¨bÔ1Ð3FÑGÔGÐGõ 	�BœF 6Ô#4°R°a°RÔ#8Ñ9Ô9¸1Ñ=Ô=Ð=Ý�BœF 6Ô#4°R°a°RÔ#8Ñ9Ô9¸1Ñ=Ô=Ð=õ ”[  Q¨Ñ+Ô+×3Ò3°A°qÑ9Ô9ˆ
Ý•jÝ1ð	.å˜tœ{Ð+ð	.ð 	.ð 	.ð   Ð,ð	.ð 	.ð 	.õ ŒY×Ò 3¨S°qÐÑ9Ô9ˆÝ,Ý�4”; 2ð
ñ 
ô 
ˆõ 	˜Ô)¨!Ô,¨b°3©hÑ7Ô7Ð7Ð7Ð7r:   c                 óê   — t          t          | j        ddg¬¦  «        }|j        sJ ‚t	          t
          ¦  «        5  t          t          | j        ddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr+  r)   r7  çÍÌÌÌÌÌ @)r   r   r/   r·   rv   rw   )r7   r–   s     r8   Útest_x0z'TestDifferentialEvolutionSolver.test_x0¡  sÍ   € å$¥U¨D¬K¸SÀ#¸JÐGÑGÔGˆØŒ{ÐÐÐõ �:Ñ&Ô&ð 	Fð 	FÝ"¥5¨$¬+¸3À¸*ÐEÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fs   ¼A(Á(A,Á/A,c                 ó8   — d„ }ddg}t          ||d¬¦  «         d S )Nc                 óB   — | d         dk     rt           j        S | d         S )Nr   r%   r#   )r*   rÁ   r€   s    r8   Úsometimes_infzWTestDifferentialEvolutionSolver.test_infinite_objective_function.<locals>.sometimes_inf­  s   € Ø�Œt�bŠyˆyÝ”v�Ø�Q”4ˆKr:   r"   F)r/   Údisp)r   )r7   rK  r/   s      r8   Ú test_infinite_objective_functionz@TestDifferentialEvolutionSolver.test_infinite_objective_functionª  s8   € ð	ð 	ð 	ð ˜&Ð!ˆÝ˜}°VÀ%ÐHÑHÔHÐHÐHÐHr:   c                 ó(  — ddg}t          t          |d¬¦  «        }t          |j        dk    ¦  «         t          |j        j        t          u ¦  «         |                     ¦   «         }|j        sJ ‚t          t          |dd¬¦  «        }|j        sJ ‚d S )Nr   rù   )rú   rC   )rú   rE   )
r   r   r   Ú	_updatingÚ_mapwrapperÚ_mapfuncÚmapr£   r·   r   )r7   r/   rY   r–   s       r8   Útest_deferred_updatingz6TestDifferentialEvolutionSolver.test_deferred_updating´  sŸ   € à˜HÐ%ˆÝ,­U°FÀZÐPÑPÔPˆÝ�Ô  JÒ.Ñ/Ô/Ð/Ý�Ô"Ô+­sÐ2Ñ3Ô3Ð3Ø�lŠl‰nŒnˆØŒ{ÐÐÐõ %Ý�6 J¸ð
ñ 
ô 
ˆð Œ{ÐÐÐÐÐr:   c                 óð  — ddg}t          t          |¦  «        }t          |j        dk    ¦  «         t	          j        d¦  «        }|                     d¦  «        5 }t          t          ¦  «        5  t          t          ||j	        ¬¦  «        5 }| 
                    ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |j        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   Ú	immediateÚspawnr@   )Úworkersrù   )r   r   r   rO  ÚmultiprocessingÚget_contextr   r   ÚUserWarningrR  r£   )r7   r/   rY   ÚctxÚpÚss         r8   Útest_immediate_updatingz7TestDifferentialEvolutionSolver.test_immediate_updatingÃ  sª  € ð ˜HÐ%ˆÝ,­U°FÑ;Ô;ˆÝ�Ô  KÒ/Ñ0Ô0Ð0õ Ô)¨'Ñ2Ô2ˆØ�XŠX�a‰[Œ[ð 	-˜Aõ •{Ñ#Ô#ð #ð #Ý0µ¸ÈÌÐNÑNÔNð #ÐRSØ—L’L‘N”N�Nð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð ”; *Ò,Ð,Ð,Ð,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-sZ   ÁC+Á0CÂB.Â"CÂ.B2Â2CÂ5B2Â6CÂ9C+ÃC		Ã	C+ÃC		ÃC+Ã+C/Ã2C/rª   c           	      óì  — ddg}t          d¦  «        5 }t          t          |d|j        dd¬¦  «        5 }|j        j        €J ‚|j        dk    sJ ‚|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          t          |dddd¬¦  «        5 }|j        j        €J ‚|j        dk    sJ ‚|                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r@   rù   r(   r^   )rú   rW  r   r&   )rú   rW  r&   r   )Ú
ThreadPoolr   r   rR  rP  ÚpoolrO  r£   )r7   r/   r\  rY   s       r8   Útest_parallelz-TestDifferentialEvolutionSolver.test_parallel×  sÐ  € ð ˜HÐ%ˆå˜‰]Œ]ð 	˜aÕ!<Ý�6 J¸¼À3ÐPQð"
ñ "
ô "
ð 	àØÔ%Ô*Ð6Ð6Ð6ØÔ# zÒ1Ð1Ð1Ð1Ø�LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ )Ý�6 J¸À1È#ð
ñ 
ô 
ð 	àØÔ%Ô*Ð6Ð6Ð6ØÔ# zÒ1Ð1Ð1Ð1Ø�LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	sF   ” B´0A0Á$BÁ0A4	Á4BÁ7A4	Á8BÂBÂBÂ,0C)Ã)C-Ã0C-c                 óž   — t          t          ddg¦  «        }|                     ¦   «          t          |                     ¦   «         ¦  «         d S )Nr½   )r   r   r£   r   Ú	convergedrX   s     r8   Útest_convergedz.TestDifferentialEvolutionSolver.test_convergedê  sC   € Ý,­U°V¸VÐ4DÑEÔEˆØ�Š‰ŒˆÝ�× Ò Ñ"Ô"Ñ#Ô#Ð#Ð#Ð#r:   c                 óz  ‡‡— d„ }d„ Št          |t          j         d¦  «        }t          t          ddg|f¬¦  «        Š‰                     t          j        ddg¦  «        ¦  «        }t          |d¦  «         t          ‰t          j         d¦  «        }t          t          ddg||f¬¦  «        Šg d	¢}g d
¢}t          ||¦  «        D ]N\  }}‰                     t          j        |¦  «        ¦  «        }t          |t          j
        |¦  «        ¦  «         ŒOt          ‰                     t          j        |¦  «        ¦  «        t          j        |¦  «        ¦  «         t          j        ˆfd„t          j        |¦  «        D ¦   «         ¦  «        }	|	j        dk    sJ ‚ˆfd„}
t          |
t          j         d¦  «        }t          t          ddg||fd¬¦  «        Šd‰_        t          j        t          d¬¦  «        5  ‰                     t          j        |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó&   — | d         | d         z   gS ©Nr   r#   r<   r€   s    r8   Úconstr_fzNTestDifferentialEvolutionSolver.test_constraint_violation_fn.<locals>.constr_fð  ó   € Ø�a”D˜1˜Qœ4‘K�=Ð r:   c                 óp   — t          j        | d         dz  | d         z   | d         | d         z
  g¦  «        S ©Nr   r@   r#   ©r*   r-   r€   s    r8   Ú	constr_f2zOTestDifferentialEvolutionSolver.test_constraint_violation_fn.<locals>.constr_f2ó  ó3   € Ý”8˜Q˜qœT 1™W q¨¤t™^¨Q¨q¬T°A°a´D©[Ð9Ñ:Ô:Ð:r:   çffffffþ?r½   ©Úconstraintsr’   r(   çÍÌÌÌÌÌü?))ç333333ó?r#   r‘   )r%   r%   ))rˆ   ç{®Gázä?r   )rG  çÍÌÌÌÌÌ@r   )r   r   r   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r<   )Ú_constraint_violation_fn)Ú.0rA   rY   s     €r8   ú
<listcomp>zPTestDifferentialEvolutionSolver.test_constraint_violation_fn.<locals>.<listcomp>  s=   ø€ ð )@ð )@ð )@Ø-.ð *0×)HÒ)HÈÑ)KÔ)Kð )@ð )@ð )@r:   )r^   r#   r^   c                 ó$   •—  ‰| ¦  «        j         S r¬   )r5   )rA   rn  s    €r8   Ú	constr_f3zOTestDifferentialEvolutionSolver.test_constraint_violation_fn.<locals>.constr_f3  s   ø€ à�9˜Q‘<”<”>Ð!r:   F)rr  Ú
vectorizedTz#An array returned from a Constraintr�   )r	   r*   rÁ   r   r   rx  r-   r   rè   r   r3   r²   r}  Úpytestr   r…   )r7   ri  ÚnlcÚcvÚnlc2ÚxsÚvsrA   r•   Úconstraint_violationr|  rn  rY   s              @@r8   Útest_constraint_violation_fnz<TestDifferentialEvolutionSolver.test_constraint_violation_fnï  sÎ  øø€ ð	!ð 	!ð 	!ð	;ð 	;ð 	;õ " (­R¬V¨G°SÑ9Ô9ˆå,­U°V¸VÐ4DØ:=¸ðAñ Aô Aˆð ×,Ò,­R¬X°s¸C°jÑ-AÔ-AÑBÔBˆÝ˜B Ñ$Ô$Ð$å" 9­r¬v¨g°sÑ;Ô;ˆÝ,­U°V¸VÐ4DØ:=¸t¸ðFñ Fô Fˆð
 0Ð/Ð/ˆØ;Ð;Ð;ˆå˜˜B‘K”Kð 	2ð 	2‰DˆAˆqØ×0Ò0µ´¸!±´Ñ=Ô=ˆBÝ˜B¥¤¨aÑ 0Ô 0Ñ1Ô1Ð1Ð1õ 	Ø×+Ò+­B¬H°R©L¬LÑ9Ô9½2¼8ÀB¹<¼<ñ	
ô 	
ð 	
õ  "œxð )@ð )@ð )@ð )@Ý24´(¸2±,´,ð)@ñ )@ô )@ñ  Aô  AÐà#Ô)¨YÒ6Ð6Ð6Ð6ð	"ð 	"ð 	"ð 	"ð 	"õ # 9­r¬v¨g°sÑ;Ô;ˆÝ,­U°V¸VÐ4DØ:=¸t¸Ø8=ð?ñ ?ô ?ˆð !ˆÔÝŒ]ÝÐ$Ið
ñ 
ô 
ð 	:ð 	:ð ×+Ò+­B¬H°R©L¬LÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   Ç;(H0È0H4È7H4c           	      ó˜  — d„ }d„ }t          |t          j         d¦  «        }t          t          ddg|f¬¦  «        }|                     t          j        ddgddgg¦  «        ¦  «        \  }}t          |ddg¦  «         t          |t          j        d	gd
gg¦  «        ¦  «         |j	        dk    sJ ‚t          |t          j         d¦  «        }dD �]x}t          t          ddg||f|d¬¦  «        }|                     t          j        ddgddgg¦  «        ¦  «        \  }}t          |ddg¦  «         t          |t          j        g d¢g d¢g¦  «        ¦  «         |                     t          j        ddgddgg¦  «        ¦  «        \  }}t          |ddg¦  «         t          |t          j        g d¢g d¢g¦  «        ¦  «         |j	        dk    sJ ‚|                     t          j        ddgddgg¦  «        ¦  «        \  }}t          |ddg¦  «         t          |t          j        g d¢g d¢g¦  «        ¦  «         |j	        dk    sJ ‚�Œzd S )Nc                 ó&   — | d         | d         z   gS rh  r<   r€   s    r8   ri  zZTestDifferentialEvolutionSolver.test_constraint_population_feasibilities.<locals>.constr_f)  rj  r:   c                 óL   — | d         dz  | d         z   | d         | d         z
  gS rl  r<   r€   s    r8   rn  z[TestDifferentialEvolutionSolver.test_constraint_population_feasibilities.<locals>.constr_f2,  s)   € Ø�a”D˜!‘G˜a œd‘N A a¤D¨1¨Q¬4¡KÐ0Ð0r:   rp  r½   rq  r%   r’   Fr(   rG  )r@   r#   rs  )FTrù   )rr  r}  rú   g333333ã?)r(   r+  r   )rˆ   ru  r   )rG  rv  r   )r@   r^   rb   T)r   r   r   )
r	   r*   rÁ   r   r   Ú#_calculate_population_feasibilitiesr-   r   r   r²   )	r7   ri  rn  r  rY   Úfeasr€  r�  Ú	vectorizes	            r8   Ú(test_constraint_population_feasibilitieszHTestDifferentialEvolutionSolver.test_constraint_population_feasibilities(  sª  € ð	!ð 	!ð 	!ð	1ð 	1ð 	1õ " (­R¬V¨G°SÑ9Ô9ˆå,­U°V¸VÐ4DØ:=¸ðAñ Aô Aˆð
 ×=Ò=ÝŒH�s˜C�j 2 r (Ð+Ñ,Ô,ñ.ô .‰ˆˆbå�T˜E 5˜>Ñ*Ô*Ð*Ý˜B¥¤¨3¨%°#°¨Ñ 8Ô 8Ñ9Ô9Ð9ØŒx˜6Ò!Ð!Ð!Ð!å" 9­r¬v¨g°sÑ;Ô;ˆà&ð 	&ñ 	&ˆIÝ0µ¸ÀÐ8HØ>AÀ4¸[Ø<EØ:DðFñ Fô FˆFð
 ×AÒAÝ”˜3 ˜* s¨C jÐ1Ñ2Ô2ñ4ô 4‰HˆD�"å˜  u˜~Ñ.Ô.Ð.Ý ¥B¤H¨m¨m¨m¸^¸^¸^Ð-LÑ$MÔ$MÑNÔNÐNà×AÒAÝ”˜3 ˜* r¨2 hÐ/Ñ0Ô0ñ2ô 2‰HˆD�"å˜  u˜~Ñ.Ô.Ð.Ý ¥B¤H¨m¨m¨m¸]¸]¸]Ð-KÑ$LÔ$LÑMÔMÐMØ”8˜vÒ%Ð%Ð%Ð%à×AÒAÝ”˜4 ˜,¨¨R¨Ð1Ñ2Ô2ñ4ô 4‰HˆD�"å˜  e˜}Ñ-Ô-Ð-Ý ¥B¤H¨n¨n¨n¸m¸m¸mÐ-LÑ$MÔ$MÑNÔNÐNØ”8˜vÒ%Ð%Ð%Ð%Ñ%ð+	&ð 	&r:   c                 ó6  — d„ }t          |t          j         d¦  «        }t          t          ddg|f¬¦  «        }t          t          ¦  «        5  |                     ¦   «         }d d d ¦  «         n# 1 swxY w Y    ||j        ¦  «        dk    sJ ‚|j	        sJ ‚d S )Nc                 óJ   — t          j        | d         | d         z   g¦  «        S rh  rm  r€   s    r8   ri  zGTestDifferentialEvolutionSolver.test_constraint_solve.<locals>.constr_fW  ó    € Ý”8˜Q˜qœT A a¤D™[˜MÑ*Ô*Ð*r:   rp  r½   rq  )
r	   r*   rÁ   r   r   r   rZ  r£   rA   r·   )r7   ri  r  rY   r–   s        r8   Útest_constraint_solvez5TestDifferentialEvolutionSolver.test_constraint_solveU  sð   € ð	+ð 	+ð 	+õ " (­R¬V¨G°SÑ9Ô9ˆå,­U°V¸VÐ4DØ:=¸ðAñ Aô Aˆõ •;ÑÔð 	!ð 	!Ø—,’,‘.”.ˆCð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð ˆx˜œ‰Œ #Ò%Ð%Ð%Ð%ØŒ{ÐÐÐÐÐs   ÁA/Á/A3Á6A3c                 ó@  — d„ }t          |t          j         d¦  «        }t          t          ddg|fddd¬¦  «        }t          t          ¦  «        5  |                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   |j        dk    sJ ‚|j	        rJ ‚t          t          ddg|fd¬	¦  «        }t          |¦  «         |j                             ¦   «         rJ ‚t          j        |j        ¦  «                             ¦   «         rJ ‚d
}|j        d         }|j        |dg         |j        d|g<   |j        |dgd d …f         |j        d|gd d …f<   |j        |dgd d …f         |j        d|gd d …f<   |                     ¦   «          t%          |j        d         |¦  «         d S )Nc                 óJ   — t          j        | d         | d         z   g¦  «        S rh  rm  r€   s    r8   ri  zLTestDifferentialEvolutionSolver.test_impossible_constraint.<locals>.constr_fi  r�  r:   ru   r½   r#   r!   )rr  r&   r¾   r¡   r   F)rr  r¢   é   )r	   r*   rÁ   r   r   r   rZ  r£   Úmaxcvr·   r!  Úfeasiblerž   Úisfiniterµ   r„  r6   r  r   )r7   ri  r  rY   r–   Úlr€  s          r8   Útest_impossible_constraintz:TestDifferentialEvolutionSolver.test_impossible_constraintf  s  € ð	+ð 	+ð 	+õ " (­R¬V¨G°RÑ8Ô8ˆå,Ý�F˜FÐ#°#°ÀÈÐSVð
ñ 
ô 
ˆõ •;ÑÔð 	!ð 	!Ø—,’,‘.”.ˆCð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð Œy˜1Š}ˆ}ˆ}ˆ}Ø”;ÐÐÐõ
 -Ý�F˜FÐ#°#°ÀðGñ Gô GˆåˆV‰ŒˆØ”?×&Ò&Ñ(Ô(Ð(Ð(Ð(Ý”;˜vÔ9Ñ:Ô:×>Ò>Ñ@Ô@Ð@Ð@Ð@ð ˆØÔ(¨Ô+ˆà-3Ô-GÈÈAÈÔ-OˆÔ" A q 6Ñ*Ø'-Ô'8¸!¸Q¸ÀÀÀ¸Ô'CˆÔ˜1˜a˜& ! ! !˜)Ñ$àÔ'¨¨A¨°°°¨	Ô2ð 	Ô# Q¨ F¨A¨A¨A IÑ.ð 	×%Ò%Ñ'Ô'Ð'Ý�VÔ0°Ô3°RÑ8Ô8Ð8Ð8Ð8s   ÁA2Á2A6Á9A6c                 ó¦  — d„ }t          |t          j         d¦  «        }t          t          ddg|f¬¦  «        }|j        } |ddt          j        dg¦  «        ddt          j        dg¦  «        ¦  «        sJ ‚ |ddt          j        dg¦  «        ddt          j        dg¦  «        ¦  «        d	u sJ ‚ |ddt          j        dg¦  «        ddt          j        dg¦  «        ¦  «        sJ ‚ |d
dt          j        dg¦  «        dd	t          j        dg¦  «        ¦  «        sJ ‚ |dd	t          j        ddg¦  «        dd	t          j        ddg¦  «        ¦  «        sJ ‚ |dd	t          j        ddg¦  «        dd	t          j        ddg¦  «        ¦  «        sJ ‚ |dd	t          j        ddg¦  «        dd	t          j        ddg¦  «        ¦  «        rJ ‚d S )Nc                 ó&   — | d         | d         z   gS rh  r<   r€   s    r8   ri  zCTestDifferentialEvolutionSolver.test_accept_trial.<locals>.constr_f’  rj  r:   rp  r½   rq  r(   Tr   r’   FgÍÌÌÌÌÌ#@r%   gš™™™™™Ù?)r	   r*   rÁ   r   r   Ú_accept_trialr-   )r7   ri  r  rY   Úfns        r8   Útest_accept_trialz1TestDifferentialEvolutionSolver.test_accept_trial�  s  € ð	!ð 	!ð 	!å! (­R¬V¨G°SÑ9Ô9ˆÝ,­U°V¸VÐ4DØ:=¸ðAñ Aô AˆàÔ!ˆàˆr�#�t�RœX r d™^œ^¨S°$½¼À"À¹¼ÑGÔGÐGÐGÐGØ��3˜�bœh¨ u™oœo¨s°D½"¼(ÀCÀ5¹/¼/ÑJÔJÈeÐSÐSÐSÐSØˆr�#�t�RœX r d™^œ^¨S°$½¼À"À¹¼ÑGÔGÐGÐGÐGð ˆr�#�t�RœX r d™^œ^¨S°%½¼À2À$¹¼ÑHÔHÐHÐHÐHð ��3˜�rœx¨¨c¨
Ñ3Ô3Ø˜�rœx¨¨S¨	Ñ2Ô2ñ4ô 4ð 	5ð 	5ð 	5à��3˜�rœx¨¨c¨
Ñ3Ô3Ø˜�rœx¨¨T¨
Ñ3Ô3ñ5ô 5ð 	6ð 	6ð 	6à�B�s˜E¥2¤8¨S°#¨JÑ#7Ô#7Ø˜E¥2¤8¨S°#¨JÑ#7Ô#7ñ9ô 9ð 	:ð 	:ð 	:ð 	:ð 	:r:   c                 óè  ‡
— t          j        g d¢¦  «        }t          j        dt           j        dg¦  «        }t          j        g d¢¦  «        }t          t	          ||¦  «        |¦  «        }|                     |¦  «        dk                         ¦   «         sJ ‚|                     g d¢¦  «        dk                         ¦   «         sJ ‚t          j        dd¦  «         	                    d	d
¦  «        }g }|D ]*}| 
                    |                     |¦  «        ¦  «         Œ+t           j                             |                     |j        ¦  «        t          j        |¦  «        j        ¦  «         t          j        g d¢¦  «        }t          j        g d¢g d¢g d¢g¦  «        Š
t          t          ‰
t           j         d¦  «        |¦  «        }|                     |¦  «        dk                         ¦   «         sJ ‚|                     g d¢¦  «        dk                         ¦   «         sJ ‚t          j        dd¦  «         	                    dd¦  «        }g }|D ]*}| 
                    |                     |¦  «        ¦  «         Œ+t           j                             |                     |j        ¦  «        t          j        |¦  «        j        ¦  «         t          t          t          ‰
¦  «        t           j         d¦  «        |¦  «        }|                     |¦  «        dk                         ¦   «         sJ ‚|                     g d¢¦  «        dk                         ¦   «         sJ ‚ˆ
fd„}t!          |t           j         d¦  «        }	t          |	g d¢¦  «        }|                     |¦  «        dk                         ¦   «         sJ ‚|                     g d¢¦  «        dk                         ¦   «         sJ ‚d S )N)r   r“  r‰   r%   éF   )r#   r@   r^   r   )rb   é   é   r#   é   r`   r^   )r#   r@   r^   r_   )r`   r   r   ra   )r$   r   é   r   )r×   r@   r×   r_   é   r$   r_   c                 ó.   •— ‰                      | ¦  «        S r¬   )Údot)rA   ÚAs    €r8   r¤   zDTestDifferentialEvolutionSolver.test_constraint_wrapper.<locals>.funÍ  s   ø€ Ø—5’5˜‘8”8ˆOr:   )r*   r-   rÁ   r   r   Ú	violationÚanyrž   r4   rç   ÚappendÚtestingr   r5   r
   r   r	   )r7   ÚlbÚubr8  Úpcr‚  Ú
violationsrA   r¤   Ú	nonlinearr§  s             @r8   Útest_constraint_wrapperz7TestDifferentialEvolutionSolver.test_constraint_wrapper©  s›  ø€ ÝŒX�k�k�kÑ"Ô"ˆÝŒX�s�BœF BÐ'Ñ(Ô(ˆÝŒX�i�i�iÑ Ô ˆÝ¥ r¨2¡¤°Ñ3Ô3ˆØ—’˜RÑ Ô  1Ò$×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø—’˜^˜^˜^Ñ,Ô,°Ò1×6Ò6Ñ8Ô8Ð8Ð8Ð8õ ŒY�q˜"ÑÔ×%Ò% a¨Ñ+Ô+ˆØˆ
Øð 	/ð 	/ˆAØ×Ò˜bŸlšl¨1™oœoÑ.Ô.Ð.Ð.Ý
Œ
×"Ò" 2§<¢<°´Ñ#5Ô#5µr´xÀ
Ñ7KÔ7KÔ7MÑNÔNÐNåŒX�l�l�lÑ#Ô#ˆÝŒH�l�l�l L L L°,°,°,Ð?Ñ@Ô@ˆÝÕ 0°µR´V°G¸QÑ ?Ô ?ÀÑDÔDˆØ—’˜RÑ Ô  1Ò$×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø—’Ð-Ð-Ð-Ñ.Ô.°!Ò3×8Ò8Ñ:Ô:Ð:Ð:Ð:õ ŒY�q˜"ÑÔ×%Ò% a¨Ñ+Ô+ˆØˆ
Øð 	/ð 	/ˆAØ×Ò˜bŸlšl¨1™oœoÑ.Ô.Ð.Ð.Ý
Œ
×"Ò" 2§<¢<°´Ñ#5Ô#5µr´xÀ
Ñ7KÔ7KÔ7MÑNÔNÐNåÕ 0µ¸A±´ÅÄÀÈÑ KÔ KØ "ñ$ô $ˆà—’˜RÑ Ô  1Ò$×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø—’Ð-Ð-Ð-Ñ.Ô.°!Ò3×8Ò8Ñ:Ô:Ð:Ð:Ð:ð	ð 	ð 	ð 	ð 	õ (¨­b¬f¨W°aÑ8Ô8ˆ	Ý 	Ð+;Ð+;Ð+;Ñ<Ô<ˆØ—’˜RÑ Ô  1Ò$×)Ò)Ñ+Ô+Ð+Ð+Ð+Ø—’Ð-Ð-Ð-Ñ.Ô.°!Ò3×8Ò8Ñ:Ô:Ð:Ð:Ð:Ð:Ð:r:   c                 ó  — d„ }t          |ddgddg¦  «        }t          |ddg¦  «        }t          j        |j        d         ¦  «        dk    sJ ‚g d¢}g d	¢}t          ||¦  «        D ](\  }}t          |                     |¦  «        |¦  «         Œ)t          |                     t          j        |¦  «        j	        ¦  «        t          j        |¦  «        j	        ¦  «         | 
                    t          j        |¦  «        j	        ¦  «        j        dt          |¦  «        fk    sJ ‚|                     t          j        |¦  «        j	        ¦  «        j        dt          |¦  «        fk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚d S )
Nc                 óv   — t          j        | d         dz  | d         z   | d         dz  | d         z
  g¦  «        S rl  rm  r€   s    r8   Úcons_fzQTestDifferentialEvolutionSolver.test_constraint_wrapper_violation.<locals>.cons_fÖ  sD   € õ ”8˜Q˜qœT Q™Y¨¨1¬Ñ-Ø˜qœT Q™Y¨¨1¬Ñ-ð/ñ 0ô 0ð 0r:   ru   g333333ë¿r@   r%   r#   r   )rn   )r%   rt  )rt  rt  )r(   ç333333ó¿)r(   r   ))r   r   )r   r(   )ru  r   )gR¸…ëQÈ?r   )r2  g=
×£p=ò?)r	   r   r*   r"  r/   rè   r   r¨  r-   r5   r¤   r²   r´   Ú
num_constrÚparameter_count)r7   r´  r  r®  r‚  rƒ  rA   r•   s           r8   Ú!test_constraint_wrapper_violationzATestDifferentialEvolutionSolver.test_constraint_wrapper_violationÕ  s|  € ð	0ð 	0ð 	0õ " &¨2¨w¨-¸!¸Q¸Ñ@Ô@ˆÝ  c¨1 XÑ.Ô.ˆÝŒw�r”y ”|Ñ$Ô$¨Ò)Ð)Ð)Ð)àHÐHÐHˆØCÐCÐCˆå˜˜B‘K”Kð 	0ð 	0‰DˆAˆqÝ˜BŸLšL¨™OœO¨QÑ/Ô/Ð/Ð/õ 	˜Ÿš¥R¤X¨b¡\¤\¤^Ñ4Ô4Ýœ ™œœñ	(ô 	(ð 	(à�vŠv•b”h˜r‘l”l”nÑ%Ô%Ô+°µ3°r±7´7¨|Ò;Ð;Ð;Ð;Ø�|Š|�BœH R™LœLœNÑ+Ô+Ô1°a½¸R¹¼°\ÒAÐAÐAÐAØŒ} Ò!Ð!Ð!Ð!ØÔ! QÒ&Ð&Ð&Ð&Ð&Ð&r:   c                 óô  — t          ¦   «         5 }|                     t          ¦  «         t          j        g d¢g d¢g¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |dd¦  «        }t          j        d¦  «        }t          ||¦  «        }|                     |¦  «        j	        dk    sJ ‚t          j
        d¦  «                             dd¦  «        }|                     |¦  «        j	        d	k    sJ ‚d S )
N)r#   r#   r#   r’   )r@   r@   r@   r   r   r#   r_   )r@   r“  r`   )r@   r`   )r   ÚfilterÚPendingDeprecationWarningr*   Úmatrixr
   Úonesr   r¨  r²   r4   rç   )r7   Úsupr¼  Úlcr8  ÚcwÚxtrials          r8   Útest_matrix_linear_constraintz=TestDifferentialEvolutionSolver.test_matrix_linear_constraintñ  s0  € õ Ñ Ô ð 	0 CØ�JŠJÕ0Ñ1Ô1Ð1Ý”Y   Ø -  ð /ñ 0ô 0ˆFð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0õ ˜f a¨Ñ+Ô+ˆÝŒW�Q‰ZŒZˆÝ  BÑ'Ô'ˆð �|Š|˜BÑÔÔ%¨Ò-Ð-Ð-Ð-õ ”˜5Ñ!Ô!×)Ò)¨!¨QÑ/Ô/ˆØ�|Š|˜FÑ#Ô#Ô)¨VÒ3Ð3Ð3Ð3Ð3Ð3s   �5AÁAÁAr“  c           
      ó8
  — d„ }t          j        d¦  «        }d|dg d¢f<   d|dddgf<   d	|d
g d¢f<   d|dg d¢f<   d|dddgf<   d	|dg d¢f<   d|dg d¢f<   d|dd
dgf<   d	|dg d¢f<   |dd …dd …f         }t          j        g d¢¦  «        }t          |t           j         |¦  «        }dgdz  dgd
z  z   dgz   }t          ||dd|fdd¬¦  «        }d}d }t           ||¦  «        |d!¬"¦  «         |j        sJ ‚t          |j        |d!¬"¦  «         t          |j	        |d#¬"¦  «         t          t          j        ||j        z  |k    ¦  «        ¦  «         t          t          j        |j        t          j        |¦  «        d d …d$f         k    ¦  «        ¦  «         t          t          j        |j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         t          t          |¦  «        t           j         |¦  «        }t          ||dd%|fdd&¬¦  «        }t           ||¦  «        |¦  «         |j        sJ ‚t          |j        |d'¬"¦  «         t          |j	        |d#¬"¦  «         t          t          j        ||j        z  |k    ¦  «        ¦  «         t          t          j        |j        t          j        |¦  «        d d …d$f         k    ¦  «        ¦  «         t          t          j        |j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         d(„ }	d)„ }
t          |d d…d d …f         t           j         |d d…         ¦  «        }t          |dd…d d …f         t           j         |dd…         ¦  «        }t          |	t           j         |dd…         ¦  «        }t          |
t           j         |dd…         ¦  «        }||||f}t          ¦   «         5 }|                     t           ¦  «         t          ||dd%|dd&¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j        |d!¬"¦  «         t          |j	        |d#¬"¦  «         t          t          j        ||j        z  |k    ¦  «        ¦  «         t          t          j        |j        t          j        |¦  «        d d …d$f         k    ¦  «        ¦  «         t          t          j        |j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         d S )*Nc                 óÞ   — t          j        dg| f¦  «        } t          j        d| dd…         z  ¦  «        d| dd…         z  | dd…         z  z
  t          j        | dd …         ¦  «        z
  }|S )Nr   r`   r#   )r*   Úhstackr   ©rA   r¤   s     r8   Úfz2TestDifferentialEvolutionSolver.test_L1.<locals>.f  si   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAÝ”&˜˜1˜Q˜q˜Sœ6™Ñ"Ô" Q q¨¨1¨¤v¡X¨a°°!°¬f¡_Ñ4µr´v¸aÀÀÀ¼e±}´}ÑDˆCØˆJr:   )rª   é   )r@   r@   r#   r#   r#   )r#   r@   rª   é   )éøÿÿÿr#   r@   rª   )r„   ru   r#   r^   )r_   r`   rª   r_   )r#   r^   rª   rÉ  r`   rÉ  ra   )ra   r$   rÉ  r$   )r@   r^   rÉ  r  r£  r  é	   )r£  rË  r  )	rª   r   r   rª   r   r   rª   r   r   r"   r    rG   i90  r2  ©rE   r¾   rr  r&   r   )r#   r#   r#   r#   r#   r#   r#   r#   r#   r^   r^   r^   r#   iñÿÿÿga2U0*©C?©r3  g{®Gázt?r   iþz r\   gü©ñÒMb@?c                 óª   — t          j        dg| f¦  «        } d| d         z  d| d         z  z   | d         z   | d         z   d| d         z  | d         z   gS )Nr   r@   r^   rÉ  r  rÊ  ©r*   rÅ  r€   s    r8   Úc1z3TestDifferentialEvolutionSolver.test_L1.<locals>.c1G  s]   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�a˜”d‘F˜Q˜q œt™V‘O a¨¤eÑ+¨a°¬eÑ3Ø�q˜”t‘G˜a œe‘Oð%ð %r:   c                 ój   — t          j        dg| f¦  «        } d| d         z  | d         z
  | d         z   S )Nr   r„   r£  rË  r  rÏ  r€   s    r8   Úc2z3TestDifferentialEvolutionSolver.test_L1.<locals>.c2L  s6   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�a˜”d‘7˜Q˜qœT‘> A b¤EÑ)Ð)r:   )r*   Úzerosr-   r
   rÁ   r   r   r·   rA   r¤   r   rž   r   r	   r   rº  rZ  )r7   rÇ  r§  ÚbÚLr/   r–   Úx_optÚf_optrÐ  rÒ  ÚL2ÚNÚN2rr  r¾  s                   r8   Útest_L1z'TestDifferentialEvolutionSolver.test_L1  s~  € ð	ð 	ð 	õ
 ŒH�XÑÔˆØ)ˆˆ!ˆ^ˆ^ˆ^Ð
ÑØˆˆ!ˆa�ˆWˆ*‰Ø$ˆˆ!ˆZˆZˆZˆ-ÑØ)ˆˆ!ˆ^ˆ^ˆ^Ð
ÑØˆˆ!ˆa�ˆWˆ*‰Ø$ˆˆ!ˆZˆZˆZˆ-ÑØ)ˆˆ!ˆ^ˆ^ˆ^Ð
ÑØˆˆ!ˆa�ˆWˆ*‰Ø$ˆˆ!ˆZˆZˆZˆ-ÑØˆaˆbˆb�!�"�"ˆfŒIˆåŒHÐ3Ð3Ð3Ñ4Ô4ˆå˜Q¥¤ ¨Ñ+Ô+ˆà�˜!‘˜x˜j¨™lÑ*¨f¨XÑ5ˆõ %Øˆv 
°ÀAÀ4Ø˜4ð
ñ 
ô 
ˆð
 8ˆØˆå˜˜˜%™œ %¨dÐ3Ñ3Ô3Ð3ØŒ{ÐÐÐÝ˜œ˜u¨4Ð0Ñ0Ô0Ð0Ý˜œ ¨TÐ2Ñ2Ô2Ð2Ý•”�q˜œ‘w !’|Ñ$Ô$Ñ%Ô%Ð%Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8õ �Z¨™]œ]­R¬V¨G°QÑ7Ô7ˆõ %Øˆv 
°ÀaÀTØ˜4ð
ñ 
ô 
ˆõ
 	˜˜˜%™œ %Ñ(Ô(Ð(ØŒ{ÐÐÐÝ˜œ˜u¨4Ð0Ñ0Ô0Ð0Ý˜œ ¨TÐ2Ñ2Ô2Ð2Ý•”�q˜œ‘w !’|Ñ$Ô$Ñ%Ô%Ð%Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8ð
	%ð 	%ð 	%ð
	*ð 	*ð 	*õ ˜Q˜r ˜r 1 1 1˜uœX­¬ w°°"°1°"´Ñ6Ô6ˆÝ˜a  !  Q Q Q œi­"¬&¨°!°A°a°C´&Ñ9Ô9ˆÝ ¥R¤V G¨Q¨q°¨s¬VÑ4Ô4ˆÝ  ¥b¤f W¨a°°!°¬fÑ5Ô5ˆØ˜!˜R �nˆåÑ Ô ð 	 CØ�JŠJ•{Ñ#Ô#Ð#Ý(Ø�6 J°GØ'°¸ðñ ô ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜œ˜u¨4Ð0Ñ0Ô0Ð0Ý˜œ ¨TÐ2Ñ2Ô2Ð2Ý•”�q˜œ‘w !’|Ñ$Ô$Ñ%Ô%Ð%Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8s   Ï+1P(Ð(P,Ð/P,c           	      óF  — d„ }d„ }t          |dt          j        ¦  «        }dgdz  }|}t          ¦   «         5 }|                     t
          ¦  «         t          ||dd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   d	}d
}	t           ||	¦  «        |¦  «         t          |j        |¦  «         t          |j	        |	d¬¦  «         |j
        sJ ‚t          t          j        t          j         ||j	        ¦  «        ¦  «        dk    ¦  «        ¦  «         t          t          j        |j	        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         t          t          j        |j	        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         d S )Nc                 ó^  — t          j        dg| f¦  «        } | d         dz
  dz  d| d         dz
  dz  z  z   | d         dz  z   d| d         d	z
  dz  z  z   d| d         d
z  z  z   d| d
         dz  z  z   | d         dz  z   d| d
         z  | d         z  z
  d| d
         z  z
  d| d         z  z
  }|S )Nr   r#   rª   r@   r`   r  r^   r_   rÉ  ra   r$   r£  rÏ  rÆ  s     r8   rÇ  z2TestDifferentialEvolutionSolver.test_L2.<locals>.fg  sØ   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�a”D˜‘G˜a‘< ! Q q¤T¨"¡W¨q¡L¡.Ñ0°1°Q´4¸±7Ñ:¸QÀÀ!ÄÀRÁÈ!¹|¹^ÑKØ�a˜”d˜A‘g‘:ñØ ! ! A¤$¨¡'¡	ñ*Ø,-¨a¬D°!©Gñ4Ø67¸¸!¼±f¸Q¸q¼T±kñBØDFÀqÈÄtÁGñLà�Q�q”T‘6ñˆCð ˆJr:   c                 ó@  — t          j        dg| f¦  «        } dd| d         dz  z  z
  d| d         dz  z  z
  | d         z
  d| d         dz  z  z
  d| d         z  z
  dd	| d         z  z
  | d         dz  z
  d
| d
         dz  z  z
  d| d         z  z   dd| d         z  z
  d| d         z  z
  d| d         dz  z  z
  | d         z
  | d         z   d| d         dz  z  | d         dz  z
  d| d         z  | d         z  z   d| d         dz  z  z
  d| d
         z  z
  d| d         z  z   gS )Nr   é   r@   r#   r^   r_   r`   éÄ   é   ra   r£  r$   i  rª   éüÿÿÿrÉ  rÏ  r€   s    r8   rÐ  z3TestDifferentialEvolutionSolver.test_L2.<locals>.c1n  sG  € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ˜!˜A˜aœD !™G™)‘O a¨¨!¬¨a©¡iÑ/°!°A´$Ñ6¸¸1¸Q¼4À¹7¹ÑBÀQÀqÈÄtÁVÑKØ˜"˜Q˜qœT™'‘M A a¤D¨!¡GÑ+¨a°°!´°a±©iÑ7¸!¸A¸a¼D¹&Ñ@Ø˜!˜A˜aœD™&‘L 1 Q q¤T¡6Ñ)¨B¨q°¬t°Q©w©JÑ6¸¸1¼Ñ=ÀÀ!ÄÑDØ�q˜”t˜Q‘w‘J  1¤ q¡Ñ(¨1¨Q¨q¬T©6°!°A´$©;Ñ6¸¸1¸Q¼4À¹7¹ÑBØ�a˜”d‘FñØ  !¤™Wñ%ð&ð &r:   r   rÖ   r$   rG   éÒ  ©rE   r¾   rr  gyÔÞ\
E…@)g¹ââ¨Ü¤@g$H¥ØÑ8ÿ?g„ßÍ	�Þ¿g0eà€v@gnÞ8)Ìûã¿g k_@/œð?g0g¶+ô�ù?çñhãˆµøä>rÍ  r#   )r	   r*   rÁ   r   rº  rZ  r   r   r¤   rA   r·   r   rž   r-   )
r7   rÇ  rÐ  rÙ  r/   rr  r¾  r–   r×  rÖ  s
             r8   Útest_L2z'TestDifferentialEvolutionSolver.test_L2c  sé  € ð	ð 	ð 	ð	&ð 	&ð 	&õ    A¥r¤vÑ.Ô.ˆØ�˜Q‘ˆØˆåÑ Ô ð 	L CØ�JŠJ•{Ñ#Ô#Ð#Ý(¨¨F¸ZØ-1¸{ðLñ Lô LˆCð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð
 "ˆð1ˆõ 	˜˜˜%™œ %Ñ(Ô(Ð(Ý˜œ Ñ'Ô'Ð'Ý˜œ˜u¨4Ð0Ñ0Ô0Ð0ØŒ{ÐÐÐÝ•”•r”x   3¤5¡	¤	Ñ*Ô*¨aÒ/Ñ0Ô0Ñ1Ô1Ð1Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8s   ¸/A3Á3A7Á:A7c           	      óˆ  — d„ }t          j        d¦  «        }d|dg d¢f<   d|dg d¢f<   d|d	g d
¢f<   |dd …dd …f         }t          j        g d¢¦  «        }d„ }t          ||t           j        ¦  «        }t          |dt           j        ¦  «        }dgdz  }||f}t          ¦   «         5 }	|	                     t          ¦  «         t          ||d|d	¬¦  «        }
d d d ¦  «         n# 1 swxY w Y   d}d}t           ||¦  «        |d¬¦  «         t          |
j        |d¬¦  «         t          |
j        |d¬¦  «         |
j        sJ ‚t          t          j        ||
j        z  |k    ¦  «        ¦  «         t          t          j        t          j         ||
j        ¦  «        ¦  «        dk    ¦  «        ¦  «         t          t          j        |
j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         t          t          j        |
j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         d S )Nc                 óÄ  — t          j        dg| f¦  «        } | d         dz  | d         dz  z   | d         | d         z  z   d| d         z  z
  d| d         z  z
  | d         dz
  dz  z   d| d         d	z
  dz  z  z   | d	         dz
  dz  z   d| d
         dz
  dz  z  z   d	| d         dz  z  z   d| d         dz
  dz  z  z   d| d         dz
  dz  z  z   | d         dz
  dz  z   dz   }|S )Nr   r#   r@   rÈ  r¢  r^   rª   r_   r`   ra   r$   r£  rÉ  rË  é-   rÏ  rÆ  s     r8   rÇ  z2TestDifferentialEvolutionSolver.test_L3.<locals>.f�  s   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�Q”4˜‘7˜Q˜qœT 1™WÑ$ q¨¤t¨A¨a¬D¡yÑ0°2°a¸´d±7Ñ:¸RÀÀ!Ä¹WÑDØ�a”D˜‘G˜a‘<ñ Ø"# Q q¤T¨!¡V¨a¡K¡-ñ0Ø34°Q´4¸±6¸A±+ñ>Ø@AÀ1ÀQÄ4ÈÁ6ÈAÁ+ÁñNà�Q�q”T˜1‘W‘9ñà  ! A¤$ r¡'¨A¡™~ñ.à01°1°Q´4¸±7¸Q±,±ñ?ð �b”E˜A‘I ‘>ñ"ð %'ñ'ˆCð
 ˆJr:   )r_   rÉ  )râ  r  r^   i÷ÿÿÿr#   )r#   r@   r$   r£  )r×   r£  é   r„   r@   )r£  r„   r  r@   r^   )r#   r@   rË  rª   )i—ÿÿÿr   iôÿÿÿc                 ó˜  — t          j        dg| f¦  «        } d| d         z  d| d         z  z
  d| d         dz
  dz  z  z
  d	| d
         z  z   d| d         dz
  dz  z  d| d         dz
  dz  z  z
  d| d         dz  z  z
  d	| d         z  z   dz   | d         dz   d| d         dz
  dz  z  z
  d| d         z  | d         z  z   d| d         z  z
  d| d         z  z   d| d         dz  z  d| d         z  z
  | d         dz
  dz  z
  d| d         z  z   dz   d| d         dz
  dz  z  d| d         dz
  dz  z  z
  d| d         dz  z  z
  | d         z   dz   gS )Nr   r^   r#   ra   r@   r  rË  r£  r$   rª   rÞ   r_   éx   rÈ  r`   r  rö   ç      à¿r‰   rÏ  r€   s    r8   rÐ  z3TestDifferentialEvolutionSolver.test_L3.<locals>.c1Ÿ  s  € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�a˜”d‘F˜Q˜q œt™V‘O b¨!¨A¬$¨q©&°1©¡nÑ4°q¸¸2¼±wÑ>Ø˜˜!œ˜Q™ ‘{‘N Q¨¨!¬¨Q©°¡{¡]Ñ2°Q°q¸´t¸Q±w±YÑ>ÀÀ1ÀQÄ4ÁÑGÈ#ÑMØ�q”T˜1‘W�H˜q ! A¤$ q¡&¨1¡™}Ñ,¨q°°1´©v°a¸´d©{Ñ:¸RÀÀ!Ä¹WÑDÀqÈÈ1ÌÁvÑMØ�q˜”t˜Q‘w‘J  1 Q¤4¡Ñ'¨1¨Q¬4°©6°A©+Ñ5¸¸!¸A¼$¹Ñ>ÀÑCØ˜!˜Aœ$˜q™& 1™Ñ$ q¨!¨A¬$¨q©&°1©¡}Ñ4°q¸¸1¼¸q¹±yÑ@À1ÀQÄ4ÑGÈ"ÑLð	Nð Nr:   r   rÖ   rª   rã  )r¾   rr  r&   )
g°WXp?`@g¬ãø¡Òè@gVW@Œ!@gÎÁ3¡Ib@grô±q³ï?g` �¡ãö?g$FÏ-t%õ?g–°6ÆN¨#@g¾÷7h� @gæ]õ€yÀ @gÓ<6¸cN8@rå  rÍ  ç�íµ ÷Æ°>)r*   rÓ  r-   r
   rÁ   r	   r   rº  rZ  r   r   rA   r¤   r·   r   rž   ©r7   rÇ  r§  rÔ  rÐ  rÕ  rÙ  r/   rr  r¾  r–   rÖ  r×  s                r8   Útest_L3z'TestDifferentialEvolutionSolver.test_L3‹  sœ  € ð	ð 	ð 	õ ŒH�WÑÔˆØ*ˆˆ!ˆ\ˆ\ˆ\ˆ/ÑØ+ˆˆ!ˆ\ˆ\ˆ\ˆ/ÑØ*ˆˆ!ˆ]ˆ]ˆ]Ð
ÑØˆaˆbˆb�!�"�"ˆfŒIˆÝŒH�^�^�^Ñ$Ô$ˆð	Nð 	Nð 	Nõ ˜Q ¥2¤6Ñ*Ô*ˆÝ  A¥r¤vÑ.Ô.ˆØ�˜R‘ˆØ˜!�fˆåÑ Ô ð 	M CØ�JŠJ•{Ñ#Ô#Ð#Ý(¨¨F¸Ø5@È!ðMñ Mô MˆCð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð
Cˆàˆå˜˜˜%™œ %¨dÐ3Ñ3Ô3Ð3Ý˜œ˜u¨4Ð0Ñ0Ô0Ð0Ý˜œ ¨TÐ2Ñ2Ô2Ð2ØŒ{ÐÐÐÝ•”�q˜3œ5‘y A’~Ñ&Ô&Ñ'Ô'Ð'Ý•”•r”x   3¤5¡	¤	Ñ*Ô*¨aÒ/Ñ0Ô0Ñ1Ô1Ð1Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8s   Â(/C#Ã#C'Ã*C'c           
      óX  — d„ }t          j        d¦  «        }d|dddgf<   d|dg d	¢f<   d
|dddgf<   |dd …dd …f         }t          j        g d¢¦  «        }d„ }t          |t           j         d¦  «        }t          |dt           j        ¦  «        }dgdgdz  z   dgdz  z   }||f}t          ¦   «         5 }	|	                     t          ¦  «         t          ||dd|dd¬¦  «        }
d d d ¦  «         n# 1 swxY w Y   d}g d¢}t           ||¦  «        |d¬¦  «         t          |
j        |d¬¦  «         t          j        ¦   «         dk    r@t          j        t           j        ¦  «        j        dk     rt          |
j        |dd¬¦  «         nt          |
j        |d d!¬¦  «         |
j        sJ ‚t'          t          j        ||
j        z  |k    ¦  «        ¦  «         t'          t          j        t          j         ||
j        ¦  «        ¦  «        dk    ¦  «        ¦  «         t'          t          j        |
j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         t'          t          j        |
j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         d S )"Nc                 ó:   — t          j        | d d…         ¦  «        S )Nr^   ©r*   r   r€   s    r8   rÇ  z2TestDifferentialEvolutionSolver.test_L4.<locals>.fÁ  s   € Ý”6˜!˜B˜Q˜Bœ%‘=”=Ð r:   )r_   rË  )ç{®Gázd?rô  r#   r_   ra   )rô  rô  g{®Gázd¿r@   )r`   r$   r_   )r2  g{®Gáz„¿r^   r£  r`   )r#   r#   r#   c                 ó`  — t          j        dg| f¦  «        } | d         | d         z  d| d         z  z
  d| d         z  z
  dz   | d         | d	         z  d
| d         z  z
  | d         | d         z  z
  d
| d         z  z   | d         | d         z  dz
  | d         | d         z  z
  d| d         z  z   gS )Nr   r#   ra   g!ê> ©
Š@r_   r!   gÙÎ÷SUXô@r@   r$   iâ  r`   r^   r£  iÐ iÄ	  rÏ  r€   s    r8   rÐ  z3TestDifferentialEvolutionSolver.test_L4.<locals>.c1Ë  s½   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�a”D˜˜1œ‘I 	¨!¨A¬$¡Ñ.°°Q°q´T±Ñ9¸IÑEØ�a”D˜˜1œ‘I  Q q¤T¡	Ñ)¨A¨a¬D°°1´©IÑ5¸¸Q¸q¼T¹	ÑAØ�a”D˜˜1œ‘I Ñ'¨!¨A¬$¨q°¬t©)Ñ3°d¸1¸Q¼4±iÑ?ðAð Ar:   r   )r!   é'  )éè  rö  )rª   r÷  rG   rã  r\   rÌ  gh‘í|?‰»@)g�oït‚@gªÔìá?•@g:’Ëøõ³@gt$—ÿ�Àf@gVô‡fžyr@gŒÛh o?k@gå�Cªæq@gVô‡fž¹x@çü©ñÒMbP?rÍ  ÚWindowsgvƒôõ!Ä>gyé&1¬l?)Úrtolr3  gñhãˆµøÔ>ga2U0*©c?)r*   rÓ  r-   r
   rÁ   r	   r   rº  rZ  r   r   r¤   ÚplatformÚsystemrå   ÚintpÚitemsizerA   r·   r   rž   )r7   rÇ  r§  rÔ  rÐ  rÕ  rÙ  r/   rr  r¾  r–   r×  rÖ  s                r8   Útest_L4z'TestDifferentialEvolutionSolver.test_L4¾  sú  € ð	!ð 	!ð 	!õ ŒH�VÑÔˆØ%ˆˆ!ˆa�ˆVˆ)‰Ø1ˆˆ!ˆYˆYˆYˆ,‰Ø"ˆˆ!ˆa�ˆVˆ)‰Øˆaˆbˆb�!�"�"ˆfŒIˆÝŒH�Y�Y�YÑÔˆð	Að 	Að 	Aõ ˜Q¥¤ ¨Ñ+Ô+ˆÝ  A¥r¤vÑ.Ô.ˆà� = /°!Ñ"3Ñ3°z°lÀ1±nÑDˆØ˜!�fˆåÑ Ô ð 	 CØ�JŠJ•{Ñ#Ô#Ð#Ý(Ø�6 J°DØ'°¸ðñ ô ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˆð2ð 2ð 2ˆõ 	˜˜˜%™œ %¨eÐ4Ñ4Ô4Ð4Ý˜œ ¨UÐ3Ñ3Ô3Ð3õ ŒOÑÔ Ò*Ð*­r¬x½¼Ñ/@Ô/@Ô/IÈAÒ/MÐ/MÝ˜CœE 5¨v¸FÐCÑCÔCÐCÐCõ ˜CœE 5¨t¸&ÐAÑAÔAÐAàŒ{ÐÐÐÝ•”�q˜3œ5‘y A’~Ñ&Ô&Ñ'Ô'Ð'Ý•”•r”x   3¤5¡	¤	Ñ*Ô*¨aÒ/Ñ0Ô0Ñ1Ô1Ð1Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8s   Â41C1Ã1C5Ã8C5c           	      ó¢  — d„ }d„ }t          |t          j         d¦  «        }dgdz  }|}t          ||dd|¬¦  «        }d	}d
}t	           ||¦  «        |d¬¦  «         t	          |j        |d¬¦  «         |j        sJ ‚t          t          j        t          j	         ||j
        ¦  «        ¦  «        dk    ¦  «        ¦  «         t          t          j        |j
        t          j	        |¦  «        d d …df         k    ¦  «        ¦  «         t          t          j        |j
        t          j	        |¦  «        d d …df         k    ¦  «        ¦  «         d S )Nc                 ó"  — t          j        dg| f¦  «        } t          j        dt           j        z  | d         z  ¦  «        dz  t          j        dt           j        z  | d         z  ¦  «        z  | d         dz  | d         | d         z   z  z  }| S )Nr   r@   r#   r^   )r*   rÅ  ÚsinÚpirÆ  s     r8   rÇ  z2TestDifferentialEvolutionSolver.test_L5.<locals>.f÷  s~   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAÝ”6˜!�BœE™' ! A¤$™,Ñ'Ô'¨Ñ*­2¬6°!µB´E±'¸!¸A¼$±,Ñ+?Ô+?Ñ?Ø�a”D˜!‘G˜Q˜qœT ! A¤$™YÑ'ñ)ˆCà�4ˆKr:   c                 ó’   — t          j        dg| f¦  «        } | d         dz  | d         z
  dz   d| d         z
  | d         dz
  dz  z   gS )Nr   r#   r@   r_   rÏ  r€   s    r8   rÐ  z3TestDifferentialEvolutionSolver.test_L5.<locals>.c1ý  sU   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�a”D˜!‘G˜a œd‘N QÑ&Ø˜˜!œ‘H  !¤ Q¡¨™{Ñ*ð,ð ,r:   r   ©r   rª   r@   rH   rã  rä  )g­ÌJIÅ¥ó?gUÖ(Cû@gœ¢#¹ü‡¸¿gñhãˆµøô>rÍ  ç-Cëâ6?r#   )r	   r*   rÁ   r   r   r¤   r·   r   rž   r-   rA   ©	r7   rÇ  rÐ  rÙ  r/   rr  r–   rÖ  r×  s	            r8   Útest_L5z'TestDifferentialEvolutionSolver.test_L5ó  sW  € ð	ð 	ð 	ð	,ð 	,ð 	,õ
   ¥R¤V G¨QÑ/Ô/ˆØ�˜1‘ˆØˆå$ Q¨¸ÈØ1<ð>ñ >ô >ˆð )ˆØˆÝ˜˜˜%™œ %¨dÐ3Ñ3Ô3Ð3Ý˜œ ¨TÐ2Ñ2Ô2Ð2ØŒ{ÐÐÐÝ•”•r”x   3¤5¡	¤	Ñ*Ô*¨aÒ/Ñ0Ô0Ñ1Ô1Ð1Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8r:   c           	      óÌ  — d„ }d„ }t          |dt          j        ¦  «        }ddg}|}t          ||dd|d¬	¦  «        }d
}d}t	           ||¦  «        |d¬¦  «         t	          |j        |d¬¦  «         t	          |j        |d¬¦  «         |j        sJ ‚t          t          j	        t          j
         ||j        ¦  «        ¦  «        dk    ¦  «        ¦  «         t          t          j	        |j        t          j
        |¦  «        d d …df         k    ¦  «        ¦  «         t          t          j	        |j        t          j
        |¦  «        d d …df         k    ¦  «        ¦  «         d S )Nc                 ón   — t          j        dg| f¦  «        } | d         dz
  dz  | d         dz
  dz  z   }|S )Nr   r#   rª   r^   r@   r“  rÏ  rÆ  s     r8   rÇ  z2TestDifferentialEvolutionSolver.test_L6.<locals>.f  s>   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�Q”4˜‘7˜Q‘, ! A¤$¨¡)¨a¡Ñ/ˆCØˆJr:   c                 ó²   — t          j        dg| f¦  «        } | d         dz
  dz  | d         dz
  dz  z   dz
  | d         dz
  dz   | d         dz
  dz  z
  dz   gS )Nr   r#   r`   r@   r!   ra   g¤p=
×³T@rÏ  r€   s    r8   rÐ  z3TestDifferentialEvolutionSolver.test_L6.<locals>.c1  sm   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�q”T˜!‘V˜a‘K 1 Q¤4¨!¡8¨a¡-Ñ/°#Ñ5Ø˜”d˜1‘f˜q‘[�L A a¤D¨1¡H¨q¡=Ñ0°5Ñ8ð:ð :r:   r   )é   r!   r    rH   rã  gH¯¼šò×z>)rE   r¾   rr  r   )gq=
×£0,@gÓÁú?‡ùê?g�“Ð1»Àrî  rÍ  rø  r  r#   )r	   r*   rÁ   r   r   r¤   rA   r·   r   rž   r-   r  s	            r8   Útest_L6z'TestDifferentialEvolutionSolver.test_L6  sn  € ð	ð 	ð 	ð
	:ð 	:ð 	:õ
    A¥r¤vÑ.Ô.ˆØ˜XÐ&ˆØˆÝ$ Q¨¸ÈØ1<À$ðHñ Hô Hˆà!ˆØˆå˜˜˜%™œ %¨dÐ3Ñ3Ô3Ð3Ý˜œ ¨UÐ3Ñ3Ô3Ð3Ý˜œ˜u¨4Ð0Ñ0Ô0Ð0ØŒ{ÐÐÐÝ•”•r”x   3¤5¡	¤	Ñ*Ô*¨aÒ/Ñ0Ô0Ñ1Ô1Ð1Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8r:   c           	      ó¦  — d„ }d„ }t          |g d¢g d¢¦  «        }ddgdgdz  z   }|}t          ||d	d
|¬¦  «        }g d¢}d}t           ||¦  «        |¦  «         t          |j        |d¬¦  «         t          |j        |d¬¦  «         |j        sJ ‚t          t          j        t          j	         ||j        ¦  «        ¦  «        t          j	        g d¢¦  «        k    ¦  «        ¦  «         t          t          j        t          j	         ||j        ¦  «        ¦  «        t          j	        g d¢¦  «        k    ¦  «        ¦  «         t          t          j        |j        t          j	        |¦  «        d d …df         k    ¦  «        ¦  «         t          t          j        |j        t          j	        |¦  «        d d …df         k    ¦  «        ¦  «         d S )Nc                 ó˜   — t          j        dg| f¦  «        } d| d         dz  z  d| d         z  | d         z  z   d| d         z  z   d	z
  }|S )
Nr   g+ádvqn@r^   r@   g"õC÷½ê?r#   r`   g´tÛˆ¥B@g˜nƒëã@rÏ  rÆ  s     r8   rÇ  z2TestDifferentialEvolutionSolver.test_L7.<locals>.f1  s\   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ˜Q˜qœT 1™WÑ$ y°°1´¡~°a¸´dÑ':Ñ:Ø˜Q˜qœT‘>ñ"Ø$-ñ.ˆCàˆJr:   c                 ó¨  — t          j        dg| f¦  «        } dd| d         z  | d         z  z   d| d         z  | d         z  z   d	| d
         z  | d         z  z
  dd| d         z  | d         z  z   d| d         z  | d         z  z   d| d
         dz  z  z   dd| d
         z  | d         z  z   d| d         z  | d
         z  z   d| d
         z  | d         z  z   gS )Nr   gl#žìfUU@g+WÓPþIw?r@   r`   g=¨Bò„D?r#   r_   gO€lÙb?r^   g»aÛ¢Ì T@g+ö<$!6}?g¤ ÑŠh?g‡^5…„Þa?g/¾h�š"@gxL“Cs?g·×Ý—ŽT?g^gEÔD_?rÏ  r€   s    r8   rÐ  z3TestDifferentialEvolutionSolver.test_L7.<locals>.c17  sù   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAà 	¨!¨A¬$¡¨q°¬tÑ 3Ñ3°iÀÀ!Ä±nÀQÀqÄTÑ6IÑIØ˜a œd‘N 1 Q¤4Ñ'ñ(ð ˜y¨¨1¬™~¨a°¬dÑ2Ñ2°Y¸qÀ¼t±^ÀAÀaÄDÑ5HÑHØ˜a œd A™gÑ%ñ&ð ˜y¨¨1¬™~¨a°¬dÑ2Ñ2°Y¸qÀ¼t±^ÀAÀaÄDÑ5HÑHØ˜a œd‘N 1 Q¤4Ñ'ñ(ð	ð 	r:   )r   éZ   r“  )é\   én   é   )éN   éf   )é!   ré  )é   ré  r^   rH   rã  rä  )gqÞÅ €S@gä] €@@gÉË»fÉþ=@gÐ:‘ýÿF@g—%ShMcB@gCŽ­gbòÝÀrø  rÍ  r   r#   )
r	   r   r   rA   r¤   r·   r   r*   rž   r-   r  s	            r8   Útest_L7z'TestDifferentialEvolutionSolver.test_L7/  sÐ  € ð	ð 	ð 	ð	ð 	ð 	õ    K K K°°°Ñ?Ô?ˆà˜XÐ&¨(¨°A©Ñ5ˆØˆå$ Q¨¸ÈØ1<ð>ñ >ô >ˆð
ð ð ˆð ˆå˜˜˜%™œ %Ñ(Ô(Ð(Ý˜œ˜u¨4Ð0Ñ0Ô0Ð0Ý˜œ ¨TÐ2Ñ2Ô2Ð2àŒ{ÐÐÐÝ•”•r”x   3¤5¡	¤	Ñ*Ô*­b¬h°{°{°{Ñ.CÔ.CÒCÑDÔDÑEÔEÐEÝ•”•r”x   3¤5¡	¤	Ñ*Ô*­b¬h°}°}°}Ñ.EÔ.EÒEÑFÔFÑGÔGÐGÝ•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8r:   Úppc64lezfails on ppc64le)Úreasonc           	      ó¶  — d„ }t          j        d¦  «        }d|dddgf<   d|dddgf<   |dd …dd …f         }t          j        ddg¦  «        }d	„ }t          ||t           j        ¦  «        }t          |t          j        dd
¦  «        t          j        dd¦  «        ¦  «        }dgdz  dgdz  z   }||f}t          ¦   «         5 }	|	                     t          ¦  «         t          ||dd|d¬¦  «        }
d d d ¦  «         n# 1 swxY w Y   d}d}t           ||¦  «        |d¬¦  «         t          |
j        d d…         |d d…         d¬¦  «         t          |
j        dd …         |dd …         d¬¦  «         t          |
j        |d¬¦  «         |
j        sJ ‚t          t          j        ||
j        z  |k    ¦  «        ¦  «         t          t          j        t          j         ||
j        ¦  «        ¦  «        d
k    ¦  «        ¦  «         t          t          j        t          j         ||
j        ¦  «        ¦  «        dk    ¦  «        ¦  «         t          t          j        |
j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         t          t          j        |
j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         d S )Nc                 óž   — t          j        dg| f¦  «        } d| d         z  d| d         dz  z  z   d| d         z  z   d| d         dz  z  z   }|S )Nr   r^   r#   rî  r@   g’ò€Ÿ^¦>rÏ  rÆ  s     r8   rÇ  z2TestDifferentialEvolutionSolver.test_L8.<locals>.fa  sZ   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�A�a”D‘&˜8 A a¤D¨!¡GÑ+Ñ+¨a°°!´©fÑ4°zÀ!ÀAÄ$ÈÁ'Ñ7IÑIˆCØˆJr:   )r^   r`   )r#   ru   r#   r_   r^   r@   çš™™™™™á¿c           	      ó  — t          j        dg| f¦  «        } dt          j        | d          dz
  ¦  «        z  dt          j        | d          dz
  ¦  «        z  z   dz   | d         z
  dt          j        | d         dz
  ¦  «        z  dt          j        | d         | d         z
  dz
  ¦  «        z  z   dz   | d         z
  dt          j        | d         dz
  ¦  «        z  dt          j        | d         | d         z
  dz
  ¦  «        z  z   d	z   gS )
Nr   r÷  r^   rb   r_   gfffffö‹@r#   r@   g33333;”@)r*   rÅ  r  r€   s    r8   rÐ  z3TestDifferentialEvolutionSolver.test_L8.<locals>.c1l  s  € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAà�œ  1¤  d¡
Ñ+Ô+Ñ+¨dµ2´6¸1¸Q¼4¸%À¹*Ñ3EÔ3EÑ.EÑEØñØ˜aœDñ!à�œ  !¤ T¡	Ñ*Ô*Ñ*¨Tµ"´&¸¸1¼¸aÀ¼d¹À4¹Ñ2HÔ2HÑ-HÑHØñØ˜aœDñ!à�œ  !¤ T¡	Ñ*Ô*Ñ*¨Tµ"´&¸¸1¼¸aÀ¼d¹À4¹Ñ2HÔ2HÑ-HÑHØñðð r:   çü©ñÒMbP¿rø  )r   i°  )r  gš™™™™™á?rG   rã  iˆ  )rE   r¾   rr  r¡   )gEGrù�?…@gTã¥›D�@g &D
¯n¾?gÙâd,ä[Ù¿g#J{ƒ´@rÍ  gü©ñÒMb`?rÿ   r   )r*   rÓ  r-   r
   rÁ   r	   Úfullr   rº  rZ  r   r   rA   r¤   r·   r   rž   rï  s                r8   Útest_L8z'TestDifferentialEvolutionSolver.test_L8]  sþ  € ð	ð 	ð 	õ
 ŒH�VÑÔˆØˆˆ!ˆa�ˆVˆ)‰Øˆˆ!ˆa�ˆVˆ)‰Øˆaˆbˆb�!�"�"ˆfŒIˆÝŒH�d˜D�\Ñ"Ô"ˆð		ð 		ð 		õ ˜Q ¥2¤6Ñ*Ô*ˆÝ ¥B¤G¨A¨vÑ$6Ô$6½¼ÀÀ5Ñ8IÔ8IÑJÔJˆà�˜Q‘ ˜}¨Q™Ñ.ˆØ˜!�fˆåÑ Ô ð 	7 CØ�JŠJ•{Ñ#Ô#Ð#õ )¨¨F¸ZØ-1¸{Ø15ð7ñ 7ô 7ˆCð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð <ˆØˆå˜˜˜%™œ %¨dÐ3Ñ3Ô3Ð3Ý˜œ˜b˜q˜bœ	 5¨¨!¨¤9°4Ð8Ñ8Ô8Ð8Ý˜œ˜a˜b˜bœ	 5¨¨¨¤9°4Ð8Ñ8Ô8Ð8Ý˜œ ¨TÐ2Ñ2Ô2Ð2ØŒ{ÐÐÐÝ•”�q˜œ‘w !’|Ñ$Ô$Ñ%Ô%Ð%Ý•”•r”x   3¤5¡	¤	Ñ*Ô*¨fÒ4Ñ5Ô5Ñ6Ô6Ð6Ý•”•r”x   3¤5¡	¤	Ñ*Ô*¨eÒ3Ñ4Ô4Ñ5Ô5Ð5Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8s   Ã0C>Ã>DÄDr`   c           	      ó–  — d„ }d„ }t          |dgdg¦  «        }dgdz  }|}t          ||dd|¬	¦  «        }t          j        d¦  «        dz  d
g}d}t	           ||¦  «        |¦  «         t	          t          j        |j        ¦  «        |d¬¦  «         t	          |j        |d¬¦  «         |j        sJ ‚t          t          j
        t          j         ||j        ¦  «        ¦  «        dk    ¦  «        ¦  «         t          t          j
        t          j         ||j        ¦  «        ¦  «        dk    ¦  «        ¦  «         t          t          j
        |j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         t          t          j
        |j        t          j        |¦  «        d d …df         k    ¦  «        ¦  «         d S )Nc                 ód   — t          j        dg| f¦  «        } | d         dz  | d         dz
  dz  z   S )Nr   r#   r@   rÏ  r€   s    r8   rÇ  z2TestDifferentialEvolutionSolver.test_L9.<locals>.f—  s6   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�Q”4˜‘7˜a œd 1™f q™[Ñ(Ð(r:   c                 óZ   — t          j        dg| f¦  «        } | d         | d         dz  z
  gS rl  rÏ  r€   s    r8   rÐ  z3TestDifferentialEvolutionSolver.test_L9.<locals>.c1›  s0   € Ý”	˜A˜3 ˜(Ñ#Ô#ˆAØ�a”D˜1˜Qœ4 ™7‘NÐ#Ð#r:   r   rø  rt   r@   rH   rã  rä  r%   g      è?rÍ  r   r#   )r	   r   r*   Úsqrtr   ÚabsrA   r¤   r·   r   rž   r-   r  s	            r8   Útest_L9z'TestDifferentialEvolutionSolver.test_L9“  s³  € ð	)ð 	)ð 	)ð	$ð 	$ð 	$õ    U G¨e¨WÑ5Ô5ˆà�˜1‘ˆØˆÝ$ Q¨¸ÈØ1<ð>ñ >ô >ˆõ ”˜‘”˜A‘˜sÐ#ˆØˆå˜˜˜%™œ %Ñ(Ô(Ð(Ý�œ˜sœu™œ u°4Ð8Ñ8Ô8Ð8Ý˜œ ¨TÐ2Ñ2Ô2Ð2ØŒ{ÐÐÐÝ•”•r”x   3¤5¡	¤	Ñ*Ô*¨fÒ4Ñ5Ô5Ñ6Ô6Ð6Ý•”•r”x   3¤5¡	¤	Ñ*Ô*¨eÒ3Ñ4Ô4Ñ5Ô5Ð5Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ý•”�s”u¥¤¨Ñ 0Ô 0°°°°A°Ô 6Ò6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8r:   c                 óö  ‡— t           j                             d¦  «        }t          j        }d} |j        |d|dœŽ}d„ Šddg}dd	g}t          ‰|||f|d|¬
¦  «        }|j        d         dk    sJ ‚t          |j        |d¬¦  «         t          ‰|||f|d|¬
¦  «        }ˆfd„}	t          |	|j        d         d||fd	g¬¦  «        }
t          |j        d         |
j        ¦  «         |j
        |j
        k    sJ ‚d S )Nl   ¹bà	¸)r`   r%   rö  )r"  Úrandom_statec                 óº   — |\  }}t          j         |j        |g| ¢R Ž ¦  «                             d¬¦  «         }t          j        |¦  «        rt           j        }|S )Nru   ©Úaxis)r*   ÚlogÚpmfr   ÚisnanrÁ   )r\  rÚ   ÚdistrA   Úlls        r8   rz   z>TestDifferentialEvolutionSolver.test_integrality.<locals>.funcº  sZ   € Ø‰GˆD�!å”&˜˜œ !˜ a˜˜˜Ñ)Ô)×-Ò-°2Ð-Ñ6Ô6Ð6ˆBÝŒx˜‰|Œ|ð Ý”V�ØˆIr:   TF)r#   é   )r   gffffffî?)rÚ   Úintegralityr¢   r¾   r   r`   gš™™™™™™?)rú  c                 ó^   •— |\  }}} ‰t          j        || d         g¦  «        ||¦  «        S )Nr   rm  )r\  rÚ   Únr1  rA   rz   s        €r8   Úfunc2z?TestDifferentialEvolutionSolver.test_integrality.<locals>.func2Ò  s4   ø€ Ø‰JˆAˆt�QØ�4�œ ! Q q¤T Ñ+Ô+¨T°1Ñ5Ô5Ð5r:   r#   )rÚ   r/   )r*   r
  r  r   ÚnbinomÚrvsr   rA   r   r   r¤   )r7   r¾   r1  ÚshapesrA   r4  r/   r–   Úres2r7  ÚLBFGSBrz   s              @r8   Útest_integralityz0TestDifferentialEvolutionSolver.test_integrality²  sU  ø€ õ Œi×#Ò# MÑ2Ô2ˆÝŒ|ˆØˆØˆDŒH�f 5°sÐ;Ð;Ð;ˆð	ð 	ð 	ð ˜U�mˆØ˜9Ð%ˆå$ T¨6¸¸q¸	Ø1<ÀUØ),ð.ñ .ô .ˆð
 Œu�QŒx˜1Š}ˆ}ˆ}ˆ}Ý˜œ˜v¨EÐ2Ñ2Ô2Ð2õ & d¨F¸$À¸Ø2=ÀdØ*-ð/ñ /ô /ˆð	6ð 	6ð 	6ð 	6ð 	6õ ˜% ¤¨¤°!°T¸1°Ø"+ ð.ñ .ô .ˆå˜œ˜qœ	 6¤8Ñ,Ô,Ð,ØŒx˜3œ7Ò"Ð"Ð"Ð"Ð"Ð"r:   c                 ó*  — d„ }g d¢}g d¢}t          ||dd¬¦  «        }t          |j        d         g d¢¦  «         t          |j        d         g d	¢¦  «         t          ||d|¬¦  «        }t          |j        d         g d
¢¦  «         t          |j        d         g d¢¦  «         t          |j        g d¢¦  «         |j        du sJ ‚g d¢}t          ||d|¬¦  «        }t          |j        d         g d¢¦  «         t          |j        d         g d¢¦  «         t          t          j        |j        d         ¦  «        g d¢¦  «         t          t          j        |j        d         ¦  «        g d¢¦  «         g d¢}t          ||d|¬¦  «        }t          |j        d         g d¢¦  «         t          |j        d         g d¢¦  «         g d¢}t          j	        t          d¬¦  «        5  t          ||d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó   — | S r¬   r<   r€   s    r8   rÇ  zBTestDifferentialEvolutionSolver.test_integrality_limits.<locals>.fà  s   € ØˆHr:   )TFT))r+  r™   ©r›   çš™™™™™@)çffffff
@çš™™™™™@F)r/   r¢   r4  r   )r+  r›   rB  r#   )r™   rA  rC  )r%   r›   g      @)g      ø?rA  ç      @))rµ  gÍÌÌÌÌÌì¿r@  )gš™™™™™$Àgffffff@)g      ø¿r›   ç      %À)rí  rA  rD  )ç      ð¿r’   g      $À)rF  r   g      @))çffffff$Àg333333 Àr@  ©gÍÌÌÌÌÌ%ÀgrŠŽäòÿ#À)rE  r›   rE  )g      !ÀrA  g      #À))rG  g333333$Àr@  rH  zOne of the integralityr�   )r   r   r.   r   r4  r¢   r*   Úroundr~  r   rw   )r7   rÇ  r4  r/   rY   s        r8   Útest_integrality_limitsz7TestDifferentialEvolutionSolver.test_integrality_limitsß  sã  € ð	ð 	ð 	ð *Ð)Ð)ˆØ5Ð5Ð5ˆõ -¨Q°vÀeØ9>ð@ñ @ô @ˆå˜œ aÔ(¨/¨/¨/Ñ:Ô:Ð:Ý˜œ aÔ(¨/¨/¨/Ñ:Ô:Ð:õ -¨Q°vÀeØ9DðFñ Fô Fˆå˜œ aÔ(¨/¨/¨/Ñ:Ô:Ð:Ý˜œ aÔ(¨/¨/¨/Ñ:Ô:Ð:Ý�VÔ'Ð)<Ð)<Ð)<Ñ=Ô=Ð=ØŒ} Ð%Ð%Ð%Ð%à9Ð9Ð9ˆÝ,¨Q°vÀeØ9DðFñ Fô Fˆå˜œ aÔ(Ð*<Ð*<Ð*<Ñ=Ô=Ð=Ý˜œ aÔ(Ð*:Ð*:Ð*:Ñ;Ô;Ð;õ 	�œ ¤¨qÔ!1Ñ2Ô2Ð4FÐ4FÐ4FÑGÔGÐGÝ�œ ¤¨qÔ!1Ñ2Ô2Ð4DÐ4DÐ4DÑEÔEÐEà>Ð>Ð>ˆÝ,¨Q°vÀeØ9DðFñ Fô Fˆå˜œ aÔ(Ð*=Ð*=Ð*=Ñ>Ô>Ð>Ý˜œ aÔ(Ð*;Ð*;Ð*;Ñ<Ô<Ð<à?Ð?Ð?ˆÝŒ]�:Ð-EÐFÑFÔFð 	Að 	AÝ'¨°&ÀØ4?ðAñ Aô Að Að	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As   Ç'HÈHÈHc                 óº  ‡— d„ }d„ }t          j        t          d¬¦  «        5  t          || j        dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          || j        d¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d
¬¦  «        5  t          || j        dt          d¬¦  «         d d d ¦  «         n# 1 swxY w Y   dgŠˆfd„}ddg}t          t          |dd¬¦  «        }t          ||ddd¬¦  «        }t          |j
        |j
        ¦  «         ‰d         |j        k    sJ ‚|j        |j        k    sJ ‚d S )Nc                 ó0   — t          j        | dz  ¦  «        S r~   ró  r€   s    r8   r0   zBTestDifferentialEvolutionSolver.test_vectorized.<locals>.quadratic  s   € Ý”6˜!˜Q™$‘<”<Ðr:   c                 ó4   — t          j        | dz  d¬¦  «        S )Nr@   r   r,  ró  r€   s    r8   Úquadratic_veczFTestDifferentialEvolutionSolver.test_vectorized.<locals>.quadratic_vec  s   € Ý”6˜!˜Q™$ QÐ'Ñ'Ô'Ð'r:   zThe vectorized functionr�   Trù   )r}  rú   z#differential_evolution: the 'vector)r}  z$differential_evolution: the 'workers)r}  rW  rú   r   c                 óB   •— ‰dxx         dz  cc<   t          | ¦  «        S rh  )r   )rA   Úncallss    €r8   Ú	rosen_veczBTestDifferentialEvolutionSolver.test_vectorized.<locals>.rosen_vec'  s#   ø€ Ø�1ˆIˆIŒI˜‰NˆIˆI‰IÝ˜‘8”8ˆOr:   r  r#   )rú   r¾   )r}  rú   r¾   )r~  r   r…   r   r/   r   rZ  rR  r   r   rA   rû   r¯   )r7   r0   rN  rQ  r/   Úres1r;  rP  s          @r8   Útest_vectorizedz/TestDifferentialEvolutionSolver.test_vectorized  s•  ø€ ð	 ð 	 ð 	 ð	(ð 	(ð 	(õ Œ]�<Ð/HÐIÑIÔIð 	Ið 	IÝ" 9¨d¬kØ.2¸ZðIñ Iô Ið Ið	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Iõ
 •;Ð&KÐLÑLÔLð 	4ð 	4Ý" =°$´+Ø.2ð4ñ 4ô 4ð 4ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ
 •;Ð&LÐMÑMÔMð 	8ð 	8Ý" =°$´+Ø.2½CØ,6ð8ñ 8ô 8ð 8ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð
 �ˆð	ð 	ð 	ð 	ð 	ð ˜7Ð#ˆÝ%¥e¨V¸jØ*+ð-ñ -ô -ˆå% i°ÀDØ/9¸qðBñ Bô Bˆõ 	˜œ ¤Ñ'Ô'Ð'Ø�aŒy˜DœIÒ%Ð%Ð%Ð%ØŒx˜4œ8Ò#Ð#Ð#Ð#Ð#Ð#s5   £AÁAÁAÁ)BÂBÂBÂ.CÃCÃ Cc           	      ó  — d„ }d„ }t          |t          j         d¦  «        }t          |dd¦  «        }d„ }ddg}t          t          |dd	||gd
¬¦  «        }t          ||ddd	||gd
¬¦  «        }t          |j        |j        ¦  «         d S )Nc                 óJ   — t          j        | d         | d         z   g¦  «        S rh  rm  r€   s    r8   ri  zMTestDifferentialEvolutionSolver.test_vectorized_constraints.<locals>.constr_f7  r�  r:   c                 óp   — t          j        | d         dz  | d         z   | d         | d         z
  g¦  «        S rl  rm  r€   s    r8   rn  zNTestDifferentialEvolutionSolver.test_vectorized_constraints.<locals>.constr_f2:  ro  r:   rp  )r›   r%   r‘   c                 óŒ   — d| dd …         | d d…         dz  z
  dz  z  }|d| d d…         z
  dz  z  }t          j        |¦  «        S )Nr!   r#   ru   r   )r*   Úsqueeze)rA   r•   s     r8   rQ  zNTestDifferentialEvolutionSolver.test_vectorized_constraints.<locals>.rosen_vec@  sS   € à�q˜˜˜”u˜q  " œv s™{Ñ*¨SÑ0Ñ0ˆAØ�!�a˜˜˜”f‘*˜sÑ"Ñ"ˆAÝ”:˜a‘=”=Ð r:   r  rù   r#   F)rú   r¾   rr  r¢   T)r}  rú   r¾   rr  r¢   )r	   r*   rÁ   r   r   r   rA   )	r7   ri  rn  Únlc1r�  rQ  r/   rR  r;  s	            r8   Útest_vectorized_constraintsz;TestDifferentialEvolutionSolver.test_vectorized_constraints6  sÐ   € ð	+ð 	+ð 	+ð	;ð 	;ð 	;õ # 8­b¬f¨W°cÑ:Ô:ˆÝ" 9¨j¸*ÑEÔEˆð	!ð 	!ð 	!ð ˜7Ð#ˆå%¥e¨V¸jØ*+¸$À¸Ø-2ð4ñ 4ô 4ˆõ & i°ÀDØ/9¸qØ37¸°,Ø-2ð4ñ 4ô 4ˆõ
 	˜œ ¤Ñ'Ô'Ð'Ð'Ð'r:   c                 óÜ   — d„ }t          d„ dt          j        ¦  «        }t          d„ t          j         d¦  «        }t          |ddg||gddd	¬
¦  «        }|j        du sJ ‚d|j        v sJ ‚d S )Nc                 ól   — t          j        | d         ¦  «        t          j        | d         ¦  «        z   S rh  )r*   Úcosr  r€   s    r8   rz   zUTestDifferentialEvolutionSolver.test_constraint_violation_error_message.<locals>.funcT  s%   € Ý”6˜!˜Aœ$‘<”<¥"¤&¨¨1¬¡,¤,Ñ.Ð.r:   c                 ó0   — | d         | d         dz
  dz  z
  S ©Nr#   r   r@   r<   r€   s    r8   ú<lambda>zYTestDifferentialEvolutionSolver.test_constraint_violation_error_message.<locals>.<lambda>X  s   € ¨1¨Q¬4°1°Q´4¸±6¸A±+Ñ+=€ r:   r   c                 ó*   — | d         | d         dz  z   S r_  r<   r€   s    r8   r`  zYTestDifferentialEvolutionSolver.test_constraint_violation_error_message.<locals>.<lambda>Y  s   € ¨1¨Q¬4°!°A´$¸±'©>€ r:   )ru   r@   rt   rª   Fiœ›‚3)r/   rr  r¡   r¢   r¾   z
MAXCV = 0.)r	   r*   rÁ   r   r·   r¶   )r7   rz   Úc0rÐ  rd   s        r8   Ú'test_constraint_violation_error_messagezGTestDifferentialEvolutionSolver.test_constraint_violation_error_messageR  s¡   € ð	/ð 	/ð 	/õ !Ð!=Ð!=¸qÅ"Ä&ÑIÔIˆÝ Ð!9Ð!9½B¼F¸7ÀAÑFÔFˆå'¨Ø07¸Ð/AØ57¸°HØ02Ø/4Ø,5ð7ñ 7ô 7ˆð Œ~ Ð&Ð&Ð&Ð&ð ˜vœ~Ð-Ð-Ð-Ð-Ð-Ð-r:   c                 óÄ  ‡‡‡‡	‡
— dŠd}dg‰z  }‰|z  Š
dŠdŠ	dgŠdˆˆˆˆ	ˆ
fd„	}t          t          ||‰	‰d|dd	¬
¦	  «	        }|j        |u sJ ‚|                     ¦   «          ‰d         dk    sJ ‚t	          t          ||d¬¦  «        }|j        sJ ‚dd„}t          j        t          d¬¦  «        5  t	          t          ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr_   rª   )r   g      $@r)   gffffffæ?r   c                 óÖ  •— ‰dxx         dz  cc<   t          j        ||          ¦  «        }|                     ‰¦  «        }t          j        ‰¦  «        }|                     |¦  «         |d d…         }||| k             d d…         }|d d…         \  }}|d         ‰||         ||         z
  z  z   }	|                     ‰¬¦  «        }
|
‰k     }
d|
|<   t          j        |
|	|¦  «        }|S )Nr   r#   r^   r@   )r"  T)r*   ÚcopyÚchoicer4   ÚshufflerC  Úwhere)rë   r6   r¾   re   Ú
fill_pointra  ÚidxsÚr0rì   ÚbprimeÚ
crossoversÚcallsr'   r·  ÚrecombinationÚtotal_popsizes              €€€€€r8   Úcustom_strategy_fnzLTestDifferentialEvolutionSolver.test_strategy_fn.<locals>.custom_strategy_fnu  sú   ø€ Ø�!ˆHˆHŒH˜‰MˆHˆH‰HÝ”G˜J yÔ1Ñ2Ô2ˆEØŸš OÑ4Ô4ˆJå”9˜]Ñ+Ô+ˆDØ�KŠK˜ÑÔÐØ˜˜˜”<ˆDØ˜ 	Ò)Ô*¨2¨A¨2Ô.ˆDà˜"˜1˜"”X‰FˆB�à  ”m hØ ”^ j°¤nÑ4ñ'6ñ 6ˆFð Ÿš¨/˜Ñ:Ô:ˆJØ# mÒ3ˆJØ%)ˆJ�zÑ"Ý”H˜Z¨°Ñ7Ô7ˆEØˆLr:   r@   F)r&   rp  r'   r¡   rE   r¾   r¢   rù   )rE   rú   c                 ó.   — t          j        ddg¦  «        S )Nr’   r   rm  )rë   r6   r¾   s      r8   rr  zLTestDifferentialEvolutionSolver.test_strategy_fn.<locals>.custom_strategy_fnŸ  s   € Ý”8˜S #˜JÑ'Ô'Ð'r:   z	strategy*r�   rD   r¬   )	r   r   rE   r£   r   r·   r~  r   r…   )r7   r&   r/   rr  rY   r–   ro  r'   r·  rp  rq  s         @@@@@r8   Útest_strategy_fnz0TestDifferentialEvolutionSolver.test_strategy_fni  s°  øøøøø€ ð ˆØˆØ�˜oÑ-ˆØ'¨'Ñ1ˆØˆØˆà�ˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	õ* -ÝØØØ'ØØØ'ØØð

ñ 

ô 

ˆð ŒÐ"4Ð4Ð4Ð4Ð4Ø�Š‰ŒˆØ�QŒx˜!Š|ˆ|ˆ|ˆ|õ %Ý�6Ð$6Àð
ñ 
ô 
ˆð Œ{ÐÐÐð	(ð 	(ð 	(ð 	(õ Œ]�<¨{Ð;Ñ;Ô;ð 	ð 	Ý"ÝØØ+ðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Â0CÃCÃCN)LrW   Ú
__module__Ú__qualname__r9   r>   r0   rZ   rf   rh   rj   rl   rr   r{   r†   rŒ   r�   r—   rŸ   r¦   r¨   rÆ   rÔ   rÛ   rà   râ   rñ   ró   rü   r  r  r  r  r  r  r  r)  r,  r.  rE  rH  rM  rS  r~  ÚmarkÚthread_unsafer^  Ú	fail_slowrb  re  r…  rŒ  r�  r˜  r�  r±  r¸  rÂ  rÛ  ræ  rð  rÿ  r  r  r  ÚxslowÚxfailrû  Úmachiner"  r(  r=  rJ  rS  rZ  rc  rt  r<   r:   r8   r   r      s  € € € € € ð3ð 3ð 3ð&%ð %ð %ðð ð ðIGð IGð IGðV'ð 'ð 'ð
'ð 
'ð 
'ð'ð 'ð 'ð'ð 'ð 'ð4ð 4ð 4ð*ð *ð *ð<=ð =ð =ðEð Eð EðHð Hð Hð
(ð 
(ð 
(ð>ð >ð >ð;ð ;ð ;ð)ð )ð )ðG!ð G!ð G!ðR ð  ð  ðD0ð 0ð 0ð *ð *ð *ð0ð 0ð 0ð$Jð Jð JðKð Kð Kð.&ð .&ð .&ð`?ð ?ð ?ð'ð 'ð 'ð0ð 0ð 0ð.ð .ð .ðð ð ðEð Eð Eð &ð &ð &ðð ð ð4*ð *ð *ðð ð ðD8ð D8ð D8ðLFð Fð FðIð Ið Iðð ð ð „[Ôð-ð -ñ Ôð-ð& „[×Ò˜2ÑÔðð ñ Ôðð$$ð $ð $ð
7:ð 7:ð 7:ðr+&ð +&ð +&ðZ „[Ôðð ñ Ôðð  „[×Ò˜2ÑÔØ„[Ôð%9ð %9ñ Ôñ Ôð%9ðN:ð :ð :ð4*;ð *;ð *;ðX'ð 'ð 'ð84ð 4ð 4ð& „[×Ò˜2ÑÔð\9ð \9ñ Ôð\9ð| „[×Ò˜2ÑÔð%9ð %9ñ Ôð%9ðN „[×Ò˜2ÑÔð09ð 09ñ Ôð09ðd „[×Ò˜2ÑÔð29ð 29ñ Ôð29ðh „[×Ò˜2ÑÔð9ð 9ñ Ôð9ð< „[×Ò˜2ÑÔð9ð 9ñ Ôð9ð8,9ð ,9ð ,9ð\ „[ÔØ„[×ÒÐ'�xÔ'Ñ)Ô)¨YÒ6Ø0ð ñ 2ô 2ð19ð 19ñ2ô 2ñ Ôð19ðf „[×Ò˜1ÑÔð9ð 9ñ Ôð9ð< „[×Ò˜2ÑÔð*#ð *#ñ Ôð*#ðX+Að +Að +AðZ „[ÔØ„[×Ò˜2ÑÔð&$ð &$ñ Ôñ Ôð&$ðP(ð (ð (ð8.ð .ð .ð. „[×Ò˜2ÑÔð=ð =ñ Ôð=ð =ð =r:   r   )$Ú__doc__rX  Úmultiprocessing.dummyr   r`  rû  Ú%scipy.optimize._differentialevolutionr   r   Úscipy.optimizer   r   Úscipy.optimize._constraintsr   r	   r
   r   r   Úscipy.sparser   Úscipyr   Únumpyr*   Únumpy.testingr   r   r   r   r   r   r~  r   rv   r   r   r<   r:   r8   ú<module>r†     s·  ððð ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø €€€ðGð Gð Gð Gð Gð Gð Gð Gà AÐ AÐ AÐ AÐ AÐ AÐ AÐ Að;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;à *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð à Ð Ð Ð ðLð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Lð Là 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø €€€ðOð Oð Oð Oð Oñ Oô Oð Oð Oð Or:   