Ë
    çÿæi{I  ã            	       ó  — d Z ddlZddlZddlZddlmZmZ ddlZddl	m
Z
 ddlmZmZmZ ddlmZ ej"                  dk  Zd	„ Zej(                  j+                  d
d¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej(                  j<                  d„ «       Zd„ Z dZ!dZ"ej(                  j+                  d¬«      ej(                  jG                   ejH                  d«      jJ                  dk  d¬«      ej(                  jL                  ej(                  jO                  ddgdd ie!fd!die"fg«      d"„ «       «       «       «       Z(d#„ Z)ej(                  j<                  d$„ «       Z*ej(                  j+                  d%¬«      d&„ «       Z+d'„ Z,d(„ Z-y))z0
Unit test for Mixed Integer Linear Programming
é    N)Úassert_allcloseÚassert_array_equalé   )Úmagic_square)ÚmilpÚBoundsÚLinearConstraint)Úsparsel        c            	      ó\  — d} t        j                  t        | ¬«      5  t        t	        j
                  ddg«      «       d d d «       d} t        j                  t        | ¬«      5  t        t        j                  d«      «       d d d «       t        j                  t        | ¬«      5  t        g «       d d d «       t        j                  t        | ¬«      5  t        d «       d d d «       d} t        j                  t        | ¬«      5  t        dd¬	«       d d d «       d
} t        j                  t        t        j                  | «      ¬«      5  t        dd¬«       d d d «       t        j                  t        t        j                  | «      ¬«      5  t        t        j                  d«      g d¢gddgddgf¬«       d d d «       t        j                  t        t        j                  | «      ¬«      5  t        t        j                  d«      ddggdgt	        j
                  dg«      f¬«       d d d «       d} t        j                  t        t        j                  | «      ¬«      5  t        t        j                  d«      ddggdgdgf¬«       d d d «       d} t        j                  t        | ¬«      5  t        ddgt	        j
                  ddg«      ¬«       d d d «       d} t        j                  t        | ¬«      5  t        g d¢ddg¬«       d d d «       t        j                  t        | ¬«      5  t        g d¢g d¢¬«       d d d «       d} t        j                  t        | ¬«      5  t        g d¢ddgt	        j
                  ddg«      f¬	«       d d d «       d} t        j                  t        | ¬«      5  t        g d¢ddgg d¢f¬	«       d d d «       t        j                  t        | ¬«      5  t        g d¢g d¢ddgf¬	«       d d d «       d} t        j                  t        | ¬«      5  t        g d¢ddgddgf¬	«       d d d «       t        j                  t        | ¬«      5  t        g d¢g d¢g d¢f¬	«       d d d «       t        j                  t        | ¬«      5  t        g d¢g d¢t        «       ddgf¬	«       d d d «       y # 1 sw Y   �ŒˆxY w# 1 sw Y   �ŒQxY w# 1 sw Y   �Œ/xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒçxY w# 1 sw Y   �Œ®xY w# 1 sw Y   �ŒZxY w# 1 sw Y   �ŒõxY w# 1 sw Y   �Œ¡xY w# 1 sw Y   �ŒdxY w# 1 sw Y   �Œ:xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒÑxY w# 1 sw Y   �Œ£xY w# 1 sw Y   �ŒwxY w# 1 sw Y   �ŒIxY w# 1 sw Y   �ŒxY w# 1 sw Y   y xY w)Nz`c` must be a dense array©Úmatchr   z:`c` must be a one-dimensional array of finite numbers with)é   é   z3`bounds` must be convertible into an instance of...r   é
   ©Úboundsz<`constraints` (or each element within `constraints`) must be)Úconstraintsr   )r   é   r   r   z,The shape of `A` must be (len(b_l), len(c)).z#`integrality` must be a dense array)ÚintegralityzJ`integrality` must contain integers 0-3 and be broadcastable to `c.shape`.)r   é   r   z,Lower and upper bounds must be dense arrays.r   z6`lb`, `ub`, and `keep_feasible` must be broadcastable.)r   r   r   r   z5`bounds.lb` and `bounds.ub` must contain reals and...)z3+4r   r   )ÚpytestÚraisesÚ
ValueErrorr   r
   Ú	coo_arrayÚnpÚzerosÚreÚescapeÚset)Úmessages    ús/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/scipy/optimize/tests/test_milp.pyÚtest_milp_ivr"      sÓ  € à)€GÜ	�‰”z¨Ö	1ÜŒV×Ñ˜q !˜fÓ%Ô&÷ 
