Ë
    éì�i| ã                   óà   — d Z ddlmZ ddlZddlZddlm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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  ddl!m"Z#m$Z$ ddl!Z! G d„ d«      Z%y)z@
Unit tests for the differential global minimization algorithm.
é    )ÚPoolN)Úassert_deallocated)ÚDifferentialEvolutionSolverÚ_ConstraintWrapper)Údifferential_evolutionÚOptimizeResult)ÚBoundsÚNonlinearConstraintÚLinearConstraint)ÚrosenÚminimizeÚ	rosen_der)Ú	csr_array)Ústats)Úassert_equalÚassert_allcloseÚassert_almost_equalÚassert_string_equalÚassert_)Ú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)d(„ Z*d)„ Z+e,jZ                  j]                  d*«      d+„ «       Z/d,„ Z0d-„ Z1d.„ Z2d/„ Z3e,jZ                  j]                  d*«      d0„ «       Z4d1„ Z5d2„ Z6d3„ Z7d4„ Z8e,jZ                  j]                  d5«      d6„ «       Z9e,jZ                  j]                  d*«      d7„ «       Z:e,jZ                  j]                  d*«      d8„ «       Z;e,jZ                  j]                  d*«      d9„ «       Z<e,jZ                  j]                  d*«      d:„ «       Z=e,jZ                  j]                  d*«      d;„ «       Z>d<„ Z?e,jZ                  j€                  e,jZ                  jƒ                   eBj†                  «       d=k(  d>¬?«      d@„ «       «       ZDe,jZ                  j]                  dA«      dB„ «       ZEe,jZ                  j]                  d*«      dC„ «       ZFdD„ ZGe,jZ                  j]                  d*«      dE„ «       ZHdF„ ZIdG„ ZJdH„ ZKe,jZ                  j]                  d5«      dI„ «       ZLdJ„ ZMyK)LÚTestDifferentialEvolutionSolverc                 óŒ  — 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                  _        y )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)Úselfr7   s     ú–/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/scipy/optimize/tests/test__differential_evolution.pyÚsetup_methodz,TestDifferentialEvolutionSolver.setup_method   s«   € ÜŸ)™)¨GÔ4ˆŒÜ—h‘h  R Ø!# R ð *ó +ˆŒà Ð*ˆŒä7¸¿¹Ø9A¸
óDˆÔô 9¸¿¹Ø:@¸ØABØBEôGˆÔô —]‘]¤2§9¡9¨S°#°sÓ#;Ó<×>Ñ>ˆ
Ø(2ˆ×ÑÕ%ó    c                 óB   — t        j                  di | j                  ¤Ž y )N© )r+   r,   r-   ©r8   s    r9   Úteardown_methodz/TestDifferentialEvolutionSolver.teardown_method.   s   € Ü
�	‰	Ñ$�D—O‘OÓ$r;   c                 ó   — |d   dz  S )Nr   é   r=   )r8   Úxs     r9   r1   z)TestDifferentialEvolutionSolver.quadratic1   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«       y )NÚbest1exp©ÚstrategyÚ_best1Úbest1binÚrand1binÚ_rand1Úrand1expÚrand2expÚ_rand2Úbest2binÚ_best2Úrand2binÚrandtobest1binÚ_randtobest1Úrandtobest1expÚcurrenttobest1binÚ_currenttobest1Úcurrenttobest1exp)r   r   r0   r   rF   Úmutation_funcÚ__name__©r8   Úsolvers     r9   Útest__strategy_resolvesz7TestDifferentialEvolutionSolver.test__strategy_resolves4   sæ  € ô -¬UØ-1¯[©[Ø6@ôBˆô 	�V—_‘_ jÔ1Ü�V×)Ñ)×2Ñ2°HÔ=ä,¬UØ-1¯[©[Ø6@ôBˆô 	�V—_‘_ jÔ1Ü�V×)Ñ)×2Ñ2°HÔ=ä,¬UØ-1¯[©[Ø6@ôBˆô 	�V—_‘_ jÔ1Ü�V×)Ñ)×2Ñ2°HÔ=ä,¬UØ-1¯[©[Ø6@ôBˆô 	�V—_‘_ jÔ1Ü�V×)Ñ)×2Ñ2°HÔ=ä,¬UØ-1¯[©[Ø6@ôBˆô 	�V—_‘_ jÔ1Ü�V×)Ñ)×2Ñ2°HÔ=ä,¬UØ-1¯[©[Ø6@ôBˆô 	�V—_‘_ jÔ1Ü�V×)Ñ)×2Ñ2°HÔ=ä,¬UØ-1¯[©[Ø6@ôBˆô 	�V—_‘_ jÔ1Ü�V×)Ñ)×2Ñ2°HÔ=ä,¬UØ-1¯[©[Ø6@ôBˆô 	�V—_‘_ jÔ1Ü�V×)Ñ)×2Ñ2°HÔ=ä,¬UØ-1¯[©[Ø6FôHˆô 	�V—_‘_Ð&6Ô7Ü�V×)Ñ)×2Ñ2°NÔCä,¬UØ-1¯[©[Ø6FôHˆô 	�V—_‘_Ð&6Ô7Ü�V×)Ñ)×2Ñ2°NÔCä,¬UØ-1¯[©[Ø6IôKˆô 	�V—_‘_Ð&9Ô:Ü�V×)Ñ)×2Ñ2Ð4EÔFä,¬UØ-1¯[©[Ø6IôKˆô 	�V—_‘_Ð&9Ô:Ü�V×)Ñ)×2Ñ2Ð4EÕFr;   c                 óL  — t        j                  dg«      }| j                  j                  t        j                  g d¢«      «      }t	        ||«       t        j                  dg«      }| j                  j                  t        j                  g d¢«      «      }t	        ||«       y )Nçš™™™™™©?©rA   é   é   é   é   ç      Ð?)r+   r.   r3   rG   r   rJ   ©r8   ÚresultÚtrials      r9   Útest__mutate1z-TestDifferentialEvolutionSolver.test__mutate1   st   € ä—‘˜4˜&Ó!ˆØ×"Ñ"×)Ñ)¬"¯(©(²?Ó*CÓDˆÜ˜˜vÔ&ä—‘˜4˜&Ó!ˆØ×"Ñ"×)Ñ)¬"¯(©(²?Ó*CÓDˆÜ˜˜vÕ&r;   c                 óL  — t        j                  dg«      }| j                  j                  t        j                  g d¢«      «      }t	        ||«       t        j                  dg«      }| j                  j                  t        j                  g d¢«      «      }t	        ||«       y )Ngš™™™™™¹¿r^   r)   )r+   r.   r3   rO   r   rM   rd   s      r9   Útest__mutate2z-TestDifferentialEvolutionSolver.test__mutate2‰   su   € ô —‘˜4˜&Ó!ˆØ×"Ñ"×)Ñ)¬"¯(©(²?Ó*CÓDˆÜ˜˜vÔ&ä—‘˜3˜%“ˆØ×"Ñ"×)Ñ)¬"¯(©(²?Ó*CÓDˆÜ˜˜vÕ&r;   c                 ó¨   — t        j                  dg«      }| j                  j                  t        j                  g d¢«      «      }t	        ||«       y )Ng333333Ã?r^   )r+   r.   r3   rR   r   rd   s      r9   Útest__randtobest1z1TestDifferentialEvolutionSolver.test__randtobest1•   s;   € ä—‘˜4˜&Ó!ˆØ×"Ñ"×/Ñ/´·±ºÓ0IÓJˆÜ˜˜vÕ&r;   c                 óª   — t        j                  dg«      }| j                  j                  dt        j                  g d¢«      «      }t	        ||«       y )Nr)   r$   r^   )r+   r.   r3   rU   r   rd   s      r9   Útest__currenttobest1z4TestDifferentialEvolutionSolver.test__currenttobest1›   sB   € ä—‘˜3˜%“ˆØ×"Ñ"×2Ñ2ØÜ�H‰H’_Ó%ó
ˆô 	˜˜vÕ&r;   c                 óŠ   — d}t        | j                  | j                  |¬«      }t        |j                  t        |«      «       y )N©r&   r$   ©r(   )r   r1   r0   r   ÚditherÚlist)r8   r(   rZ   s      r9   Útest_can_init_with_ditheringz<TestDifferentialEvolutionSolver.test_can_init_with_dithering¤   s6   € ØˆÜ,¨T¯^©^Ø-1¯[©[Ø6>ô@ˆô 	�V—]‘]¤D¨£NÕ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                  «       y )N)r&   r_   rp   ©éÿÿÿÿr$   r)   r&   )
r   Úassert_raisesÚ
ValueErrorr   r0   r+   Únanr   Úscalerq   )r8   Úfuncr(   rZ   s       r9   Ú+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                 ór   — d„ }t        t        d¬«      5  t        |ddg«       d d d «       y # 1 sw Y   y xY w)Nc                 ó‚   — t        j                  t        j                  | dz  «      t        j                  | «      g«      S ©NrA   )r+   r.   Úsum©rB   s    r9   r{   zETestDifferentialEvolutionSolver.test_invalid_functional.<locals>.funcË   s*   € Ü—8‘8œRŸV™V A¨¡F›^¬R¯V©V°A«YÐ7Ó8Ð8r;   z,func\(x, \*args\) must return a scalar value©Úmatch©éþÿÿÿrA   )rw   ÚRuntimeErrorr   )r8   r{   s     r9   Útest_invalid_functionalz7TestDifferentialEvolutionSolver.test_invalid_functionalÊ   s>   € ò	9ô ÜØEôGñ 	=ô # 4¨'°7Ð);Ô<÷	=÷ 	=ñ 	=ús   •-­6c                 ó  — t        j                  dg«      }t        d| j                  j	                  |«      «       t        j                  dgdgg«      | j                  _        t        d| j                  j	                  |«      «       y )Nç333333Ó?é   r"   r   )r+   r.   r   r2   Ú_scale_parametersr/   ©r8   rf   s     r9   Útest__scale_parametersz6TestDifferentialEvolutionSolver.test__scale_parametersÓ   sh   € Ü—‘˜#˜“ˆÜ�R˜×*Ñ*×<Ñ<¸UÓCÔDô $&§8¡8¨c¨U°R°D¨MÓ#:ˆ×ÑÔ Ü�R˜×*Ñ*×<Ñ<¸UÓCÕDr;   c                 ó  — t        j                  dg«      }t        d| j                  j	                  |«      «       t        j                  dgdgg«      | j                  _        t        d| j                  j	                  |«      «       y )NrŠ   r‰   r"   r   )r+   r.   r   r2   Ú_unscale_parametersr/   rŒ   s     r9   Útest__unscale_parametersz8TestDifferentialEvolutionSolver.test__unscale_parametersÛ   sh   € Ü—‘˜"˜“ˆÜ�S˜$×+Ñ+×?Ñ?ÀÓFÔGô $&§8¡8¨c¨U°R°D¨MÓ#:ˆ×ÑÔ Ü�S˜$×+Ñ+×?Ñ?ÀÓFÕGr;   c                 ó*  — t        j                  d¬«      5  t        | j                  ddg¬«      }|j	                  ddg«      }t        |d«       d d d «       t        | j                  ddg«      }t        |j                  dd	g«       y # 1 sw Y   Œ:xY w)
Nr   r   ©r   r   )ç      ð?ç      @)r0   r   r&   )r”   r”   r”   )	r+   Úerrstater   r1   r�   r   r   r   rB   )r8   rZ   ÚvÚress       r9   Útest_equal_boundsz1TestDifferentialEvolutionSolver.test_equal_boundsã   s…   € Ü�[‰[ Ô)ñ 	$Ü0Ø—‘Ø" JÐ/ôˆFð ×*Ñ*¨C°¨:Ó6ˆAÜ˜A˜sÔ#÷	$ô % T§^¡^°jÀ*Ð5MÓNˆÜ�S—U‘U˜S #˜JÕ'÷	$ð 	$ús   —9B	Â	Bc                 óì   — t        j                  g d¢«      }| j                  j                  |«       t	        |d   d«       t        t        j                  |dk\  |dk  «      j                  «       «       y )N)çš™™™™™ñ?éœÿÿÿçÍÌÌÌÌÌì?r   g     Àr@gñhãˆµøä¾rA   rœ   r   r$   )r+   r.   r2   Ú_ensure_constraintr   r   Úlogical_andÚallrŒ   s     r9   Útest__ensure_constraintz7TestDifferentialEvolutionSolver.test__ensure_constraintï   sW   € Ü—‘Ò=Ó>ˆØ×Ñ×,Ñ,¨UÔ3ä�U˜1‘X˜sÔ#Ü”—‘˜u¨™z¨5°A©:Ó6×:Ñ:Ó<Õ=r;   c                 óh  — t        | j                  dgdd¬«      }|j                  «       }t        |j                  | j                  |j
                  «      «       t        | j                  dgdd¬«      }|j                  «       }t        |j                  | j                  |j
                  «      «       y )Nr„   r$   F)ÚmaxiterÚpolishT)r   r1   Úsolver   ÚfunrB   ©r8   rZ   re   s      r9   Útest_differential_evolutionz;TestDifferentialEvolutionSolver.test_differential_evolutionö   s†   € ô -Ø�N‰N˜W˜I¨q¸ô
ˆð —‘“ˆÜ�V—Z‘Z §¡°·±Ó!9Ô:ä,Ø�N‰N˜W˜I¨q¸ô
ˆð —‘“ˆÜ�V—Z‘Z §¡°·±Ó!9Õ:r;   c                 ó˜   — t        | j                  dg«      }|j                  «       }t        |j                  |j                  dd¬«       y )Nr„   gVçž¯Ò<r   )ÚatolÚrtol)r   r1   r¤   r   rB   r¦   s      r9   Útest_best_solution_retrievalz<TestDifferentialEvolutionSolver.test_best_solution_retrieval  s5   € ä,¨T¯^©^¸g¸YÓGˆØ—‘“ˆÜ˜Ÿ™ &§(¡(°¸QÖ?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J ‚ J ‚‰j                  |j                  cxk(  r‰	k(  sJ ‚ J ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  «       D ]2  \  }}|dv rŒt        ‰j
                  |   |«       t        ||   |«       Œ4 d‰_        t        j                  ‰_        d|d<   t        di |¤d	‰i¤Ž}|j                  |j                  k  sJ ‚y )Né
   c                 óX   •— t        | «      }|‰j                  k  r| ‰_        |‰_        |S ©N)r   ÚvalrB   )rB   r°   r{   s     €r9   r{   zFTestDifferentialEvolutionSolver.test_intermediate_result.<locals>.func  s*   ø€ Ü˜“(ˆCØ�T—X‘XŠ~Ø�”Ø�”ØˆJr;   c                 ó¨  •— ‰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 ]5  }| j                  |   }t        | j                  |   «      }t        ||«       Œ7 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$        ‚y )Nr$   rA   r   zin progressT)ÚnitÚintermediate_resultr7   ÚndimÚshaper   rB   r{   r¥   r°   r   ÚrangeÚlenÚpopulation_energiesÚmessageÚsuccessÚ
isinstancer   ÚStopIteration)r³   Úir—   ÚrefÚcallbackr¢   s       €€r9   r¿   zJTestDifferentialEvolutionSolver.test_intermediate_result.<locals>.callback  s¢  ø€ Ø�LŠL˜AÑ�LØ+>ˆHÔ(Ø&×1Ñ1×6Ñ6¸!Ò;Ð;Ð;Ø&×1Ñ1×7Ñ7¸Ñ:¸aÒ?Ð?Ð?Ø&×*Ñ*¨h¯l©lÒ:Ð:Ð:ô Ð,×.Ñ.°·±·±Ô@ÜÐ,×0Ñ0°(·-±-×2CÑ2CÔDô Ð,×0Ñ0´%Ð8K×8MÑ8MÓ2NÔOÜœ3Ð2×FÑFÓGÓHò '�Ø)×=Ñ=¸aÑ@�ÜÐ/×:Ñ:¸1Ñ=Ó>�Ü˜S #Õ&ð'ô Ð,×.Ñ.Ø,×7Ñ7¸Ñ:ô<äÐ,×0Ñ0Ø,×@Ñ@ÀÑCôEð '×.Ñ.°-Ò?Ð?Ð?Ø&×.Ñ.°$Ñ6Ð6Ð6ÜÐ1´>ÔBÐBÐBØ�|‰|˜wÒ&Ü#Ð#ð 'r;   r   ©r   rA   ieÊ F)r{   r0   Úrngr£   r¿   r¢   ú&callback function requested stop earlyú/Maximum number of iterations has been exceeded.>   r¹   rº   Tr£   r=   )rB   r+   Úinfr°   r²   r³   r{   Údictr   rº   r¹   Úitemsr   r¥   )
r8   r0   Úkwargsr—   r¾   Úfieldr°   r¿   r{   r¢   s
          @@@r9   Útest_intermediate_resultz8TestDifferentialEvolutionSolver.test_intermediate_result  sv  ú€ ð ˆô	ð ˆŒÜ—6‘6ˆŒõ	$ð8 ˆŒØ'+ˆÔ$ØˆŒà˜&Ð!ˆÜ˜4¨°FÀ5ÔIˆÜ$ÑA vÑA¸ÒAˆÜ$Ñ? vÑ?°wÒ?ˆð �{‰{˜cŸk™kÓ2¨UÑ2Ð2Ñ2Ð2Ð2Ø�|‰|˜sŸw™wÔ1¨'Ò1Ð1Ñ1Ð1Ð1Ø�{‰{ÐFÒFÐFÐFØ�{‰{ÐOÒOÐOÐOØŸ)™)›+ò 	*‰JˆE�3ØÐ.Ñ.ØÜ˜×5Ñ5°eÑ<¸cÔBÜ˜˜U™ SÕ)ð		*ð ˆŒÜ—6‘6ˆŒØˆˆxÑÜ$ÑA vÑA¸ÒAˆØ�w‰w˜Ÿ™Ò Ð Ñ r;   c                 ój  — 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 ‚y )	NrÀ   rÂ   c                  ó   — y)NTr=   ©ÚparamÚconvergences     r9   Úcallback_python_truezVTestDifferentialEvolutionSolver.test_callback_terminates.<locals>.callback_python_trueX  s   € Ør;   )r¿   c                 ó   — t         ‚r¯   )r¼   )r³   s    r9   Úcallback_stopzOTestDifferentialEvolutionSolver.test_callback_terminates.<locals>.callback_stopa  s   € ÜÐr;   c                 ó   — dgS )Nr­   r=   rÌ   s     r9   Úcallback_evaluates_truezYTestDifferentialEvolutionSolver.test_callback_terminates.<locals>.callback_evaluates_trueg  s	   € à�4ˆKr;   c                 ó   — g S r¯   r=   rÌ   s     r9   Úcallback_evaluates_falsezZTestDifferentialEvolutionSolver.test_callback_terminates.<locals>.callback_evaluates_falseo  s   € ØˆIr;   )r   )r   r   r   r¹   rº   )r8   r0   Úexpected_msgrÏ   re   rÑ   rÓ   rÕ   s           r9   Útest_callback_terminatesz8TestDifferentialEvolutionSolver.test_callback_terminatesT  s²   € à˜&Ð!ˆØ?ˆó	ô (Ü�6Ð$8ô
ˆô 	˜FŸN™N¨LÔ9ò	 ô (¬¨vÀÔNˆØ—>’>Ð!Ð!ó	ô (¬¨vÐ@WÔXˆÜ˜FŸN™N¨LÔ9Ø—>’>Ð!Ð!ó	ô (¬¨vØ1IôKˆà�~Š~Ð‰~r;   c                 ó^   — dg}d}d„ }t        |||d¬«      }t        |j                  d«       y )N©éöÿÿÿr­   )r“   r   r”   c                 ól   — t        |t        «      st        d«      ‚|d   |d   | z  z   |d   | dz  z  z   S )Nzargs should be a tupler   r$   rA   r   )r»   Útuplerx   )rB   Úargss     r9   r1   zLTestDifferentialEvolutionSolver.test_args_tuple_is_passed.<locals>.quadratic{  s@   € Ü˜d¤EÔ*Ü Ð!9Ó:Ð:Ø˜‘7˜T !™W q™[Ñ(¨4°©7°Q¸±U©?Ñ:Ð:r;   T)rÝ   r£   gUUUUUUå?)r   r   r¥   )r8   r0   rÝ   r1   re   s        r9   Útest_args_tuple_is_passedz9TestDifferentialEvolutionSolver.test_args_tuple_is_passedv  s:   € à�ˆØˆò	;ô
 (¨	Ø(.Ø-1Ø/3ô5ˆô 	˜FŸJ™J¨Õ/r;   c                 óF   — t         }dg}t        t        t        ||d¬«       y )N©éýÿÿÿr_   ÚabcrE   )r   rw   rx   r   )r8   r{   r0   s      r9   Ú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«       y )Nrá   rà   )r_   r`   ra   r   rA   )r“   r“   )r   rw   rx   r   r	   r   rB   )r8   r{   r0   re   s       r9   Útest_bounds_checkingz4TestDifferentialEvolutionSolver.test_bounds_checking�  sk   € äˆØ�ˆÜ”jÜ0ØØ ô	"ð ˜9Ð%ˆÜ”jÜ0ØØ ô	"ô (¬¬v°q¸!°f¸qÀ!¸fÓ/EÓFˆÜ˜FŸH™H hÕ/r;   c                 ój  — t        j                  dd¬«      j                  dd«      }t        t	        |dd d …f   |dd d …f   «      «      }t        d |d¬«      }d}|j                  |d	«      \  }}}}}	t        t        t        j                  t        j                  ||||||	g«      «      «      d«       y )
Ng      (@Úfloat64)ÚdtyperA   rb   r   r$   ©r'   ra   )r+   r5   Úreshaperr   Úzipr   Ú_select_samplesr   r·   Úuniquer.   )
r8   r/   r0   rZ   Ú	candidateÚr1Úr2Úr3Úr4Úr5s
             r9   Útest_select_samplesz3TestDifferentialEvolutionSolver.test_select_samples¢  s¢   € ä—‘˜3 iÔ0×8Ñ8¸¸AÓ>ˆÜ”c˜& ¢A ™,¨¨q²!¨t©Ó5Ó6ˆÜ,¨T°6À1ÔEˆØˆ	Ø#×3Ñ3°I¸qÓAÑˆˆB��B˜ÜÜ”—	‘	œ"Ÿ(™( I¨r°2°r¸2¸rÐ#BÓCÓDÓEÀqõ	Jr;   c                 ó´   — t        t        | j                  d¬«      }|j                  «       }t	        |j
                  d«       t	        |j                  d«       y )Nr$   )r¢   FrÃ   )r   r   r0   r¤   r   rº   r¹   r¦   s      r9   Útest_maxiter_stops_solvez8TestDifferentialEvolutionSolver.test_maxiter_stops_solve¬  sA   € ô -¬U°D·K±KÈÔKˆØ—‘“ˆÜ�V—^‘^ UÔ+Ü�V—^‘^ØIõ	Kr;   c                 ó¤  — t        t        | j                  dd¬«      }|j                  «       }t	        |j
                  d«       t	        |j                  d«       t	        |j                  d«       t        t        | j                  ddd¬«      }|j                  «       }t	        |j
                  d	«       t	        |j                  d«       t	        |j                  d«       t        t        | j                  ddd
d¬«      }|j                  «       }t	        |j
                  d
«       t	        |j                  d«       t	        |j                  d«       y )Nr$   F)Úmaxfunr£   rA   z9Maximum number of function evaluations has been exceeded.ra   é(   )r'   r£   rø   é)   é/   Údeferred)r'   r£   rø   Úupdatingz8Maximum number of function evaluations has been reached.)r   r   r0   r¤   r   Únfevrº   r¹   r¦   s      r9   Útest_maxfun_stops_solvez7TestDifferentialEvolutionSolver.test_maxfun_stops_solveµ  s  € ô -¬U°D·K±KÈØ49ô;ˆà—‘“ˆä�V—[‘[ !Ô$Ü�V—^‘^ UÔ+Ü�V—^‘^ð&ô	'ô -¬UØ-1¯[©[Ø56Ø49Ø46ô	8ˆð
 —‘“ˆä�V—[‘[ "Ô%Ü�V—^‘^ UÔ+Ü�V—^‘^ð&ô	'ô -¬UØ-1¯[©[Ø56Ø49Ø46Ø6@ôBˆð —‘“ˆä�V—[‘[ "Ô%Ü�V—^‘^ UÔ+Ü�V—^‘^ð%õ	&r;   c                 ó¨   — t        | j                  dgd¬«      }|j                  «        t        t	        j
                  |j                  «      d«       y )N©r›   r"   ç{®Gáz”?)Útolr   )r   r1   r¤   r   r+   Úargminr¸   rY   s     r9   Útest_quadraticz.TestDifferentialEvolutionSolver.test_quadraticå  s>   € ä,¨T¯^©^Ø.9¨]Ø15ô7ˆð 	�‰ŒÜ”R—Y‘Y˜v×9Ñ9Ó:¸AÕ>r;   c                 ó8   — t        | j                  dgdd¬«       y )Nr  r  r$   )r  Úseed)r   r1   r>   s    r9   Útest_quadratic_from_diff_evz;TestDifferentialEvolutionSolver.test_quadratic_from_diff_eví  s   € ä˜tŸ~™~Ø +˜}Ø#'Ø$%ö	'r;   c                 óð   — t        | j                  dgddd¬«      }t        | j                  dgddd¬«      }t        |j                  |j                  «       t        |j                  |j                  «       y )Nr  Fr$   r&   )r£   rÁ   r  )r   r1   r   rB   rþ   )r8   re   Úresult2s      r9   Útest_rng_gives_repeatabilityz<TestDifferentialEvolutionSolver.test_rng_gives_repeatabilityô  sf   € Ü'¨¯©Ø)4¨Ø/4Ø,-Ø,/ô	1ˆô
 )¨¯©Ø)4¨Ø/4Ø,-Ø,/ô	1ˆô
 	�V—X‘X˜wŸy™yÔ)Ü�V—[‘[ '§,¡,Õ/r;   c           	      óŽ   — t         j                  j                  «       }g d¢}|D ]  }t        | j                  dgd|d|¬«       Œ  y )N)ÚrandomÚlatinhypercubeÚsobolÚhaltonr  Fr&   )r£   rÁ   r  Úinit)r+   r  Údefault_rngr   r1   )r8   rÁ   Úinitsr  s       r9   Útest_random_generatorz5TestDifferentialEvolutionSolver.test_random_generator  sI   € ô �i‰i×#Ñ#Ó%ˆâ?ˆØò 	.ˆDÜ" 4§>¡>Ø$/ =Ø*/Ø'*Ø'*Ø(,ö.ñ	.r;   c                 ó^   — t        t        | j                  dd¬«      }|j                  «        y )NrD   r$   )rF   r¢   ©r   r   r0   r¤   rY   s     r9   Útest_exp_runsz-TestDifferentialEvolutionSolver.test_exp_runs  s&   € ä,¬UØ-1¯[©[Ø6@Ø56ô8ˆð
 	�‰�r;   c                 ó2   — ddg}t        t        |dd¬«       y )N)éûÿÿÿra   é1   r$   )r'   r¢   )r   r   )r8   r0   s     r9   Útest_gh_4511_regressionz7TestDifferentialEvolutionSolver.test_gh_4511_regression  s   € ð
 ˜7Ð#ˆô 	œu f°bÀ!ÖDr;   c                 ó  — t        t        | j                  d¬«      }|j                  |j                  «       |j                  «        t        t        j                  |j                  «      d«       t        |j                  d«       y )Nr_   ré   r   rb   )r   r   r0   Ú_calculate_population_energiesr7   Ú_promote_lowest_energyr   r+   r  r¸   Ú_nfevrY   s     r9   Ú"test_calculate_population_energieszBTestDifferentialEvolutionSolver.test_calculate_population_energies)  s]   € ä,¬U°D·K±KÈÔKˆØ×-Ñ-¨f×.?Ñ.?Ô@Ø×%Ñ%Ô'Ü”R—Y‘Y˜v×9Ñ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(  sŒ y  y )Nr_   é   )r'   rø   r   rA   é2   )r   r   r0   Únextr   r+   Úsizer  rw   r¼   Ú	enumerate)
r8   rZ   rB   r¥   Ú_Úfun_prevr½   ÚsolnÚ	x_currentÚfun_currents
             r9   Útest_iterationz.TestDifferentialEvolutionSolver.test_iteration3  s¼   € ô -¬U°D·K±KÈØ46ô8ˆä�f“‰ˆˆ3Ü”R—W‘W˜Q “] AÔ&ô 	�V—\‘\ 2Ô&ô 	”m¤T¨6Ô2ô -¬U°D·K±KÓ@ˆÜ˜6“l‰ˆˆ8Ü  Ó(ò 	‰GˆAˆtØ%)Ñ"ˆI�{Ø˜{Ò*Ð*Ð*Ø# [ˆxˆAà�B‹wÙñ	r;   c                 óŽ   — t        t        | j                  dd¬«      }|j                  «        t	        |j
                  dk  «       y )Nçš™™™™™É?F)r  r£   )r   r   r0   r¤   r   rÎ   rY   s     r9   Útest_convergencez0TestDifferentialEvolutionSolver.test_convergenceM  s5   € Ü,¬U°D·K±KÀSØ49ô;ˆà�‰ŒÜ�×"Ñ" SÑ(Õ)r;   c                 ó^   — t        t        | j                  d d ¬«      }|j                  «        y )N)r¢   rø   r  rY   s     r9   Útest_maxiter_none_GH5731z8TestDifferentialEvolutionSolver.test_maxiter_none_GH5731S  s$   € ô
 -¬U°D·K±KÈØ48ô:ˆà�‰�r;   c           	      óè  — t        t        t        gt        | j                  f¢­i ddi¤Ž t        t        | j                  «      }|j                  «        t        |j                  d«       t        t        j                  t        j                  |j                  «      «      «       |j                  «        t        |j                  d«       t        t        j                  t        j                  |j                  «      «      «       |j                  d¬«       t        |j                  d«       t        t        j                  t        j                  |j                  «      «      «       t        t        | j                  d¬«      }|j                  d¬«       t        |j                  d«       t        t        j                  t        j                  |j                  «      «      «       t        j                  dd	d
«      j!                  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&                  |j)                  |«      dd«      }t+        |j,                  d d |«       t+        t        j.                  |j,                  d d «      d«       t+        t        j0                  |j,                  d d «      d«       t        j                  dd	d«      j!                  dd	«      }t        t        t        gt        | j                  f¢­i d|i¤Ž t        j2                  j5                  ddd¬«      }t        t        | j                  |¬«      }t7        |j,                  d   |dz  «       y )Nr  Úrubbishr   r  )Ú
qmc_enginer  )r  rv   r_   r­   ra   rA   rN   ç{®Gáz„?r$   )r  rF   r©   rÁ   r'   )ra   rA   é   r   r   )ÚlowÚhighr%  ©Úx0)rw   rx   r   r   r0   Úinit_population_randomr   r  r   r+   rŸ   Úisinfr¸   Úinit_population_lhsÚinit_population_qmcÚlinspacerê   Únum_population_membersÚpopulation_shapeÚclipr�   r   r7   ÚminÚmaxr  Úuniformr   )r8   rZ   r7   Úunscaled_populationr:  s        r9   Útest_population_initiationz:TestDifferentialEvolutionSolver.test_population_initiation\  sø  € ô
 	”jÜ1ð	-ä˜tŸ{™{Ð+ò	-ð   Ð+ò	-ô
 -¬U°D·K±KÓ@ˆð
 	×%Ñ%Ô'Ü�V—\‘\ 1Ô%Ü”—‘”r—x‘x × :Ñ :Ó;Ó<Ô=à×"Ñ"Ô$Ü�V—\‘\ 1Ô%Ü”—‘”r—x‘x × :Ñ :Ó;Ó<Ô=à×"Ñ"¨hÐ"Ô7Ü�V—\‘\ 1Ô%Ü”—‘”r—x‘x × :Ñ :Ó;Ó<Ô=ä,¬U°D·K±KÀgÔNˆØ×"Ñ"¨gÐ"Ô6Ü�V—\‘\ 1Ô%Ü”—‘”r—x‘x × :Ñ :Ó;Ó<Ô=ô —[‘[  Q¨Ó+×3Ñ3°A°qÓ9ˆ
Ü,¬U°D·K±KØ2<Ø6@Ø26¸AÀqôJˆô
 	�V—\‘\ 1Ô%Ü”—‘”r—x‘x × :Ñ :Ó;Ó<Ô=Ü�×-Ñ-°Ñ2Ô3Ü�×'Ñ'¨6Ñ1Ô2ô !Ÿg™g f×&@Ñ&@ÀÓ&LØ&'¨ó,Ðä˜F×-Ñ-¨b¨qÐ1Ð3FÔGô 	œBŸF™F 6×#4Ñ#4°R°aÐ#8Ó9¸1Ô=ÜœBŸF™F 6×#4Ñ#4°R°aÐ#8Ó9¸1Ô=ô —[‘[  Q¨Ó+×3Ñ3°A°qÓ9ˆ
Ü”jÜ1ð	.ä˜tŸ{™{Ð+ò	.ð   Ð,ò	.ô �Y‰Y×Ñ 3¨S°qÐÓ9ˆÜ,Ü�4—;‘; 2ô
ˆô 	˜×)Ñ)¨!Ñ,¨b°3©hÕ7r;   c                 óà   — t        t        | j                  ddg¬«      }|j                  sJ ‚t	        t
        «      5  t        t        | j                  ddg¬«       d d d «       y # 1 sw Y   y xY w)Nr.  r*   r9  çÍÌÌÌÌÌ @)r   r   r0   rº   rw   rx   )r8   r—   s     r9   Útest_x0z'TestDifferentialEvolutionSolver.test_x0¢  s[   € ä$¤U¨D¯K©K¸SÀ#¸JÔGˆØ�{Š{Ðˆ{ô œ:Ó&ñ 	FÜ"¤5¨$¯+©+¸3À¸*ÕE÷	F÷ 	Fñ 	Fús   ¼A$Á$A-c                 ó.   — d„ }ddg}t        ||d¬«       y )Nc                 ó<   — | d   dk  rt         j                  S | d   S )Nr   r&   r$   )r+   rÄ   r�   s    r9   Úsometimes_infzWTestDifferentialEvolutionSolver.test_infinite_objective_function.<locals>.sometimes_inf®  s   € Ø�‰t�bŠyÜ—v‘v�Ø�Q‘4ˆKr;   r#   F)r0   Údisp)r   )r8   rM  r0   s      r9   Ú test_infinite_objective_functionz@TestDifferentialEvolutionSolver.test_infinite_objective_function«  s   € ò	ð ˜&Ð!ˆÜ˜}°VÀ%ÖHr;   c                 ó(  — ddg}t        t        |d¬«      }t        |j                  dk(  «       t        |j                  j
                  t        u «       |j                  «       }|j                  sJ ‚t        t        |dd¬«      }|j                  sJ ‚y )Nr    rü   )rý   rD   )rý   rF   )
r   r   r   Ú	_updatingÚ_mapwrapperÚ_mapfuncÚmapr¤   rº   r   )r8   r0   rZ   r—   s       r9   Útest_deferred_updatingz6TestDifferentialEvolutionSolver.test_deferred_updatingµ  s€   € à˜HÐ%ˆÜ,¬U°FÀZÔPˆÜ�× Ñ  JÑ.Ô/Ü�×"Ñ"×+Ñ+¬sÐ2Ô3Ø�l‰l‹nˆØ�{Š{Ðˆ{ô %Ü�6 J¸ô
ˆð �{Š{Ð‰{r;   c                 ó4  — ddg}t        t        |«      }t        |j                  dk(  «       t	        t
        «      5  t        t        |d¬«      5 }|j                  «        d d d «       d d d «       j                  dk(  sJ ‚y # 1 sw Y   Œ#xY w# 1 sw Y   Œ'xY w)Nr    Ú	immediaterA   )Úworkersrü   )r   r   r   rQ  r   ÚUserWarningr¤   )r8   r0   rZ   Úss       r9   Útest_immediate_updatingz7TestDifferentialEvolutionSolver.test_immediate_updatingÄ  sŠ   € à˜HÐ%ˆÜ,¬U°FÓ;ˆÜ�× Ñ  KÑ/Ô0ô ”;Óñ 	Ü,¬U°FÀAÔFð È!Ø—‘”÷÷	ð �{‰{˜jÒ(Ð(Ñ(÷ð ú÷	ð 	ús#   ¼BÁBÁ BÂB	ÂBÂBc           	      ó&  — ddg}t        d«      5 }t        t        |d|j                  dd¬«      5 }|j                  j
                  €J ‚|j                  dk(  sJ ‚|j                  «        d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nr    rA   rü   r)   r_   )rý   rX  r  r'   )Ú
ThreadPoolr   r   rT  rR  ÚpoolrQ  r¤   )r8   r0   ÚprZ   s       r9   Útest_parallel_threadsz5TestDifferentialEvolutionSolver.test_parallel_threadsÑ  s‘   € à˜HÐ%ˆä˜‹]ð 	˜aÔ!<Ü�6 J¸¿¹À3ÐPQô"
ð 	àØ×%Ñ%×*Ñ*Ð6Ð6Ð6Ø×#Ñ# zÒ1Ð1Ð1Ø�L‰LŒN÷	÷ 	÷ 	ñ 	ú÷ 	ð 	ús"   � B°:A;Á*BÁ;B	Â BÂBr­   c                 óÒ   — ddg}t        t        |dddd¬«      5 }|j                  j                  €J ‚|j                  dk(  sJ ‚|j                  «        d d d «       y # 1 sw Y   y xY w)Nr    rü   rA   r_   r)   )rý   rX  r'   r  )r   r   rR  r^  rQ  r¤   )r8   r0   rZ   s      r9   Útest_parallel_processesz7TestDifferentialEvolutionSolver.test_parallel_processesÜ  sn   € à˜HÐ%ˆÜ(Ü�6 J¸À1È#ô
ð 	àØ×%Ñ%×*Ñ*Ð6Ð6Ð6Ø×#Ñ# zÒ1Ð1Ð1Ø�L‰LŒN÷	÷ 	ñ 	ús   š:AÁA&c                 óz   — t        t        ddg«      }|j                  «        t        |j	                  «       «       y )NrÀ   )r   r   r¤   r   Ú	convergedrY   s     r9   Útest_convergedz.TestDifferentialEvolutionSolver.test_convergedæ  s-   € Ü,¬U°V¸VÐ4DÓEˆØ�‰ŒÜ�× Ñ Ó"Õ#r;   c                 óX  ‡— d„ }d„ Št        |t        j                   d«      }t        t        ddg|f¬«      }|j                  t        j                  ddg«      «      }t        |d«       t        ‰t        j                   d«      }t        t        ddg||f¬«      }g d	¢}g d
¢}t        ||«      D ]H  \  }}	|j                  t        j                  |«      «      }t        |t        j                  |	«      «       ŒJ t        |j                  t        j                  |«      «      t        j                  |«      «       t        j                  t        j                  |«      D �cg c]  }|j                  |«      ‘Œ c}«      }
|
j                  dk(  sJ ‚ˆfd„}t        |t        j                   d«      }t        t        ddg||fd¬«      }d|_        t        j                  t        d¬«      5  |j                  t        j                  |«      «       d d d «       y c c}w # 1 sw Y   y xY w)Nc                 ó   — | d   | d   z   gS ©Nr   r$   r=   r�   s    r9   Úconstr_fzNTestDifferentialEvolutionSolver.test_constraint_violation_fn.<locals>.constr_fì  ó   € Ø�a‘D˜1˜Q™4‘K�=Ð r;   c                 óZ   — t        j                  | d   dz  | d   z   | d   | d   z
  g«      S ©Nr   rA   r$   ©r+   r.   r�   s    r9   Ú	constr_f2zOTestDifferentialEvolutionSolver.test_constraint_violation_fn.<locals>.constr_f2ï  ó2   € Ü—8‘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   )rI  çÍÌÌÌÌÌ@r   )r   r   r   )r_   r$   r_   c                 ó(   •—  ‰| «      j                   S r¯   )r6   )rB   rn  s    €r9   Ú	constr_f3zOTestDifferentialEvolutionSolver.test_constraint_violation_fn.<locals>.constr_f3  s   ø€ á˜Q“<—>‘>Ð!r;   F)rr  Ú
vectorizedTz#An array returned from a Constraintr‚   )r
   r+   rÄ   r   r   Ú_constraint_violation_fnr.   r   rë   r   r4   rµ   ry  Úpytestr   r†   )r8   ri  ÚnlcrZ   ÚcvÚnlc2ÚxsÚvsrB   r–   Úconstraint_violationrx  rn  s               @r9   Útest_constraint_violation_fnz<TestDifferentialEvolutionSolver.test_constraint_violation_fnë  së  ø€ ò	!ò	;ô " (¬R¯V©V¨G°SÓ9ˆä,¬U°V¸VÐ4DØ:=¸ôAˆð ×,Ñ,¬R¯X©X°s¸C°jÓ-AÓBˆÜ˜B Ô$ä" 9¬r¯v©v¨g°sÓ;ˆÜ,¬U°V¸VÐ4DØ:=¸t¸ôFˆò
 0ˆÚ;ˆä˜˜B“Kò 	2‰DˆAˆqØ×0Ñ0´·±¸!³Ó=ˆBÜ˜B¤§¡¨aÓ 0Õ1ð	2ô
 	Ø×+Ñ+¬B¯H©H°R«LÓ9¼2¿8¹8ÀB»<ô	
ô  "Ÿx™xÜ24·(±(¸2³,ö)@Ø-.ð *0×)HÑ)HÈÕ)Kò )@ó  AÐà#×)Ñ)¨YÒ6Ð6Ð6ô	"ô # 9¬r¯v©v¨g°sÓ;ˆÜ,¬U°V¸VÐ4DØ:=¸t¸Ø8=ô?ˆð !ˆÔÜ�]‰]ÜÐ$Iô
ñ 	:ð ×+Ñ+¬B¯H©H°R«LÔ9÷	:ð 	:ùò)@÷	:ð 	:ús   Å#HÇ-%H È H)c           	      óN  — d„ }d„ }t        |t        j                   d«      }t        t        ddg|f¬«      }|j                  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 �]]  }t        t        ddg||f|d¬«      }|j                  t        j                  ddgddgg«      «      \  }}t        |ddg«       t        |t        j                  g d¢g d¢g«      «       |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 ‚|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(  r�Œ^J ‚ y )Nc                 ó   — | d   | d   z   gS rh  r=   r�   s    r9   ri  zZTestDifferentialEvolutionSolver.test_constraint_population_feasibilities.<locals>.constr_f%  rj  r;   c                 ó4   — | d   dz  | d   z   | d   | d   z
  gS rl  r=   r�   s    r9   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)   rI  )rA   r$   rs  )FTrü   )rr  ry  rý   g333333ã?)r)   r.  r   )r‰   ru  r   )rI  rv  r   )rA   r_   rc   T)r   r   r   )
r
   r+   rÄ   r   r   Ú#_calculate_population_feasibilitiesr.   r   r   rµ   )	r8   ri  rn  r|  rZ   Úfeasr}  r~  Ú	vectorizes	            r9   Ú(test_constraint_population_feasibilitieszHTestDifferentialEvolutionSolver.test_constraint_population_feasibilities$  s  € ò	!ò	1ô " (¬R¯V©V¨G°SÓ9ˆä,¬U°V¸VÐ4DØ:=¸ôAˆð
 ×=Ñ=Ü�H‰H�s˜C�j 2 r (Ð+Ó,ó.‰ˆˆbä�T˜E 5˜>Ô*Ü˜B¤§¡¨3¨%°#°¨Ó 8Ô9Ø�x‰x˜6Ò!Ð!Ð!ä" 9¬r¯v©v¨g°sÓ;ˆà&ó 	&ˆIÜ0´¸ÀÐ8HØ>AÀ4¸[Ø<EØ:DôFˆFð
 ×AÑAÜ—‘˜3 ˜* s¨C jÐ1Ó2ó4‰HˆD�"ä˜  u˜~Ô.Ü ¤B§H¡Hªmº^Ð-LÓ$MÔNà×AÑAÜ—‘˜3 ˜* r¨2 hÐ/Ó0ó2‰HˆD�"ä˜  u˜~Ô.Ü ¤B§H¡Hªmº]Ð-KÓ$LÔMØ—8‘8˜vÒ%Ð%Ð%à×AÑAÜ—‘˜4 ˜,¨¨R¨Ð1Ó2ó4‰HˆD�"ä˜  e˜}Ô-Ü ¤B§H¡HªnºmÐ-LÓ$MÔNØ—8‘8˜vÔ%Ð%Ð%ñ+	&r;   c                 ó  — d„ }t        |t        j                   d«      }t        t        ddg|f¬«      }t        t        «      5  |j                  «       }d d d «        |j                  «      dk  sJ ‚|j                  sJ ‚y # 1 sw Y   Œ/xY w)Nc                 ó@   — t        j                  | d   | d   z   g«      S rh  rm  r�   s    r9   ri  zGTestDifferentialEvolutionSolver.test_constraint_solve.<locals>.constr_fR  ó   € Ü—8‘8˜Q˜q™T A a¡D™[˜MÓ*Ð*r;   rp  rÀ   rq  )
r
   r+   rÄ   r   r   r   rY  r¤   rB   rº   )r8   ri  r|  rZ   r—   s        r9   Útest_constraint_solvez5TestDifferentialEvolutionSolver.test_constraint_solveQ  s„   € ò	+ô " (¬R¯V©V¨G°SÓ9ˆä,¬U°V¸VÐ4DØ:=¸ôAˆô ”;Óñ 	!Ø—,‘,“.ˆC÷	!ñ ˜Ÿ™‹ #Ò%Ð%Ð%Ø�{Š{Ð‰{÷		!ð 	!ús   ÁBÂBc                 óF  — d„ }t        |t        j                   d«      }t        t        ddg|fddd¬«      }t        t        «      5  |j                  «       }d d d «       j                  dkD  sJ ‚|j                  rJ ‚t        t        ddg|fd¬	«      }t        |«       |j                  j                  «       rJ ‚t        j                  |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<   |j#                  «        t%        |j                  d   |«       y # 1 sw Y   �Œ@xY w)Nc                 ó@   — t        j                  | d   | d   z   g«      S rh  rm  r�   s    r9   ri  zLTestDifferentialEvolutionSolver.test_impossible_constraint.<locals>.constr_fc  rŒ  r;   rv   rÀ   r$   r"   )rr  r'   rÁ   r¢   r   F)rr  r£   é   )r
   r+   rÄ   r   r   r   rY  r¤   Úmaxcvrº   r$  ÚfeasiblerŸ   Úisfiniter¸   r�  r7   r  r   )r8   ri  r|  rZ   r—   Úlr}  s          r9   Útest_impossible_constraintz:TestDifferentialEvolutionSolver.test_impossible_constrainta  s•  € ò	+ô " (¬R¯V©V¨G°RÓ8ˆä,Ü�F˜FÐ#°#°ÀÈÐSVô
ˆô ”;Óñ 	!Ø—,‘,“.ˆC÷	!ð �y‰y˜1Š}Ðˆ}Ø—;’;Ðˆô
 -Ü�F˜FÐ#°#°ÀôGˆäˆVŒØ—?‘?×&Ñ&Ô(Ð(Ð(Ü—;‘;˜v×9Ñ9Ó:×>Ñ>Ô@Ð@Ð@ð ˆØ×(Ñ(¨Ñ+ˆà-3×-GÑ-GÈÈAÈÑ-Oˆ×"Ñ" A q 6Ñ*Ø'-×'8Ñ'8¸!¸Q¸Â¸Ñ'Cˆ×Ñ˜1˜a˜&¢!˜)Ñ$à×'Ñ'¨¨A¨²¨	Ñ2ð 	×#Ñ# Q¨ FªA IÑ.ð 	×%Ñ%Ô'Ü�V×0Ñ0°Ñ3°RÕ8÷3	!ñ 	!ús   ÁFÆF 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 ‚y )Nc                 ó   — | d   | d   z   gS rh  r=   r�   s    r9   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.   )r8   ri  r|  rZ   Úfns        r9   Útest_accept_trialz1TestDifferentialEvolutionSolver.test_accept_trial‰  s¨  € ò	!ä! (¬R¯V©V¨G°SÓ9ˆÜ,¬U°V¸VÐ4DØ:=¸ôAˆà×!Ñ!ˆá�#�tœRŸX™X r d›^¨S°$¼¿¹À"À»ÔGÐGÐGÙ�3˜œbŸh™h¨ u›o¨s°D¼"¿(¹(ÀCÀ5»/ÓJÈeÑSÐTÐSÙ�#�tœRŸX™X r d›^¨S°$¼¿¹À"À»ÔGÐGÐGñ �#�tœRŸX™X r d›^¨S°%¼¿¹À2À$»ÔHÐHÐHñ �3˜œrŸx™x¨¨c¨
Ó3Ø˜œrŸx™x¨¨S¨	Ó2ô4ð 	5ð 4á�3˜œrŸx™x¨¨c¨
Ó3Ø˜œrŸx™x¨¨T¨
Ó3ô5ð 	6ð 5á�s˜E¤2§8¡8¨S°#¨JÓ#7Ø˜E¤2§8¡8¨S°#¨JÓ#7ô9ð 	:ð :ð 9r;   c                 ó0  ‡
— t        j                  g d¢«      }t        j                  dt         j                  dg«      }t        j                  g d¢«      }t        t	        ||«      |«      }|j                  |«      dkD  j                  «       sJ ‚|j                  g d¢«      dk(  j                  «       sJ ‚t        j                  dd«      j                  d	d
«      }g }|D ]"  }|j                  |j                  |«      «       Œ$ t         j                  j                  |j                  |j                  «      t        j                  |«      j                  «       t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g«      Š
t        t        ‰
t         j                   d«      |«      }|j                  |«      dkD  j                  «       sJ ‚|j                  g d¢«      dk(  j                  «       sJ ‚t        j                  dd«      j                  dd«      }g }|D ]"  }|j                  |j                  |«      «       Œ$ t         j                  j                  |j                  |j                  «      t        j                  |«      j                  «       t        t        t        ‰
«      t         j                   d«      |«      }|j                  |«      dkD  j                  «       sJ ‚|j                  g d¢«      dk(  j                  «       sJ ‚ˆ
fd„}t!        |t         j                   d«      }	t        |	g d¢«      }|j                  |«      dkD  j                  «       sJ ‚|j                  g d¢«      dk(  j                  «       sJ ‚y )N)r   r�  rŠ   r&   éF   )r$   rA   r_   r   )rc   é   é   r$   é   ra   r_   )r$   rA   r_   r`   )ra   r   r   rb   )r%   r   é   r   )rÚ   rA   rÚ   r`   é   r%   r`   c                 ó&   •— ‰j                  | «      S r¯   )Údot)rB   ÚAs    €r9   r¥   zDTestDifferentialEvolutionSolver.test_constraint_wrapper.<locals>.funÇ  s   ø€ Ø—5‘5˜“8ˆOr;   )r+   r.   rÄ   r   r	   Ú	violationÚanyrŸ   r5   rê   ÚappendÚtestingr   r6   r   r   r
   )r8   ÚlbÚubr:  Úpcr  Ú