2ð K€GÜ	�‰”z¨Ö	1ÜŒR�X‰X�fÓÔ÷ 
2ä	�‰”z¨Ö	1ÜˆRŒ÷ 
2ä	�‰”z¨Ö	1ÜˆTŒ
÷ 
2ð D€GÜ	�‰”z¨Ö	1ÜˆQ�rÕ÷ 
2ð M€GÜ	�‰”z¬¯©°7Ó);Ö	<ÜˆQ˜BÕ÷ 
=ä	�‰”z¬¯©°7Ó);Ö	<ÜŒR�X‰X�a‹[ª	 {°Q¸°F¸QÀ¸FÐ&CÕD÷ 
=ä	�‰”z¬¯©°7Ó);Ö	<ÜŒR�X‰X�a‹[¨¨A¨ x°!°´f×6FÑ6FÈÀsÓ6KÐ&LÕM÷ 
=ð =€GÜ	�‰”z¬¯©°7Ó);Ö	<ÜŒR�X‰X�a‹[¨¨A¨ x°!°°q°cÐ&:Õ;÷ 
=ð 4€GÜ	�‰”z¨Ö	1Üˆa�ˆV¤×!1Ñ!1°1°a°&Ó!9Õ:÷ 
2ð€Gä	�‰”z¨Ö	1ÜŠY Q¨ FÕ+÷ 
2ä	�‰”z¨Ö	1ÜŠY¢IÕ.÷ 
2ð =€GÜ	�‰”z¨Ö	1ÜŠY  A ¬×(8Ñ(8¸!¸Q¸Ó(@ÐAÕB÷ 
2ð G€GÜ	�‰”z¨Ö	1ÜŠY  A ª	Ð2Õ3÷ 
2ä	�‰”z¨Ö	1ÜŠY¢	¨A¨q¨6Ð2Õ3÷ 
2ð F€GÜ	�‰”z¨Ö	1ÜŠY  A ¨¨A¨Ð/Õ0÷ 
2ä	�‰”z¨Ö	1ÜŠY¢	ª=Ð9Õ:÷ 
2ä	�‰”z¨Ö	1ÜŠY¢	¬C«E°1°a¨=Ð9Õ:÷ 
2Ð	1÷k 
2Ñ	1ú÷ 
2Ñ	1úç	1Ñ	1úç	1Ñ	1ú÷ 
2Ñ	1ú÷ 
=Ñ	<úç	<Ñ	<úç	<Ñ	<ú÷ 
=Ñ	<ú÷ 
2Ñ	1ú÷
 
2Ñ	1úç	1Ñ	1ú÷ 
2Ñ	1ú÷ 
2Ñ	1úç	1Ñ	1ú÷ 
2Ñ	1úç	1Ñ	1úç	1Ð	1ús×   ž!SÁ$SÂ&SÃS,ÄS9ÅTÆ+TÇ1<T É%)T-Ê3%T:Ë=UÌ2UÍ))U!Î7U.Ï0U;Ð+VÑ$VÒV"ÓSÓSÓS)Ó,S6Ó9TÔTÔTÔ T*Ô-T7Ô:UÕUÕUÕ!U+Õ.U8Õ;VÖVÖVÖ"V+Fz%Needs to be fixed in `_highs_wrapper`)ÚrunÚreasonc                 óZ  — d}ddi}t        j                  t        |¬«      5  t        d|¬«       d d d «       t	        d«      \  }}}}}ddd	d
œ}t        ||||fdd|¬«      }| j                  «       }	d|	j                  v sJ ‚d|	j                  v sJ ‚|j                  rJ ‚y # 1 sw Y   ŒrxY w)Nz*Unrecognized options detected: {'ekki'}...ÚekkiTr   r   )Úoptionsr   Fçš™™™™™©?)ÚdispÚpresolveÚ
time_limit©r   r   ©Úcr   r   r   r'   zPresolve is switched offzTime Limit Reached)r   ÚwarnsÚRuntimeWarningr   r   Ú
readouterrÚoutÚsuccess)
Úcapsysr    r'   ÚAÚbr.   ÚnumbersÚMÚresÚcaptureds
             r!   Útest_milp_optionsr;   N   s·   € ð ;€GØ�tˆn€GÜ	�‰”n¨GÖ	4ÜˆQ˜Õ ÷ 