violationsrB   r¥   Ú	nonlinearr¤  s             @r9   Útest_constraint_wrapperz7TestDifferentialEvolutionSolver.test_constraint_wrapper£  sÉ  ø€ Ü�X‰X’kÓ"ˆÜ�X‰X�sœBŸF™F BÐ'Ó(ˆÜ�X‰X’iÓ ˆÜ¤ r¨2£°Ó3ˆØ—‘˜RÓ  1Ñ$×)Ñ)Ô+Ð+Ð+Ø—‘š^Ó,°Ñ1×6Ñ6Ô8Ð8Ð8ô �Y‰Y�q˜"Ó×%Ñ% a¨Ó+ˆØˆ
Øò 	/ˆAØ×Ñ˜bŸl™l¨1›oÕ.ð	/ä
�
‰
×"Ñ" 2§<¡<°·±Ó#5´r·x±xÀ
Ó7K×7MÑ7MÔNä�X‰X’lÓ#ˆÜ�H‰H’l¢L²,Ð?Ó@ˆÜÔ 0°´R·V±V°G¸QÓ ?ÀÓDˆØ—‘˜RÓ  1Ñ$×)Ñ)Ô+Ð+Ð+Ø—‘Ò-Ó.°!Ñ3×8Ñ8Ô:Ð:Ð:ô �Y‰Y�q˜"Ó×%Ñ% a¨Ó+ˆØˆ
Øò 	/ˆAØ×Ñ˜bŸl™l¨1›oÕ.ð	/ä
�
‰
×"Ñ" 2§<¡<°·±Ó#5´r·x±xÀ
Ó7K×7MÑ7MÔNäÔ 0´¸1³ÄÇÁ¸wÈÓ JØ "ó$ˆà—‘˜RÓ  1Ñ$×)Ñ)Ô+Ð+Ð+Ø—‘Ò-Ó.°!Ñ3×8Ñ8Ô:Ð:Ð:ô	ô (¨¬b¯f©f¨W°aÓ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        |j                  |«      |«       Œ" t        |j                  t        j                  |«      j                  «      t        j                  |«      j                  «       |j                  t        j                  |«      j                  «      j                  dt        |«      fk(  sJ ‚|j                  t        j                  |«      j                  «      j                  dt        |«      fk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )
Nc                 ó`   — t        j                  | d   dz  | d   z   | d   dz  | d   z
  g«      S rl  rm  r�   s    r9   Úcons_fzQTestDifferentialEvolutionSolver.test_constraint_wrapper_violation.<locals>.cons_fÐ  sA   € ô —8‘8˜Q˜q™T Q™Y¨¨1©Ñ-Ø˜q™T Q™Y¨¨1©Ñ-ð/ó 0ð 0r;   rv   g333333ë¿rA   r&   r$   r   )ro   )r&   rt  )rt  rt  )r)   ç333333ó¿)r)   r   ))r   r   )r   r)   )ru  r   )gR¸…ëQÈ?r   )r5  g=
×£p=ò?)r
   r   r+   r%  r0   rë   r   r¥  r.   r6   r¥   rµ   r·   Ú
num_constrÚparameter_count)r8   r±  r|  r«  r  r€  rB   r–   s           r9   Ú!test_constraint_wrapper_violationzATestDifferentialEvolutionSolver.test_constraint_wrapper_violationÏ  s;  € ò	0ô " &¨2¨w¨-¸!¸Q¸Ó@ˆÜ  c¨1 XÓ.ˆÜ�w‰w�r—y‘y ‘|Ó$¨Ò)Ð)Ð)âHˆÚCˆä˜˜B“Kò 	0‰DˆAˆqÜ˜BŸL™L¨›O¨QÕ/ð	0ô 	˜Ÿ™¤R§X¡X¨b£\§^¡^Ó4ÜŸ™ ›Ÿ™ô	(à�v‰v”b—h‘h˜r“l—n‘nÓ%×+Ñ+°´3°r³7¨|Ò;Ð;Ð;Ø�|‰|œBŸH™H R›LŸN™NÓ+×1Ñ1°a¼¸R»°\ÒAÐAÐAØ�}‰} Ò!Ð!Ð!Ø×!Ñ! QÒ&Ð&Ñ&r;   c                 óæ  — t        j                  «       5  t        j                  dt        «       t	        j
                  g d¢g d¢g«      }d d d «       t        dd«      }t	        j                  d«      }t        ||«      }|j                  |«      j                  dk(  sJ ‚t	        j                  d«      j                  dd	«      }|j                  |«      j                  d
k(  sJ ‚y # 1 sw Y   Œ�xY w)NÚignore)r$   r$   r$   r“   )rA   rA   rA   r   r   r$   r`   )rA   r�  ra   )rA   ra   )ÚwarningsÚcatch_warningsÚsimplefilterÚPendingDeprecationWarningr+   Úmatrixr   Úonesr   r¥  rµ   r5   rê   )r8   r¼  Úlcr:  ÚcwÚxtrials         r9   Útest_matrix_linear_constraintz=TestDifferentialEvolutionSolver.test_matrix_linear_constraintë  sÐ   € ô ×$Ñ$Ó&ñ 	0Ü×!Ñ! (Ô,EÔFÜ—Y‘Y¢Ú -ð /ó 0ˆF÷	0ô ˜f a¨Ó+ˆÜ�W‰W�Q‹ZˆÜ  BÓ'ˆð �|‰|˜BÓ×%Ñ%¨Ò-Ð-Ð-ô —‘˜5Ó!×)Ñ)¨!¨QÓ/ˆØ�|‰|˜FÓ#×)Ñ)¨VÒ3Ð3Ñ3÷	0ð 	0ús   •6C'Ã'C0r�  c           
      óä	  — 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        j                  «       5  t        j                   d*t"        «       t        ||dd%|dd&¬«      }d d d «       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  «      «       y # 1 sw Y   ŒòxY w)+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   ra   r$   )r+   Úhstackr€   ©rB   r¥   s     r9   Úfz2TestDifferentialEvolutionSolver.test_L1.<locals>.f  s_   € Ü—	‘	˜A˜3 ˜(Ó#ˆAÜ—&‘&˜˜1˜Q˜q˜6™Ó" Q q¨¨1 v¡X¨a°°!¨f¡_Ñ4´r·v±v¸aÀÀ¸e³}ÑDˆCØˆJr;   )r­   é   )rA   rA   r$   r$   r$   )r$   rA   r­   é   )éøÿÿÿr$   rA   r­   )r…   rv   r$   r_   )r`   ra   r­   r`   )r$   r_   r­   rÈ  ra   rÈ  rb   )rb   r%   rÈ  r%   )rA   r_   rÈ  r"  r   r"  é	   )r   rÊ  r"  )	r­   r   r   r­   r   r   r­   r   r   r#   r!   rH   i90  r5  ©rF   rÁ   rr  r'   r  )r$   r$   r$   r$   r$   r$   r$   r$   r$   r_   r_   r_   r$   iñÿÿÿga2U0*©C?©r©   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   rA   r_   rÈ  r"  rÉ  ©r+   rÄ  r�   s    r9   Úc1z3TestDifferentialEvolutionSolver.test_L1.<locals>.c1A  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                 óZ   — t        j                  dg| f«      } d| d   z  | d   z
  | d   z   S )Nr   r…   r   rÊ  r"  rÎ  r�   s    r9   Úc2z3TestDifferentialEvolutionSolver.test_L1.<locals>.c2F  s5   € Ü—	‘	˜A˜3 ˜(Ó#ˆAØ�a˜‘d‘7˜Q˜q™T‘> A b¡EÑ)Ð)r;   r·  )r+   Úzerosr.   r   rÄ   r   r   rº   rB   r¥   r   rŸ   r   r
   r¸  r¹  rº  rY  )r8   rÆ  r¤  ÚbÚLr0   r—   Úx_optÚf_optrÏ  rÑ  ÚL2ÚNÚN2rr  s                  r9   Útest_L1z'TestDifferentialEvolutionSolver.test_L1þ  s1  € ò	ô
 �H‰H�XÓˆØ)ˆˆ!Š^Ð
ÑØˆˆ!ˆa�ˆWˆ*‰Ø$ˆˆ!ŠZˆ-ÑØ)ˆˆ!Š^Ð
ÑØˆˆ!ˆa�ˆWˆ*‰Ø$ˆˆ!ŠZˆ-ÑØ)ˆˆ!Š^Ð
ÑØˆˆ!ˆa�ˆWˆ*‰Ø$ˆˆ!ŠZˆ-ÑØˆa‰b�!‘"ˆf‰Iˆä�H‰HÒ3Ó4ˆä˜Q¤§¡ ¨Ó+ˆà�˜!‘˜x˜j¨™lÑ*¨f¨XÑ5ˆô %Øˆv 
°ÀAÀ4Ø˜4ô
ˆð
 8ˆØˆä™˜%› %¨dÕ3Ø�{Š{Ðˆ{Ü˜Ÿ™˜u¨4Õ0Ü˜Ÿ™ ¨TÕ2Ü”—‘�q˜Ÿ™‘w !‘|Ó$Ô%Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8ô œY q›\¬B¯F©F¨7°AÓ6ˆô %Øˆv 
°ÀaÀTØ˜4ô
ˆô
 	™˜%› %Ô(Ø�{Š{Ðˆ{Ü˜Ÿ™˜u¨4Õ0Ü˜Ÿ™ ¨TÕ2Ü”—‘�q˜Ÿ™‘w !‘|Ó$Ô%Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8ò
	%ò
	*ô ˜Q˜r ˜r¢1˜u™X¬¯© w°°"°1°Ó6ˆÜ˜a  ! ¢Q ™i¬"¯&©&¨°!°A°a°&Ó9ˆÜ ¤R§V¡V G¨Q¨q°¨VÓ4ˆÜ  ¤b§f¡f W¨a°°!¨fÓ5ˆØ˜!˜R �nˆä×$Ñ$Ó&ñ 	Ü×!Ñ! (¬KÔ8Ü(Ø�6 J°GØ'°¸ôˆC÷	ô 	˜Ÿ™˜u¨4Õ0Ü˜Ÿ™ ¨TÕ2Ü”—‘�q˜Ÿ™‘w !‘|Ó$Ô%Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ8÷	ð 	ús   Ï-S&Ó&S/c           	      ó>  — d„ }d„ }t        |dt        j                  «      }dgdz  }|}t        j                  «       5  t        j
                  dt        «       t        ||dd|¬	«      }d d d «       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  «      «       y # 1 sw Y   �Œ+xY w)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­   rA   ra   r"  r_   r`   rÈ  rb   r%   r   rÎ  rÅ  s     r9   rÆ  z2TestDifferentialEvolutionSolver.test_L2.<locals>.fa  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   é   rA   r$   r_   r`   ra   éÄ   é   rb   r   r%   i  r­   éüÿÿÿrÈ  rÎ  r�   s    r9   rÏ  z3TestDifferentialEvolutionSolver.test_L2.<locals>.c1h  sF  € Ü—	‘	˜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%   r·  rH   éÒ  ©rF   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¹  rº  rY  r   r   r¥   rB   rº   r   rŸ   r.   )	r8   rÆ  rÏ  rØ  r0   rr  r—   rÖ  rÕ  s	            r9   Útest_L2z'TestDifferentialEvolutionSolver.test_L2]  sB  € ò	ò	&ô    A¤r§v¡vÓ.ˆØ�˜Q‘ˆØˆä×$Ñ$Ó&ñ 	LÜ×!Ñ! (¬KÔ8Ü(¨¨F¸ZØ-1¸{ôLˆC÷	Lð
 "ˆð1ˆô 	™˜%› %Ô(Ü˜Ÿ™ Ô'Ü˜Ÿ™˜u¨4Õ0Ø�{Š{Ðˆ{Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨aÑ/Ó0Ô1Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ8÷	Lñ 	Lús   ¾+FÆF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        j                  «       5  t        j                  dt        «       t        ||d|d	¬«      }	d d d «       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  «      «       y # 1 sw Y   �Œ]xY w)Nc                 ór  — 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$   rA   rÇ  rŸ  r_   r­   r`   ra   rb   r%   r   rÈ  rÊ  é-   rÎ  rÅ  s     r9   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$   rA   r%   r   )rÚ   r   é   r…   rA   )r   r…   r  rA   r_   )r$   rA   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$   rb   rA   r"  rÊ  r   r%   r­   rá   r`   éx   rÇ  ra   r  rù   ç      à¿rŠ   rÎ  r�   s    r9   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â  )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¹  rº  rY  r   r   rB   r¥   rº   r   rŸ   ©r8   rÆ  r¤  rÓ  rÏ  rÔ  rØ  r0   rr  r—   rÕ  rÖ  s               r9   Útest_L3z'TestDifferentialEvolutionSolver.test_L3…  sÑ  € ò	ô �H‰H�WÓˆØ*ˆˆ!Š\ˆ/ÑØ+ˆˆ!Š\ˆ/ÑØ*ˆˆ!Š]Ð
ÑØˆa‰b�!‘"ˆf‰IˆÜ�H‰H’^Ó$ˆò	Nô ˜Q ¤2§6¡6Ó*ˆÜ  A¤r§v¡vÓ.ˆØ�˜R‘ˆØ˜!�fˆä×$Ñ$Ó&ñ 	MÜ×!Ñ! (¬KÔ8Ü(¨¨F¸Ø5@È!ôMˆC÷	Mð
Cˆàˆä™˜%› %¨dÕ3Ü˜Ÿ™˜u¨4Õ0Ü˜Ÿ™ ¨TÕ2Ø�{Š{Ðˆ{Ü”—‘�q˜3Ÿ5™5‘y A‘~Ó&Ô'Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨aÑ/Ó0Ô1Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ8÷!	Mñ 	Mús   Â-+H3È3H=c           
      ód  — 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        j                  «       5  t        j                  dt        «       t        ||dd|dd¬«      }	d d d «       d}
g d¢}t         ||«      |
d¬«       t        	j                  |
d¬«       t        j                  «       dk(  rJt        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  «      «       y # 1 sw Y   �ŒÁxY w)#Nc                 ó2   — t        j                  | d d «      S )Nr_   ©r+   r€   r�   s    r9   rÆ  z2TestDifferentialEvolutionSolver.test_L4.<locals>.f»  s   € Ü—6‘6˜!˜B˜Q˜%“=Ð r;   )r`   rÊ  )ç{®Gázd?ró  r$   r`   rb   )ró  ró  g{®Gázd¿rA   )ra   r%   r`   )r5  g{®Gáz„¿r_   r   ra   )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$   rb   g!ê> ©
Š@r`   r"   gÙÎ÷SUXô@rA   r%   iâ  ra   r_   r   iÐ iÄ	  rÎ  r�   s    r9   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ö  r·  rH   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?)rª   r©   gñhãˆµøÔ>ga2U0*©c?)r+   rÒ  r.   r   rÄ   r
   r¸  r¹  rº  rY  r   r   r¥   ÚplatformÚsystemrè   ÚintpÚitemsizerB   rº   r   rŸ   )r8   rÆ  r¤  rÓ  rÏ  rÔ  rØ  r0   rr  r—   rÖ  rÕ  s               r9   Útest_L4z'TestDifferentialEvolutionSolver.test_L4¸  s.  € ò	!ô �H‰H�VÓˆØ%ˆˆ!ˆa�ˆVˆ)‰Ø1ˆˆ!ŠYˆ,‰Ø"ˆˆ!ˆa�ˆVˆ)‰Øˆa‰b�!‘"ˆf‰IˆÜ�H‰H’YÓˆò	Aô ˜Q¤§¡ ¨Ó+ˆÜ  A¤r§v¡vÓ.ˆà� = /°!Ñ"3Ñ3°z°lÀ1±nÑDˆØ˜!�fˆä×$Ñ$Ó&ñ 	Ü×!Ñ! (¬KÔ8Ü(Ø�6 J°DØ'°¸ôˆC÷	ð ˆò2ˆô 	™˜%› %¨eÕ4Ü˜Ÿ™ ¨UÕ3ô �O‰OÓ Ò*¬r¯x©x¼¿¹Ó/@×/IÑ/IÈAÒ/MÜ˜CŸE™E 5¨v¸FÖCô ˜CŸE™E 5¨t¸&ÕAà�{Š{Ðˆ{Ü”—‘�q˜3Ÿ5™5‘y A‘~Ó&Ô'Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨aÑ/Ó0Ô1Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ8÷5	ñ 	ús   Â9-J%Ê%J/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  «      «       y )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   rA   r$   r_   )r+   rÄ  ÚsinÚpirÅ  s     r9   rÆ  z2TestDifferentialEvolutionSolver.test_L5.<locals>.fñ  s   € Ü—	‘	˜A˜3 ˜(Ó#ˆAÜ—6‘6˜!œBŸE™E™' ! A¡$™,Ó'¨Ñ*¬2¯6©6°!´B·E±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$   rA   r`   rÎ  r�   s    r9   rÏ  z3TestDifferentialEvolutionSolver.test_L5.<locals>.c1÷  sT   € Ü—	‘	˜A˜3 ˜(Ó#ˆAØ�a‘D˜!‘G˜a ™d‘N QÑ&Ø˜˜!™‘H  !¡ Q¡¨™{Ñ*ð,ð ,r;   r   ©r   r­   rA   rI   râ  rã  )g­ÌJIÅ¥ó?gUÖ(Cû@gœ¢#¹ü‡¸¿gñhãˆµøô>rÌ  ç-Cëâ6?r$   )r
   r+   rÄ   r   r   r¥   rº   r   rŸ   r.   rB   ©	r8   rÆ  rÏ  rØ  r0   rr  r—   rÕ  rÖ  s	            r9   Útest_L5z'TestDifferentialEvolutionSolver.test_L5í  sþ   € ò	ò	,ô
   ¤R§V¡V G¨QÓ/ˆØ�˜1‘ˆØˆä$ Q¨¸ÈØ1<ô>ˆð )ˆØˆÜ™˜%› %¨dÕ3Ü˜Ÿ™ ¨TÕ2Ø�{Š{Ðˆ{Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨aÑ/Ó0Ô1Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ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  «      «       y )Nc                 ód   — t        j                  dg| f«      } | d   dz
  dz  | d   dz
  dz  z   }|S )Nr   r$   r­   r_   rA   r�  rÎ  rÅ  s     r9   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$   ra   rA   r"   rb   g¤p=
×³T@rÎ  r�   s    r9   rÏ  z3TestDifferentialEvolutionSolver.test_L6.<locals>.c1  sl   € Ü—	‘	˜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!   rI   râ  gH¯¼šò×z>)rF   rÁ   rr  r  )gq=
×£0,@gÓÁú?‡ùê?g�“Ð1»Àrí  rÌ  r÷  r  r$   )r
   r+   rÄ   r   r   r¥   rB   rº   r   rŸ   r.   r  s	            r9   Útest_L6z'TestDifferentialEvolutionSolver.test_L6  s  € ò	ò
	:ô
    A¤r§v¡vÓ.ˆØ˜XÐ&ˆØˆÜ$ Q¨¸ÈØ1<À$ôHˆà!ˆØˆä™˜%› %¨dÕ3Ü˜Ÿ™ ¨UÕ3Ü˜Ÿ™˜u¨4Õ0Ø�{Š{Ðˆ{Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨aÑ/Ó0Ô1Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ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  «      «       y )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_   rA   g"õC÷½ê?r$   ra   g´tÛˆ¥B@g˜nƒëã@rÎ  rÅ  s     r9   rÆ  z2TestDifferentialEvolutionSolver.test_L7.<locals>.f+  s[   € Ü—	‘	˜A˜3 ˜(Ó#ˆAØ˜Q˜q™T 1™WÑ$ y°°1±¡~°a¸±dÑ':Ñ:Ø˜Q˜q™T‘>ñ"Ø$-ñ.ˆCàˆJr;   c                 óD  — 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?rA   ra   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    r9   rÏ  z3TestDifferentialEvolutionSolver.test_L7.<locals>.c11  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_   rI   râ  rã  )gqÞÅ €S@gä] €@@gÉË»fÉþ=@gÐ:‘ýÿF@g—%ShMcB@gCŽ­gbòÝÀr÷  rÌ  r   r$   )
r
   r   r   rB   r¥   rº   r   r+   rŸ   r.   r  s	            r9   Útest_L7z'TestDifferentialEvolutionSolver.test_L7)  sK  € ò	ò	ô   ¢K²Ó?ˆà˜XÐ&¨(¨°A©Ñ5ˆØˆä$ Q¨¸ÈØ1<ô>ˆò
ˆð ˆä™˜%› %Ô(Ü˜Ÿ™˜u¨4Õ0Ü˜Ÿ™ ¨TÕ2à�{Š{Ðˆ{Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¬b¯h©h²{Ó.CÑCÓDÔEÜ”—‘”r—x‘x¡ 3§5¡5£	Ó*¬b¯h©h²}Ó.EÑEÓFÔGÜ”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ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        j                  «       5  t        j                  dt        «       t        ||dd|d¬«      }	d d d «       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  «      «       y # 1 sw Y   �ŒÅxY w)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í  rA   g’ò€Ÿ^¦>rÎ  rÅ  s     r9   rÆ  z2TestDifferentialEvolutionSolver.test_L8.<locals>.f[  sY   € Ü—	‘	˜A˜3 ˜(Ó#ˆAØ�A�a‘D‘&˜8 A a¡D¨!¡GÑ+Ñ+¨a°°!±©fÑ4°zÀ!ÀAÁ$ÈÁ'Ñ7IÑIˆCØˆJr;   )r_   ra   )r$   rv   r$   r`   r_   rA   çš™™™™™á¿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_   rc   r`   gfffffö‹@r$   rA   g33333;”@)r+   rÄ  r   r�   s    r9   rÏ  z3TestDifferentialEvolutionSolver.test_L8.<locals>.c1f  s   € Ü—	‘	˜A˜3 ˜(Ó#ˆAàœŸ™  1¡  d¡
Ó+Ñ+¨d´2·6±6¸1¸Q¹4¸%À¹*Ó3EÑ.EÑEØñØ˜a™Dñ!àœŸ™  !¡ T¡	Ó*Ñ*¨T´"·&±&¸¸1¹¸aÀ¹d¹À4¹Ó2HÑ-HÑHØñØ˜a™Dñ!àœŸ™  !¡ T¡	Ó*Ñ*¨T´"·&±&¸¸1¹¸aÀ¹d¹À4¹Ó2HÑ-HÑHØñðð r;   çü©ñÒMbP¿r÷  )r   i°  )r  gš™™™™™á?r·  rH   râ  iˆ  )rF   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¹  rº  rY  r   r   rB   r¥   rº   r   rŸ   rî  s               r9   Útest_L8z'TestDifferentialEvolutionSolver.test_L8W  s6  € ò	ô
 �H‰H�VÓˆØˆˆ!ˆa�ˆVˆ)‰Øˆˆ!ˆa�ˆVˆ)‰Øˆa‰b�!‘"ˆf‰IˆÜ�H‰H�d˜D�\Ó"ˆò		ô ˜Q ¤2§6¡6Ó*ˆÜ ¤B§G¡G¨A¨vÓ$6¼¿¹ÀÀ5Ó8IÓJˆà�˜Q‘ ˜}¨Q™Ñ.ˆØ˜!�fˆä×$Ñ$Ó&ñ 	7Ü×!Ñ! (¬KÔ8ô )¨¨F¸ZØ-1¸{Ø15ô7ˆC÷	7ð <ˆØˆä™˜%› %¨dÕ3Ü˜Ÿ™˜b˜q˜	 5¨¨! 9°4Õ8Ü˜Ÿ™˜a˜b˜	 5¨¨ 9°4Õ8Ü˜Ÿ™ ¨TÕ2Ø�{Š{Ðˆ{Ü”—‘�q˜Ÿ™‘w !‘|Ó$Ô%Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨fÑ4Ó5Ô6Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨eÑ3Ó4Ô5Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ8÷+	7ñ 	7ús   Ã,J4Ê4J>ra   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  «      «       y )Nc                 óZ   — t        j                  dg| f«      } | d   dz  | d   dz
  dz  z   S )Nr   r$   rA   rÎ  r�   s    r9   rÆ  z2TestDifferentialEvolutionSolver.test_L9.<locals>.f‘  s5   € Ü—	‘	˜A˜3 ˜(Ó#ˆAØ�Q‘4˜‘7˜a ™d 1™f q™[Ñ(Ð(r;   c                 óP   — t        j                  dg| f«      } | d   | d   dz  z
  gS rl  rÎ  r�   s    r9   rÏ  z3TestDifferentialEvolutionSolver.test_L9.<locals>.c1•  s/   € Ü—	‘	˜A˜3 ˜(Ó#ˆAØ�a‘D˜1˜Q™4 ™7‘NÐ#Ð#r;   r  r÷  ru   rA   rI   râ  rã  r&   g      è?rÌ  r   r$   )r
   r   r+   Úsqrtr   ÚabsrB   r¥   rº   r   rŸ   r.   r  s	            r9   Útest_L9z'TestDifferentialEvolutionSolver.test_L9�  sJ  € ò	)ò	$ô    U G¨e¨WÓ5ˆà�˜1‘ˆØˆÜ$ Q¨¸ÈØ1<ô>ˆô —‘˜“˜A‘˜sÐ#ˆØˆä™˜%› %Ô(ÜœŸ™˜sŸu™u› u°4Õ8Ü˜Ÿ™ ¨TÕ2Ø�{Š{Ðˆ{Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨fÑ4Ó5Ô6Ü”—‘”r—x‘x¡ 3§5¡5£	Ó*¨eÑ3Ó4Ô5Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Ô8Ü”—‘�s—u‘u¤§¡¨Ó 0²°A°Ñ 6Ñ6Ó7Õ8r;   c                 ó  ‡— t         j                  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 ‚y )Nl   ¹bà	¸)ra   r&   rõ  )r%  Úrandom_statec                 óÈ   — |\  }}t        j                   |j                  |g| ¢­Ž «      j                  d¬«       }t        j                  |«      rt         j
                  }|S )Nrv   ©Úaxis)r+   ÚlogÚpmfr€   ÚisnanrÄ   )r_  rÝ   ÚdistrB   Úlls        r9   r{   z>TestDifferentialEvolutionSolver.test_integrality.<locals>.func´  sQ   € Ø‰GˆD�!ä—&‘&˜˜Ÿ™ !˜ ašÓ)×-Ñ-°2Ð-Ó6Ð6ˆBÜ�x‰x˜Œ|Ü—V‘V�ØˆIr;   TF)r$   é   )r   gffffffî?)rÝ   Úintegralityr£   rÁ   r   ra   gš™™™™™™?)rª   c                 óT   •— |\  }}} ‰t        j                  || d   g«      ||«      S )Nr   rm  )r_  rÝ   Únr/  rB   r{   s        €r9   Úfunc2z?TestDifferentialEvolutionSolver.test_integrality.<locals>.func2Ì  s.   ø€ Ø‰JˆAˆt�QÙœŸ™ ! Q q¡T Ó+¨T°1Ó5Ð5r;   r$   )rÝ   r0   )r+   r  r  r   ÚnbinomÚrvsr   rB   r   r   r¥   )r8   rÁ   r/  ÚshapesrB   r2  r0   r—   Úres2r5  ÚLBFGSBr{   s              @r9   Útest_integralityz0TestDifferentialEvolutionSolver.test_integrality¬  s  ø€ ô �i‰i×#Ñ# MÓ2ˆÜ�|‰|ˆØˆØˆD�H‰H�f 5°sÒ;ˆò	ð ˜U�mˆØ˜9Ð%ˆä$ T¨6¸¸q¸	Ø1<ÀUØ),ô.ˆð
 �u‰u�Q‰x˜1Š}Ðˆ}Ü˜Ÿ™˜v¨EÕ2ô & d¨F¸$À¸Ø2=ÀdØ*-ô/ˆô	6ô ˜% §¡¨¡°!°T¸1°Ø"+ ô.ˆä˜Ÿ™˜q™	 6§8¡8Ô,Ø�x‰x˜3Ÿ7™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 «       y # 1 sw Y   y xY w)Nc                 ó   — | S r¯   r=   r�   s    r9   rÆ  zBTestDifferentialEvolutionSolver.test_integrality_limits.<locals>.fÚ  s   € ØˆHr;   )TFT))r.  rš   ©rœ   çš™™™™™@)çffffff