5ô ' q›/Ñ€A€qˆ!ˆW�aØ¨¸dÑC€GÜ
�  A q 	°&ÀaØô €Cð × Ñ Ó"€HØ%¨¯©Ñ5Ð5Ð5Ø 8§<¡<Ñ/Ð/Ð/Ø�{Š{Ðˆ?ˆ{÷ 
5Ð	4ús   ¢B!Â!B*c                  ó¼  — t        d«      \  } }}}}t        || ||fdd¬«      }|j                  dk(  sJ ‚|j                  sJ ‚d}|j                  j                  |«      sJ ‚t        |j                  t        j                  «      sJ ‚t        |j                  t        «      sJ ‚t        |j                  t        «      sJ ‚t        |j                  t        «      sJ ‚t        |j                  t        «      sJ ‚t        d«      \  } }}}}t        |dz  | ||fdddd	i¬
«      }|j                  dk(  sJ ‚|j                  rJ ‚d}|j                  j                  |«      sJ ‚|j                  |j                  cxu r1|j                  cxu r"|j                  cxu r|j                  cxu r	 �J ‚ J ‚t        dd¬«      }|j                  dk(  sJ ‚|j                  rJ ‚d}|j                  j                  |«      sJ ‚|j                  |j                  cxu r1|j                  cxu r"|j                  cxu r|j                  cxu r	 �J ‚ J ‚t        d«      }|j                  dk(  sJ ‚|j                  rJ ‚d}|j                  j                  |«      sJ ‚|j                  |j                  cxu r1|j                  cxu r"|j                  cxu r|j                  cxu r	 �J ‚ J ‚y )Nr   r,   r   ©r.   r   r   r   r   z6Optimization terminated successfully. (HiGHS Status 7:é   r+   r(   r-   ú%Time limit reached. (HiGHS Status 13:)r   éÿÿÿÿr   r   z+The problem is infeasible. (HiGHS Status 8:r@   z+The problem is unbounded. (HiGHS Status 10:)r   r   Ústatusr3   r    Ú
startswithÚ
isinstanceÚxr   ÚndarrayÚfunÚfloatÚmip_node_countÚintÚmip_dual_boundÚmip_gap)r5   r6   r.   r7   r8   r9   Úmsgs          r!   Útest_resultrM   b   sÌ  € Ü& q›/Ñ€A€qˆ!ˆW�aÜ
�  A q 	°&ÀaÔ
H€CØ�:‰:˜Š?Ðˆ?Ø�;Š;Ðˆ;Ø
B€CØ�;‰;×!Ñ! #Ô&Ð&Ð&Ü�c—e‘eœRŸZ™ZÔ(Ð(Ð(Ü�c—g‘gœuÔ%Ð%Ð%Ü�c×(Ñ(¬#Ô.Ð.Ð.Ü�c×(Ñ(¬%Ô0Ð0Ð0Ü�c—k‘k¤5Ô)Ð)Ð)ä& q›/Ñ€A€qˆ!ˆW�aÜ
��1‘ 1 a¨ )°FÈØ$ dÐ+ô-€Cà�:‰:˜Š?Ðˆ?Ø�{Š{Ðˆ?Ø
1€CØ�;‰;×!Ñ! #Ô&Ð&Ð&Ø�G‰G�s×)Ñ)ó 3¨S¯[©[ó 3Ø×!Ñ!ó3Ø%(§U¡Uó3Ø.2ð3ð 4ñ 3ð 4ð 3ô ˆq˜Ô
!€CØ�:‰:˜Š?Ðˆ?Ø�{Š{Ðˆ?Ø
7€CØ�;‰;×!Ñ! #Ô&Ð&Ð&Ø�G‰G�s×)Ñ)ó 3¨S¯[©[ó 3Ø×!Ñ!ó3Ø%(§U¡Uó3Ø.2ð3ð 4ñ 3ð 4ð 3ô ˆr‹(€CØ�:‰:˜Š?Ðˆ?Ø�{Š{Ðˆ?Ø
7€CØ�;‰;×!Ñ! #Ô&Ð&Ð&Ø�G‰G�s×)Ñ)ó 3¨S¯[©[ó 3Ø×!Ñ!ó3Ø%(§U¡Uó3Ø.2ð3ð 4ñ 3ð 4ñ 3ó    c                  ój   — t        d«      } | j                  dk(  sJ ‚t        | j                  dg«       y )Nr   r   )r   rF   r   rD   )r9   s    r!   Útest_milp_optional_argsrP   Š   s+   € ä
ˆq‹'€CØ�7‰7�aŠ<Ðˆ<Ü�s—u‘u˜q˜cÕ"rN   c            	      ó  — d} t        | «      \  }}}}}t        j                  |«      }t        |dz  |||fdd¬«      }t	        j
                  |j                  «      }|j                  «       |z  j                  | dz  | | «      }t	        j                  |d¬«      }	t        j                  j                  |	j                  d¬«      |«       t        j                  j                  |	j                  d¬«      |«       t        j                  j                  t	        j                  |	«      j                  «       |«       t        j                  j                  t	        j                  |	d d …d d d…f   «      j                  «       |«       y )	Nr   r   r,   r   r=   r   )Úaxisr@   )r   r
   Ú	csc_arrayr   r   ÚroundrD   ÚflattenÚreshapeÚsumÚtestingr   Údiag)
Únr5   r6   r.   r7   r8   r9   rD   ÚsÚsquares
             r!   Útest_milp_1r]   ‘   s!  € à	€AÜ& q›/Ñ€A€qˆ!ˆW�aÜ×Ñ˜Ó€AÜ
��1‘ 1 a¨ )°FÈÔ
J€Cô 	�‰�—‘‹€AØ	�‰Ó	˜QÑ	×'Ñ'¨¨1©¨a°Ó3€AÜ�V‰V�A˜AÔ€FÜ‡J�J×Ñ˜vŸz™z¨q˜zÓ1°1Ô5Ü‡J�J×Ñ˜vŸz™z¨q˜zÓ1°1Ô5Ü‡J�J×ÑœrŸw™w v›×2Ñ2Ó4°aÔ8Ü‡J�J×ÑœrŸw™w vªa±°2°¨g¡Ó7×;Ñ;Ó=¸qÕArN   c                  óX  — t        j                  d«       } ddgddgg}dt         j                   g}t         j                  dg}t        |||«      }t	        | |||fd¬«      }t	        | |d¬«      }t	        | |||fgd¬«      }t	        | |gd¬«      }t	        | d|d d |d d |d d f|dd  |dd  |dd  fg¬	«      }	t	        | dt        |d d |d d |d d «      t        |dd  |dd  |dd  «      g¬	«      }
t	        | d|d d |d d |d d ft        |dd  |dd  |dd  «      g¬	«      }t        j
                  |j                  |j                  |j                  |j                  |	j                  |
j                  |j                  g«      }t        j
                  |j                  |j                  |j                  |j                  |	j                  |
j                  |j                  g«      }t         j                  j                  |t        j                  ddg|j                  «      «       t         j                  j                  |d
«       t	        | |||f¬«      }t         j                  j                  |j                  ddg«       t         j                  j                  |j                  d«       y )Nr   éþÿÿÿiøÿÿÿr   r   é   T©r.   r   r   )r.   r   r   éýÿÿÿ©r.   r   r   g      @g      !À)r   ÚonesÚinfr	   r   ÚarrayrD   rF   rX   r   Úbroadcast_toÚshape)r.   r5   Úb_lÚb_uÚlinear_constraintÚres1Úres2Úres3Úres4Úres5Úres6Úres7ÚxsÚfunsr9   s                  r!   Útest_milp_2ru   ¢   sˆ  € ô
 
�‰�‹ˆ€AØ
ˆaˆ�2�r�(Ð€AØŒr�v‰vˆgˆ,€CÜ�6‰6�2ˆ,€CÜ(¨¨C°Ó5Ðô �! ! S¨# ¸DÔA€DÜ�!Ð!2ÀÔE€DÜ�! 1 c¨3 - ¸dÔC€DÜ�!Ð"3Ð!4À$ÔG€DÜ�! Ø  ˜e S¨¨! W¨c°"°1¨gÐ6Ø  ˜e S¨¨ W¨c°!°"¨gÐ6ð8ô9€Dô �! Ü-¨a°°¨e°S¸¸!°W¸cÀ"À1¸gÓFÜ-¨a°°¨e°S¸¸°W¸cÀ!À"¸gÓFðHôI€Dô �! Ø  ˜e S¨¨! W¨c°"°1¨gÐ6Ü-¨a°°¨e°S¸¸°W¸cÀ!À"¸gÓFðHôI€Dô 
�‰�4—6‘6˜4Ÿ6™6 4§6¡6¨4¯6©6°4·6±6¸4¿6¹6À4Ç6Á6ÐJÓ	K€BÜ�8‰8�T—X‘X˜tŸx™x¨¯©Ø—X‘X˜tŸx™x¨¯©°4·8±8ð=ó >€Dä‡J�J×Ñ˜r¤2§?¡?°A°q°6¸2¿8¹8Ó#DÔEÜ‡J�J×Ñ˜t RÔ(ô �  C¨ Ô
.€CÜ‡J�J×Ñ˜sŸu™u q¨# hÔ/Ü‡J�J×Ñ˜sŸw™w¨Õ-rN   c                  ó"  — ddg} ddgddgddgg}g d¢}t        j                  |t         j                   t         j                  ¬«      }t	        |||«      }t        j
                  | «      }t        | ||¬«      }t        |j                  d	«       t        j                  |j                  ddg«      s$t        j                  |j                  ddg«      sJ ‚t        | |¬