@çš™™™™™@F)r0   r£   r2  r   )r.  rœ   r@  r$   )rš   r?  rA  )r&   rœ   g      @)g      ø?r?  ç      @))r²  gÍÌÌÌÌÌì¿r>  )gš™™™™™$Àgffffff@)g      ø¿rœ   ç      %À)rì  r?  rB  )ç      ð¿r“   g      $À)rD  r   g      @))çffffff$Àg333333 Àr>  ©gÍÌÌÌÌÌ%ÀgrŠŽäòÿ#À)rC  rœ   rC  )g      !Àr?  g      #À))rE  g333333$Àr>  rF  zOne of the integralityr‚   )r   r   r/   r   r2  r£   r+   Úroundr{  r   rx   )r8   rÆ  r2  r0   rZ   s        r9   Útest_integrality_limitsz7TestDifferentialEvolutionSolver.test_integrality_limitsÙ  s«  € ò	ò *ˆÚ5ˆô -¨Q°vÀeØ9>ô@ˆä˜Ÿ™ aÑ(ª/Ô:Ü˜Ÿ™ aÑ(ª/Ô:ô -¨Q°vÀeØ9DôFˆä˜Ÿ™ aÑ(ª/Ô:Ü˜Ÿ™ aÑ(ª/Ô:Ü�V×'Ñ'Ò)<Ô=Ø�}‰} Ñ%Ð%Ð%â9ˆÜ,¨Q°vÀeØ9DôFˆä˜Ÿ™ aÑ(Ò*<Ô=Ü˜Ÿ™ aÑ(Ò*:Ô;ô 	œŸ™ §¡¨qÑ!1Ó2Ò4FÔGÜœŸ™ §¡¨qÑ!1Ó2Ò4DÔEâ>ˆÜ,¨Q°vÀeØ9DôFˆä˜Ÿ™ aÑ(Ò*=Ô>Ü˜Ÿ™ aÑ(Ò*;Ô<â?ˆÜ�]‰]œ:Ð-EÔFñ 	AÜ'¨°&ÀØ4?õA÷	A÷ 	Añ 	Aús   ÇG$Ç$G-c                 ó¤  ‡— d„ }d„ }t        j                  t        d¬«      5  t        || j                  dd¬«       d d d «       t        t        d¬«      5  t        || j                  d¬	«       d d d «       t        t        d
¬«      5  t        || j                  dt        d¬«       d d d «       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 ‚y # 1 sw Y   ŒòxY w# 1 sw Y   ŒÌxY w# 1 sw Y   Œ xY w)Nc                 ó2   — t        j                  | dz  «      S r   rò  r�   s    r9   r1   zBTestDifferentialEvolutionSolver.test_vectorized.<locals>.quadratic  s   € Ü—6‘6˜!˜Q™$“<Ðr;   c                 ó6   — t        j                  | dz  d¬«      S )NrA   r   r*  rò  r�   s    r9   Úquadratic_veczFTestDifferentialEvolutionSolver.test_vectorized.<locals>.quadratic_vec  s   € Ü—6‘6˜!˜Q™$ QÔ'Ð'r;   zThe vectorized functionr‚   Trü   )ry  rý   z#differential_evolution: the 'vector)ry  z$differential_evolution: the 'workers)ry  rX  rý   r   c                 ó4   •— ‰dxx   dz  cc<   t        | «      S rh  )r   )rB   Úncallss    €r9   Ú	rosen_veczBTestDifferentialEvolutionSolver.test_vectorized.<locals>.rosen_vec   s   ø€ Ø�1‹I˜‰N‹IÜ˜“8ˆOr;   r  r$   )rý   rÁ   )ry  rý   rÁ   )r{  r   r†   r   r0   r   rY  rT  r   r   rB   rþ   r²   )r8   r1   rL  rO  r0   Úres1r9  rN  s          @r9   Útest_vectorizedz/TestDifferentialEvolutionSolver.test_vectorized  s?  ø€ ò	 ò	(ô �]‰]œ<Ð/HÔIñ 	IÜ" 9¨d¯k©kØ.2¸ZõI÷	Iô
 ”;Ð&KÔLñ 	4Ü" =°$·+±+Ø.2õ4÷	4ô
 ”;Ð&LÔMñ 	8Ü" =°$·+±+Ø.2¼CØ,6õ8÷	8ð
 �ˆô	ð ˜7Ð#ˆÜ%¤e¨V¸jØ*+ô-ˆä% i°ÀDØ/9¸qôBˆô 	˜Ÿ™ §¡Ô'Ø�a‰y˜DŸI™IÒ%Ð%Ð%Ø�x‰x˜4Ÿ8™8Ò#Ð#Ñ#÷=	Ið 	Iú÷
	4ð 	4ú÷
	8ð 	8ús#   £D.ÁD:ÂEÄ.D7Ä:EÅE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                  «       y )Nc                 ó@   — t        j                  | d   | d   z   g«      S rh  rm  r�   s    r9   ri  zMTestDifferentialEvolutionSolver.test_vectorized_constraints.<locals>.constr_f0  rŒ  r;   c                 óZ   — t        j                  | d   dz  | d   z   | d   | d   z
  g«      S rl  rm  r�   s    r9   rn  zNTestDifferentialEvolutionSolver.test_vectorized_constraints.<locals>.constr_f23  ro  r;   rp  )rœ   r&   r’   c                 óp   — d| dd  | d d dz  z
  dz  z  }|d| d d z
  dz  z  }t        j                  |«      S )Nr"   r$   rv   r   )r+   Úsqueeze)rB   r–   s     r9   rO  zNTestDifferentialEvolutionSolver.test_vectorized_constraints.<locals>.rosen_vec9  sM   € à�q˜˜�u˜q  "˜v s™{Ñ*¨SÑ0Ñ0ˆAØ�!�a˜˜�f‘*˜sÑ"Ñ"ˆAÜ—:‘:˜a“=Ð r;   r  rü   r$   F)rý   rÁ   rr  r£   T)ry  rý   rÁ   rr  r£   )r
   r+   rÄ   r   r   r   rB   )	r8   ri  rn  Únlc1r~  rO  r0   rP  r9  s	            r9   Útest_vectorized_constraintsz;TestDifferentialEvolutionSolver.test_vectorized_constraints/  s’   € ò	+ò	;ô # 8¬b¯f©f¨W°cÓ:ˆÜ" 9¨j¸*ÓEˆò	!ð ˜7Ð#ˆä%¤e¨V¸jØ*+¸$À¸Ø-2ô4ˆô & i°ÀDØ/9¸qØ37¸°,Ø-2ô4ˆô
 	˜Ÿ™ §¡Õ'r;   c                 ó  ‡‡— t        | j                  «      Šˆfd„Šd ‰_        t        t        | j                  ‰dd¬«      }t        t        | j                  ddd¬«      }|j
                  €J ‚t        |j                  t        j                  ‰«      d¬«       |j                  ‰j                  j                  k(  sJ ‚|j                  |j                  k7  sJ ‚ˆfd„}t        t        d	¬
«      5  t        t        | j                  |d¬«       d d d «       d„ Št        j                  j                  d«      }t        t        | j                  d|d¬«      }t        t        |j                  | j                  d¬«      }t        j                  j                  d«      }t        t        | j                  ‰|d¬«      }t        |j                  |j                  «       t        |j                  |j                  «       y # 1 sw Y   ŒîxY w)Nc                 óN   •— t        | |ft        ddœ|¤Ž‰_        ‰j                  S )Nztrust-constr)ÚjacÚmethod)r   r   r—   )r¥   rB   ÚkwdsÚpfs      €r9   r^  z@TestDifferentialEvolutionSolver.test_polish_function.<locals>.pfO  s&   ø€ Ü˜c 1ÐS¬)¸NÑSÈdÑSˆBŒFØ—6‘6ˆMr;   r$   r   )r£   r¢   rÁ   Trí  rÌ  c                 óp   •— d|v sJ ‚t        |d   t        «      sJ ‚d|v sJ ‚t        j                  ‰«      S )Nr0   rr  )r»   r	   r+   r½  )r{   rB   r]  rØ  s      €r9   Údummy_pfzFTestDifferentialEvolutionSolver.test_polish_function.<locals>.dummy_pf`  sA   ø€ Ø˜tÑ#Ð#Ð#Ü˜d 8™n¬fÔ5Ð5Ð5Ø  DÑ(Ð(Ð(Ü—7‘7˜1“:Ðr;   z(The result from a user defined polishingr‚   )r£   r¢   c                 ó    — t        | |fddi|¤ŽS )Nr\  úL-BFGS-B)r   )r{   rB   r]  s      r9   r^  z@TestDifferentialEvolutionSolver.test_polish_function.<locals>.pft  s   € Ü˜D !Ñ?¨JÐ?¸$Ñ?Ð?r;   l   Ñõ-g F)r£   rÁ   r¢   rb  )r0   r\  )r·   r0   r—   r   r   r[  r   rB   r+   r½  r¥   rw   rx   r  r  r   )r8   r—   r¾   r`  rÁ   r9  rØ  r^  s         @@r9   Útest_polish_functionz4TestDifferentialEvolutionSolver.test_polish_functionK  s�  ù€ ä�—‘Óˆô	ð ˆŒä$¤U¨D¯K©KÀÈAÐSTÔUˆÜ$¤U¨D¯K©KÀÈaÐUVÔWˆð
 �w‰wÐ"Ð"Ð"Ü˜Ÿ™œrŸw™w q›z°Õ5à�w‰w˜"Ÿ&™&Ÿ*™*Ò$Ð$Ð$Ø�w‰w˜#Ÿ'™'Ò!Ð!Ð!ô	ô ÜØ<ô