«      }t        |j                  d«       t        |j                  ddg«       y )Nr   r@   r   r   r   )r   é   rw   ©Údtypera   r_   rc   gffffffÀgÍÌÌÌÌÌü?gffffff@)r   Ú	full_likere   Úfloat64r	   Ú	ones_liker   r   rF   ÚallcloserD   )r.   r5   rj   ri   r   r   r9   s          r!   Útest_milp_3r~   Ç   sÞ   € ð 
ˆBˆ€AØ
ˆaˆ�1�a�&˜1˜a˜&Ð!€AÚ
€CÜ
�,‰,�sœRŸV™V˜G¬2¯:©:Ô
6€CÜ" 1 c¨3Ó/€Kä—,‘,˜q“/€Kô � ¸Ô
E€CÜ�C—G‘G˜RÔ ä�;‰;�s—u‘u˜q !˜fÔ%¬¯©°S·U±U¸QÀ¸FÔ)CÐCÐCô � Ô
,€CÜ�C—G‘G˜TÔ"Ü�C—E‘E˜C ˜:Õ&rN   c                  ó|  — ddg} ddg}ddgddgddgg}dt         j                   t         j                   g}t         j                  dd	g}t        |||«      }t        t         j                   t         j                  «      }t	        | |||¬
«      }t        |j                  d«       t        |j                  ddg«       y )Né   r   r   r   éüÿÿÿr@   iòÿÿÿißÿÿÿé   ©r   r   r   é;   g      @é   )r   re   r	   r   r   r   rF   rD   )r.   r   r5   ri   rj   r   r   r9   s           r!   Útest_milp_4r†   Þ   s­   € ð 
ˆAˆ€AØ�a�&€KØ
ˆQˆ�"�b�˜A˜q˜6Ð"€AØ”—‘�œ"Ÿ&™&˜Ð
!€CÜ�6‰6�3˜Ð
€CÜ" 1 c¨3Ó/€KÜ”R—V‘V�GœRŸV™VÓ$€Fä
ˆq˜k°&Ø&ô(€Cä�C—G‘G˜RÔ Ü�C—E‘E˜C ˜8Õ$rN   c                  ó  — g d¢} g d¢}g d¢}t         j                  t         j                  dg}t        ||«      }g d¢g d¢g}t         j                   dg}ddg}t        |||«      }t	        | |||¬	«      }	t        |	j                  d
«       y )N)rb   r_   r@   )r   r   r   )r   r   r   r   )r   r   r   )r   r   r   rw   r…   rƒ   iôÿÿÿ)r   re   r   r	   r   r   rF   )
r.   r   ÚlbÚubr   r5   ri   rj   r   r9   s
             r!   Útest_milp_5rŠ   ï   s…   € ò 	€AÚ€KÚ	€BÜ
�&‰&”"—&‘&˜!Ð	€BÜ�B˜‹^€FÚ	’IÐ€AÜ�F‰Fˆ7�Bˆ-€CØˆbˆ'€CÜ" 1 c¨3Ó/€Kä
ˆq˜k°&Ø&ô(€Cô �C—G‘G˜SÕ!rN   c                  ó  — d} t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  g d¢«      }t        j                  g d¢«      }t        ||||f| ¬«      }t         j                  j	                  |j
                  d	«       y )
Nr   ©é   r`   é   é!   é   r   é   rŽ   ©é'   é   r�   é   rŽ   é   é   é   ©é   r‘   é   é   r–   é&   rŽ   rŽ   ©é)   rŽ   r•   é$   rš   r�   r”   rŽ   ©iÀ  iâ(  i:,  i/  ©r   r   r`   é   r…   r   r…   r   ra   i>  )r   rf   r   rX   r   rF   )r   ÚA_eqÚb_eqr.   r9   s        r!   Útest_milp_6r¦     su   € ð €KÜ�8‰8Ò4Ú5Ú5Ú5ð7ó 8€Dô �8‰8Ò/Ó0€DÜ
�‰Ò,Ó-€Aä
�  t¨TÐ 2ÀÔ
L€Cä‡J�J×Ñ˜sŸw™w¨Õ-rN   c                  ó.  — ddg} ddg}dt         j                   g}t         j                  t         j                  g}t        ||«      }ddgg}dg}t        |||«      }t	        | |||¬«      }t         j
                  j                  |j                  d«       y )Nç      ð?ç        r   r   g      à?rƒ   r   )r   re   r   r	   r   rX   Úassert_equalrA   )	r.   r   rˆ   r‰   r   r¤   r¥   r   r9   s	            r!   Útest_infeasible_prob_16609r«     s�   € ð 
ˆcˆ
€AØ�a�&€Kà
Œb�f‰fˆWˆ€BÜ
�&‰&”"—&‘&Ð	€BÜ�B˜‹^€Fà�#ˆJˆ<€DØˆ5€DÜ" 4¨¨tÓ4€Kä
ˆq˜k°&Ø&ô(€Cä‡J�J×Ñ˜CŸJ™J¨Õ*rN   r?   z*Iteration limit reached. (HiGHS Status 14:z-Often buggy, revisit with callbacks, gh-19255)r$   r€   zUnhandled 32-bit GCC FP bugr'   rL   r+   gš™™™™™¹?Ú
node_limitc                 óx  — t         j                  j                  d«      }|j                  ddd¬«      }t        j                  dt         j
                   ¬«      }t        j                  dd¬«      }t        |||«      }t        j                  d«      }t        j                  d«      }t        ||«      }	t        j                  d«      }