ñ 		ô #ÜØ—‘ØØõ	÷			ò	@ô �i‰i×#Ñ# LÓ1ˆÜ$Ü�4—;‘; u°#¸qô
ˆô ”u˜cŸe™e¨D¯K©KÀ
ÔKˆÜ�i‰i×#Ñ# LÓ1ˆÜ%Ü�4—;‘; r¨s¸Aô
ˆô
 	˜Ÿ™˜tŸv™vÔ&Ü˜Ÿ™ §¡Õ*÷;		ð 		ús   Ã/G:Ç:H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 ‚y )Nc                 ód   — t        j                  | d   «      t        j                  | d   «      z   S rh  )r+   Úcosr   r�   s    r9   r{   zUTestDifferentialEvolutionSolver.test_constraint_violation_error_message.<locals>.func‡  s%   € Ü—6‘6˜!˜A™$“<¤"§&¡&¨¨1©£,Ñ.Ð.r;   c                 ó$   — | d   | d   dz
  dz  z
  S ©Nr$   r   rA   r=   r�   s    r9   ú<lambda>zYTestDifferentialEvolutionSolver.test_constraint_violation_error_message.<locals>.<lambda>‹  s   € ¨1¨Q©4°1°Q±4¸±6¸A±+Ñ+=€ r;   r   c                 ó   — | d   | d   dz  z   S rh  r=   r�   s    r9   ri  zYTestDifferentialEvolutionSolver.test_constraint_violation_error_message.<locals>.<lambda>Œ  s   € ¨1¨Q©4°!°A±$¸±'©>€ r;   )rv   rA   ru   r­   Fiœ›‚3)r0   rr  r¢   r£   rÁ   z
MAXCV = 0.)r
   r+   rÄ   r   rº   r¹   )r8   r{   Úc0rÏ  re   s        r9   Ú'test_constraint_violation_error_messagezGTestDifferentialEvolutionSolver.test_constraint_violation_error_message…  s}   € ò	/ô !Ñ!=¸qÄ"Ç&Á&ÓIˆÜ Ñ!9¼B¿F¹F¸7ÀAÓFˆä'¨Ø07¸Ð/AØ57¸°HØ02Ø/4Ø,5ô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 ‚|j                  «        ‰d   dkD  sJ ‚t	        t        ||d¬«      }|j
                  sJ ‚dd„}t        j                  t        d¬«      5  t	        t        ||¬«       d d d «       y # 1 sw Y   y xY w)Nr`   r­   )r   g      $@r*   gffffffæ?r   c                 ó~  •— ‰dxx   dz  cc<   t        j                  ||    «      }|j                  ‰«      }t        j                  ‰«      }|j	                  |«       |d d }||| k7     d d }|d d \  }}|d   ‰||   ||   z
  z  z   }	|j                  ‰¬«      }