t        j                  d«       }t        ||
|	|| ¬	«      }|j                  j                  |«      sJ ‚|d
   €J ‚|d
   }d}t        j                  ||z
  ||z  k  «      rt        j                  ||z  ||z   k  «      sJ ‚t        j                  ||z
  |k  «      rt        j                  |||z   k  «      sJ ‚t        j                  |t        j                  |«      «      sJ ‚y )Nì   $sƒ¥Ü8 r   r   )éd   r¯   ©Úsizer¯   ©Ú
fill_valueé   )r   r   r   r'   rD   g:Œ0âŽyE>)r   ÚrandomÚdefault_rngÚintegersÚfullre   r	   r   rd   r   r   r    rB   Úallr}   rT   )r'   rL   Úrngr5   Úb_lbÚb_ubr   Úvariable_lbÚvariable_ubÚvariable_boundsr   Úc_vectorr9   rD   Útols                  r!   Útest_milp_timeout_16545rÂ   *  sz  € ô �)‰)×
Ñ
Ð 3Ó
4€CØ�‰�Q˜ 
ˆÓ+€AÜ�7‰7�3¤B§F¡F 7Ô+€DÜ�7‰7�3 2Ô&€DÜ" 1 d¨DÓ1€KÜ—(‘(˜3“-€KÜ—'‘'˜#“,€KÜ˜[¨+Ó6€OÜ—'‘'˜#“,€KÜ—‘˜“ˆ}€HÜ
ØØØØØô€Cð �;‰;×!Ñ! #Ô&Ð&Ð&Øˆs‰8ÐÐÐð 	ˆC‰€AØ
€CÜ�6‰6�$˜‘*  A¡Ñ%Ô&¬2¯6©6°!°a±%¸4À#¹:Ñ2EÔ+FÐFÐFÜ�6‰6�+ Ñ# qÑ(Ô)¬b¯f©f°Q¸+ÈÑ:KÑ5KÔ.LÐLÐLÜ�;‰;�qœ"Ÿ(™( 1›+Ô&Ð&Ñ&rN   c            	      ó^  — t         j                  j                  d«      } | j                  ddd¬«      }t        j                  dt         j
                   ¬«      }t        j                  dd¬«      }t        |d d	 |d d	 |d d	 «      t        |d	d
 |d	d
 |d	d
 «      t        |d
d  |d
d  |d
d  «      g}|d d	 |d d	 |d d	 f|d	d
 |d	d
 |d	d
 f|d
d  |d
d  |d
d  fg}t        j                  d«      }t        j                  d«      }t        ||«      }t        j                  d«       }	t        |	||¬«      }
t        |	||¬«      }t        |	||||f¬«      }|
j                  r|j                  sJ ‚t        |
j                  |j                  «       t        |j                  |j                  «       y )Nr®   r   r   )r>   r>   r°   r>   r²   r   r   r   )r   r   )r   rµ   r¶   r·   r¸   re   r	   r   rd   r   r   r3   r   rD   )rº   r5   ÚblÚbur   Úconstraints2rˆ   r‰   r¿   r.   rl   rm   Úrefs                r!   Útest_three_constraints_16878rÈ   P  s®  € ô �)‰)×
Ñ
Ð 3Ó
4€CØ�‰�Q˜ ˆÓ'€AÜ	�‰�¤§¡˜wÔ	'€BÜ	�‰�˜rÔ	"€BÜ# A b q E¨2¨b¨q¨6°2°b°q°6Ó:Ü# A a¨ F¨B¨q°¨G°R¸¸!°WÓ=Ü# A a b E¨2¨a¨b¨6°2°a°b°6Ó:ð<€Kð �r˜�U˜B˜r ˜F B r¨ FÐ+Ø�q˜�V˜R  !˜W b¨¨1 gÐ.Ø�q�r�U˜B˜q˜r˜F B q r FÐ+ð-€Lô 
�‰�!‹€BÜ	�‰�‹€BÜ˜R “n€OÜ	�‰�‹ˆ€AÜ�˜/°{ÔC€DÜ�˜/°|ÔD€DÜ
ˆq˜°q¸"¸b°kÔ
B€CØ�<Š<˜DŸLšLÐ(Ð(Ü�D—F‘F˜CŸE™EÔ"Ü�D—F‘F˜CŸE™EÕ"rN   c            	      ó"  — t        j                  g d¢g d¢g d¢g d¢g«      } t        j                  g d¢«      }t        j                  g d¢«      }g d¢}g }|D ]ˆ  }t        |dt         j                  f| ||fd	d
|i¬«      }|j                  |k  sJ ‚|j                  |j
                  |j                  z
  |j
                  z  k(  sJ ‚|j                  |j                  «       ŒŠ t        j                  t        j                  |«      dk  «      sJ ‚y )NrŒ   r’   r™   rž   r¡   r¢   )g      Ð?g{®Gáz„?gü©ñÒMbP?r   TÚmip_rel_gap)r.   r   r   r   r'   )
r   rf   r   re   rK   rF   rJ   Úappendr¹   Údiff)r¤   r¥   r.   Úmip_rel_gapsÚsol_mip_gapsrÊ   r9   s          r!   Útest_mip_rel_gap_passdownrÏ   i  só   € ô
 �8‰8Ò4Ú5Ú5Ú5ð7ó 8€Dô �8‰8Ò/Ó0€DÜ
�‰Ò,Ó-€Aâ&€LØ€LÛ#ˆÜ�Q ¤2§6¡6˜{¸¸tÀTÐ8JØ#¨m¸[Ð-IôKˆð �{‰{˜kÒ)Ð)Ð)à�{‰{˜sŸw™w¨×);Ñ);Ñ;¸S¿W¹WÑDÒDÐDÐDØ×Ñ˜CŸK™KÕ(ð $ô �6‰6”"—'‘'˜,Ó'¨!Ñ+Ô,Ð,Ñ,rN   z&Upstream / Wrapper issue, see gh-20116c                  ód  — d} t        j                  d| gd|  gg«      }t        j                  | dg«      }t        ||¬«      }t        ddgddg«      }t        j                  ddg«      }t	        |||d¬«      }|j
                  dk(  sJ ‚t        j                  ||j                  z  |k  «      sJ ‚y )Nl    J)£gi o�Y@r   )r5   r‰   r   r=   )r   rf   r	   r   r   rA   r¹   rD   )Úhr5   r6   r   r   r.   r9   s          r!   Útest_large_numbers_gh20116rÒ   †  s¦   € à€AÜ
�‰�8˜Q�- (¨Q¨B Ð0Ó1€AÜ
�‰�!�Q�Ó€AÜ" Q¨1Ô-€KÜ�Q˜�F˜Q ˜FÓ#€FÜ
�‰�!�Q�Ó€AÜ
� °FÈÔ
J€CØ�:‰:˜Š?Ðˆ?Ü�6‰6�!�c—e‘e‘)˜a‘-Ô Ð Ñ rN   c                  ó(  — ddl m}  dd l}|j                  } |j                  g d¢«      } |j                  g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g	«      } |j                  | | | | | | | | | g	«      } |j                  g d¢«      }t        |||«      }d}d}	 | ||||	ddi¬«      }
 | ||||	ddi¬«      }|
j                  |j                  k(  sJ ‚t        |
j                  |j                  «       t        dd¬«      }	g d¢}g d¢}g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g}g d¢}t        ||¬«      } | |||	|ddi¬ «      }
 | |||	|ddi¬ «      }|