|
‰k  }
d|
|<   t        j                  |
|	|«      }|S )Nr   r$   r_   rA   )r%  T)r+   ÚcopyÚchoicer5   ÚshufflerE  Úwhere)rî   r7   rÁ   rf   Ú
fill_pointr^  ÚidxsÚr0rï   ÚbprimeÚ
crossoversÚcallsr(   r´  ÚrecombinationÚtotal_popsizes              €€€€€r9   Úcustom_strategy_fnzLTestDifferentialEvolutionSolver.test_strategy_fn.<locals>.custom_strategy_fn¨  sÝ   ø€ Ø�!‹H˜‰M‹HÜ—G‘G˜J yÑ1Ó2ˆEØŸ™ OÓ4ˆJä—9‘9˜]Ó+ˆDØ�K‰K˜ÔØ˜˜�<ˆDØ˜ 	Ñ)Ñ*¨2¨AÐ.ˆDà˜"˜1�X‰FˆB�à  ‘m hØ ‘^ j°¡nÑ4ñ'6ñ 6ˆFð Ÿ™¨/˜Ó:ˆJØ# mÑ3ˆJØ%)ˆJ�zÑ"Ü—H‘H˜Z¨°Ó7ˆEØˆLr;   rA   F)r'   ry  r(   r¢   rF   rÁ   r£   rü   )rF   rý   c                 ó0   — t        j                  ddg«      S )Nr“   r   rm  )rî   r7   rÁ   s      r9   r{  zLTestDifferentialEvolutionSolver.test_strategy_fn.<locals>.custom_strategy_fnÒ  s   € Ü—8‘8˜S #˜JÓ'Ð'r;   z	strategy*r‚   rE   r¯   )	r   r   rF   r¤   r   rº   r{  r   r†   )r8   r'   r0   r{  rZ   r—   rx  r(   r´  ry  rz  s         @@@@@r9   Útest_strategy_fnz0TestDifferentialEvolutionSolver.test_strategy_fnœ  sô   ü€ ð ˆØˆØ�˜oÑ-ˆØ'¨'Ñ1ˆØˆØˆà�ˆ÷	ñ 	ô* -ÜØØØ'ØØØ'ØØô

ˆð �‰Ð"4Ñ4Ð4Ð4Ø�‰ŒØ�Q‰x˜!Š|Ðˆ|ô %Ü�6Ð$6Àô
ˆð �{Š{Ðˆ{ó	(ô �]‰]œ<¨{Ô;ñ 	Ü"ÜØØ+õ÷	÷ 	ñ 	ús   Â(CÃCc                 ób   — t        t        t        dgdz  «      5  	 d d d «       y # 1 sw Y   y xY w)Nr  rA   )r   r   r   r>   s    r9   Útest_reference_cyclesz5TestDifferentialEvolutionSolver.test_reference_cyclesÜ  s-   € ÜÔ ;¼UÀWÀIÈaÁKÓPñ 	Ø÷	÷ 	ñ 	ús   š%¥.N)NrX   Ú
__module__Ú__qualname__r:   r?   r1   r[   rg   ri   rk   rm   rs   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/  r1  rG  rJ  rO  rU  r[  r`  r{  ÚmarkÚ	fail_slowrb  re  r‚  r‰  r�  r•  rš  r®  rµ  rÁ  rÚ  rå  rï  rý  r  r  r  ÚxslowÚxfailrù  Úmachiner   r&  r;  rH  rQ  rX  rc  rl  r}  r  r=   r;   r9   r   r      s,  „ ò3ò&%òòIGòV'ò
'ò'ò'ò4ò*ò<=òEòHò
(ò>ò;ò@òG!òR òD0ò *ò0ò$JòKò.&ò`?ò'ò0ò.òòEò &òò4*òòD8òLFòIòò)ò	ð ‡[�[×Ñ˜2Óñó ðò$ò
7:òr+&òZð  ‡[�[×Ñ˜2Óñ%9ó ð%9òN:ò4*;òX'ò84ð& ‡[�[×Ñ˜2Óñ\9ó ð\9ð| ‡[�[×Ñ˜2Óñ%9ó ð%9ðN ‡[�[×Ñ˜2Óñ09ó ð09ðd ‡[�[×Ñ˜2Óñ29ó ð29ðh ‡[�[×Ñ˜2Óñ9ó ð9ð< ‡[�[×Ñ˜2Óñ9ó ð9ò8,9ð\ ‡[�[×ÑØ‡[�[×ÑÐ'�x×'Ñ'Ó)¨YÑ6Ø0ð ó 2ñ19ó2ó ð19ðf ‡[�[×Ñ˜1Óñ9ó ð9ð< ‡[�[×Ñ˜2Óñ*#ó ð*#òX+AðZ ‡[�[×Ñ˜2Óñ&$ó ð&$òP(ò88+òt.ð. ‡[�[×Ñ˜2Óñ=ó ð=ó~r;   r   )&Ú__doc__Úmultiprocessing.dummyr   r]  rù  r¸  Úscipy._lib._gcutilsr   Ú%scipy.optimize._differentialevolutionr   r   Úscipy.optimizer   r   Úscipy.optimize._constraintsr	   r
   r   r   r   r   Úscipy.sparser   Úscipyr   Únumpyr+   Únumpy.testingr   r   r   r   r   r{  r   rw   r   r   r=   r;   r9   ú<module>r‘     sV   ðñõ 5Û Û å 2÷Gç A÷;ñ ;ç 5Ñ 5Ý "Ý ã ÷9õ 9ç 1Û ÷Eò Er;   