j                  |j                  k(  sJ ‚t        |
j                  |j                  «       y )!Nr   )r   )g4üŸªßxë¿gñUŸi‘†ê¿gûYnaÄ›é¿g)Èt�;*ä¿g±¾&Qà¿gˆZÃÚRà¿gŠÕÕÓýRß¿g�]XíPCÞ¿g>]¼£ïƒÙ¿gLÊY¯T]Ø¿çž1V‚×¿rÔ   gÑ‰oîÐìÖ¿gz|RXo5Ô¿g[TrëÁfÊ¿g×LßçÏé¿¿gÈ2’wíV»¿çÖj´Á./»¿rÕ   rÕ   ç       €rÖ   rÖ   rÖ   r©   r©   r©   r©   )r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r¨   r©   r©   r©   r©   )r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r¨   r©   r©   r©   r©   r©   r¨   r©   r©   r©   ç      9ÀrÖ   rÖ   rÖ   )r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   ç      ð¿r©   r©   r©   r©   r©   rØ   r©   r©   r©   ç       @r©   r©   r©   )r©   r©   r©   r©   r¨   r¨   r¨   r¨   r©   r¨   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   rÖ   r×   rÖ   rÖ   )r©   r©   r©   r©   rØ   rØ   rØ   rØ   r©   rØ   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   rÙ   r©   r©   )r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r¨   r¨   r¨   r©   r©   r©   r©   rÖ   rÖ   r×   rÖ   )r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   r©   rØ   rØ   rØ   r©   r©   r©   r©   r©   r©   rÙ   r©   )r¨   r¨   r¨   r¨   r©   r©   r©   r©   r¨   r©   r¨   r¨   r¨   r¨   r©   r¨   r¨   r©   r©   r©   r©   r¨   r¨   r¨   rÖ   rÖ   rÖ   r×   )rØ   rØ   rØ   rØ   r©   r©   r©   r©   rØ   r©   rØ   rØ   rØ   rØ   r©   rØ   rØ   r©   r©   r©   r©   rØ   rØ   rØ   r©   r©   r©   rÙ   )	g      Y@r©   r©   r©   r©   r©   r©   r©   r©   r   r,   r*   T)r.   r   r   r   r'   F)rˆ   r‰   )r   r   r   r   )r   gˆwëÂ0#@iüÿÿgxëÂ0Ã�À)r   r   r   r   )éÈ   r   r   r   )r   rÚ   r   r   )r   r   éÐ  r   )r   r   r   rÛ   )r@   r   r   r   )r@   r@   r   r   )r   r   rÚ   rÚ   éè  rÜ   r   r   )r‰   r-   )Úscipy.optimizer   Únumpyre   rf   r	   rA   r   rF   r   rD   )r   r   re   r.   r5   rÄ   rÅ   r   r   r   Úr1Úr2r‰   s                r!   Útest_presolve_gh18907rá   “  sÔ  € Ý#ÛØ
�&‰&€Cð 	ˆ�‰ò 6ó 	7€Að 	ˆ�‰ò KòPòMòLòOòLòJòLòPð!Qó 	R€Að$ 
ˆ�‰�C�4˜#˜ ˜t c T¨C¨4°#°¸°t¸c¸TÀCÀ4ÐHÓ	I€BØ	ˆ�‰Ò8Ó	9€BÜ" 1 b¨"Ó-€KØ€KØ€FÙ	�˜{¸ÈFØ! 4Ð(ô
*€Bá	�˜{¸ÈFØ! 5Ð)ô
+€Bà�9‰9˜Ÿ	™	Ò!Ð!Ð!Ü�B—F‘F˜BŸF™FÔ#ô �q˜QÔ€FÚ€KÚ.€AÚ	’|¢^²^Ú	š/ª=º.ð	J€Aâ	+€BÜ" 1¨Ô,€KÙ	�˜{°FØ%°
¸EÐ/Bô
D€Bá	�˜{°FØ%°
¸EÐ/Bô
D€Bà�9‰9˜Ÿ	™	Ò!Ð!Ð!Ü�B—D‘D˜"Ÿ$™$ÕrN   c            	      óš  — t        j                  dt         j                  ¬«      } | j                  «       }t        j                  g d¢t         j                  ¬«      }t        j                  g d¢g d¢g d¢g d¢g d¢g d	¢gt         j                  ¬«      }t        | ||||f¬
«      }|j                  sJ ‚t        ||j                  z  |«       y )Nr€   rx   )é*   éü   i  rŸ   éÞ   é0   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   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   rd   Úint64ÚcopyÚasarrayr   r3   r   rD   )r.   r   r6   Úar9   s        r!   Útest_regression_gh24141rë   Ì  s˜   € Ü
�‰�œŸ™Ô"€AØ—&‘&“(€Kä
�
‰
Ò.´b·h±hÔ?€AÜ
�
‰
Ú Ú Ú Ú Ú Ú ðô �X‰Xô	€Aô ˆq˜k¸¸1¸a°yÔ
A€Cà�;Š;Ðˆ;Ü�A˜Ÿ™‘I˜qÕ!rN   ).Ú__doc__r   ÚsysrÞ   r   Únumpy.testingr   r   r   Útest_linprogr   rÝ   r   r   r	   Úscipyr
   ÚmaxsizeÚ	_IS_32BITr"   ÚmarkÚxfailr;   rM   rP   r]   ru   r~   r†   rŠ   Úxslowr¦   r«   Ú	_msg_timeÚ	_msg_iterÚskipifÚintpÚitemsizeÚslowÚparametrizerÂ   rÈ   rÏ   rÒ   rá   rë   © rN   r!   Ú<module>rþ      sÇ  ðñó 
Û 
ã ß =Û å &ß 9Ñ 9Ý ð �[‰[˜5Ñ €	ò9;ðx ‡�×Ñ�uØAð ó CñóCðò$%4òP#òBò"".òJ'ò.%ò""ð& ‡�×Ññ.ó ð.ò +ð& 4€	Ø8€	ð ‡�×ÑÐIÐÓJØ‡�×Ñ�G�B—G‘G˜A“J×'Ñ'¨!Ñ+Ø8ð ó :à‡�×ÑØ‡�×Ñ˜) UÐ+°¸cÐ/BÀIÐ.NØ0<¸aÐ/@À)Ð.Lð.Nó Oñ'óOó ó:ó Kð'ò@#ð2 ‡�×Ññ-ó ð-ð8 ‡�×ÑÐBÐÓCñ	!ó Dð	!ò7 ór"rN   