§
    fŠtjšš ã                   óô  — d Z ddlZddlZddlZddlZddlmZ ddlm	Z	m
Z
mZmZ ddlmZ ddlmZmZ ddlmZ ddlmZ dd	lmZ ddlZddlZd
Z	 ddlmZ n# e$ r dZY nw xY wd
Z	 ddl Z ddl!m"Z# n# e$ r dZY nw xY wd„ Z$d„ Z%d„ Z&d„ Z'	 	 dYd„Z(dZd„Z)d„ Z*d[d„Z+d„ Z,d\d„Z-d„ Z.d„ Z/d„ Z0d„ Z1d „ Z2d!„ Z3dZ4dZ5dZ6dZ7dZ8 G d"„ d#¦  «        Z9ej:         ;                    d$¦  «         G d%„ d&e9¦  «        ¦   «         Z<ej:         ;                    d$¦  «         G d'„ d(e9¦  «        ¦   «         Z=ej:         ;                    d$¦  «         G d)„ d*e9¦  «        ¦   «         Z> G d+„ d,e9¦  «        Z? G d-„ d.e<¦  «        Z@ G d/„ d0e<¦  «        ZA G d1„ d2e<¦  «        ZB G d3„ d4e=¦  «        ZCer G d5„ d6e=¦  «        ZDer G d7„ d8e=¦  «        ZE G d9„ d:e=¦  «        ZF G d;„ d<e=¦  «        ZGej:         ;                    d$¦  «         G d=„ d>¦  «        ¦   «         ZH G d?„ d@e>¦  «        ZI G dA„ dBe>¦  «        ZJ G dC„ dDe?¦  «        ZK G dE„ dFe?¦  «        ZL G dG„ dH¦  «        ZMej:         ;                    d$¦  «         G dI„ dJ¦  «        ¦   «         ZN G dK„ dLeN¦  «        ZO G dM„ dNeN¦  «        ZP G dO„ dPeN¦  «        ZQej:         ;                    d$¦  «         G dQ„ dR¦  «        ¦   «         ZR G dS„ dTeR¦  «        ZS G dU„ dVeR¦  «        ZT G dW„ dXeR¦  «        ZUdS )]z"
Unit test for Linear Programming
é    N)ÚVisibleDeprecationWarning)Úassert_Úassert_allcloseÚassert_equalÚassert_array_less)Úraises)ÚlinprogÚOptimizeWarning)Úapprox_derivative)ÚMatrixRankWarning)ÚLinAlgWarningT)ÚUmfpackWarningF)Úcholeskyc                 ó�   — t          | j         d¦  «         t          | j        |k     d¦  «         t          | j        dd¦  «         d S )NúIncorrectly reported successz)Incorrectly reported number of iterationsé   z(Failed to report iteration limit reached©r   Úsuccessr   Ústatus)ÚresÚmaxiters     ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/optimize/tests/test_linprog.pyÚ_assert_iteration_limit_reachedr   "   sJ   € Ý�”ˆOÐ;Ñ<Ô<Ð<ÝˆCŒK˜'Ò!Ð#NÑOÔOÐOÝ�”˜QÐ JÑKÔKÐKÐKÐKó    c                 ó^   — t          | j         d¦  «         t          | j        dd¦  «         d S )Núincorrectly reported successé   z"failed to report infeasible statusr   ©r   s    r   Ú_assert_infeasibler   (   s2   € å�”ˆOÐ;Ñ<Ô<Ð<Ý�”˜QÐ DÑEÔEÐEÐEÐEr   c                 ó^   — t          | j         d¦  «         t          | j        dd¦  «         d S )Nr   é   z!failed to report unbounded statusr   r   s    r   Ú_assert_unboundedr"   .   s2   € å�”ˆOÐ;Ñ<Ô<Ð<Ý�”˜QÐ CÑDÔDÐDÐDÐDr   c                 ó`   — t          | j         d¦  «         t          | j        dv d¦  «         d S )Nr   ©r   é   z%failed to report optimization failure)r   r   r   r   s    r   Ú)_assert_unable_to_find_basic_feasible_solr&   4   s7   € õ �”ˆOÐ;Ñ<Ô<Ð<ÝˆCŒJ˜&Ð Ð"IÑJÔJÐJÐJÐJr   ç:Œ0âŽyE>c                 óð   — | j         s!d| j        › d| j        › �}t          |¦  «        ‚t	          | j        d¦  «         |�t          | j        |d||¬¦  «         |�t          | j        |d||¬¦  «         d S d S )Nzlinprog status z, message: r   z*converged to an unexpected objective value©Úerr_msgÚrtolÚatolz#converged to an unexpected solution)r   r   ÚmessageÚAssertionErrorr   r   ÚfunÚx)r   Údesired_funÚ	desired_xr+   r,   Úmsgs         r   Ú_assert_successr4   >   s±   € ð
 Œ;ð "ØD ¤
ÐDÐD°s´{ÐDÐDˆÝ˜SÑ!Ô!Ð!å�”˜QÑÔÐØÐÝ˜œ Ø LØ!¨ð	.ñ 	.ô 	.ð 	.ð ÐÝ˜œ˜yØ EØ!¨ð	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð Ðr   c           	      ó8  — |€t           j                             d¦  «        n|}| | dz  dz   z  dz  }t          j        | dz  ¦  «        | dz  z  dz   }|                     | dz  | | ¦  «        }t          j        | dz  | | f¦  «        }g }g }t          | dz  ¦  «        D ]^}|                     ¦   «         }d||dd…dd…f<   |                     | 	                    ¦   «         ¦  «         |                     d¦  «         Œ_t          | ¦  «        D ]n}t          | ¦  «        D ]\}	|                     ¦   «         }d|dd…||	f<   |                     | 	                    ¦   «         ¦  «         |                     d¦  «         Œ]Œot          | ¦  «        D ]k}|                     ¦   «         }|dd…|dd…f         |dd…|dd…f<   |                     | 	                    ¦   «         ¦  «         |                     |¦  «         Œlt          | ¦  «        D ]k}|                     ¦   «         }|dd…dd…|f         |dd…dd…|f<   |                     | 	                    ¦   «         ¦  «         |                     |¦  «         Œl|                     ¦   «         }|dd…t          | ¦  «        t          | ¦  «        f         |dd…t          | ¦  «        t          | ¦  «        f<   |                     | 	                    ¦   «         ¦  «         |                     |¦  «         |                     ¦   «         }|dd…t          | ¦  «        t          d|  dz
  d¦  «        f         |dd…t          | ¦  «        t          d|  dz
  d¦  «        f<   |                     | 	                    ¦   «         ¦  «         |                     |¦  «         t          j
        t          j        |¦  «        t          ¬¦  «        }
t          j
        |t          ¬¦  «        }|                     |
j        d         ¦  «        }|
||||fS )zÞ
    Generates a linear program for which integer solutions represent an
    n x n magic square; binary decision variables represent the presence
    (or absence) of an integer 1 to n^2 in each position of the square.
    Nl   ²g»-ˆhP r   r   r%   éÿÿÿÿ©Údtype)ÚnpÚrandomÚdefault_rngÚarangeÚreshapeÚzerosÚrangeÚcopyÚappendÚflattenÚarrayÚvstackÚfloatÚshape)ÚnÚrngÚMÚnumbersr>   ÚA_listÚb_listÚiÚA_rowÚjÚAÚbÚcs                r   Úmagic_squarerS   R   sß  € ð :=¸�"Œ)×
Ò
Ð 4Ñ
5Ô
5Ð
5È#€CØ	ˆQ�‰T�A‰X‰˜Ñ€AåŒi˜˜1™‰oŒo  A¡Ñ%¨Ñ)€Gà�oŠo˜a ™d A qÑ)Ô)€GåŒH�a˜‘d˜A˜q�\Ñ"Ô"€Eà€FØ€Fõ �1�a‘4‰[Œ[ð ð ˆØ—
’
‘”ˆØˆˆa����A�A�Aˆg‰Ø�Š�e—m’m‘o”oÑ&Ô&Ð&Ø�Š�aÑÔÐÐõ �1‰XŒXð ð ˆÝ�q‘”ð 	ð 	ˆAØ—J’J‘L”LˆEØˆE�!�!�!�Q˜�'‰NØ�MŠM˜%Ÿ-š-™/œ/Ñ*Ô*Ð*Ø�MŠM˜!ÑÔÐÐð		õ �1‰XŒXð ð ˆØ—
’
‘”ˆØ     A q q q Ô)ˆˆaˆaˆa��A�A�Aˆg‰Ø�Š�e—m’m‘o”oÑ&Ô&Ð&Ø�Š�aÑÔÐÐõ �1‰XŒXð ð ˆØ—
’
‘”ˆØ     A A A q Ô)ˆˆaˆaˆa����Aˆg‰Ø�Š�e—m’m‘o”oÑ&Ô&Ð&Ø�Š�aÑÔÐÐð �JŠJ‰LŒL€EØ#*¨1¨1¨1­e°A©h¬h½¸a¹¼Ð+@Ô#A€Eˆ!ˆ!ˆ!�U�1‰XŒX•u˜Q‘x”xÐ
Ñ Ø
‡M‚M�%—-’-‘/”/Ñ"Ô"Ð"Ø
‡M‚M�!ÑÔÐØ�JŠJ‰LŒL€Eà���•5˜‘8”8�U 2¨ r¨A¡v¨rÑ2Ô2Ð2Ô3ð 
ˆ!ˆ!ˆ!�U�1‰XŒX•u˜R !  a¡¨Ñ,Ô,Ð
,Ñ-à
‡M‚M�%—-’-‘/”/Ñ"Ô"Ð"Ø
‡M‚M�!ÑÔÐå
Œ•”˜6Ñ"Ô"­%Ð0Ñ0Ô0€AÝ
Œ��uÐ%Ñ%Ô%€AØ�
Š
�1”7˜1”:ÑÔ€Aàˆa��G˜QÐÐr   c                 óT  — t           j                             d¦  «        }|                     | |f¬¦  «         }t          j        | | |z  f¦  «        }t          j        | ¦  «        }t          | ¦  «        D ]}|dz   }d||||z  ||z  …f<   || z  ||<   Œt          j        || |z  f¦  «        }t          j        |¦  «        }	t          |¦  «        D ]}|dz   }d|||d|…f<   d|	|<   Œt          j        ||f¦  «        }
t          j        ||	f¦  «        }|
||                     ¦   «         fS )z‰ -> A b c LP test: m*n vars, m+n constraints
        row sums == n/m, col sums == 1
        https://gist.github.com/denis-bz/8647461
    l   —-ž!jÙ ©Úsizer   N)	r9   r:   r;   Úexponentialr>   r?   rD   ÚhstackÚravel)ÚmrG   rH   rR   ÚArowÚbrowrO   Új1ÚAcolÚbcolrP   rQ   s               r   Úlpgen_2dr`   ”   s9  € õ
 Œ)×
Ò
Ð 4Ñ
5Ô
5€CØ
�/Š/  1˜vˆ/Ñ
&Ô
&Ð&€AÝŒ8�Q˜˜A™�JÑÔ€DÝŒ8�A‰;Œ;€DÝ�1‰XŒXð ð ˆØ�‰UˆØ !ˆˆQ��A‘�b˜1‘f�ˆ_ÑØ�a‘%ˆˆQ‰ˆåŒ8�Q˜˜A™�JÑÔ€DÝŒ8�A‰;Œ;€DÝ�1‰XŒXð ð ˆØ�‰UˆØˆˆQ���1�ˆW‰ØˆˆQ‰ˆå
Œ	�4˜�,ÑÔ€AÝ
Œ	�4˜�,ÑÔ€Aàˆa�—’‘”ˆ?Ðr   c                 óx  — t           j                             d¦  «        }d\  }}}|                     |¦  «        dz
  }|                     ||f¦  «        dz
  }|                     |¦  «        dz
  }|                     ||f¦  «        dz
  }|                     |¦  «        dz
  }	|                     |¦  «         }
|                     |¦  «        }t           j         |
|
|                     ¦   «          k     <   t           j        |||                     ¦   «         k    <   t          j        |
|f¦  «        j        }|||||	|fS )Nl   ±¶) )é
   é   é2   ç      à?)r9   r:   r;   ÚinfrD   ÚT)ÚseedrH   Úm_eqÚm_ubrG   rR   ÚA_ubÚb_ubÚA_eqÚb_eqÚlbÚubÚboundss                r   Úvery_random_genrr   ¯   s  € Ý
Œ)×
Ò
 Ñ
0Ô
0€CØ�M€Dˆ$�Ø�
Š
�1‰Œ�cÑ€AØ�:Š:�t˜Q�iÑ Ô  Ñ$€DØ�:Š:�dÑÔ˜CÑ€DØ�:Š:�t˜Q�iÑ Ô  Ñ$€DØ�:Š:�dÑÔ˜CÑ€DØ
�*Š*�Q‰-Œ-ˆ€BØ	�Š�A‰Œ€BÝ œf˜W€B€rˆS�ZŠZ‰\Œ\ˆMÒÑÝœF€B€rˆC�JŠJ‰LŒLÒÑÝŒY˜˜B�xÑ Ô Ô"€FØˆd�D˜$  fÐ,Ð,r   c                  ó\   — g d¢} g d¢g d¢g d¢g d¢g}g d¢}g d¢g}dg}g d	¢}d
}| ||||||fS )N)r6   é   r%   éúÿÿÿ)éùÿÿÿrv   é   é	   )r   r6   éýÿÿÿr   )rb   éöÿÿÿrv   é   )rw   r6   r!   r%   )ry   rw   ru   rw   )rz   r   r   éøÿÿÿéüÿÿÿ)gkæ¤€‹–²?gòsÚÑð?r   güØkª¾Lá?gŽqY†:^@© )rR   rk   rl   rm   rn   Úx_starÚf_stars          r   Únontrivial_problemr�   ¿   ss   € Øˆˆ€AØˆNˆNØˆNˆNØÐÐØˆMˆMð€Dð ˆ>ˆ>€DØˆOˆOÐ€DØˆ4€DØ5Ð5Ð5€FØ€FØˆd�D˜$  f¨fÐ4Ð4r   rt   rx   éd   c                 ó   — t           j                             d¦  «        }|                     dd||f¬¦  «        }|                     |¦  «        }|                     dd||f¬¦  «        }|||z  z  |                     dd|¬¦  «        z   }t          j        ||z   ¦  «        }	d|	d|…<   t          j                             d|z  ||z   f¦  «        }
d}t          |¦  «        D ]P}||dd…|f         z  |
|d|…f<   d|
|||z   f<   d|z  |dd…|f         z  |
|dz   d|…f<   d|
|dz   ||z   f<   |dz  }ŒQ|
 
                    ¦   «         }
t          j        d|z  ¦  «        }||ddd…<   | |ddd…<   d	g|z  d
g|z  z   }|	|
||fS )zë
    Training data is {(x0, y0), (x1, y2), ..., (xn-1, yn-1)}
        x in R^d
        y in R
    n: number of training samples
    d: dimension of x, i.e. x in R^d
    phi: feature map R^d -> R^m
    m: dimension of feature space
    l   Õp^vn´? r   r   rU   çñhãˆµøä>Nr   r6   ©NN©r   N)r9   r:   r;   ÚnormalÚstandard_normalÚonesÚscipyÚsparseÚ	lil_arrayr?   Útocscr>   )rh   rZ   ÚdrG   rH   ÚphiÚw_truer0   ÚyrR   rk   ÚidxÚiirl   Úbndss                  r   Úl1_regression_probr•   Í   sÄ  € õ Œ)×
Ò
Ð 4Ñ
5Ô
5€CØ
�*Š*�Q˜  A ˆ*Ñ
'Ô
'€CØ× Ò  Ñ#Ô#€FØ�
Š
�1�a˜q !˜fˆ
Ñ%Ô%€AØ�#˜‘'Ñ˜SŸZšZ¨¨4°a˜ZÑ8Ô8Ñ8€Aõ 	Œ��!‘‰Œ€AØ€A€b€q€b�EÝŒ<×!Ò! 1 Q¡3¨¨!© *Ñ-Ô-€DØ
€CÝ�A‰hŒhð ð ˆØ˜a    2 œh™ˆˆS�"�1�"ˆW‰ØˆˆS�!�B‘$ˆY‰Ø˜S™& 1 Q Q Q¨ U¤8Ñ+ˆˆS�‰U�B�Q�BˆY‰ØˆˆS�‰U�A�b‘Dˆ[ÑØˆq‰ˆˆØ�:Š:‰<Œ<€DÝŒ8�A�a‘C‰=Œ=€DØ€DˆˆˆAˆ�JØ�€DˆˆˆAˆ�JØˆ>˜!Ñ˜y˜k¨!™mÑ+€DØˆd�D˜$ÐÐr   c                 óš  ‡— i Šˆfd„}t          j        ddg¦  «        }ddgddgddgg}g d¢}t          ||||| j        ¬¦  «        }t	          |d	dd
g¬¦  «         t          ‰d         |d         ¦  «         t          ‰d         |d         ¦  «         t          ‰d         |d         ¦  «         t          ‰d         |d         ¦  «         d S )Nc                 óP  •— |                       d¦  «        }|                       d¦  «        }t          |                       d¦  «        dv ¦  «         t          |                       d¦  «        t          d¦  «        v ¦  «         t          t          |                       d¦  «        t          ¦  «        ¦  «         t          t          |t
          ¦  «        ¦  «         t          t          |t          ¦  «        ¦  «         | d         ‰d<   | d	         ‰d	<   | d
         ‰d
<   | d         ‰d<   d S )Nr-   ÚcompleteÚphase©r   r   r   r%   Únitr0   r/   ÚslackÚcon)Úpopr   r?   Ú
isinstanceÚintÚboolÚstr)r   r-   r˜   Úlast_cbs      €r   Úcbz!generic_callback_test.<locals>.cbô   sô   ø€ Ø—'’'˜)Ñ$Ô$ˆØ—7’7˜:Ñ&Ô&ˆå�—’˜Ñ Ô  FÐ*Ñ+Ô+Ð+Ý�—’˜Ñ!Ô!¥U¨1¡X¤XÐ-Ñ.Ô.Ð.Ý•
˜3Ÿ7š7 5™>œ>­3Ñ/Ô/Ñ0Ô0Ð0Ý•
˜8¥TÑ*Ô*Ñ+Ô+Ð+Ý•
˜7¥CÑ(Ô(Ñ)Ô)Ð)à˜3”xˆ�‰Ø˜Uœˆ�‰Ø˜wœ<ˆ�ÑØ˜Uœˆ�‰ˆˆr   ry   éþÿÿÿr   r   r   ©rb   rt   r%   ©rk   rl   ÚcallbackÚmethodç      2Àrw   ©r1   r2   r/   r0   r�   rœ   )r9   rC   r	   r©   r4   r   )Úselfr¤   rR   rk   rl   r   r£   s         @r   Úgeneric_callback_testr­   ð   sñ   ø€ à€Gð$ð $ð $ð $ð $õ 	Œ�"�b�ÑÔ€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DØˆ:ˆ:€DÝ
�!˜$ T°B¸t¼{Ð
KÑ
KÔ
K€Cå�C U°q¸!°fÐ=Ñ=Ô=Ð=Ý�G˜E”N C¨¤JÑ/Ô/Ð/Ý�G˜C”L # c¤(Ñ+Ô+Ð+Ý�G˜E”N C¨¤JÑ/Ô/Ð/Ý�G˜GÔ$ c¨'¤lÑ3Ô3Ð3Ð3Ð3r   c                  ób  — t          j        ddg¦  «        } ddgddgddgg}g d¢}t          t          t          | ||d¬¦  «         t          t          t          | ||d	¬¦  «         d
}t          j        t          |¬¦  «        5  t	          | ||ddi¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nry   r¥   r   r   r   r¦   úekki-ekki-ekki©rk   rl   r©   z
highs-ekkiz>Unrecognized options detected: {'rr_method': 'ekki-ekki-ekki'}©ÚmatchÚ	rr_method©rk   rl   Úoptions)r9   rC   Úassert_raisesÚ
ValueErrorr	   ÚpytestÚwarnsr
   )rR   rk   rl   r-   s       r   Ú test_unknown_solvers_and_optionsrº     s+  € Ý
Œ�"�b�ÑÔ€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DØˆ:ˆ:€Då•*�gØ˜$ TÐ2BðDñ Dô Dð Då•*�gØ˜$ T°,ð@ñ @ô @ð @àN€GÝ	Œ•o¨WÐ	5Ñ	5Ô	5ð 9ð 9Ý�˜ 4Ø$Ð&6Ð7ð	9ñ 	9ô 	9ð 	9ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s   ÂB$Â$B(Â+B(c                  óž   — t          j        ddg¦  «        } ddgddgddgg}g d¢}t          | ||d¬¦  «        }t          |d	dd
g¬¦  «         d S )Nry   r¥   r   r   r   r¦   Úhighs©r©   rª   rw   r«   )r9   rC   r	   r4   )rR   rk   rl   r   s       r   Útest_choose_solverr¾     sk   € å
Œ�"�b�ÑÔ€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DØˆ:ˆ:€Då
�!�T˜4¨Ð
0Ñ
0Ô
0€CÝ�C U°q¸!°fÐ=Ñ=Ô=Ð=Ð=Ð=r   c                  ó”  — t          j        t          ¦  «        5  t          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   úinterior-pointr½   úrevised simplexÚsimplex)r¸   r¹   ÚDeprecationWarningr	   r~   r   r   Útest_deprecationrÄ   (  s~  € Ý	ŒÕ(Ñ	)Ô	)ð ,ð ,Ý�Ð*Ð+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,å	ŒÕ(Ñ	)Ô	)ð -ð -Ý�Ð+Ð,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	ŒÕ(Ñ	)Ô	)ð %ð %Ý�˜)Ð$Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s0   š8¸<¿<ÁA:Á:A>ÂA>ÂB=Â=CÃCc            	      óÄ  — t          dd¬¦  «        } d}| j        dk    sJ ‚| j                             |¦  «        sJ ‚t	          d¦  «        \  }}}}}dgt          |¦  «        z  }dgt          |¦  «        z  }dd	i}	t          ||||d|	|¬
¦  «        } d}| j        dk    sJ ‚| j                             |¦  «        sJ ‚ddi}	t          ||||d|	¬¦  «        } d}| j        dk    sJ ‚| j                             |¦  «        sJ ‚t          ddd¬¦  «        } d}| j        dk    sJ ‚| j                             |¦  «        sJ ‚t          dd¬¦  «        } d}| j        dk    sJ ‚| j                             |¦  «        sJ ‚ddlm}
  |
dd¦  «        \  }}d}|dk    sJ ‚|                     |¦  «        sJ ‚ |
d d ¦  «        \  }}d}|dk    sJ ‚|                     |¦  «        sJ ‚d S )Nr   r¼   r½   z6Optimization terminated successfully. (HiGHS Status 7:r   rw   ©r   r   Ú
time_limitçš™™™™™¹?)rR   rm   rn   rq   r©   rµ   Úintegralityz%Time limit reached. (HiGHS Status 13:r   rb   úhighs-ds©rR   rm   rn   rq   r©   rµ   z*Iteration limit reached. (HiGHS Status 14:)r   r6   )rq   r©   z+The problem is infeasible. (HiGHS Status 8:r   r6   z+The problem is unbounded. (HiGHS Status 10:r!   )Ú_highs_to_scipy_status_messageé:   zHello!z;The HiGHS status code was not recognized. (HiGHS Status 58:r%   z>HiGHS did not provide a status code. (HiGHS Status None: None))r	   r   r-   Ú
startswithrS   ÚlenÚscipy.optimize._linprog_highsrÌ   )r   r3   rP   rQ   rR   rJ   rI   rq   rÉ   rµ   rÌ   r   r-   s                r   Útest_highs_status_messagerÑ   1  sV  € Ý
�!˜GÐ
$Ñ
$Ô
$€CØ
B€CØŒ:˜Š?ˆ?ˆ?ˆ?ØŒ;×!Ò! #Ñ&Ô&Ð&Ð&Ð&å& q™/œ/Ñ€A€qˆ!ˆW�aØˆX�˜A™œÑ€FØ�#�˜A™œ‘,€KØ˜SÐ!€GÝ
�A˜A A¨f¸WØ!¨{ð<ñ <ô <€Cà
1€CØŒ:˜Š?ˆ?ˆ?ˆ?ØŒ;×!Ò! #Ñ&Ô&Ð&Ð&Ð&à˜"ˆo€GÝ
�A˜A A¨f¸ZØ!ð#ñ #ô #€Cà
6€CØŒ:˜Š?ˆ?ˆ?ˆ?ØŒ;×!Ò! #Ñ&Ô&Ð&Ð&Ð&å
�!˜G¨GÐ
4Ñ
4Ô
4€CØ
7€CØŒ:˜Š?ˆ?ˆ?ˆ?ØŒ;×!Ò! #Ñ&Ô&Ð&Ð&Ð&å
�"˜WÐ
%Ñ
%Ô
%€CØ
7€CØŒ:˜Š?ˆ?ˆ?ˆ?ØŒ;×!Ò! #Ñ&Ô&Ð&Ð&Ð&àLÐLÐLÐLÐLÐLØ4Ð4°R¸ÑBÔB�O€FˆGØ
G€CØ�QŠ;ˆ;ˆ;ˆ;Ø×Ò˜cÑ"Ô"Ð"Ð"Ð"à4Ð4°T¸4Ñ@Ô@�O€FˆGØ
J€CØ�QŠ;ˆ;ˆ;ˆ;Ø×Ò˜cÑ"Ô"Ð"Ð"Ð"Ð"Ð"r   c                  ó<   — t          ddgddggdgddg¬¦  «         d S )Nr   r6   r   ç      À©rk   rl   rÉ   )r	   r~   r   r   Útest_bug_17380rÕ   ^  s/   € ÝˆQ�ˆF˜2˜q˜'˜¨$¨¸aÀ¸VÐDÑDÔDÐDÐDÐDr   c                   ó6  — 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+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<„ Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEdD„ ZFdE„ ZGdF„ ZHdG„ ZIdH„ ZJdI„ ZKdJ„ ZLdK„ ZMdL„ ZNdM„ ZOePjQ         R                    eSjT        dNk    dO¬P¦  «        dQ„ ¦   «         ZUdRS )SÚLinprogCommonTestsa�  
    Base class for `linprog` tests. Generally, each test will be performed
    once for every derived class of LinprogCommonTests, each of which will
    typically change self.options and/or self.method. Effectively, these tests
    are run for many combination of method (simplex, revised simplex, and
    interior point) and options (such as pivoting rule or sparse treatment).
    c                 ó$   — t          | ¦  «         d S ©N)r­   ©r¬   s    r   Útest_callbackz LinprogCommonTests.test_callbackz  s   € Ý˜dÑ#Ô#Ð#Ð#Ð#r   c                 ó†   — t          dd¦  «        \  }}}t          |||| j        ddi¬¦  «        }t          |d¬¦  «         d S )Nrc   ÚdispT©rk   rl   r©   rµ   çü‘šf½OÀ©r1   ©r`   r	   r©   r4   ©r¬   rP   rQ   rR   r   s        r   Ú	test_dispzLinprogCommonTests.test_disp}  sV   € å˜2˜rÑ"Ô"‰ˆˆ1ˆaÝ�a˜a a°´Ø% t˜nð.ñ .ô .ˆå˜Ð);Ð<Ñ<Ô<Ð<Ð<Ð<r   c                 ó’   — ddg}ddgddgg}ddg}d}d}t          |||||f| j        | j        ¬	¦  «        }t          |d
¬¦  «         d S )Nr6   r%   ry   r   r   rw   r…   ©ry   N)rk   rl   rq   rµ   r©   éêÿÿÿrà   )r	   rµ   r©   r4   )r¬   rR   rP   rQ   Ú	x0_boundsÚ	x1_boundsr   s          r   Útest_docstring_examplez)LinprogCommonTests.test_docstring_example„  sv   € à�ˆGˆØ�!ˆW�q˜!�fÐˆØ�ˆFˆØ ˆ	Øˆ	Ý�a˜a a°¸IÐ0FØ"œl°4´;ð@ñ @ô @ˆå˜¨Ð-Ñ-Ô-Ð-Ð-Ð-r   c           	      ól   — dg}dgg}d}t          t          t          |||| j        | j        ¬¦  «         d S )Nr   Úhello©rm   rn   r©   rµ   )r¶   Ú	TypeErrorr	   r©   rµ   )r¬   rR   rm   rn   s       r   Útest_type_errorz"LinprogCommonTests.test_type_error�  sT   € ð ˆCˆØ�ˆuˆØˆÝ•i¥Ø˜d¨Ø!œ[°$´,ð	@ñ 	@ô 	@ð 	@ð 	@ð 	@r   c           
      óf  — t          j        dg¦  «        }t          j        dgg¦  «        }t          j        dg¦  «        }|                     ¦   «         }dt           j        f}t	          |||t
          t          || j        | j        ¬¦  «        }t          |ddg¬¦  «         t          ||¦  «         d S )Nç      ð?ç      @ç      À©r©   rµ   r}   r«   )r9   rC   r@   rf   r	   rm   rn   r©   rµ   r4   r   )r¬   rR   rk   Ú	b_ub_origrl   rq   r   s          r   Útest_aliasing_b_ubz%LinprogCommonTests.test_aliasing_b_ub™  s¨   € õ ŒH�c�U‰OŒOˆÝŒx˜#˜˜Ñ Ô ˆÝ”H˜c˜U‘O”Oˆ	Ø�~Š~ÑÔˆØ�œ�ˆÝ�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨¸°tÐ<Ñ<Ô<Ð<Ý˜	 4Ñ(Ô(Ð(Ð(Ð(r   c           
      óf  — t          j        dg¦  «        }t          j        dgg¦  «        }t          j        dg¦  «        }|                     ¦   «         }dt           j        f}t	          |t
          t          |||| j        | j        ¬¦  «        }t          |ddg¬¦  «         t          ||¦  «         d S )Nrð   rñ   rò   ró   r!   r«   )r9   rC   r@   rf   r	   rk   rl   r©   rµ   r4   r   )r¬   rR   rm   Ú	b_eq_origrn   rq   r   s          r   Útest_aliasing_b_eqz%LinprogCommonTests.test_aliasing_b_eq¦  s¨   € õ ŒH�c�U‰OŒOˆÝŒx˜#˜˜Ñ Ô ˆÝ”H˜c˜U‘O”Oˆ	Ø�~Š~ÑÔˆØ�œ�ˆÝ�a��t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨°q°cÐ:Ñ:Ô:Ð:Ý˜	 4Ñ(Ô(Ð(Ð(Ð(r   c           
      ó”   — dg}dgg}dg}dgg}dg}d}t          ||||||| j        | j        ¬¦  «        }t          |ddg¬¦  «         d S )Nrð   rñ   g       @)ç      ð¿ç      $@ró   r   r«   )r	   r©   rµ   r4   ©r¬   rR   rk   rl   rm   rn   rq   r   s           r   Útest_non_ndarray_argsz(LinprogCommonTests.test_non_ndarray_args³  sy   € ð ˆEˆØ�ˆwˆØˆuˆØ�ˆwˆØˆuˆØˆÝ�a˜˜t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨°q°cÐ:Ñ:Ô:Ð:Ð:Ð:r   c                 ó  ‡ — t          j        ddg¦  «        }ddgddgddgg}g d¢}	 	 dˆ fd„	}ˆ fd„‰ j        D ¦   «         }d	|d
<   t          j        t
          ¦  «        5   |||||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nry   r¥   r   r   r   r¦   c           
      ó@   •— t          | |||||‰j        |¬¦  «         d S ©Nró   ©r	   r©   )rR   rk   rl   rm   rn   rq   rµ   r¬   s          €r   Úfz2LinprogCommonTests.test_unknown_options.<locals>.fÅ  s7   ø€ å�A�t˜T 4¨¨vØœ;°ð9ñ 9ô 9ð 9ð 9ð 9r   c                 ó,   •— i | ]}|‰j         |         “ŒS r~   ©rµ   ©Ú.0Úkeyr¬   s     €r   ú
<dictcomp>z;LinprogCommonTests.test_unknown_options.<locals>.<dictcomp>Ê  ó"   ø€ Ð<Ð<Ð<¨ˆS�$”,˜sÔ#Ð<Ð<Ð<r   é*   Úspamr´   )NNNNNN)r9   rC   rµ   r¸   r¹   r
   )r¬   rR   rk   rl   r  Úos   `     r   Útest_unknown_optionsz'LinprogCommonTests.test_unknown_optionsÀ  s  ø€ ÝŒH�b˜"�XÑÔˆØ�A�˜˜A˜  A Ð'ˆØˆzˆzˆà,0Ø.2ð	9ð 	9ð 	9ð 	9ð 	9ð 	9ð
 =Ð<Ð<Ð<¨t¬|Ð<Ñ<Ô<ˆØˆˆ&‰	åŒ\�/Ñ*Ô*ð 	2ð 	2ØˆAˆa�d ¨qÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s   Á A=Á=BÂBc           	      ó,  — t          j        ddgddgddgg¦  «        }t          j        g d¢¦  «        }t          j        ddg¦  «         }dt           j        fgt          |¦  «        z  }dgt          |¦  «        z  }t	          j        t          ¦  «        5  t          ||||| j        |¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t           j	         
                    |j        dd	g¦  «         t           j	         
                    |j        d
¦  «         d S )Nr6   r   r!   r   ©r   é   r  r   ©rR   rk   rl   rq   r©   rÉ   çÍÌÌÌÌÌü?çffffff@çffffffÀ)r9   rC   rf   rÏ   r¸   r¹   r
   r	   r©   Útestingr   r0   r/   ©r¬   rk   rl   rR   rq   rÉ   r   s          r   Útest_integrality_without_highsz1LinprogCommonTests.test_integrality_without_highsÐ  sT  € õ Œx˜"˜a˜ 1 a &¨1¨a¨&Ð1Ñ2Ô2ˆÝŒx˜˜˜Ñ$Ô$ˆÝŒX�q˜!�fÑÔÐˆà•b”f�+�¥ Q¡¤Ñ'ˆØ�c�C ™FœF‘lˆåŒ\�/Ñ*Ô*ð 	Gð 	GÝ˜A D¨t¸FØ!%¤¸+ðGñ Gô GˆCð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gõ 	Œ
×"Ò" 3¤5¨3°¨*Ñ5Ô5Ð5Ý
Œ
×"Ò" 3¤7¨DÑ1Ô1Ð1Ð1Ð1s   ÂB=Â=CÃCc                 ó  ‡ — dˆ fd„	}t          t          |g d¢ddg¬¦  «         t          j        ¦   «         5  t          j        ddt
          ¦  «         t          t          |g d¢g d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          |g d¢d	dg¬¦  «         t          t          |d
dgd
dggd
dg¬¦  «         t          t          |d
dgd
ggd
g¬¦  «         t          t          |d
dgd
dggd
dg¬¦  «         t          t          |d
dgd
ggd
g¬¦  «         t          t          |d
dgd
gd
¬¦  «         d‰ j        v r‰ j        d         rd S t          t          |d
dgt          j        d¦  «        d
¬¦  «         d S )Nc           
      óJ   •— t          | |||||‰j        ‰j        ¬¦  «         d S r   ©r	   r©   rµ   ©rR   rk   rl   rm   rn   rq   r¬   s         €r   r  z1LinprogCommonTests.test_invalid_inputs.<locals>.fä  ó9   ø€ Ý�A�t˜T 4¨¨vØœ;°´ð>ñ >ô >ð >ð >ð >r   ©r   r   r!   rš   ©r!   r%   ©rq   ÚignorezCreating an ndarray from ragged)rš   r  )r!   r%   é   ©r   r¥   r   r   )rk   rl   )rm   rn   Ú_sparse_presolve)r   r   r!   )rk   rn   ©NNNNN)	r¶   r·   ÚwarningsÚcatch_warningsÚfilterwarningsr   rµ   r9   r>   )r¬   r  s   ` r   Útest_invalid_inputsz&LinprogCommonTests.test_invalid_inputsâ  s%  ø€ ð	>ð 	>ð 	>ð 	>ð 	>ð 	>õ
 	•j ! Y Y Y¸ÀÐ7GÐHÑHÔHÐHÝÔ$Ñ&Ô&ð 	Xð 	XÝÔ#ØÐ;Õ=VñXô Xð Xå�* a¨¨¨Ð;VÐ;VÐ;VÐWÑWÔWÐWð	Xð 	Xð 	Xñ 	Xô 	Xð 	Xð 	Xð 	Xð 	Xð 	Xð 	Xøøøð 	Xð 	Xð 	Xð 	Xõ 	•j ! Y Y Y¸ÀÐ7HÐIÑIÔIÐIõ 	•j ! a¨ V°A°q°6°(À!ÀQÀÐHÑHÔHÐHÝ•j ! a¨ V°A°3°%¸q¸cÐBÑBÔBÐBÝ•j ! a¨ V°A°q°6°(À!ÀQÀÐHÑHÔHÐHÝ•j ! a¨ V°A°3°%¸q¸cÐBÑBÔBÐBÝ•j ! a¨ V°1°#¸AÐ>Ñ>Ô>Ð>ð  $¤,Ð.Ð.Ø”Ð/Ô0ð /àˆFõ 	•j ! a¨ Vµ"´(¸9Ñ2EÔ2EÈAÐNÑNÔNÐNÐNÐNs   ·8A;Á;A?ÂA?c           	      óÄ  ‡ — dˆ fd„	}t           j                             d¦  «        }d}d}t          j                             ||fd|¬¦  «        }|                     |¦  «        }|                     |¦  «        }||                     |¦  «        z   }||                     |¦  «        z
  }	t          j        |	|f¦  «        }
||z  }‰ j        dv rYt          t          d‰ j        › d	�¬
¦  «        5  t          ||||
‰ j        ‰ j        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S i ‰ j        ¥}‰ j        dv rd|d<   t          ||||
‰ j        |¬¦  «        }|j        sJ ‚d S )Nc           
      óJ   •— t          | |||||‰j        ‰j        ¬¦  «         d S r   r  r  s         €r   r  z5LinprogCommonTests.test_sparse_constraints.<locals>.f  r  r   l   °QûxD;r‚   é–   re   )ÚdensityrH   >   rÂ   rÁ   zMethod 'z.' does not support sparse constraint matrices.r±   rË   >   rÀ   Tr‹   r$  )r9   r:   r;   rŠ   r‹   Úrandom_arrayrˆ   Úcolumn_stackr©   r¶   r·   r	   rµ   r   )r¬   r  rH   rZ   rG   rm   Úx_validrR   rp   ro   rq   rn   rµ   r   s   `             r   Útest_sparse_constraintsz*LinprogCommonTests.test_sparse_constraintsÿ  s  ø€ ð	>ð 	>ð 	>ð 	>ð 	>ð 	>õ Œi×#Ò#Ð$4Ñ5Ô5ˆØˆØˆÝŒ|×(Ò(¨!¨Q¨¸À#Ð(ÑFÔFˆØ×%Ò% aÑ(Ô(ˆØ×Ò Ñ"Ô"ˆØ�s—z’z !‘}”}Ñ$ˆØ�s—z’z !‘}”}Ñ$ˆÝ” " b Ñ*Ô*ˆØ�g‰~ˆàŒ;Ð8Ð8Ð8å�zð 2N¸D¼Kð 2Nð 2Nð 2Nð Oñ Oô Oð Bð Bå˜! $¨T¸&Ø#œ{°D´LðBñ Bô Bð BðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Bð '˜œÐ&ˆGØŒ{Ð0Ð0Ð0Ø$(�˜Ñ!å˜A D¨t¸FØ!%¤°gð?ñ ?ô ?ˆCà”;ÐÐ�;ÐÐs   Ã, DÄDÄ Dc                 ó°   — g d¢}g d¢g d¢g d¢g}g d¢}d}t          |||| j        d|i¬¦  «        }t          ||¦  «         t          |j        |¦  «         d S )	N©r%   rt   r!   r   r   r   ©r   r!  r!   r6   r   r   ©r!   ç      @rt   r   r6   r   ©rt   rb   r%   r   r   r6   ©é¹   é›   iX  r!   r   rì   )r	   r©   r   r   r›   )r¬   rR   rP   rQ   r   r   s         r   Útest_maxiterzLinprogCommonTests.test_maxiter   s�   € àÐÐˆàÐÐØ!Ð!Ð!Ø Ð Ð ð"ˆð ˆOˆOˆØˆÝ�a˜a a°´Ø(¨'Ð2ð4ñ 4ô 4ˆå'¨¨WÑ5Ô5Ð5Ý�S”W˜gÑ&Ô&Ð&Ð&Ð&r   c                 ó¢  — | j                              dd¦  «        }t          dgd| j        | j         ¬¦  «        }t	          |dd¦  «         |rt          |j        d¦  «         t          g d¢g d¢| j        | j         ¬¦  «        }t	          |d	g d
¢¦  «         |rt          |j        d¦  «         t          ddgddg| j        | j         ¬¦  «        }t	          |dddg¦  «         |rt          |j        d¦  «         t          g d¢g d¢g d¢gddgg d¢| j        | j         ¬¦  «        }t	          |dg d¢¦  «         |rt          |j        d¦  «         d S d S )NÚpresolveTr   )r   r   ©rq   r©   rµ   r   r  ))r!  r!  )r6   r6   )r!   r!   r  )r!  r6   r!   )r   r!   r   )r   r   r   ©r   r   r   ©r   r   r   r{   ))éûÿÿÿr!  )r   rb   )ç      @rA  ©rm   rn   rq   r©   rµ   é   )r   r{   rA  )rµ   Úgetr	   r©   r4   r   r›   ©r¬   Údo_presolver   s      r   Útest_bounds_fixedz$LinprogCommonTests.test_bounds_fixed.  s¯  € ð
 ”l×&Ò& z°4Ñ8Ô8ˆå�q�c &Ø!œ[°$´,ð@ñ @ô @ˆå˜˜Q Ñ"Ô"Ð"Øð 	%Ý˜œ !Ñ$Ô$Ð$å�i�i�iÐ(BÐ(BÐ(BØ!œ[°$´,ð@ñ @ô @ˆå˜˜R   Ñ,Ô,Ð,Øð 	%Ý˜œ !Ñ$Ô$Ð$å�q˜!�f f¨fÐ%5Ø!œ[°$´,ð@ñ @ô @ˆå˜˜Q  A Ñ'Ô'Ð'Øð 	%Ý˜œ !Ñ$Ô$Ð$å�i�i�i y y y°)°)°)Ð&<ÀAÀqÀ6Ø;Ð;Ð;Ø!œ[°$´,ð@ñ @ô @ˆõ 	˜˜R   Ñ-Ô-Ð-Øð 	%Ý˜œ !Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c                 óà  — | j                              dd¦  «        }t          dgd| j        | j         ¬¦  «        }t	          |¦  «         |rt          |j        d¦  «         t          dgdg| j        | j         ¬¦  «        }t	          |¦  «         |rt          |j        d¦  «         t          g d¢g d¢| j        | j         ¬¦  «        }t	          |¦  «         |rt          |j        d¦  «         d S d S )	Nr<  Tr   r"  r=  r   r  ))r!  r   rš   r  )rµ   rD  r	   r©   r   r   r›   rE  s      r   Útest_bounds_infeasiblez)LinprogCommonTests.test_bounds_infeasibleN  s  € ð
 ”l×&Ò& z°4Ñ8Ô8ˆå�q�c '°$´+ÀtÄ|ÐTÑTÔTˆÝ˜3ÑÔÐØð 	%Ý˜œ !Ñ$Ô$Ð$å�q�c 7 )°D´KÈÌÐVÑVÔVˆÝ˜3ÑÔÐØð 	%Ý˜œ !Ñ$Ô$Ð$å�i�i�iÐ(@Ð(@Ð(@Ø!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐØð 	%Ý˜œ !Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c                 ó²  ‡ — ‰ j                              dd¦  «        }| o
‰ j        dk    }g d¢}dt          j        t          j        fdg}dt          j         t          j         fdg}|ræˆ fd„}t          j        t          ¦  «        5  t          j        t          ¦  «        5   |||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          j        t          ¦  «        5   |||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S t          ||‰ j        ‰ j         ¬	¦  «        }t          |¦  «         |rt          |j        d
¦  «         t          ||‰ j        ‰ j         ¬	¦  «        }t          |¦  «         |rt          |j        d
¦  «         d S d S )Nr<  TrÂ   r  rš   r  c                 óB   •— t          | |‰j        ‰j        ¬¦  «        }|S )Nr=  r  )rR   rq   r   r¬   s      €r   Úgz6LinprogCommonTests.test_bounds_infeasible_2.<locals>.gv  s,   ø€ Ý˜a¨Ø%)¤[¸$¼,ðHñ Hô H�à�
r   r  ©rR   rq   r©   rµ   r   )rµ   rD  r©   r9   rf   r¸   r¹   ÚRuntimeWarningr   Ú
IndexErrorr	   r   r   r›   )r¬   rF  Úsimplex_without_presolverR   Úbounds_1Úbounds_2rL  r   s   `       r   Útest_bounds_infeasible_2z+LinprogCommonTests.test_bounds_infeasible_2e  s  ø€ ð ”l×&Ò& z°4Ñ8Ô8ˆØ'2 ?Ð#O°t´{ÀiÒ7OÐ àˆIˆIˆØ�RœV¥R¤VÐ,¨fÐ5ˆØ�bœf˜W¥r¤v gÐ.°Ð7ˆà#ð 	)ðð ð ð ð õ
 ”�nÑ-Ô-ð *ð *Ý”]¥:Ñ.Ô.ð *ð *Ø�A�a Ð)Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ ”�nÑ-Ô-ð *ð *Ý”]¥:Ñ.Ô.ð *ð *Ø�A�a Ð)Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *õ ˜A hØ!%¤°d´lðDñ Dô DˆCå˜sÑ#Ô#Ð#Øð )Ý˜SœW aÑ(Ô(Ð(Ý˜A hØ!%¤°d´lðDñ Dô DˆCå˜sÑ#Ô#Ð#Øð )Ý˜SœW aÑ(Ô(Ð(Ð(Ð(ð)ð )sl   ÂCÂ!B;Â/CÂ;B?	Â?CÃB?	ÃCÃCÃCÃ6EÄD*ÄEÄ*D.	Ä.EÄ1D.	Ä2EÅEÅ	Ec                 ód   — ddg}t          || j        | j        ¬¦  «        }t          |¦  «         d S )Nr6   r¥   ró   )r	   r©   rµ   r"   )r¬   rR   r   s      r   Útest_empty_constraint_1z*LinprogCommonTests.test_empty_constraint_1Ž  s7   € Ø�ˆHˆÝ�a ¤°T´\ÐBÑBÔBˆÝ˜#ÑÔÐÐÐr   c                 ó  — g d¢}dt           j        ft           j         dfddg}t          ||| j        | j        ¬¦  «        }t          |¦  «         | j                             dd¦  «        rt          |j        d¦  «         d S d S )N)r6   r   r6   r   r   ©r6   r   r=  r<  T)	r9   rf   r	   r©   rµ   r"   rD  r   r›   ©r¬   rR   rq   r   s       r   Útest_empty_constraint_2z*LinprogCommonTests.test_empty_constraint_2“  s•   € ØˆNˆNˆØ•b”f�+¥¤ ¨˜|¨W°gÐ>ˆÝ�a Ø!œ[°$´,ð@ñ @ô @ˆå˜#ÑÔÐàŒ<×Ò˜J¨Ñ-Ô-ð 	%Ý˜œ !Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c                 ó®   — g d¢}dt           j        ft           j         dfddg}t          ||| j        | j        ¬¦  «        }t          |g d¢d¬¦  «         d S )N)r   r6   r   r6   r   rW  r=  )r   r   r6   r   r¥   ©r2   r1   )r9   rf   r	   r©   rµ   r4   rX  s       r   Útest_empty_constraint_3z*LinprogCommonTests.test_empty_constraint_3�  sj   € ØˆNˆNˆØ•b”f�+¥¤ ¨˜|¨W°gÐ>ˆÝ�a Ø!œ[°$´,ð@ñ @ô @ˆå˜ } } }À"ÐEÑEÔEÐEÐEÐEr   c           
      óÞ   — t          j        ddg¦  «        dz  }ddgddgddgg}g d¢}t          |||t          t          t
          | j        | j        ¬¦  «        }t          |ddd	g¬
¦  «         d S )Nr!   r   r6   r   r   r¦   ró   iîÿÿÿrw   r«   ©	r9   rC   r	   rm   rn   rq   r©   rµ   r4   ©r¬   rR   rk   rl   r   s        r   Útest_inequality_constraintsz.LinprogCommonTests.test_inequality_constraints¤  sŽ   € õ ŒH�a˜�VÑÔ˜rÑ!ˆØ�A�Ø�A�Ø�A�ðˆð ˆzˆzˆÝ�a˜˜t¥T­4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨¸¸A¸Ð?Ñ?Ô?Ð?Ð?Ð?r   c           
      ó´   — ddg}ddgddgddgg}g d¢}t          |||t          t          t          | j        | j        ¬¦  «        }t          |d	d
dg¬¦  «         d S )Nrw   r!   r   r6   r¥   r   )r   r6   r6   ró   r!  gUUUUUUå?gUUUUUUÕ?r«   ©r	   rm   rn   rq   r©   rµ   r4   r_  s        r   Útest_inequality_constraints2z/LinprogCommonTests.test_inequality_constraints2°  s   € ð �ˆFˆØ�A�Ø�R�Ø�Q�ðˆð ˆ{ˆ{ˆÝ�a˜˜t¥T­4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨°u¸e°nÐEÑEÔEÐEÐEÐEr   c           
      ó:  — ddg}d}t          |t          t          t          t          || j        | j        ¬¦  «        }t          |ddg¬¦  «         ddg}t          |t          t          t          t          || j        | j        ¬¦  «        }t          |ddg¬¦  «         d S )Nr   r   rš   ró   ©r2   )r	   rk   rl   rm   rn   r©   rµ   r4   rX  s       r   Útest_bounds_simplez%LinprogCommonTests.test_bounds_simple½  s¦   € Ø�ˆFˆØˆÝ�a��t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨¨1 vÐ.Ñ.Ô.Ð.à˜&Ð!ˆÝ�a��t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨¨1 vÐ.Ñ.Ô.Ð.Ð.Ð.r   c           
      ó  — t          j        dg¦  «        }t          j        dgg¦  «        }t          j        dg¦  «        }d}t          |t          t          |||| j        | j        ¬¦  «        }t          |ddg¬¦  «         d S )Nrð   rñ   )rð   Nró   r!   r«   ©r9   rC   r	   rk   rl   r©   rµ   r4   ©r¬   rR   rm   rn   rq   r   s         r   Útest_bounded_below_only_1z,LinprogCommonTests.test_bounded_below_only_1É  s�   € ÝŒH�c�U‰OŒOˆÝŒx˜#˜˜Ñ Ô ˆÝŒx˜˜‰ŒˆØˆÝ�a��t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨°q°cÐ:Ñ:Ô:Ð:Ð:Ð:r   c           
      ó<  — t          j        d¦  «        }t          j        d¦  «        }t          j        g d¢¦  «        }dt           j        f}t          |t          t          |||| j        | j	        ¬¦  «        }t          ||t          j        |¦  «        ¬¦  «         d S )Nr!   r  re   ró   r[  ©r9   r‰   ÚeyerC   rf   r	   rk   rl   r©   rµ   r4   Úsumri  s         r   Útest_bounded_below_only_2z,LinprogCommonTests.test_bounded_below_only_2Ò  s‰   € ÝŒG�A‰JŒJˆÝŒv�a‰yŒyˆÝŒx˜	˜	˜	Ñ"Ô"ˆØ•r”v�ˆÝ�a��t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜ t½¼À¹¼ÐFÑFÔFÐFÐFÐFr   c           
      ó  — t          j        dg¦  «        }t          j        dgg¦  «        }t          j        dg¦  «        }d}t          |t          t          |||| j        | j        ¬¦  «        }t          |ddg¬¦  «         d S )Nrð   rñ   )Nrû   ró   r!   r«   rh  ri  s         r   Útest_bounded_above_only_1z,LinprogCommonTests.test_bounded_above_only_1Û  s�   € ÝŒH�c�U‰OŒOˆÝŒx˜#˜˜Ñ Ô ˆÝŒx˜˜‰ŒˆØˆÝ�a��t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨°q°cÐ:Ñ:Ô:Ð:Ð:Ð:r   c           
      ó>  — t          j        d¦  «        }t          j        d¦  «        }t          j        g d¢¦  «        }t           j         df}t          |t          t          |||| j        | j	        ¬¦  «        }t          ||t          j        |¦  «        ¬¦  «         d S )Nr!   r  r%   ró   r[  rl  ri  s         r   Útest_bounded_above_only_2z,LinprogCommonTests.test_bounded_above_only_2ä  s‹   € ÝŒG�A‰JŒJˆÝŒv�a‰yŒyˆÝŒx˜	˜	˜	Ñ"Ô"ˆÝ”6�'˜1�ˆÝ�a��t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜ t½¼À¹¼ÐFÑFÔFÐFÐFÐFr   c           
      óR  — t          j        d¦  «        }t          j        d¦  «        }t          j        g d¢¦  «        }t           j         t           j        f}t          |t          t          |||| j        | j	        ¬¦  «        }t          ||t          j        |¦  «        ¬¦  «         d S )Nr!   r  ró   r[  rl  ri  s         r   Útest_bounds_infinityz'LinprogCommonTests.test_bounds_infinityí  sŽ   € ÝŒG�A‰JŒJˆÝŒv�a‰yŒyˆÝŒx˜	˜	˜	Ñ"Ô"ˆÝ”6�'�2œ6Ð"ˆÝ�a��t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜ t½¼À¹¼ÐFÑFÔFÐFÐFÐFr   c           
      ó`  — t          j        ddg¦  «        dz  }t          j        ddgddggt           j        ¬¦  «        }ddg}t           j         t           j        f}dt           j        f}||f}t	          |||t
          t          || j        | j        ¬¦  «        }t          |d	d
dg¬¦  «         d S )Nr6   r%   ry   r   r   r7   rw   ró   g·mÛ¶mÛ&Àg’$I’$Iò¿g%I’$I’@r«   )
r9   rC   Úfloat64rf   r	   rm   rn   r©   rµ   r4   )r¬   rR   rk   rl   rç   rè   rq   r   s           r   Útest_bounds_mixedz$LinprogCommonTests.test_bounds_mixedö  sÃ   € õ ŒH�b˜!�WÑÔ Ñ"ˆÝŒx˜"˜a˜Ø˜Q˜ð!Ý(*¬
ð4ñ 4ô 4ˆà�1ˆvˆÝ”f�W�bœfÐ%ˆ	Ø�œ�Lˆ	Ø˜YÐ'ˆÝ�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨¸VÀVÐ<LÐMÑMÔMÐMÐMÐMr   c           
      ó¨   — ddg}ddgddgddgg}g d¢}dd	g}t          |||t          t          || j        | j        ¬
¦  «        }t          |¦  «         d S ©Nr}   r   r{   r¥   r   r   )é   r   r!   ©r   r   r†   ró   )r	   rm   rn   r©   rµ   r   ©r¬   rR   rk   rl   rq   r   s         r   Ú test_bounds_equal_but_infeasiblez3LinprogCommonTests.test_bounds_equal_but_infeasible  sv   € Ø�ˆGˆØ�B�˜!˜Q˜ ! R Ð)ˆØˆzˆzˆØ˜)Ð$ˆÝ�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐÐÐr   c           
      ó¨   — ddg}ddgddgddgg}g d¢}dd	g}t          |t          t          |||| j        | j        ¬
¦  «        }t          |¦  «         d S rz  )r	   rk   rl   r©   rµ   r   ri  s         r   Ú!test_bounds_equal_but_infeasible2z4LinprogCommonTests.test_bounds_equal_but_infeasible2  sv   € Ø�ˆGˆØ�B�˜!˜Q˜ ! R Ð)ˆØˆzˆzˆØ˜)Ð$ˆÝ�a��t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐÐÐr   c           
      óÊ   ‡ — ddg}ddgddgg}ddg}ddg}ˆ fd	„‰ j         D ¦   «         }d
|d<   t          |||t          t          |‰ j        |¬¦  «        }t          |¦  «         d S )Nr   r   gš™™™™™ñ?gš™™™™™@r%   rt   rš   r|  c                 ó,   •— i | ]}|‰j         |         “ŒS r~   r  r  s     €r   r  zDLinprogCommonTests.test_bounds_equal_no_presolve.<locals>.<dictcomp>   r	  r   Fr<  ró   )rµ   r	   rm   rn   r©   r   ©r¬   rR   rk   rl   rq   r  r   s   `      r   Útest_bounds_equal_no_presolvez0LinprogCommonTests.test_bounds_equal_no_presolve  s’   ø€ ð
 �ˆFˆØ�A�˜˜c˜
Ð#ˆØ�1ˆvˆØ˜&Ð!ˆà<Ð<Ð<Ð<¨t¬|Ð<Ñ<Ô<ˆØˆˆ*‰å�a˜˜t¥T­4°Ø!œ[°!ð5ñ 5ô 5ˆå˜3ÑÔÐÐÐr   c           
      óf  — d\  }}t           j                             d¦  «        }|                     |¦  «        }d|d<   |                     ||f¦  «        }d|d d …df<   |                     |¦  «        }g d¢g}d}g d¢}	t          ||||||	| j        | j        ¬¦  «        }
t          |
d	¬
¦  «         d S )Nr  l   ujo0o r   r   )r   r   r   r   r!   )©rz   rb   r†  )rz   Nr…   ró   gç•Ã[µø"Àrà   )r9   r:   r;   r	   r©   rµ   r4   )r¬   rZ   rG   rH   rR   rm   rn   rk   rl   rq   r   s              r   Útest_zero_column_1z%LinprogCommonTests.test_zero_column_1'  sÎ   € Ø‰ˆˆ1ÝŒi×#Ò# OÑ4Ô4ˆØ�JŠJ�q‰MŒMˆØˆˆ!‰Ø�zŠz˜1˜a˜&Ñ!Ô!ˆØˆˆQˆQˆQ�ˆT‰
Ø�zŠz˜!‰}Œ}ˆØ��ˆ~ˆØˆØBÐBÐBˆÝ�a˜˜t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜Ð);Ð<Ñ<Ô<Ð<Ð<Ð<r   c           
      ól  — | j         dv rt          j        ¦   «          t          j                             d¦  «        }d\  }}|                     |¦  «        }d|d<   |                     ||f¦  «        }d|d d …df<   |                     |¦  «        }|                     ||f¦  «        }d|d d …df<   |                     |¦  «        }d}	t          ||||||	| j         | j        ¬¦  «        }
t          |
¦  «         | j         	                    d	d
¦  «        r d| j         vrt          |
j        d¦  «         d S d S d S )N>   rÊ   ú	highs-ipml   éT-—	Îr r$   r6   r   r   r…   ró   r<  Tr¼   )r©   r¸   Úxfailr9   r:   r;   r	   rµ   r"   rD  r   r›   )r¬   rH   rZ   rG   rR   rm   rn   rk   rl   rq   r   s              r   Útest_zero_column_2z%LinprogCommonTests.test_zero_column_26  sK  € ØŒ;Ð3Ð3Ð3åŒL‰NŒNˆNåŒi×#Ò#Ð$7Ñ8Ô8ˆØ‰ˆˆ1Ø�JŠJ�q‰MŒMˆØˆˆ!‰Ø�zŠz˜1˜a˜&Ñ!Ô!ˆØˆˆQˆQˆQ�ˆT‰
Ø�zŠz˜!‰}Œ}ˆà�zŠz˜1˜a˜&Ñ!Ô!ˆØˆˆQˆQˆQ�ˆT‰
Ø�zŠz˜!‰}Œ}ˆØˆÝ�a˜˜t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜#ÑÔÐàŒ<×Ò˜J¨Ñ-Ô-ð 	%°'ÀÄÐ2LÐ2Lõ ˜œ !Ñ$Ô$Ð$Ð$Ð$ð		%ð 	%Ð2LÐ2Lr   c           
      ó®   — g d¢}g d¢g d¢g d¢g}g d¢}t          |t          t          ||t          | j        | j        ¬¦  «        }t          |d¬¦  «         d S )Nr  ©r   r   r   ©r   r   r   ©r   r!   r   ró   r!   rà   ©r	   rk   rl   rq   r©   rµ   r4   ©r¬   rR   rm   rn   r   s        r   Útest_zero_row_1z"LinprogCommonTests.test_zero_row_1Q  sq   € ØˆIˆIˆØ�	�	˜9˜9˜9 i i iÐ0ˆØˆyˆyˆÝ�a��t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨Ð+Ñ+Ô+Ð+Ð+Ð+r   c           
      ó®   — g d¢g d¢g d¢g}g d¢}g d¢}t          |||t          t          t          | j        | j        ¬¦  «        }t          |d¬¦  «         d S )Nr�  rŽ  r�  r  ró   r   rà   rb  ©r¬   rk   rl   rR   r   s        r   Útest_zero_row_2z"LinprogCommonTests.test_zero_row_2Y  sq   € Ø�	�	˜9˜9˜9 i i iÐ0ˆØˆyˆyˆØˆIˆIˆÝ�a˜˜t¥T­4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨Ð+Ñ+Ô+Ð+Ð+Ð+r   c           
      óÄ  — d\  }}t           j                             d¦  «        }|                     |¦  «        }|                     ||f¦  «        }d|dd d …f<   |                     |¦  «        }t          |t          t
          ||t          | j        | j        ¬¦  «        }t          |¦  «         | j         
                    dd¦  «        rt          |j        d¦  «         d S d S )Nr$   l   Ñ<ôl(S‹r   ró   r<  T)r9   r:   r;   r	   rk   rl   rq   r©   rµ   r   rD  r   r›   ©r¬   rZ   rG   rH   rR   rm   rn   r   s           r   Útest_zero_row_3z"LinprogCommonTests.test_zero_row_3a  sÝ   € Ø‰ˆˆ1ÝŒi×#Ò#Ð$5Ñ6Ô6ˆØ�JŠJ�q‰MŒMˆØ�zŠz˜1˜a˜&Ñ!Ô!ˆØˆˆQ���ˆT‰
Ø�zŠz˜!‰}Œ}ˆÝ�a��t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐð Œ<×Ò˜J¨Ñ-Ô-ð 	%Ý˜œ !Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c           
      óÆ  — d\  }}t           j                             d¦  «        }|                     |¦  «        }|                     ||f¦  «        }d|dd d …f<   |                     |¦  «         }t          |||t          t
          t          | j        | j        ¬¦  «        }t          |¦  «         | j         
                    dd¦  «        rt          |j        d¦  «         d S d S )Nr$   l   ­ºFË- r   ró   r<  T)r9   r:   r;   r	   rm   rn   rq   r©   rµ   r   rD  r   r›   )r¬   rZ   rG   rH   rR   rk   rl   r   s           r   Útest_zero_row_4z"LinprogCommonTests.test_zero_row_4p  sß   € Ø‰ˆˆ1ÝŒi×#Ò#Ð$4Ñ5Ô5ˆØ�JŠJ�q‰MŒMˆØ�zŠz˜1˜a˜&Ñ!Ô!ˆØˆˆQ���ˆT‰
Ø—
’
˜1‘”ˆ~ˆÝ�a˜˜t¥T­4µØ!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐð Œ<×Ò˜J¨Ñ-Ô-ð 	%Ý˜œ !Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c           
      ó  — g d¢}g d¢g d¢g d¢g d¢g}g d¢}t          |t          t          ||t          | j        | j        ¬¦  «        }t          |¦  «         | j                             dd¦  «        rt          |j	        d	¦  «         d S d S )
N©r   r   r   r   ©r   r   r   r   ©r   r   r   r   ©r   r   r   r   )r   r   r   r%   ró   r<  Tr   )
r	   rk   rl   rq   r©   rµ   r   rD  r   r›   r‘  s        r   Útest_singleton_row_eq_1z*LinprogCommonTests.test_singleton_row_eq_1  sª   € ØˆLˆLˆØ��˜l˜l˜l¨L¨L¨L¸,¸,¸,ÐGˆØˆ|ˆ|ˆÝ�a��t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐð Œ<×Ò˜J¨Ñ-Ô-ð 	%Ý˜œ !Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c           
      ó´   — g d¢}g d¢g d¢g d¢g d¢g}g d¢}t          |t          t          ||t          | j        | j        ¬¦  «        }t          |d¬¦  «         d S )	Nrœ  r�  rž  rŸ  )r   r   r   r%   ró   r%   rà   r�  r‘  s        r   Útest_singleton_row_eq_2z*LinprogCommonTests.test_singleton_row_eq_2‹  sw   € ØˆLˆLˆØ��˜l˜l˜l¨L¨L¨L¸,¸,¸,ÐGˆØˆ|ˆ|ˆÝ�a��t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨Ð+Ñ+Ô+Ð+Ð+Ð+r   c           
      ó  — g d¢}g d¢g d¢g d¢g d¢g}g d¢}g d¢}t          |||t          t          || j        | j        ¬¦  «        }t          |¦  «         | j                             d	d
¦  «        rt          |j        d¦  «         d S d S )Nrœ  r�  rž  ©r6   r   r   r   rŸ  )r   r   r¥   r%   ©r…   r†   r†   r†   ró   r<  Tr   ©	r	   rm   rn   r©   rµ   r   rD  r   r›   r}  s         r   Útest_singleton_row_ub_1z*LinprogCommonTests.test_singleton_row_ub_1“  sµ   € ØˆLˆLˆØ��˜l˜l˜l¨M¨M¨M¸<¸<¸<ÐHˆØˆ}ˆ}ˆØ@Ð@Ð@ˆÝ�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐð Œ<×Ò˜J¨Ñ-Ô-ð 	%Ý˜œ !Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c           
      ó²   — g d¢}g d¢g d¢g d¢g d¢g}g d¢}g d¢}t          |||t          t          || j        | j        ¬¦  «        }t          |d	¬
¦  «         d S )Nrœ  r�  rž  r¤  rŸ  )r   r   ç      à¿r%   r¥  ró   re   rà   )r	   rm   rn   r©   rµ   r4   r}  s         r   Útest_singleton_row_ub_2z*LinprogCommonTests.test_singleton_row_ub_2   s‚   € ØˆLˆLˆØ��˜l˜l˜l¨M¨M¨M¸<¸<¸<ÐHˆØˆˆˆØ@Ð@Ð@ˆÝ�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨Ð-Ñ-Ô-Ð-Ð-Ð-r   c           
      óª   — ddg}ddgddgddgg}g d¢}t          |||t          t          t          | j        | j        ¬¦  «        }t          |¦  «         d S )Nr6   r   r   )r   r   r@  ró   )r	   rm   rn   rq   r©   rµ   r   r_  s        r   Útest_infeasiblez"LinprogCommonTests.test_infeasible©  sr   € à�ˆHˆØ�A�Ø�A�Ø�R�ðˆð ˆzˆzˆÝ�a˜˜t¥T­4µØ!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐÐÐr   c           
      óô   — dg}dgg}d}d}t          |||t          t          || j        | j        ¬¦  «        }t          |¦  «         | j                             dd¦  «        rt          |j        d¦  «         d S d S )	Nr   r   r%   )r!  rw   ró   r<  Tr   r¦  r}  s         r   Ú!test_infeasible_inequality_boundsz4LinprogCommonTests.test_infeasible_inequality_bounds´  s”   € ØˆCˆØ�ˆuˆØˆØˆÝ�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜3ÑÔÐð Œ<×Ò˜J¨Ñ-Ô-ð 	%Ý˜œ !Ñ$Ô$Ð$Ð$Ð$ð	%ð 	%r   c           
      óÎ   — t          j        ddg¦  «        dz  }ddgddgg}ddg}t          |||t          t          t
          | j        | j        ¬¦  «        }t          |¦  «         d S )Nr   r6   r¥   ró   )	r9   rC   r	   rm   rn   rq   r©   rµ   r"   r_  s        r   Útest_unboundedz!LinprogCommonTests.test_unboundedÁ  sx   € åŒH�a˜�VÑÔ˜rÑ!ˆØ�Q�Ø�R�ðˆà�BˆxˆÝ�a˜˜t¥T­4µØ!œ[°$´,ð@ñ @ô @ˆå˜#ÑÔÐÐÐr   c                 óÖ   ‡ — dg}dg}ˆ fd„‰ j         D ¦   «         }d|d<   t          ||‰ j        |¬¦  «        }‰ j        dk    rt          |j        d¦  «         d S t          |¦  «         d S )	Nr   ©Nr   c                 ó,   •— i | ]}|‰j         |         “ŒS r~   r  r  s     €r   r  zQLinprogCommonTests.test_unbounded_below_no_presolve_corrected.<locals>.<dictcomp>Ï  r	  r   Fr<  rM  rÁ   r!  )rµ   r	   r©   r   r   r"   )r¬   rR   rq   r  r   s   `    r   Ú*test_unbounded_below_no_presolve_correctedz=LinprogCommonTests.test_unbounded_below_no_presolve_correctedË  s‘   ø€ ØˆCˆØ�ˆà<Ð<Ð<Ð<¨t¬|Ð<Ñ<Ô<ˆØˆˆ*‰å˜ &Ø!œ[Øð!ñ !ô !ˆð Œ;Ð+Ò+Ð+å˜œ QÑ'Ô'Ð'Ð'Ð'å˜cÑ"Ô"Ð"Ð"Ð"r   c           
      óô  — t          j        g d¢¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }g d¢}t          |||t          t          || j        | j        ¬¦  «        }t          |¦  «         | j                             ¦   «          	                    d¦  «        sDt          |j        d	         t           j        ¦  «         t          |j        d
d…         d¦  «         d
S d
S )ú|
        Test whether presolve pathway for detecting unboundedness after
        constraint elimination is working.
        )r   r   r   r   r6   r6   ©r   r   r   r   r   r   ©r   r   r   r   r   r   )r   r   r   r   r   r6   ©r   r¥   r   )r…   r…   r…   rW  rW  r†   ró   r¼   r6   Né$   ú$The problem is (trivially) unbounded©r9   rC   r	   rm   rn   r©   rµ   r"   ÚlowerrÎ   r   r0   rf   r-   r}  s         r   Ú*test_unbounded_no_nontrivial_constraints_1z=LinprogCommonTests.test_unbounded_no_nontrivial_constraints_1Û  s%  € õ
 ŒHÐ)Ð)Ð)Ñ*Ô*ˆÝŒxÐ+Ð+Ð+Ø+Ð+Ð+Ø,Ð,Ð,ð.ñ /ô /ˆõ Œx˜
˜
˜
Ñ#Ô#ˆð/ð /ð /ˆå�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜#ÑÔÐØŒ{× Ò Ñ"Ô"×-Ò-¨gÑ6Ô6ð 	AÝ˜œ˜rœ¥B¤FÑ+Ô+Ð+Ý˜œ S b SÔ)Ø?ñAô Að Að Að Að	Að 	Ar   c           
      óö  — t          j        g d¢¦  «        }t          j        g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }g d¢}t          |||t          t          || j        | j        ¬¦  «        }t          |¦  «         | j                             ¦   «          	                    d¦  «        sEt          |j        d	         t           j         ¦  «         t          |j        d
d…         d¦  «         d
S d
S )r¶  )r   r   r   r   r6   r   r·  r¸  )r   r   r   r   r   r   r¹  )r…   r…   r…   rW  rW  )Nr   ró   r¼   r6   Nrº  r»  r¼  r}  s         r   Ú*test_unbounded_no_nontrivial_constraints_2z=LinprogCommonTests.test_unbounded_no_nontrivial_constraints_2ï  s'  € õ
 ŒHÐ(Ð(Ð(Ñ)Ô)ˆÝŒxÐ+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+ð-ñ .ô .ˆõ Œx˜
˜
˜
Ñ#Ô#ˆð/ð /ð /ˆå�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜#ÑÔÐØŒ{× Ò Ñ"Ô"×-Ò-¨gÑ6Ô6ð 	AÝ˜œ˜rœ¥R¤V GÑ,Ô,Ð,Ý˜œ S b SÔ)Ø?ñAô Að Að Að Að	Að 	Ar   c           
      óà   — t          j        g d¢¦  «        dz  }g d¢g d¢g d¢g}g d¢}t          |||t          t          t
          | j        | j        ¬¦  «        }t          |g d¢d	d
¬¦  «         d S )N)r‚   rb   r   r6   r>  )rc   r   r   )éÈ   rc   r   )r   r‚   é'  ró   )r   r   rÃ  gñhãˆµøÔ>çH¯¼šò×z>)r2   r,   r+   r^  r_  s        r   Útest_cyclic_recoveryz'LinprogCommonTests.test_cyclic_recovery  s�   € õ ŒH�\�\�\Ñ"Ô" RÑ'ˆØ�	�	Ø�
�
Ø��ðˆð ˆˆˆÝ�a˜˜t¥T­4µØ!œ[°$´,ð@ñ @ô @ˆå˜ } } }¸4ÀdÐKÑKÔKÐKÐKÐKr   c           
      ó¾  — t          j        g d¢¦  «        }t          j        g d¢g d¢g d¢g¦  «        }g d¢}d}d„ | j                             ¦   «         D ¦   «         }||d<   t	          |||t
          t          t          | j        |¬	¦  «        }| j        d
k    r2| j         	                    d¦  «        st          ||d         ¦  «         d S t          |g d¢¬¦  «         d S )N)rz   é9   rx   g      8@)re   g      ÀrÓ   rx   )re   g      ø¿r©  r   r�  )r   r   r   r‚   c                 ó   — i | ]\  }}||“Œ	S r~   r~   )r  r  Úvals      r   r  z8LinprogCommonTests.test_cyclic_bland.<locals>.<dictcomp>  s   € Ð;Ð;Ð;™(˜#˜sˆS�#Ð;Ð;Ð;r   r   ró   rÂ   Úbland)r   r   r   r   re  )r9   rC   rµ   Úitemsr	   rm   rn   rq   r©   rD  r   r4   )r¬   rR   rk   rl   r   r  r   s          r   Útest_cyclic_blandz$LinprogCommonTests.test_cyclic_bland  s  € åŒHÐ&Ð&Ð&Ñ'Ô'ˆÝŒxÐ-Ð-Ð-Ø-Ð-Ð-Ø%˜˜ð'ñ (ô (ˆð ˆyˆyˆð ˆØ;Ð; d¤l×&8Ò&8Ñ&:Ô&:Ð;Ñ;Ô;ˆØˆˆ)‰å�a˜˜t¥T­4µØ!œ[°!ð5ñ 5ô 5ˆð Œ;˜)Ò#Ð#¨D¬L×,<Ò,<¸WÑ,EÔ,EÐ#å+¨C°°9´Ñ>Ô>Ð>Ð>Ð>õ ˜C¨<¨<¨<Ð8Ñ8Ô8Ð8Ð8Ð8r   c                 ó&  — d\  }}t           j                             d¦  «        }|                     |¦  «        }|                     ||f¦  «        }|                     |¦  «        }d|dd d …f         z  |dd d …f<   |dxx         dz  cc<   t          j        ¦   «         5  t          j        ddt          ¦  «         t          |t          t          ||t          | j        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |¦  «         d S )	N)rb   rb   l   $*ËPþ r   r¥   r6   r   úA_eq does not appear...ró   )r9   r:   r;   r%  r&  r'  r
   r	   rk   rl   rq   r©   rµ   r   r—  s           r   Ú$test_remove_redundancy_infeasibilityz7LinprogCommonTests.test_remove_redundancy_infeasibility(  sb  € ð ‰ˆˆ1ÝŒi×#Ò# OÑ4Ô4ˆØ�JŠJ�q‰MŒMˆØ�zŠz˜1˜a˜&Ñ!Ô!ˆØ�zŠz˜!‰}Œ}ˆØ˜$˜r 1 1 1˜uœ+‘oˆˆR���ˆU‰ØˆRˆˆŒ�B‰ˆˆ‰ÝÔ$Ñ&Ô&ð 	Dð 	DÝÔ#ØÐ3µ_ñFô Fð Få˜!�T¥4¨¨tµVØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ
 	˜3ÑÔÐÐÐs   ÂAC7Ã7C;Ã>C;c           
      ó¢   — t          ¦   «         \  }}}}}}}t          |||||t          | j        | j        ¬¦  «        }t          |||¬¦  «         d S )Nró   r«   )r�   r	   rq   r©   rµ   r4   ©	r¬   rR   rk   rl   rm   rn   r   r€   r   s	            r   Útest_nontrivial_problemz*LinprogCommonTests.test_nontrivial_problem=  sf   € õ 5GÑ4HÔ4HÑ1ˆˆ4��t˜T 6¨6Ý�a˜˜t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨¸6ÐBÑBÔBÐBÐBÐBr   c                 ó¦  — t          dd¦  «        \  }}}t          j        ¦   «         5  t          j        ddt          ¦  «         t          j        ddt
          ¦  «         t          j        dt          ¦  «         t          |||t          t          t          | j        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¬¦  «         d S )Nrc   r   ú$Solving system with option 'sym_pos'úinvalid value encounteredró   rß   rà   )r`   r%  r&  r'  r
   rN  Úsimplefilterr   r	   rm   rn   rq   r©   rµ   r4   r”  s        r   Útest_lpgen_problemz%LinprogCommonTests.test_lpgen_problemE  s)  € õ !  RÑ(Ô(‰ˆˆd�AåÔ$Ñ&Ô&ð 	Dð 	DÝÔ#ØÐ@Å/ñSô Sð SåÔ#ØÐ5µ~ñGô Gð GåÔ! (­MÑ:Ô:Ð:Ý˜!˜T 4­­tµVØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ 	˜Ð);Ð<Ñ<Ô<Ð<Ð<Ð<s   ¨BB5Â5B9Â<B9c                 óê  — g d¢}d\  }}|||d|dddd|ddg|dd|d|ddddddgdd||ddddddddgdddddd||dd|dgdddd|||d|dddgddddddd||dd|gddddddddd|||gg}g d¢}t          j        ¦   «         5  t          j        dt          ¦  «         t	          |t
          t          ||t          | j        | j	        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |ddd	¬
¦  «         d S )N)r   r%   rx   é   r%   r!   rt   r{   r   rC  é   é   rW  r   )r   é   iðÿÿÿé!   r   r   iÜÿÿÿr   ró   ió  ç�íµ ÷Æ°>rÄ  )r1   r,   r+   )r%  r&  rÖ  r   r	   rk   rl   rq   r©   rµ   r4   )r¬   rR   rG   Úprm   rn   r   s          r   Útest_network_flowz$LinprogCommonTests.test_network_flowU  sÃ  € ð 5Ð4Ð4ˆØ‰ˆˆ1à��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0Ø��1�a˜˜A˜q ! Q¨¨1¨aÐ0ð2ˆð +Ð*Ð*ˆÝÔ$Ñ&Ô&ð 	Dð 	DÝÔ! (­MÑ:Ô:Ð:Ý˜!�T¥4¨¨tµVØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ 	˜¨°4¸dÐCÑCÔCÐCÐCÐCs   Á>ACÃCÃCc                 ó\  — g d¢}ddgddgddgddgddgg}d\  }}||dddg|d||dgd||d|gddd||gg}g d¢}t          j        ¦   «         5  t          rt          j        d	t          ¦  «         t          j        d	d
t          ¦  «         t          j        d	dt          ¦  «         t          j        d	dt          ¦  «         t          j        d	t          ¦  «         t          |t          t          |||| j        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¬¦  «         d S )N)r   r   r   r!   r   r   r%   r   r!   r!  rW  )r}   r   r   r%   r   úscipy.linalg.solve
Ill...rÎ  úSolving system with option...ró   r{  rà   )r%  r&  Úhas_umfpackrÖ  r   r'  rN  r
   r   r	   rk   rl   r©   rµ   r4   )r¬   rR   rq   rG   rß  rm   rn   r   s           r   Ú"test_network_flow_limited_capacityz5LinprogCommonTests.test_network_flow_limited_capacityj  sÓ  € ð ˆOˆOˆà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFðˆð ‰ˆˆ1à��1�a˜ˆOØ��1�a˜ˆOØ��1�a˜ˆOØ��1�a˜ˆOð	ˆð
 ˆ}ˆ}ˆåÔ$Ñ&Ô&ð 	Dð 	Dåð @ÝÔ% hµÑ?Ô?Ð?ÝÔ#ØÐ6½ñHô Hð HåÔ#ØÐ3µ_ñFô Fð FåÔ#ØÐ9½?ñLô Lð LåÔ! (­MÑ:Ô:Ð:Ý˜!�T¥4¨¨t°VØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ 	˜¨Ð,Ñ,Ô,Ð,Ð,Ð,s   ÁB8DÄDÄDc           
      ó¨   — g d¢}g d¢g d¢g}ddg}t          |||t          t          t          | j        | j        ¬¦  «        }t          |d¬¦  «         d S )	N)r¥   ry   r}   )r!   r   r   )r   r!  r!   rb   rC  ró   iìÿÿÿrà   rb  r_  s        r   Ú(test_simplex_algorithm_wikipedia_examplez;LinprogCommonTests.test_simplex_algorithm_wikipedia_exampleŒ  sp   € àˆLˆLˆàˆIˆIØˆIˆIðˆð �BˆxˆÝ�a˜˜t¥T­4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨Ð-Ñ-Ô-Ð-Ð-Ð-r   c           
      ó¸   — g d¢}g d¢g d¢g d¢g}g d¢}t          |t          t          ||t          | j        | j        ¬¦  «        }t          |dg d¢d	d
¬¦  «         d S )Nr2  r3  r4  r6  r7  ró   g     Øs@)g     �P@r   g     €1@r   g     øf@r   gTäqs*Ù>rÄ  )r1   r2   r,   r+   r�  r‘  s        r   Útest_enzo_examplez$LinprogCommonTests.test_enzo_example—  s›   € ð ÐÐˆàÐÐØ!Ð!Ð!Ø Ð Ð ð"ˆð ˆˆˆÝ�a��t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨Ø"@Ð"@Ð"@Ø!¨ð	.ñ 	.ô 	.ð 	.ð 	.ð 	.r   c                 óL  — g d¢}g d¢g d¢g d¢g d¢g d¢g}g d¢}t          j        ¦   «         5  t          j        dd	t          ¦  «         t	          |t
          t          ||t          | j        | j	        ¬
¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |dg d¢¬¦  «         d S )N)r  g333333@gš™™™™™%@r  g333333Àgš™™™™™%À)r6   r6   r6   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©  çš™™™™™Ù?ç333333Ó?rì  rì  r   rÎ  ró   gR¸…ëQü¿)rì  gš™™™™™É?ç        rí  rÈ   rì  r«   )r%  r&  r'  r
   r	   rk   rl   rq   r©   rµ   r4   r‘  s        r   Útest_enzo_example_bz&LinprogCommonTests.test_enzo_example_b«  sE  € à/Ð/Ð/ˆØ%Ð%Ð%Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"Ø"Ð"Ð"ð	$ˆð
 *Ð)Ð)ˆåÔ$Ñ&Ô&ð 	Dð 	DÝÔ#ØÐ3µ_ñFô Fð Få˜!�T¥4¨¨tµVØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ
 	˜¨Ø"@Ð"@Ð"@ð	Bñ 	Bô 	Bð 	Bð 	Bð 	Bs   ­ABÂB	ÂB	c           
      óº  — d}t          j        |¦  «         }dt           j        z  t          j        d|dz   ¦  «        z  |dz   z  }t          j        t          j        |¦  «        dz
  t          j        |¦  «        f¦  «        }ddg}t          |t          t          ||t          | j        | j        ¬¦  «        }t          |dt          j        |¦  «        ¬¦  «         d S )Nrc   r   r   r   ró   r«   )r9   r‰   Úpir<   rD   ÚcosÚsinr	   rk   rl   rq   r©   rµ   r4   r>   )r¬   rZ   rR   Útmprm   rn   r   s          r   Ú#test_enzo_example_c_with_degeneracyz6LinprogCommonTests.test_enzo_example_c_with_degeneracy½  s¿   € àˆÝŒW�Q‰ZŒZˆKˆØ•"”%‰i�"œ) A q¨1¡uÑ-Ô-Ñ-°°Q±Ñ7ˆÝŒy�"œ& ™+œ+¨™/­2¬6°#©;¬;Ð7Ñ8Ô8ˆØ�1ˆvˆÝ�a��t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨µb´h¸q±k´kÐBÑBÔBÐBÐBÐBr   c           
      ó¤  — d}t          j        |¦  «         }dt           j        z  t          j        |¦  «        z  |dz   z  }t          j        |¦  «        dz
  }d|d<   t          j        |¦  «        }d|d<   t          j        ||f¦  «        }ddg}t          |t          t          ||t          | j        | j        ¬¦  «        }t          |¦  «         d S )Nrd   r   r   rí  r   ró   )r9   r‰   rð  r<   rñ  rò  rD   r	   rk   rl   rq   r©   rµ   r"   )	r¬   rZ   rR   ró  Úrow0Úrow1rm   rn   r   s	            r   Ú&test_enzo_example_c_with_unboundednessz9LinprogCommonTests.test_enzo_example_c_with_unboundednessÈ  sÅ   € àˆÝŒW�Q‰ZŒZˆKˆØ•"”%‰i�"œ) A™,œ,Ñ&¨!¨a©%Ñ0ˆõ Œv�c‰{Œ{˜Q‰ˆØˆˆQ‰ÝŒv�c‰{Œ{ˆØˆˆQ‰ÝŒy˜$ ˜Ñ&Ô&ˆØ�1ˆvˆÝ�a��t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜#ÑÔÐÐÐr   c           
      ó°  ‡ — d}t          j        |¦  «         }dt           j        z  t          j        |¦  «        z  |dz   z  }t          j        t          j        |¦  «        dz
  t          j        |¦  «        f¦  «        }ddg}ˆ fd„‰ j        D ¦   «         }d|d<   t          |t          t          ||t          ‰ j        |¬¦  «        }t          |¦  «         d S )Nrd   r   r   c                 ó,   •— i | ]}|‰j         |         “ŒS r~   r  r  s     €r   r  zMLinprogCommonTests.test_enzo_example_c_with_infeasibility.<locals>.<dictcomp>á  r	  r   Fr<  ró   )r9   r‰   rð  r<   rD   rñ  rò  rµ   r	   rk   rl   rq   r©   r   )r¬   rZ   rR   ró  rm   rn   r  r   s   `       r   Ú&test_enzo_example_c_with_infeasibilityz9LinprogCommonTests.test_enzo_example_c_with_infeasibilityÙ  sÈ   ø€ àˆÝŒW�Q‰ZŒZˆKˆØ•"”%‰i�"œ) A™,œ,Ñ&¨!¨a©%Ñ0ˆÝŒy�"œ& ™+œ+¨™/­2¬6°#©;¬;Ð7Ñ8Ô8ˆØ�1ˆvˆà<Ð<Ð<Ð<¨t¬|Ð<Ñ<Ô<ˆØˆˆ*‰å�a��t T¨4µØ!œ[°!ð5ñ 5ô 5ˆå˜3ÑÔÐÐÐr   c           
      óš  — t          j        g d¢¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        g d¢g d	¢g¦  «        }t          j        d
d
g¦  «        }t          |||||t          | j        | j        ¬¦  «        }t          |d
t          j        |¦  «        d¬¦  «         d S )N)gš™™™™™¹¿gìQ¸…ë±¿çü©ñÒMbp?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      4@)rð   r   r6   r   r6   r   )r   rú   r6   r   r6   r   r   ró   g�íµ ÷ÆÀ>)r1   r2   r,   )r9   rC   r	   rq   r©   rµ   r4   Ú
zeros_like©r¬   rR   rk   rl   rm   rn   r   s          r   Útest_basic_artificial_varsz-LinprogCommonTests.test_basic_artificial_varsè  s
  € õ
 ŒHÐ>Ð>Ð>Ñ?Ô?ˆÝŒxÐ-Ð-Ð-Ð/DÐ/DÐ/DØ.Ð.Ð.Ð0DÐ0DÐ0DØ/Ð/Ð/ð1ñ 2ô 2ˆõ ŒxÐ2Ð2Ð2Ñ3Ô3ˆÝŒxÐ/Ð/Ð/Ð1HÐ1HÐ1HÐIÑJÔJˆÝŒx˜˜A˜ÑÔˆÝ�a˜˜t T¨4µØ!œ[°$´,ð@ñ @ô @ˆå˜¨µb´mÀAÑ6FÔ6FØ!ð	#ñ 	#ô 	#ð 	#ð 	#ð 	#r   c           
      óÈ  — t          d¦  «        \  }}}}}}t          ||||||| j        | j        ¬¦  «        }t	          |j        ¦  «         t	          |j        ¦  «         t	          |j         ¦  «         d| j        vrt	          |j        dk    ¦  «         t          ||j
        z  |j        ¦  «         t          |||j
        z  z
  |j        d¬¦  «         t          |||j
        z  z
  |j        d¬¦  «         dD ]h}||                     ¦   «         v rPt          ||         d         t           j        ¦  «        sJ ‚t          ||         d	         t           j        ¦  «        sJ ‚Œid S )
Nr   ©rk   rl   rm   rn   rq   r©   rµ   r¼   z%Optimization terminated successfully.g•dyáý¥=©r,   )ÚeqlinÚineqlinr½  ÚupperÚ	marginalsÚresidual)rr   r	   r©   rµ   r   r   r›   r   r-   r   r0   r/   r�   rœ   ÚkeysrŸ   r9   Úndarray)	r¬   rR   rk   rl   rm   rn   rq   r   r  s	            r   Útest_optimize_resultz'LinprogCommonTests.test_optimize_resultù  sl  € å,;¸AÑ,>Ô,>Ñ)ˆˆ4��t˜T 6Ý�a˜d¨°D¸tØ#¨D¬KÀÄðOñ Oô Oˆå�”ÑÔÐÝ�”ÑÔÐÝ�C”J�ÑÔÐØ˜$œ+Ð%Ð%å�C”KÐ#JÒJÑKÔKÐKÝ˜˜CœE™	 3¤7Ñ+Ô+Ð+Ý˜˜t c¤e™|Ñ+¨S¬W¸5ÐAÑAÔAÐAÝ˜˜t c¤e™|Ñ+¨S¬Y¸UÐCÑCÔCÐCØ9ð 	Dð 	DˆCØ�c—h’h‘j”jÐ Ð Ý! # c¤(¨;Ô"7½¼ÑDÔDÐDÐDÐDÝ! # c¤(¨:Ô"6½¼
ÑCÔCÐCÐCÐCøð	Dð 	Dr   c           /      óº  — g d¢}d}d}d}t          j        g d¢ddd|dd	dd
ddd
dd
ddddddgddd|ddd	d
d
dd
d
dddddddgg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢ddd
d
dddd
||ddd|dddddgdddddd
d
dddd
||d|ddddgdd
dd ddd|d
d
ddddd|dddgddddd
dd
ddd|d
|ddd|ddgdd
d
d ddd||d
ddddddd|dgddddd
d
dddd||d
ddddd|gg¦  «        }t          j        g d!¢¦  «        }t          j        g d"¢¦  «        }t          j        ¦   «         5  t          j        d#d$t
          ¦  «         t          j        d#d%t          ¦  «         t          j        d#t          ¦  «         t          |||t          t          || j        | j        ¬&¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d'¬(¦  «         d S ))N)r†   ©r   r‚   r  r  r  r  r  ©r   é„  r  r  r  r  r  r†   r†   r†   r†   r†   r†   gÇqÇq¼?ç     ˆÃÀgÍÌÌÌÌÌÀ)r   gìQ¸…ëÀr   r   ry   r   r   r   r6   r6   r   r6   r6   r   r   r   r   r   r   r   r   g333333Àry   r6   )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   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   r6   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   g×£p=
×ÿ?r   gffffffþ?gÍÌÌÌÌÌ @)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¯^¥¨ZÀrà   )r9   rC   r%  r&  r'  r
   rN  rÖ  r   r	   rm   rn   r©   rµ   r4   )	r¬   rq   r  rL  Úhrk   rl   rR   r   s	            r   Útest_bug_5400z LinprogCommonTests.test_bug_5400  s�  € ðNð Nð Nˆð ˆØˆØˆÝŒxØNÐNÐNØ��4˜˜A˜r 1 b¨!¨Q°°A°r¸1¸aÀÀAÀqÈ!ÐLØ��1�a˜˜A˜r 2 r¨1¨b°"°a¸¸A¸qÀ!ÀQÈÐJØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØEÐEÐEØFÐFÐFØFÐFÐFØFÐFÐFØFÐFÐFØFÐFÐFØFÐFÐFØ��b˜"˜a  A r¨1¨a°°A°q¸!¸QÀÀ1ÀaÈÐKØ��1�a˜˜B  A q¨!¨R°°A°q¸!¸QÀÀ1ÀaÐHØ��C˜˜a  A q¨"¨b°!°Q¸¸1¸aÀÀAÀqÈ!ÐLØ��1�a˜˜Q  A q¨!¨Q°°A°q¸!¸QÀÀ1ÀaÐHØ��B˜˜Q  1 a¨¨B°°1°a¸¸A¸qÀ!ÀQÈÐJØ��1�a˜˜R  A q¨!¨Q°°2°q¸!¸QÀÀ1ÀaÐHð7Jñ Kô Kˆõ: Œxð 5ð 5ð 5ñ 6ô 6ˆõ ŒHð 4ð 4ð 4ñ 5ô 5ˆåÔ$Ñ&Ô&ð 	Dð 	DÝÔ#ØÐ@Å/ñSô Sð SåÔ#ØÐ5µ~ñGô Gð GåÔ! (­MÑ:Ô:Ð:Ý˜!˜T 4­­t°VØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ 	˜Ð)<Ð=Ñ=Ô=Ð=Ð=Ð=s   Ä7A<F?Æ?GÇGc           
      ó€  — t          j        g d¢¦  «        }t          j        g d¢g d¢g¦  «        }t          j        ddg¦  «        }t          j        g d¢g¦  «         }t          j        dg¦  «         }d}t          ||||||| j        | j        ¬	¦  «        }t          |d
t          j        g d¢¦  «        ¬¦  «         d S )NrŽ  )rð   rí  rí  )ç     @�Àrí  r  g      @r  )rí  g    €„.Ag     Ò.Ag    ÐcAr…   ró   gfffffæ-@)r!  gÍÌÌÌÌÌ@r!  r«   ©r9   rC   r	   r©   rµ   r4   )r¬   rR   rm   rn   rk   rl   rq   r   s           r   Útest_bug_6139z LinprogCommonTests.test_bug_6139H  sã   € õ ŒH�Y�Y�YÑÔˆÝŒx˜˜˜Ð'<Ð'<Ð'<Ð=Ñ>Ô>ˆÝŒx˜¨Ð9Ñ:Ô:ˆÝ”Ð2Ð2Ð2Ð3Ñ4Ô4Ð4ˆÝ”˜)˜Ñ%Ô%Ð%ˆØˆå�a˜˜t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆõ 	˜¨Ý"$¤(¨<¨<¨<Ñ"8Ô"8ð	:ñ 	:ô 	:ð 	:ð 	:ð 	:r   c                 óÊ  — t          j        g d¢g¦  «        }t          j        dg¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        g d	¢g d
¢g¦  «        j        }t          j        g d¢¦  «        }t          j        ¦   «         5  t
          rt          j        dt          ¦  «         t          j        ddt          ¦  «         t          j        ddt          ¦  «         t          j        ddt          ¦  «         t          j        dt          ¦  «         t          ||||||| j        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   d}t          j        g d¢¦  «        }	t          |||	¬¦  «         d}
t!          |d d …df         |
z
  |j        ¦  «         t!          |j        |d d …df         |
z   ¦  «         d S )N)
r   r   r   gÃõ(\�Âí?r   çÍÌÌÌÌÌä?r   r   g�Âõ(\�ê?r   g¯%äƒžÍî?)
r   r   r   çáz®Gáò?r   r   r   gš™™™™™É¿r   g)\�Âõ(Ì¿)
r   r   r   r   r   r   r   r   r   r   )
r   r   r   g…ëQ¸…Û?r   r   r   r   r   r   )
r   g…ëQ¸…ó¿ç      Ð¿r   r   r   g{®Gáz Àr   r   gìQ¸…ëõ?)
r   r   r   r   r   r   r   r  r   r   )g®Gáz®ã?r   gj¼t“Æ?g+‡ÙÎë¿gºI+‡–¿)
gáz®Gáê¿ç
×£p=
ï¿çÃõ(\�ÂÕ?rë  g…ëQ¸Õ¿g®Gáz®ç¿ç®GázÞ?ç
×£p=
·?g333333÷¿ç\�Âõ(\ç¿)
ç®Gáz®×?g{®Gáz”?gáz®Gá@g…ëQ¸…ë?r  re   g)\�Âõ(ü?gÃõ(\�ÂÅ?ç{®GázÔ?g333333Ã¿)
g=
×£p=ú¿gffffffæ?r  gö(\�Âõð¿g�Âõ(\�ò¿g¤p=
×£Ð?g
×£p=
@g{®Gázø?g…ëQ¸å?gìQ¸…ëÑ?r   z%Solving system with option 'cholesky'rÔ  rÕ  ró   g‰ãVó¿)
r   r  r  rë  r  re   r  r  r!  r  r«   rÞ  r   r   )r9   rC   rg   r%  r&  rä  rÖ  r   r'  r
   rN  r   r	   r©   rµ   r4   r   r0   )r¬   rm   rn   rk   rl   rq   rR   r   r1   r2   r,   s              r   Útest_bug_6690z LinprogCommonTests.test_bug_6690^  s¡  € õ
 ŒxÐ@Ð@Ð@ÐAÑBÔBˆÝŒx˜˜Ñ!Ô!ˆÝŒxØ4Ð4Ð4Ø*Ð*Ð*Ø-Ð-Ð-Ø9Ð9Ð9Ø.Ð.Ð.ð
ñ ô ˆõ ŒxÐ9Ð9Ð9Ñ:Ô:ˆÝ”ØMÐMÐMØHÐHÐHð
ñ ô ô ð 	õ ŒHð ð ð ñ ô ˆõ Ô$Ñ&Ô&ð 	Dð 	DÝð @ÝÔ% hµÑ?Ô?Ð?ÝÔ#ØÐAÅ?ñTô Tð TåÔ#ØÐ@Å/ñSô Sð SåÔ#ØÐ5µ~ñGô Gð GåÔ! (­MÑ:Ô:Ð:Ý˜!˜T 4¨¨t°VØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð %ˆÝ”Hð Gð Gð Gñ Hô Hˆ	å˜¨À	ÐJÑJÔJÐJð ˆÝ˜&    A œ,¨Ñ-¨s¬uÑ5Ô5Ð5Ý˜#œ% ¨¨¨¨1¨¤°Ñ!4Ñ5Ô5Ð5Ð5Ð5s   Â.B.E(Å(E,Å/E,c                 ód  — t          d¦  «        \  }}}}}t          j        ¦   «         5  t          j        ddt          ¦  «         t          j        ddt
          ¦  «         t          j        dt          ¦  «         t          |t          t          ||t          | j        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   d}t          ||¬¦  «         t          |                     |j        ¦  «        |¦  «         t%          t'          j        |j        j        ¦  «        dz
  |j        ¦  «         d S )	Nr!   r   rÎ  rÕ  ró   ç¹`4û?rà   r„   )rS   r%  r&  r'  r
   rN  rÖ  r   r	   rk   rl   rq   r©   rµ   r4   r   Údotr0   r   r9   r>   rV   )r¬   rm   rn   rR   Ú_r   r1   s          r   Útest_bug_7044z LinprogCommonTests.test_bug_7044Œ  so  € õ
 +¨1™oœoÑˆˆd�A�q˜!ÝÔ$Ñ&Ô&ð 	Dð 	DÝÔ#ØÐ3µ_ñFô Fð FåÔ#ØÐ5µ~ñGô Gð GåÔ! (­MÑ:Ô:Ð:Ý˜!�T¥4¨¨tµVØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð )ˆÝ˜¨Ð5Ñ5Ô5Ð5Ý˜Ÿš ¤™œ¨Ñ.Ô.Ð.Ý�"œ( 3¤5¤:Ñ.Ô.°Ñ5°s´uÑ=Ô=Ð=Ð=Ð=s   ©BB6Â6B:Â=B:c                 óÖ  — t          j        g d¢¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        g d¢g¦  «        }t          j        dgg¦  «        }dgdz  }t          ||||||| j        | j        ¬¦  «        }t          |dd¬ ¦  «         d S )!N)	r6   r   r   r   r   r   r   r   r   )	rð   g      †Àg     xŒ@g     8�Àg     X�Àg      ŒÀg     à}@g      TÀg     PrÀ)	rð   g     °�@g      E@g     H�@g      m@g     ˜‹@g     €x@g     hŒÀg     €L@)	rð   g      jÀg     ð‹Àg     Ø€@g     t@g      €@g     àŒÀg     p�@g     €K@)	rð   g     ÈŠ@g     ØŠÀg     ÀT@g     à|@g     �pÀg     XŽÀg     Ð‰@g      ~@)	rð   g      s@ç     €zÀg      n@r)  g     @h@g     °{Àg      ZÀg     ÐzÀ)	rð   g     à€@g     8…@g     �v@g      b@g     Ø‰Àg     `‹@g     Èƒ@g     à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…   rx   ró   ghèŸàb$[@rÞ  ©r1   r,   r  rü   s           r   Útest_bug_7237z LinprogCommonTests.test_bug_7237   s™  € õ
 ŒHÐ1Ð1Ð1Ñ2Ô2ˆÝŒxØEÐEÐEØ?Ð?Ð?ØBÐBÐBØBÐBÐBØEÐEÐEØAÐAÐAØ8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø8Ð8Ð8Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0Ø0Ð0Ð0ð-ñ ô ˆõ0 Œxð 8ð 8ð 8ñ 9ô 9ˆõ ŒxÐ=Ð=Ð=Ð>Ñ?Ô?ˆÝŒx˜"˜˜ÑÔˆØ� !Ñ#ˆå�a˜˜t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨¸$Ð?Ñ?Ô?Ð?Ð?Ð?r   c                 ó–  — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        |j        d         ¦  «        }t          j        |j        d         ¦  «         }dg|j        d         z  }t          j        ¦   «         5  t          j        dd	t          ¦  «         t          j	        dt          ¦  «         t          |||t          t          || j        | j        ¬
¦  «        }d d d ¦  «         n# 1 swxY w Y   | j                             dd¦  «        dk     r| j        dk    rt#          |¦  «         d S t%          |dd¬¦  «         d S )N)éºX  ið  iD4  ç     3¥Ài¤ûÿÿ)é†ìÿÿi¼ûÿÿi†ÿÿç     úÐ@i¬  )r0  r   r   r/  r   )r.  r   r   r1  r   r   r   rÆ   r   rÕ  ró   Útolg•Ö&è.>ç»½×Ùß|Û=rÂ   gê¦Ëë‡ ÀrÞ  r+  )r9   rC   r>   rF   r‰   r%  r&  r'  rN  rÖ  r   r	   rm   rn   r©   rµ   rD  r&   r4   )r¬   rk   rl   rR   rq   r   s         r   Útest_bug_8174z LinprogCommonTests.test_bug_8174É  s®  € õ ŒxØ0Ð0Ð0Ø0Ð0Ð0Ø%Ð%Ð%Ø%Ð%Ð%ð	'ñ (ô (ˆõ
 Œx˜œ
 1œÑ&Ô&ˆÝŒW�T”Z ”]Ñ#Ô#Ð#ˆØ�˜DœJ qœMÑ)ˆÝÔ$Ñ&Ô&ð 	Dð 	DÝÔ#ØÐ5µ~ñGô Gð GåÔ! (­MÑ:Ô:Ð:Ý˜!˜T 4­­t°VØ!%¤°d´lðDñ Dô DˆCð		Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð Œ<×Ò˜E 4Ñ(Ô(¨5Ò0Ð0°T´[ÀIÒ5MÐ5MÝ5°cÑ:Ô:Ð:Ð:Ð:å˜CÐ-@ÀtÐLÑLÔLÐLÐLÐLs   ÂA!C1Ã1C5Ã8C5c                 ó^  — t          j        g d¢¦  «        }t          j        d¦  «         }t          j        dgdgdgdgdgdgdgg¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        d	gd
gd
gd
gd
gg¦  «        }t          j        ¦   «         5  t
          rt          j        dt          ¦  «         t          j        ddt          ¦  «         t          |||||t          | j        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d¬¦  «         d S )N)r   r   r   r   r   r   r   r{   r¥   )r   r   r   r   r   r   r   )rì  gÍÌÌÌÌÌô?gÍÌÌÌÌÌì?r   r   r   r6   )rì  r   r   r   r   r   gUUUUUUå¿)r   r  r   r   r   r   ç±¿)r   r   rì  r   r   r   r6  r‚   r   r   rÎ  ró   gŽ?ªªªªE@rà   )r9   rC   Úidentityr%  r&  rä  rÖ  r   r'  r
   r	   rq   r©   rµ   r4   rÿ  s          r   Útest_bug_8174_2z"LinprogCommonTests.test_bug_8174_2á  s·  € õ ŒHÐ*Ð*Ð*Ñ+Ô+ˆÝ”˜A‘”ˆˆÝŒx˜"˜ ˜t b T¨B¨4°"°¸°t¸b¸TÐBÑCÔCˆÝŒxØ!Ð!Ð!Ø(Ð(Ð(Ø&Ð&Ð&Ø(Ð(Ð(Ø'Ð'Ð'ð
ñ ô ˆõ Œx˜#˜   a S¨1¨#°¨sÐ3Ñ4Ô4ˆåÔ$Ñ&Ô&ð 	Dð 	DÝð @ÝÔ% hµÑ?Ô?Ð?ÝÔ#ØÐ3µ_ñFô Fð Få˜!˜T 4¨¨tµVØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ 	˜Ð)9Ð:Ñ:Ô:Ð:Ð:Ð:s   Â"A#DÄDÄDc                 ó  — t          j        g d¢¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          |||| j        | j        ¬¦  «        }t          |g d	¢¬
¦  «         d S )N)r{   r   r}   ç      ø?r:  )r%   ç      @r:  rð   ç      À)r   rÓ   r¥   r5  re   )r!   r©  r%   g      )Àrv   )r6   g      @r   r<  r¥   )r;  r   g      Àr6   g      #@)r   r   r   r   r   )rk   rl   rµ   r©   )r   r   rÜ  gUUUUUU@gUUUUUU#@re  )r9   rC   r	   rµ   r©   r4   r_  s        r   Útest_bug_8561z LinprogCommonTests.test_bug_8561ú  sµ   € õ
 ŒHÐ)Ð)Ð)Ñ*Ô*ˆÝŒxØ$Ð$Ð$Ø#Ð#Ð#Ø#Ð#Ð#Ø"Ð"Ð"Ø#Ð#Ð#ð%ñ &ô &ˆõ Œx˜˜˜Ñ(Ô(ˆÝ�a˜d¨°t´|Ø!œ[ð*ñ *ô *ˆå˜Ð'=Ð'=Ð'=Ð>Ñ>Ô>Ð>Ð>Ð>r   c                 óœ  — g d¢}g d¢g d¢g d¢g d¢g}g d¢}g d¢}d}t          j        ¦   «         5  t          rt          j        d	t          ¦  «         t          j        d	d
t          ¦  «         t          j        d	t          ¦  «         t          |||t          t          || j        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     g d¢¦  «         |                     d¦  «         d|d<   t          j        ¦   «         5  t          rt          j        d	t          ¦  «         t          j        d	d
t          ¦  «         t          j        d	t          ¦  «         t          |||t          t          || j        | j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   d}t          |||¬¦  «         t          |||¬¦  «         d S )N)rz   rb   rw   r!   )rt   r|   r}   rw   )r|   rt   r%   ru   )r}   r%   rt   r}   )r!   ry   ry   rz   )rx   é÷ÿÿÿr?  r}   )r†   r†   r†   r†   g      B@r   rÕ  ró   )r   r   r6   r   r   r…   r   r„   )r1   r+   )r%  r&  rä  rÖ  r   r'  rN  r   r	   rm   rn   r©   rµ   rA   r4   )	r¬   rR   rk   rl   rq   r1   Úres1Úres2r+   s	            r   Útest_bug_8662z LinprogCommonTests.test_bug_8662  s”  € ð ˆOˆOˆØ��Ø��Ø��Ø Ð Ð ð"ˆð ˆˆˆØ=Ð=Ð=ˆØ#ˆåÔ$Ñ&Ô&ð 	Eð 	EÝð @ÝÔ% hµÑ?Ô?Ð?ÝÔ#ØÐ5µ~ñGô Gð GåÔ! (­MÑ:Ô:Ð:Ý˜1˜d D­$µ°fØ"&¤+°t´|ðEñ Eô EˆDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	�Š�M�M�MÑ"Ô"Ð"Ø�Š�A‰ŒˆØ ˆˆq‰	åÔ$Ñ&Ô&ð 	Eð 	EÝð @ÝÔ% hµÑ?Ô?Ð?ÝÔ#ØÐ5µ~ñGô Gð GåÔ! (­MÑ:Ô:Ð:Ý˜1˜d D­$µ°fØ"&¤+°t´|ðEñ Eô EˆDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð ˆÝ˜¨+¸DÐAÑAÔAÐAÝ˜¨+¸DÐAÑAÔAÐAÐAÐAs%   °BB>Â>CÃCÄBFÆFÆ"Fc           
      ó¤   — ddg}ddgg}dg}ddg}t          |t          t          |||| j        | j        ¬¦  «        }t          |dd	gd
¬¦  «         d S )Nr   r!  r   rv   ru   r†   r…   ró   gÛ¶mÛ¶më?gI’$I’$@r[  )r	   rk   rl   r©   rµ   r4   ri  s         r   Útest_bug_8663z LinprogCommonTests.test_bug_86631  st   € ð �ˆFˆØ�B�ˆyˆØˆtˆØ˜\Ð*ˆÝ�a��t T¨4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨¨4 y¸fÐEÑEÔEÐEÐEÐEr   c                 ób  — dg}dgdgg}ddg}dgdgdgg}g d¢}t          j        ¦   «         5  t          j        dt          ¦  «         t          j        dd	t
          ¦  «         t          |||||t          | j        | j	        ¬
¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |¦  «         d S )Nr%   r   r!  r   r|   rx   ©r!   r   rb   r   rã  ró   )r%  r&  rÖ  rN  r'  r
   r	   rq   r©   rµ   r   rÿ  s          r   Útest_bug_8664z LinprogCommonTests.test_bug_8664<  s&  € ð ˆCˆØ��a�SˆzˆØ�1ˆvˆØ��b�T˜A˜3ÐˆØˆzˆzˆÝÔ$Ñ&Ô&ð 	Dð 	DÝÔ! (­NÑ;Ô;Ð;ÝÔ#ØÐ9½?ñLô Lð Lå˜!˜T 4¨¨tµVØ!%¤°d´lðDñ Dô DˆCð		Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ 	˜3ÑÔÐÐÐs   ­ABÂBÂBc           
      óL  — t          j        g d¢¦  «        }t          j        g d¢g d¢g¦  «        }t          j        ddg¦  «        }g d¢}t          |||t          t          || j        | j        ¬¦  «        }t          |d¬¦  «         t          ||j	        z  |j
        ¦  «         d	S )
zv
        Test whether bug described at:
        https://github.com/scipy/scipy/issues/8973
        was fixed.
        )r   r   r   r   r6   )r   r   r   r   r   )r   r   r   r   r   r   r¥   )r…   r…   r…   rW  rW  ró   rà   N)r9   rC   r	   rm   rn   r©   rµ   r4   r   r0   r/   r}  s         r   Útest_bug_8973z LinprogCommonTests.test_bug_8973M  s³   € õ ŒHÐ%Ð%Ð%Ñ&Ô&ˆÝŒx˜˜˜¨/¨/¨/Ð:Ñ;Ô;ˆÝŒx˜˜B˜Ñ Ô ˆØMÐMÐMˆÝ�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆõ 	˜¨Ð,Ñ,Ô,Ð,å�Q˜œ‘Y ¤Ñ(Ô(Ð(Ð(Ð(r   c           
      ó  — t          j        d¦  «        }t          j        dgg¦  «        }t          j        dg¦  «        }d}t          |||t          t
          || j        | j        ¬¦  «        }t          |dgd¬¦  «         dS )z½
        Additional test for:
        https://github.com/scipy/scipy/issues/8973
        suggested in
        https://github.com/scipy/scipy/pull/8985
        review by @antonior92
        r   r¥   r…   ró   r   r[  N)	r9   r>   rC   r	   rm   rn   r©   rµ   r4   r}  s         r   Útest_bug_8973_2z"LinprogCommonTests.test_bug_8973_2^  s   € õ ŒH�Q‰KŒKˆÝŒx˜!˜˜‰ŒˆÝŒx˜˜‰~Œ~ˆØˆÝ�a˜˜t¥T­4°Ø!œ[°$´,ð@ñ @ô @ˆå˜¨ t¸Ð;Ñ;Ô;Ð;Ð;Ð;r   c           
      ó`  — t          j        d¦  «        }t          j        dgg¦  «        }t          j        dg¦  «        }d}ddg}ddgddgg}ddg}dd	g}d
di}|                     | j        ¦  «         t          |||t          t          || j        |¬¦  «        }t          |ddgd¬¦  «         dS )zg
        Test for linprog docstring problem
        'disp'=True caused revised simplex failure
        r   r¥   r…   r6   r%   ry   r   rw   rå   rÝ   Tró   rb   ræ   r[  N)
r9   r>   rC   Úupdaterµ   r	   rm   rn   r©   r4   rƒ  s          r   Útest_bug_10124z!LinprogCommonTests.test_bug_10124n  sÇ   € õ
 ŒH�Q‰KŒKˆÝŒx˜!˜˜‰ŒˆÝŒx˜˜‰~Œ~ˆØˆØ�ˆGˆØ�Q�˜!˜Q˜Ð ˆØ�1ˆvˆØ 
Ð+ˆØ�TˆNˆØ	�Š�”ÑÔÐÝ�a˜˜t¥T­4°Ø!œ[°!ð5ñ 5ô 5ˆå˜¨¨B x¸SÐAÑAÔAÐAÐAÐAr   c                 óè  — t          j        g d¢g d¢g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        dd	t          j        d
¦  «        fd¬¦  «        }t	          j        ¦   «         5  t	          j        ddt          ¦  «         t          |t          t          ||t          | j        | j        ¬¦  «        }ddd¦  «         n# 1 swxY w Y   t          |g d¢d¬¦  «         dS )zq
        Test for redundancy removal tolerance issue
        https://github.com/scipy/scipy/issues/10349
        )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   )éÝ   éÒ   rb   é�   éÆ   éf   r   r   r%   N©Úaxisr   rÎ  ró   )é�   é\   r  rS  r   rb   rX  r[  )r9   rC   Úconcatenater>   r%  r&  r'  r
   r	   rk   rl   rq   r©   rµ   r4   )r¬   rm   rn   rR   r   s        r   Útest_bug_10349z!LinprogCommonTests.test_bug_10349�  sp  € õ
 ŒxÐ+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+Ø+Ð+Ð+ð-ñ .ô .ˆõ ŒxÐ5Ð5Ð5Ñ6Ô6ˆÝŒN˜A˜q¥"¤(¨1¡+¤+Ð.°TÐ:Ñ:Ô:ˆÝÔ$Ñ&Ô&ð 	Dð 	DÝÔ#ØÐ3µ_ñFô Fð Få˜!�T¥4¨¨tµVØ!%¤°d´lðDñ Dô DˆCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dõ
 	˜Ð'@Ð'@Ð'@ÈbÐQÑQÔQÐQÐQÐQs   Á;ACÃCÃCÚdarwinz0Failing on some local macOS builds, see gh-13846©Úreasonc                 ó\  — g d¢}g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g
}g d¢}i }| j                              d¦  «        sddi}|                     | j        ¦  «         t	          j        ¦   «         5  t	          j        ddt          ¦  «         t          rt	          j	        dt          ¦  «         t	          j        ddt          ¦  «         t	          j        ddt          ¦  «         t	          j        ddt          ¦  «         t	          j        ddt          ¦  «         t	          j        ddt          ¦  «         t	          j        ddt          ¦  «         t          |t          t          ||t           | j         |¬¦  «        }ddd¦  «         n# 1 swxY w Y   t#          |j        d¦  «         dS )zA
        Test that autoscale fixes poorly-scaled problem
        )ç       À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     À²Ag      ¹Ag     @¿Ag      ÎAç   þÿÿÏAr`  r`  r`  r`  r`  r¼   Ú	autoscaleTr   rã  râ  zdivide by zero encountered...zoverflow encountered...zinvalid value encountered...úIll-conditioned matrix...úAn ill-conditioned...ró   Nlýÿÿÿàÿ )r©   rÎ   rM  rµ   r%  r&  r'  r
   rä  rÖ  r   rN  r   r	   rk   rl   rq   r   r/   )r¬   rR   rm   rn   r  r   s         r   Útest_bug_10466z!LinprogCommonTests.test_bug_10466•  sc  € ð NÐMÐMˆØDÐDÐDØDÐDÐDØDÐDÐDØEÐEÐEØDÐDÐDØDÐDÐDØDÐDÐDØDÐDÐDØDÐDÐDØDÐDÐDð	Fˆð ð  ð  ˆð
 ˆàŒ{×%Ò% gÑ.Ô.ð 	$Ø˜dÐ#ˆAØ	�Š�”ÑÔÐåÔ$Ñ&Ô&ð 	9ð 	9ÝÔ#ØÐ9½?ñLô Lð Låð @ÝÔ% hµÑ?Ô?Ð?ÝÔ#ØÐ6½ñHô Hð HåÔ#ØÐ9½>ñKô Kð KåÔ#ØÐ3µ^ñEô Eð EåÔ#ØÐ8½.ñJô Jð JåÔ#ØÐ5µ}ñFô Fð FåÔ#ØÐ1µ=ñBô Bð Bõ ˜!�T¥4¨¨tµVØ!%¤°að9ñ 9ô 9ˆCð%	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9õ( 	˜œ Ñ-Ô-Ð-Ð-Ð-s   Á6D
FÆFÆFN)VÚ__name__Ú
__module__Ú__qualname__Ú__doc__rÛ   rã   ré   rî   rõ   rø   rý   r  r  r(  r0  r:  rG  rI  rS  rU  rY  r\  r`  rc  rf  rj  ro  rq  rs  ru  rx  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,  r4  r8  r=  rB  rD  rG  rI  rK  rN  rZ  r¸   ÚmarkÚskipifÚsysÚplatformrd  r~   r   r   r×   r×   m  s"  € € € € € ðð ð$ð $ð $ð=ð =ð =ð	.ð 	.ð 	.ð@ð @ð @ð)ð )ð )ð)ð )ð )ð;ð ;ð ;ð2ð 2ð 2ð 2ð 2ð 2ð$Oð Oð Oð:ð ð ðB'ð 'ð 'ð%ð %ð %ð@%ð %ð %ð.')ð ')ð ')ðRð ð ð
%ð %ð %ðFð Fð Fð
@ð 
@ð 
@ðFð Fð Fð
/ð 
/ð 
/ð;ð ;ð ;ðGð Gð Gð;ð ;ð ;ðGð Gð GðGð Gð GðNð Nð Nð ð  ð  ð ð  ð  ð ð  ð  ð"=ð =ð =ð%ð %ð %ð6,ð ,ð ,ð,ð ,ð ,ð%ð %ð %ð%ð %ð %ð
%ð 
%ð 
%ð,ð ,ð ,ð%ð %ð %ð.ð .ð .ð	 ð 	 ð 	 ð%ð %ð %ðð ð ð#ð #ð #ð Að Að Að(Að Að Að(
Lð 
Lð 
Lð9ð 9ð 9ð2 ð  ð  ð*Cð Cð Cð=ð =ð =ð Dð Dð Dð* -ð  -ð  -ðD	.ð 	.ð 	.ð.ð .ð .ð(Bð Bð Bð$	Cð 	Cð 	Cðð ð ð" ð  ð  ð#ð #ð #ð"Dð Dð Dð.6>ð 6>ð 6>ðp:ð :ð :ð,,6ð ,6ð ,6ð\>ð >ð >ð('@ð '@ð '@ðRMð Mð Mð0;ð ;ð ;ð2?ð ?ð ?ð"$Bð $Bð $BðL	Fð 	Fð 	Fð ð  ð  ð")ð )ð )ð"<ð <ð <ð Bð Bð Bð&Rð Rð Rð( „[×Ò˜œ¨Ò0ð!/ð ñ 1ô 1ð/.ð /.ñ1ô 1ð/.ð /.ð /.r   r×   zignore::DeprecationWarningc                   ó   — e Zd ZdZdS )ÚLinprogSimplexTestsrÂ   N©re  rf  rg  r©   r~   r   r   rn  rn  Ï  s   € € € € € à€F€F€Fr   rn  c                   ó   — e Zd ZdZd„ ZdS )ÚLinprogIPTestsrÀ   c                 ó.   — t          j        d¦  «         d S )Nz*Test is failing, but solver is deprecated.©r¸   ÚskiprÚ   s    r   rd  zLinprogIPTests.test_bug_10466Ø  s   € ÝŒÐ@ÑAÔAÐAÐAÐAr   N)re  rf  rg  r©   rd  r~   r   r   rq  rq  Ô  s-   € € € € € à€FðBð Bð Bð Bð Br   rq  c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚLinprogRSTestsrÁ   c                 ó.   — t          j        d¦  «         d S ©Nz Intermittent failure acceptable.rs  rÚ   s    r   r  zLinprogRSTests.test_bug_5400ð  ó   € ÝŒÐ6Ñ7Ô7Ð7Ð7Ð7r   c                 ó.   — t          j        d¦  «         d S rx  rs  rÚ   s    r   rB  zLinprogRSTests.test_bug_8662ó  ry  r   c                 ó.   — t          j        d¦  «         d S rx  rs  rÚ   s    r   rà  z LinprogRSTests.test_network_flowö  ry  r   N)re  rf  rg  r©   r  rB  rà  r~   r   r   rv  rv  Ü  sF   € € € € € à€Fð$8ð 8ð 8ð8ð 8ð 8ð8ð 8ð 8ð 8ð 8r   rv  c                   ó,  — e Zd Zd„ Zej                             dddiddiddiddiddid	did
diddig¦  «        d„ ¦   «         Zd„ Zej         	                    d¦  «        d„ ¦   «         Z
d„ Zd„ Zej                             d¬¦  «        d„ ¦   «         ZdS )ÚLinprogHiGHSTestsc           	      óø   — d„ }t          j        ddg¦  «        }ddgddgddgg}g d¢}t          t          t          ||||| j        ¬¦  «         t	          |||| j        ¬	¦  «        }t          |d
ddg¬¦  «         d S )Nc                 ó   — d S rÙ   r~   r   s    r   r¤   z+LinprogHiGHSTests.test_callback.<locals>.cbý  s   € Ø�4r   ry   r¥   r   r   r   r¦   r§   r°   rª   rw   r«   )r9   rC   r¶   ÚNotImplementedErrorr	   r©   r4   )r¬   r¤   rR   rk   rl   r   s         r   rÛ   zLinprogHiGHSTests.test_callbackû  s¥   € ð	ð 	ð 	åŒH�b˜"�XÑÔˆØ�A�˜˜A˜  A Ð'ˆØˆzˆzˆÝÕ)­7°A¸DÀtØ!¨$¬+ð	7ñ 	7ô 	7ð 	7å�a˜d¨°d´kÐBÑBÔBˆÝ˜¨¸1¸a¸&ÐAÑAÔAÐAÐAÐAr   rµ   r   r6   rÝ   r<  rÇ   Údual_feasibility_toleranceÚprimal_feasibility_toleranceÚipm_optimality_toleranceÚ!simplex_dual_edge_weight_strategyÚekkic                 óÂ   ‡ — ˆ fd„}|                      ‰ j        ¦  «         t          j        t          ¦  «        5   ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó6   •— t          d‰j        | ¬¦  «         d S )Nr   ró   r  )rµ   r¬   s    €r   r  z7LinprogHiGHSTests.test_invalid_option_values.<locals>.f  s    ø€ Ý�A˜dœk°7Ð;Ñ;Ô;Ð;Ð;Ð;r   r  )rM  rµ   r¸   r¹   r
   )r¬   rµ   r  s   `  r   Útest_invalid_option_valuesz,LinprogHiGHSTests.test_invalid_option_values  s·   ø€ ð	<ð 	<ð 	<ð 	<ð 	<à�Š�t”|Ñ$Ô$Ð$ÝŒ\�/Ñ*Ô*ð 	ð 	ØˆA�gÐÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ºAÁAÁAc                 óô   — t          dt          j                             d¦  «        ¬¦  «        \  }}}}}d}t	          ||||| j        | j        ¬¦  «        }t          |j        dk    | j        dk    ¦  «         d S )Nr%   i(Â! ©rH   rÆ   rB  r   r‰  )	rS   r9   r:   r;   r	   r©   rµ   r   Úcrossover_nit)r¬   rm   rn   rR   r&  rq   r   s          r   Útest_crossoverz LinprogHiGHSTests.test_crossover  sƒ   € Ý*¨1µ"´)×2GÒ2GÈÑ2PÔ2PÐQÑQÔQÑˆˆd�A�q˜!ØˆÝ�a˜d¨Ø#¨D¬KÀÄðOñ Oô Oˆõ 	�SÔ&¨!Ò+¨T¬[¸KÒ-GÑHÔHÐHÐHÐHr   rb   c           
      ó”  ‡ ‡
‡‡‡‡‡‡‡— t          d¬¦  «        \  ŠŠŠŠ
ŠŠt          ‰‰‰‰
‰‰‰ j        ‰ j        ¬¦  «        }‰j        \  ŠŠˆ
ˆˆˆˆˆ fd„}t          |‰d|j        ¬¦  «        }t          |j        j	        |¦  «         ˆ
ˆˆˆˆˆ fd„}t          |‰d|j        ¬¦  «        }t          |j
        j	        |¦  «         ˆ
ˆˆˆˆˆ ˆfd„}t          j        d	¬
¦  «        5  t          |‰d|j        ¬¦  «        }d|t          j        ‰¦  «         <   d d d ¦  «         n# 1 swxY w Y   t          |j        j	        |¦  «         ˆ
ˆˆˆˆˆˆ fd„}t          j        d	¬
¦  «        5  t          |‰d|j        ¬¦  «        }	d|	t          j        ‰¦  «         <   d d d ¦  «         n# 1 swxY w Y   t          |j        j	        |	¦  «         d S )Nr   ©rh   r  c           	      óD   •— t          ‰‰| ‰‰‰‰j        ¬¦  «        j        S ©Nr½   ©r	   r©   r/   )r0   rm   rk   rn   rq   rR   r¬   s    €€€€€€r   Úf_bubz/LinprogHiGHSTests.test_marginals.<locals>.f_bub*  s.   ø€ Ý˜1˜d A t¨T°6Ø"&¤+ð/ñ /ô /Ü/2ð3r   z3-point)r©   Úf0c           	      óD   •— t          ‰‰‰‰| ‰‰j        ¬¦  «        j        S r�  r‘  )r0   rm   rk   rl   rq   rR   r¬   s    €€€€€€r   Úf_beqz/LinprogHiGHSTests.test_marginals.<locals>.f_beq2  s.   ø€ Ý˜1˜d D¨$°°6Ø"&¤+ð/ñ /ô /Ü/2ð3r   c           	      óz   •— t          j        | ‰g¦  «        j        }t          ‰‰‰‰‰|‰j        ¬¦  «        j        S r�  ©r9   rC   rg   r	   r©   r/   )	r0   rq   rm   rk   rn   rl   rR   r¬   rp   s	     €€€€€€€r   Úf_lbz.LinprogHiGHSTests.test_marginals.<locals>.f_lb:  sD   ø€ Ý”X˜q "˜gÑ&Ô&Ô(ˆFÝ˜1˜d D¨$°°fØ"&¤+ð/ñ /ô /Ü/2ð3r   r   )Úinvalidc           	      óz   •— t          j        ‰| g¦  «        j        }t          ‰‰‰‰‰|‰j        ¬¦  «        j        S r�  r—  )	r0   rq   rm   rk   rn   rl   rR   ro   r¬   s	     €€€€€€€r   Úf_ubz.LinprogHiGHSTests.test_marginals.<locals>.f_ubG  sD   ø€ Ý”X˜r 1˜gÑ&Ô&Ô(ˆFÝ˜1˜d D¨$°°fØ"&¤+ð/ñ /ô /Ü/2ð3r   )rr   r	   r©   rµ   rg   r   r/   r   r  r  r  r9   ÚerrstateÚisfiniter½  r  )r¬   r   r’  Údfdbubr•  Údfdbeqr˜  Údfdlbr›  Údfdubrm   rk   rn   rl   rq   rR   ro   rp   s   `         @@@@@@@@r   Útest_marginalsz LinprogHiGHSTests.test_marginals   só  øøøøøøøøø€ õ -<ÀÐ,CÑ,CÔ,CÑ)ˆˆ4��t˜T 6Ý�a˜d¨°D¸tØ#¨D¬KÀÄðOñ Oô Oˆà”‰ˆˆBð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3õ # 5¨$°yÀSÄWÐMÑMÔMˆÝ˜œÔ-¨vÑ6Ô6Ð6ð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3õ # 5¨$°yÀSÄWÐMÑMÔMˆÝ˜œ	Ô+¨VÑ4Ô4Ð4ð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3õ
 Œ[ Ð*Ñ*Ô*ð 	(ð 	(å% d¨B°yÀSÄWÐMÑMÔMˆEØ&'ˆE•2”;˜r‘?”?Ð"Ñ#ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(õ
 	˜œ	Ô+¨UÑ3Ô3Ð3ð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3õ
 Œ[ Ð*Ñ*Ô*ð 	(ð 	(Ý% d¨B°yÀSÄWÐMÑMÔMˆEØ&'ˆE•2”;˜r‘?”?Ð"Ñ#ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(õ 	˜œ	Ô+¨UÑ3Ô3Ð3Ð3Ð3s$   Ã$1D!Ä!D%Ä(D%Å&1F#Æ#F'Æ*F'c           
      ó(  — t          d¬¦  «        \  }}}}}}t          ||||||| j        | j        ¬¦  «        }| |j        |j        j        z  z   |j        |j        j        z  z   |j        j        z   |j	        j        z   }t          |dd¬¦  «         d S )Nr
  rŽ  r  r   çê-�™—q=r  )rr   r	   r©   rµ   rg   r  r  r  r  r½  r   )	r¬   rR   rk   rl   rm   rn   rq   r   Úresids	            r   Útest_dual_feasibilityz'LinprogHiGHSTests.test_dual_feasibilityR  s²   € å,;ÀÐ,DÑ,DÔ,DÑ)ˆˆ4��t˜T 6Ý�a˜d¨°D¸tØ#¨D¬KÀÄðOñ Oô Oˆð
 ��d”f˜sœ{Ô4Ñ4Ñ4Ø”˜#œ)Ô-Ñ-ñ.à”Ô$ñ%ð ”Ô$ñ%ˆõ 	˜˜q uÐ-Ñ-Ô-Ð-Ð-Ð-r   c           
      óÔ   — t          d¬¦  «        \  }}}}}}t          ||||||| j        | j        ¬¦  «        }t	          j        |j        j        |||j        z  z
  z  d¦  «        sJ ‚d S )Nr
  rŽ  r  r   )	rr   r	   r©   rµ   r9   Úallcloser  r  r0   rü   s           r   Útest_complementary_slacknessz.LinprogHiGHSTests.test_complementary_slackness`  s€   € å,;ÀÐ,DÑ,DÔ,DÑ)ˆˆ4��t˜T 6Ý�a˜d¨°D¸tØ#¨D¬KÀÄðOñ Oô Oˆõ Œ{˜3œ;Ô0°D¸4À#Ä%¹<Ñ4GÑHÈ!ÑLÔLÐLÐLÐLÐLÐLr   z&Upstream / Wrapper issue, see gh-20589r\  c                 óî  — g d¢}g d¢}g d¢}g d¢}g d¢}g d¢}t          j        |t           j        ¬¦  «        }t          j        |t           j        ¬¦  «        }t          j        |t           j        ¬¦  «        }	t          j                             |||	ffd¬	¦  «        }
t          j        |t           j        ¬¦  «        }t          j        |t           j        ¬¦  «        }t          j                             |d
d
|
||¬¦  «        }|j	        dk    sJ ‚|j
        }t           j                             |
|z  |z
  ¦  «        }t           j                             |j        j        ¦  «        }t          ||¦  «         d
S )zH
        Test that `linprog` now solves a poorly-scaled problem
        )!)ç     ˆÃ@g    j/aA)rí  N©r«  N)rí  gÈÄS8(U@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…   )Srú   rð   rú   rð   rú   rð   rú   rð   rú   rð   rú   rð   rú   rð   rú   rð   rú   rð   rú   rð   rð   rð   rú   çü©ñÒMbP?çü©ñÒMbP¿ç<ó:ˆ¨ù=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ú   )Sr   r   r   r   r   r   r!   r!   r%   r%   r!  r!  rw   rw   r{   r{   rt   rt   rx   rx   rb   rÙ  rÙ  r  r  r  r  é   r°  r{  r{  r{  r{  rC  rC  rÚ  rÚ  rÚ  rÚ  é   r±  rÛ  rÛ  rÛ  rÛ  rÜ  rÜ  rc   rc   rc   rc   é   r²  é   r³  r³  r³  é   r´  é   rµ  rµ  rµ  é   r¶  é   r·  r·  r·  é   r¸  é   r¹  r¹  r¹  é   rº  é   r»  r»  r»  é   r¼  )SrC  r{  r±  rÚ  rÜ  rÛ  r²  rc   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Ú  rC  r!  r%   r!  r%   rÛ  r±  rw   r!  rw   r!  rc   rÜ  r{   rw   r{   rw   r³  r²  rt   r{   rt   r{   rµ  r´  rx   rt   rx   rt   r·  r¶  rb   rx   rb   rx   r¹  r¸  rÙ  rb   rÙ  rb   r»  rº  r  rÙ  r  rÙ  ) rí  rí  rí  rí  rí  rí  rí  rí  rí  rí  g    ˆ*aArí  gºel›aûz?g—?‰2¨³ÀgZßÁPd%q?gúò‰4ïî¾ÀgéÌšãy?gµŽC1 |´ÀgÖ›üÓËx?gÀK†ÇcµÀgEŽ3-´w?g-.f—?`¶ÀgsFË]Fœv?g@ÎÊ¥u·Àg¢þbŽ„u?gNø³¦¸ÀgÐ¶ú¾¸lt?g=Ð‚Ã÷¹Àgþn’ïñTs?g”ÂQ3”o»Àg,'* +=r?g)[Šn½À)!rí  rí  rí  g¯l'V3ˆ¿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í  r7   )r½  rÝ  )rF   N)rk   rl   rm   rn   rq   r   )r9   Úasarrayrw  Úint32rŠ   r‹   Ú	csr_arrayÚoptimizer	   r   r0   ÚlinalgÚnormr  r  r   )r¬   Ú
boundariesÚ
eq_entriesÚ
eq_indizesÚeq_varsÚ	eq_valuesÚcoefficientsÚnp_eq_entriesÚnp_eq_indizesÚ
np_eq_varsÚa_eqrn   rR   Úresultr0   Ún_r_xÚn_rs                    r   Útest_bug_20336z LinprogHiGHSTests.test_bug_20336k  s–  € ð
	#ð 	#ð 	#ˆ
ð9ð 9ð 9ˆ
ðNð Nð Nˆ
ð
3ð 3ð 3ˆð
?ð ?ð ?ˆ	ðTð Tð Tˆõ œ
 :µR´ZÐ@Ñ@Ô@ˆÝœ
 :µR´XÐ>Ñ>Ô>ˆÝ”Z ­r¬xÐ8Ñ8Ô8ˆ
åŒ|×%Ò% }°mÀZÐ5PÐ&QØ,4ð &ñ 6ô 6ˆåŒz˜)­2¬:Ð6Ñ6Ô6ˆÝŒJ�|­2¬:Ð6Ñ6Ô6ˆå”×'Ò'¨°¸4ÀdÐQUØ/9ð (ñ ;ô ;ˆàŒ}˜aÒÐÐÐØŒHˆÝ”	—’˜t a™x¨$™Ñ/Ô/ˆÝŒi�nŠn˜Vœ\Ô2Ñ3Ô3ˆÝ˜˜UÑ#Ô#Ð#Ð#Ð#r   N)re  rf  rg  rÛ   r¸   ri  Úparametrizerˆ  rŒ  Ú	fail_slowr¢  r¦  r©  rŠ  rÑ  r~   r   r   r}  r}  ú  s1  € € € € € ð
Bð 
Bð 
Bð „[×Ò˜YØ(¨"˜oØ% r˜lØ)¨2Ð.Ø+¨RÐ0Ø;¸RÐ@Ø=¸rÐBØ9¸2Ð>ØBÀFÐKð ñ	!ô 	!ðð ñ	!ô 	!ððIð Ið Ið „[×Ò˜2ÑÔð/4ð /4ñ Ôð/4ðb.ð .ð .ð	Mð 	Mð 	Mð „[×ÒÐFÐÑGÔGðA$ð A$ñ HÔGðA$ð A$ð A$r   r}  c                   ó0   ‡ — e Zd Zd„ Zd„ Zd„ Zˆ fd„Zˆ xZS )ÚTestLinprogSimplexDefaultc                 ó   — i | _         d S rÙ   r  rÚ   s    r   Úsetup_methodz&TestLinprogSimplexDefault.setup_method·  s   € ØˆŒˆˆr   c                 ó.   — t          j        d¦  «         d S ©NzSimplex fails on this problem.rs  rÚ   s    r   r  z'TestLinprogSimplexDefault.test_bug_5400º  ó   € ÝŒÐ4Ñ5Ô5Ð5Ð5Ð5r   c                 ó.   — t          j        d¦  «         d S rÙ  rs  rÚ   s    r   Útest_bug_7237_low_tolz/TestLinprogSimplexDefault.test_bug_7237_low_tol½  s   € õ 	ŒÐ4Ñ5Ô5Ð5Ð5Ð5r   c                 óä   •— | j                              ddi¦  «         t          j        t          ¦  «        5  t          ¦   «                              ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S ©Nr2  r¤  ©rµ   rM  r¸   r¹   r
   Úsuperr4  ©r¬   Ú	__class__s    €r   Útest_bug_8174_low_tolz/TestLinprogSimplexDefault.test_bug_8174_low_tolÂ  ó©   ø€ ð 	Œ×Ò˜U E˜NÑ+Ô+Ð+ÝŒ\�/Ñ*Ô*ð 	$ð 	$Ý‰GŒG×!Ò!Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ó   ·!A%Á%A)Á,A))re  rf  rg  r×  r  rÜ  rã  Ú__classcell__©râ  s   @r   rÕ  rÕ  µ  se   ø€ € € € € ðð ð ð6ð 6ð 6ð6ð 6ð 6ð
$ð $ð $ð $ð $ð $ð $ð $ð $r   rÕ  c                   ó*   ‡ — e Zd Zd„ Zd„ Zˆ fd„Zˆ xZS )ÚTestLinprogSimplexBlandc                 ó   — ddi| _         d S )NrÊ  Tr  rÚ   s    r   r×  z$TestLinprogSimplexBland.setup_methodÌ  s   € Ø �ˆŒˆˆr   c                 ó.   — t          j        d¦  «         d S rÙ  rs  rÚ   s    r   r  z%TestLinprogSimplexBland.test_bug_5400Ï  rÚ  r   c                 óF  •— | j                              ddi¦  «         t          j        t          ¦  «        5  t          j        t          ¦  «        5  t          ¦   «                              ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S rÞ  )	rµ   rM  r¸   r   r.   r¹   r
   rà  r4  rá  s    €r   rã  z-TestLinprogSimplexBland.test_bug_8174_low_tolÒ  s  ø€ ð 	Œ×Ò˜U E˜NÑ+Ô+Ð+ÝŒ]�>Ñ*Ô*ð 	(ð 	(Ý”�oÑ.Ô.ð (ð (Ý‘”×%Ò%Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s5   ·BÁ!A>Á2BÁ>B	ÂBÂB	ÂBÂBÂB)re  rf  rg  r×  r  rã  ræ  rç  s   @r   ré  ré  Ê  sV   ø€ € € € € ð'ð 'ð 'ð6ð 6ð 6ð(ð (ð (ð (ð (ð (ð (ð (ð (r   ré  c                   óø   ‡ — e Zd Zd„ Z ej        d¦  «        j        dk     Zej	         
                    d¦  «        Zej                             eoed¬¦  «        ˆ fd„¦   «         Zˆ fd„Zd	„ Zˆ fd
„Zd„ Zd„ Zˆ xZS )ÚTestLinprogSimplexNoPresolvec                 ó   — ddi| _         d S )Nr<  Fr  rÚ   s    r   r×  z)TestLinprogSimplexNoPresolve.setup_methodÝ  s   € Ø" EÐ*ˆŒˆˆr   r   rt   Úlinuxz"Fails with warning on 32-bit linux)Ú	conditionr]  c                 óH   •— t          ¦   «                              ¦   «          d S rÙ   )rà  r  rá  s    €r   r  z*TestLinprogSimplexNoPresolve.test_bug_5400ã  s!   ø€ õ 	‰Œ×ÒÑÔÐÐÐr   c                 óæ   •— | j                              ddi¦  «         t          j        t          d¬¦  «        5  t          ¦   «                              ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S )Nr2  r¤  zlinprog status 4r±   )rµ   rM  r¸   r   r.   rà  r  rá  s    €r   Útest_bug_6139_low_tolz2TestLinprogSimplexNoPresolve.test_bug_6139_low_tolé  s¬   ø€ ð
 	Œ×Ò˜U E˜NÑ+Ô+Ð+ÝŒ]�>Ð1CÐDÑDÔDð 	+ð 	+Ý‘7”7×(Ò(Ñ*Ô*ð	+ð 	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ¹ A&Á&A*Á-A*c                 ó.   — t          j        d¦  «         d S rÙ  rs  rÚ   s    r   rÜ  z2TestLinprogSimplexNoPresolve.test_bug_7237_low_tolò  rÚ  r   c                 óä   •— | j                              ddi¦  «         t          j        t          ¦  «        5  t          ¦   «                              ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S rÞ  rß  rá  s    €r   rã  z2TestLinprogSimplexNoPresolve.test_bug_8174_low_tolõ  rä  rå  c                 ó.   — t          j        d¦  «         d S ©Nz#Tests behavior specific to presolvers  rÚ   s    r   r¾  zGTestLinprogSimplexNoPresolve.test_unbounded_no_nontrivial_constraints_1ü  ó   € ÝŒÐ9Ñ:Ô:Ð:Ð:Ð:r   c                 ó.   — t          j        d¦  «         d S rø  rs  rÚ   s    r   rÀ  zGTestLinprogSimplexNoPresolve.test_unbounded_no_nontrivial_constraints_2ÿ  rù  r   )re  rf  rg  r×  r9   ÚintpÚitemsizeÚ	is_32_bitrk  rl  rÎ   Úis_linuxr¸   ri  rŠ  r  rô  rÜ  rã  r¾  rÀ  ræ  rç  s   @r   rî  rî  Û  s  ø€ € € € € ð+ð +ð +ð �”˜‘
”
Ô# aÒ'€IØŒ|×&Ò& wÑ/Ô/€Hà„[×ÒØÐ( Ø3ð ñ 5ô 5ð ð  ð  ð  ñ5ô 5ð ð+ð +ð +ð +ð +ð6ð 6ð 6ð$ð $ð $ð $ð $ð;ð ;ð ;ð;ð ;ð ;ð ;ð ;ð ;ð ;r   rî  c                   ó|   ‡ — e Zd ZddiZej                             ej        dk    d¬¦  «        ˆ fd„¦   «         Z	ˆ xZ
S )ÚTestLinprogIPDenser‹   Fr[  z:Fails on some macOS builds for reason not relevant to testr\  c                 óH   •— t          ¦   «                              ¦   «          d S rÙ   ©rà  r  rá  s    €r   r  z TestLinprogIPDense.test_bug_6139  s!   ø€ õ
 	‰Œ×ÒÑÔÐÐÐr   )re  rf  rg  rµ   r¸   ri  rj  rk  rl  r  ræ  rç  s   @r   r   r     su   ø€ € € € € Ø˜Ð€Gð „[×ÒØŒ˜Ò ØKð ñ ô ð ð  ð  ð  ñ	ô ð ð  ð  ð  ð  r   r   c                   ó   — e Zd ZdddœZdS )ÚTestLinprogIPSparseCholmodT©r‹   r   N©re  rf  rg  rµ   r~   r   r   r  r    s   € € € € € Ø!¨tÐ4Ð4ˆˆˆr   r  c                   ó   — e Zd ZdddœZd„ ZdS )ÚTestLinprogIPSparseUmfpackTFr  c                 ó.   — t          j        d¦  «         d S )Nz2Failing due to numerical issues on some platforms.rs  rÚ   s    r   rå  z=TestLinprogIPSparseUmfpack.test_network_flow_limited_capacity  s   € ÝŒKÐLÑMÔMÐMÐMÐMr   N)re  rf  rg  rµ   rå  r~   r   r   r  r    s5   € € € € € Ø!¨uÐ5Ð5ˆð	Nð 	Nð 	Nð 	Nð 	Nr   r  c                   ó  ‡ — e Zd ZddddœZej                             ej        dk    d¬¦  «        ej         	                    d¦  «        ˆ fd„¦   «         ¦   «         Z
ej                             d	¬¦  «        ˆ fd
„¦   «         Zd„ Zd„ Zˆ xZS )ÚTestLinprogIPSparseTF©r‹   r   Úsym_posr[  ú/Fails on macOS x86 Accelerate builds (gh-20510)r\  úrThis test is sensitive to machine epsilon level perturbations in linear system solution in _linprog_ip._sym_solve.c                 óH   •— t          ¦   «                              ¦   «          d S rÙ   r  rá  s    €r   r  z!TestLinprogIPSparse.test_bug_6139#  ó!   ø€ õ 	‰Œ×ÒÑÔÐÐÐr   úFails with ATLAS, see gh-7877c                 óH   •— t          ¦   «                              ¦   «          d S rÙ   ©rà  r"  rá  s    €r   r"  z!TestLinprogIPSparse.test_bug_6690-  ó!   ø€ õ 	‰Œ×ÒÑÔÐÐÐr   c                 óÜ  ‡ — t          d¦  «        \  }}}}}d}t          j        ¦   «         5  t          rt          j        dt
          ¦  «         t          j        ddt          ¦  «         t          j        ddt          ¦  «         ˆ fd„‰ j	        D ¦   «         }d|d<   t          |t          t          |||‰ j        |¬	¦  «        }d d d ¦  «         n# 1 swxY w Y   d
}t          ||¬¦  «         d S )Nr!   rÆ   r   zMatrix is exactly singularrã  c                 ó,   •— i | ]}|‰j         |         “ŒS r~   r  r  s     €r   r  zLTestLinprogIPSparse.test_magic_square_sparse_no_presolve.<locals>.<dictcomp>?  ó"   ø€ Ð@Ð@Ð@¨C��d”l 3Ô'Ð@Ð@Ð@r   Fr<  ró   r$  rà   )rS   r%  r&  rä  rÖ  r   r'  r   r
   rµ   r	   rk   rl   r©   r4   )	r¬   rm   rn   rR   r&  rq   r  r   r1   s	   `        r   Ú$test_magic_square_sparse_no_presolvez8TestLinprogIPSparse.test_magic_square_sparse_no_presolve2  sM  ø€ å*¨1™oœoÑˆˆd�A�q˜!ØˆåÔ$Ñ&Ô&ð 	9ð 	9Ýð @ÝÔ% hµÑ?Ô?Ð?ÝÔ#ØÐ6Õ8IñKô Kð KåÔ#ØÐ9½?ñLô Lð Lð AÐ@Ð@Ð@°4´<Ð@Ñ@Ô@ˆAØ!ˆAˆj‰Må˜!�T¥4¨¨t°VØ!%¤°að9ñ 9ô 9ˆCð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð )ˆÝ˜¨Ð5Ñ5Ô5Ð5Ð5Ð5s   ¬BCÃCÃCc                 ó²  ‡ — t          d¦  «        \  }}}}}t          j        ¦   «         5  t          j        ddt          ¦  «         t          j        ddt          ¦  «         ˆ fd„‰ j        D ¦   «         }d}|D ]E}||d<   t          |t          t          ||t          ‰ j
        |¬¦  «        }d	}	t          ||	¬
¦  «         ŒF	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr!   r   rÎ  zInvalid permc_spec optionc                 ó,   •— i | ]}|‰j         |         “ŒS r~   r  r  s     €r   r  zATestLinprogIPSparse.test_sparse_solve_options.<locals>.<dictcomp>O  r  r   )ÚNATURALÚMMD_ATAÚMMD_AT_PLUS_AÚCOLAMDr¯   Ú
permc_specró   r$  rà   )rS   r%  r&  r'  r
   rµ   r	   rk   rl   rq   r©   r4   )
r¬   rm   rn   rR   r&  r  Úpermc_specsr   r   r1   s
   `         r   Útest_sparse_solve_optionsz-TestLinprogIPSparse.test_sparse_solve_optionsG  sO  ø€ å*¨1™oœoÑˆˆd�A�q˜!ÝÔ$Ñ&Ô&ð 	>ð 	>ÝÔ#ØÐ3µ_ñFô Fð FåÔ#ØÐ5µñHô Hð Hà@Ð@Ð@Ð@°4´<Ð@Ñ@Ô@ˆAð7ˆKð *ð >ð >�
Ø",��,‘Ý˜a¥¥t¨T°4½Ø%)¤[¸!ð=ñ =ô =�à0�Ý °Ð=Ñ=Ô=Ð=Ð=ð>ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s   ªBCÃCÃC)re  rf  rg  rµ   r¸   ri  rj  rk  rl  Úxfail_on_32bitr  rŠ  r"  r  r"  ræ  rç  s   @r   r  r     sö   ø€ € € € € Ø¨5¸UÐCÐC€Gà„[×ÒØŒ˜Ò Ø@ð ñ ô ð „[×Òð !:ñ ;ô ;ð ð  ð  ð  ñ;ô ;ñ	ô ð ð „[×ÒÐ=ÐÑ>Ô>ð ð  ð  ð  ñ ?Ô>ð ð6ð 6ð 6ð*>ð >ð >ð >ð >ð >ð >r   r  c                   ó  ‡ — e Zd ZdddœZej                             ej        dk    d¬¦  «        ej         	                    d¦  «        ˆ fd„¦   «         ¦   «         Z
d„ Zej                             d	¬¦  «        ˆ fd
„¦   «         Zˆ xZS )ÚTestLinprogIPSparsePresolveT)r‹   r#  r[  r  r\  r  c                 óH   •— t          ¦   «                              ¦   «          d S rÙ   r  rá  s    €r   r  z)TestLinprogIPSparsePresolve.test_bug_6139_  r  r   c                 ó.   — t          j        d¦  «         d S )Nz6_sparse_presolve=True incompatible with presolve=Falsers  rÚ   s    r   rû  zBTestLinprogIPSparsePresolve.test_enzo_example_c_with_infeasibilityi  s   € ÝŒÐLÑMÔMÐMÐMÐMr   r  c                 óH   •— t          ¦   «                              ¦   «          d S rÙ   r  rá  s    €r   r"  z)TestLinprogIPSparsePresolve.test_bug_6690l  r  r   )re  rf  rg  rµ   r¸   ri  rj  rk  rl  r#  r  rû  rŠ  r"  ræ  rç  s   @r   r%  r%  \  sè   ø€ € € € € Ø°4Ð8Ð8€Gà„[×ÒØŒ˜Ò Ø@ð ñ ô ð „[×Òð !:ñ ;ô ;ð ð  ð  ð  ñ;ô ;ñ	ô ð ðNð Nð Nð „[×ÒÐ=ÐÑ>Ô>ð ð  ð  ð  ñ ?Ô>ð ð  ð  ð  ð  r   r%  c                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestLinprogIPSpecificrÀ   c                 ó  — t           rdddœ}nt          rdddœ}nddddœ}t          dd¦  «        \  }}}t          |||| j        |¬¦  «        }t          |||| j        ¬¦  «        }t          |j        |j        dd	d
¬¦  «         d S )NTr  Fr  rc   rÞ   r°   z(linprog default solver unexpected resultgVçž¯â<gVçž¯Ò<r)   )Úhas_cholmodrä  r`   r	   r©   r   r/   )r¬   rµ   rP   rQ   rR   r@  rA  s          r   Útest_solver_selectz(TestLinprogIPSpecific.test_solver_selectx  s¹   € åð 	LØ!%°4Ð8Ð8ˆGˆGÝð 	LØ!%°5Ð9Ð9ˆGˆGà!%°5ÀUÐKÐKˆGÝ˜2˜rÑ"Ô"‰ˆˆ1ˆaÝ�q˜q q°´ÀgÐNÑNÔNˆÝ�q˜q q°´Ð=Ñ=Ô=ˆÝ˜œ $¤(Ø JØ"¨ð	0ñ 	0ô 	0ð 	0ð 	0ð 	0r   c                 ój   — dg}dg}t          ||| j        dddœ¬¦  «        }t          |d¬¦  «         d S )Nr6   r²  FT)r<  r   rM  rà   )r	   r©   r4   rX  s       r   Ú)test_unbounded_below_no_presolve_originalz?TestLinprogIPSpecific.test_unbounded_below_no_presolve_original‡  sV   € àˆDˆØ�ˆÝ˜ &Ø!œ[Ø+0¸dÐCÐCðEñ Eô Eˆõ 	˜¨Ð,Ñ,Ô,Ð,Ð,Ð,r   c                 ó†   — t          dd¦  «        \  }}}t          |||| j        ddi¬¦  «        }t          |d¬¦  «         d S )Nrc   r   TrÞ   rß   rà   rá   râ   s        r   Útest_choleskyz#TestLinprogIPSpecific.test_cholesky�  sW   € å˜2˜rÑ"Ô"‰ˆˆ1ˆaÝ�a˜a a°´Ø)¨4Ð0ð2ñ 2ô 2ˆå˜Ð);Ð<Ñ<Ô<Ð<Ð<Ð<r   c           
      ó¶  — t          dd¦  «        \  }}}t          j        ¦   «         5  t          j        ddt          ¦  «         t          j        ddt
          ¦  «         t          j        ddt          ¦  «         t          j        ddt          ¦  «         t          |||| j        dddœ¬	¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d
¬¦  «         d S )Nrc   r   râ  rã  rb  rc  T)ÚiprÝ   rÞ   rß   rà   )
r`   r%  r&  r'  rN  r
   r   r	   r©   r4   râ   s        r   Útest_alternate_initial_pointz2TestLinprogIPSpecific.test_alternate_initial_point—  sB  € å˜2˜rÑ"Ô"‰ˆˆ1ˆaÝÔ$Ñ&Ô&ð 	>ð 	>ÝÔ#ØÐ6½ñHô Hð HåÔ#ØÐ9½?ñLô Lð LåÔ#ØÐ5µ}ñFô Fð FåÔ#ØÐ1µ=ñBô Bð Bõ ˜! !¨!°D´KØ)-°tÐ"<Ð"<ð>ñ >ô >ˆCð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>õ 	˜Ð);Ð<Ñ<Ô<Ð<Ð<Ð<s   ¨B	B=Â=CÃCc                 ój  — dg}dgdgg}ddg}dgdgdgg}g d¢}t          j        ¦   «         5  t          j        dt          ¦  «         t          j        dd	t
          ¦  «         t          |||||t          | j        d
di¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j
         d¦  «         d S )Nr%   r   r!  r   r|   rx   rF  r   rã  r<  Fró   r   )r%  r&  rÖ  rN  r'  r
   r	   rq   r©   r   r   rÿ  s          r   rG  z#TestLinprogIPSpecific.test_bug_8664©  s.  € àˆCˆØ��a�SˆzˆØ�1ˆvˆØ��b�T˜A˜3ÐˆØˆzˆzˆÝÔ$Ñ&Ô&ð 	Kð 	KÝÔ! (­NÑ;Ô;Ð;ÝÔ#ØÐ9½?ñLô Lð Lå˜!˜T 4¨¨tµVØ!%¤°zÀ5Ð6IðKñ Kô KˆCð		Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kõ 	�C”K�Ð!?Ñ@Ô@Ð@Ð@Ð@s   ­ABÂBÂBN)	re  rf  rg  r©   r-  r/  r1  r4  rG  r~   r   r   r*  r*  r  si   € € € € € à€Fð0ð 0ð 0ð-ð -ð -ð=ð =ð =ð=ð =ð =ð$Að Að Að Að Ar   r*  c                   ó<   — e Zd Zi Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
dS )	ÚTestLinprogRSCommonc                 ó.   — t          j        d¦  «         d S rx  rs  rÚ   s    r   rÌ  z%TestLinprogRSCommon.test_cyclic_blandÁ  ry  r   c                 óÎ   — t          ¦   «         \  }}}}}}}t          |||||t          | j        | j        |¬¦	  «	        }t          |||¬¦  «         t          |j        d¦  «         d S ©N©r©   rµ   Úx0r«   r   ©r�   r	   rq   r©   rµ   r4   r   r›   rÑ  s	            r   Ú"test_nontrivial_problem_with_guessz6TestLinprogRSCommon.test_nontrivial_problem_with_guessÄ  ów   € Ý4FÑ4HÔ4HÑ1ˆˆ4��t˜T 6¨6Ý�a˜˜t T¨4µØ!œ[°$´,À6ðKñ Kô Kˆå˜¨¸6ÐBÑBÔBÐBÝ�S”W˜aÑ Ô Ð Ð Ð r   c                 óÌ   — t          ¦   «         \  }}}}}}}g d¢}t          ||||||| j        | j        |¬¦	  «	        }	t	          |	||¬¦  «         t          |	j        d¦  «         d S )N)r…   r…   r†   r…   r;  r«   r   ©r�   r	   r©   rµ   r4   r   r›   ©
r¬   rR   rk   rl   rm   rn   r   r€   rq   r   s
             r   Ú0test_nontrivial_problem_with_unbounded_variableszDTestLinprogRSCommon.test_nontrivial_problem_with_unbounded_variablesË  s‚   € Ý4FÑ4HÔ4HÑ1ˆˆ4��t˜T 6¨6ØFÐFÐFˆÝ�a˜˜t T¨4°Ø!œ[°$´,À6ðKñ Kô Kˆå˜¨¸6ÐBÑBÔBÐBÝ�S”W˜aÑ Ô Ð Ð Ð r   c                 óÌ   — t          ¦   «         \  }}}}}}}g d¢}t          ||||||| j        | j        |¬¦	  «	        }	t	          |	||¬¦  «         t          |	j        d¦  «         d S )N)r²  ©r   Nr†   ©rë  g333333ã?r;  r«   r   rA  rB  s
             r   Ú.test_nontrivial_problem_with_bounded_variableszBTestLinprogRSCommon.test_nontrivial_problem_with_bounded_variablesÓ  s‚   € Ý4FÑ4HÔ4HÑ1ˆˆ4��t˜T 6¨6Ø<Ð<Ð<ˆÝ�a˜˜t T¨4°Ø!œ[°$´,À6ðKñ Kô Kˆå˜¨¸6ÐBÑBÔBÐBÝ�S”W˜aÑ Ô Ð Ð Ð r   c                 ó  — t          ¦   «         \  }}}}}}}dg}t          j        g d¢¦  «        }d}g d¢}t          ||||||| j        | j        |¬¦	  «	        }	t          |	||¬¦  «         t          |	j        d¦  «         d S )Nr%   )giblÝ3â¿gç%Gà/ø?r   rë  g«@Q†$@)r…   rE  r†   rF  r;  r«   r   )	r�   r9   rC   r	   r©   rµ   r4   r   r›   rB  s
             r   Ú8test_nontrivial_problem_with_negative_unbounded_variablezLTestLinprogRSCommon.test_nontrivial_problem_with_negative_unbounded_variableÛ  s¤   € Ý4FÑ4HÔ4HÑ1ˆˆ4��t˜T 6¨6ØˆsˆÝ”Ð6Ð6Ð6Ñ7Ô7ˆØˆØ?Ð?Ð?ˆÝ�a˜˜t T¨4°Ø!œ[°$´,À6ðKñ Kô Kˆå˜¨¸6ÐBÑBÔBÐBÝ�S”W˜aÑ Ô Ð Ð Ð r   c                 ó²   — t          ¦   «         \  }}}}}}}g d¢}t          |||||t          | j        | j        |¬¦	  «	        }	t          |	j        d¦  «         d S ©N)r   r   r!   re   r;  rw   ©r�   r	   rq   r©   rµ   r   r   ©
r¬   rR   rk   rl   rm   rn   r   r€   Ú	bad_guessr   s
             r   Ú&test_nontrivial_problem_with_bad_guessz:TestLinprogRSCommon.test_nontrivial_problem_with_bad_guessæ  ók   € Ý4FÑ4HÔ4HÑ1ˆˆ4��t˜T 6¨6Ø!�M�Mˆ	Ý�a˜˜t T¨4µØ!œ[°$´,À9ðNñ Nô Nˆå�S”Z Ñ#Ô#Ð#Ð#Ð#r   c                 óø  — t           j                             d¦  «        }t          d|¬¦  «        \  }}}}}|                     |j        ¦  «        }t          j        ¦   «         5  t          j        ddt          ¦  «         t          j        ddt          ¦  «         t          j
        dt          ¦  «         t          |||| j        ¬¦  «        }t          |||| j        |j        ¬¦  «        }t          ||z   ||| j        |j        ¬¦  «        }	d d d ¦  «         n# 1 swxY w Y   t          ||j        ¬	¦  «         t#          |j        d
¦  «         t          |	¦  «         t'          |	j        |j        k     ¦  «         d S )Nl   �%½4Û| r!   rŠ  r   rÎ  rÕ  )rm   rn   r©   )rm   rn   r©   r<  rà   r   )r9   r:   r;   rS   rF   r%  r&  r'  r
   rN  rÖ  r   r	   r©   r0   r4   r/   r   r›   r   )
r¬   rH   rP   rQ   rR   r&  rß  r   rA  Úres3s
             r   Ú%test_redundant_constraints_with_guessz9TestLinprogRSCommon.test_redundant_constraints_with_guessí  s¶  € ÝŒi×#Ò# OÑ4Ô4ˆÝ$ Q¨CÐ0Ñ0Ô0‰ˆˆ1ˆa��AØ�JŠJ�q”wÑÔˆÝÔ$Ñ&Ô&ð 	Pð 	PÝÔ#ØÐ3µ_ñFô Fð FåÔ#ØÐ5µ~ñGô Gð GåÔ! (­MÑ:Ô:Ð:Ý˜! !¨!°D´KÐ@Ñ@Ô@ˆCÝ˜1 1¨1°T´[ÀSÄUÐKÑKÔKˆDÝ˜1˜q™5 q¨q¸¼ÈÌÐOÑOÔOˆDð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Põ 	˜¨#¬'Ð2Ñ2Ô2Ð2Ý�T”X˜qÑ!Ô!Ð!Ý˜ÑÔÐÝ�”˜3œ7Ò"Ñ#Ô#Ð#Ð#Ð#s   Á$B(DÄDÄDN)re  rf  rg  rµ   rÌ  r>  rC  rG  rI  rO  rS  r~   r   r   r7  r7  ¾  s‚   € € € € € Ø€Gð8ð 8ð 8ð!ð !ð !ð!ð !ð !ð!ð !ð !ð	!ð 	!ð 	!ð$ð $ð $ð$ð $ð $ð $ð $r   r7  c                   ó   — e Zd ZddiZdS )ÚTestLinprogRSBlandÚpivotrÊ  Nr  r~   r   r   rU  rU   	  s   € € € € € Ø˜Ð €G€G€Gr   rU  c                   ó   — e Zd ZdZi Zd„ ZdS )ÚTestLinprogHiGHSSimplexDualrÊ   c                 óä  — t          ¦   «         \  }}}}t          ||||| j        | j        ¬¦  «        }t	          |j        d¦  «         t          |j        du¦  «         t          t          j	        |j
        dk    ¦  «        ¦  «         t          t          j	        |j        d„ |D ¦   «         k    ¦  «        ¦  «         t          t          j	        |j        d„ |D ¦   «         k    ¦  «        ¦  «         dS )z�
        The scaled model should be optimal, i.e. not produce unscaled model
        infeasible.  See https://github.com/ERGO-Code/HiGHS/issues/494.
        )rk   rl   rq   r©   rµ   r   Ng�íµ ÷Æ°¾c                 ó4   — g | ]\  }}|€t           j        n|‘ŒS rÙ   ©r9   rf   ©r  ro   rp   s      r   ú
<listcomp>zCTestLinprogHiGHSSimplexDual.test_lad_regression.<locals>.<listcomp>	  s6   € ð !5ð !5ð !5Ù%+ R¨ð ,.¨:¥¤ ¸2ð !5ð !5ð !5r   c                 ó<   — g | ]\  }}|€t           j         n|dz
  ‘ŒS )NrÄ  r[  r\  s      r   r]  zCTestLinprogHiGHSSimplexDual.test_lad_regression.<locals>.<listcomp>	  s<   € ð !5ð !5ð !5Ù%+ R¨ð -/¨J¥"¤&  ¸BÀ¹Ið !5ð !5ð !5r   )r•   r	   r©   rµ   r   r   r   r0   r9   Úallrœ   )r¬   rR   rk   rl   r”   r   s         r   Útest_lad_regressionz/TestLinprogHiGHSSimplexDual.test_lad_regression	  s  € õ 1Ñ2Ô2Ñˆˆ4��tÝ�a˜d¨°dØ!œ[°$´,ð@ñ @ô @ˆå�S”Z Ñ#Ô#Ð#Ý�”˜TÐ!Ñ"Ô"Ð"Ý•”�s”y 5Ò(Ñ)Ô)Ñ*Ô*Ð*Ý•”�s”uð !5ð !5Ø/3ð!5ñ !5ô !5ò 5ñ 6ô 6ñ 	7ô 	7ð 	7å•”�s”uð !5ð !5Ø/3ð!5ñ !5ô !5ò 5ñ 6ô 6ñ 	7ô 	7ð 	7ð 	7ð 	7r   N)re  rf  rg  r©   rµ   r`  r~   r   r   rX  rX  		  s-   € € € € € Ø€FØ€Gð7ð 7ð 7ð 7ð 7r   rX  c                   ó   — e Zd ZdZi ZdS )ÚTestLinprogHiGHSIPMr‰  N)re  rf  rg  r©   rµ   r~   r   r   rb  rb  %	  s   € € € € € Ø€FØ€G€G€Gr   rb  c                   óR  — e Zd ZdZi Zej                             d¦  «        ej                             e	j
        dk     o ej        ¦   «         dk    dd¬¦  «        d„ ¦   «         ¦   «         Zd	„ Zd
„ Zd„ Zd„ Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zd„ Zd„ ZdS )ÚTestLinprogHiGHSMIPr¼   rb   l        ÚLinuxFzgh-16347)rñ  Úrunr]  c           	      óÄ  — d}t          |¦  «        \  }}}}}dgt          |¦  «        z  }dgt          |¦  «        z  }t          |dz  |||| j        |¬¦  «        }	|                     ¦   «         |	j        z                       |dz  ||¦  «        }
t          j        |
d¬¦  «        }t          j	         
                    |                     d¬¦  «        |¦  «         t          j	         
                    |                     d¬¦  «        |¦  «         t          j	         
                    t          j        |¦  «                             ¦   «         |¦  «         t          j	         
                    t          j        |d d …d d d…f         ¦  «                             ¦   «         |¦  «         t          j	         
                    |	j        t          j        |	j        ¦  «        d	¬
¦  «         d S )Nr%   rÆ   r   r   ©rR   rm   rn   rq   r©   rÉ   r   rU  r6   r¤  r  )rS   rÏ   r	   r©   rB   r0   r=   r9   rn  r  r   ÚdiagÚround)r¬   rG   rP   rQ   rR   rJ   rI   rq   rÉ   r   ÚsÚsquares               r   Ú	test_mip1zTestLinprogHiGHSMIP.test_mip13	  s•  € ð ˆÝ*¨1™oœoÑˆˆ1ˆa�˜!Ø��C ™FœFÑ"ˆØ�c�C ™FœF‘lˆå˜˜!™ !¨!°FØ!œ[°kðCñ Cô Cˆð �_Š_ÑÔ ¤Ñ&×/Ò/°°1±°a¸Ñ;Ô;ˆÝ”˜ Ð"Ñ"Ô"ˆÝ
Œ
×"Ò" 6§:¢:°1 :Ñ#5Ô#5°qÑ9Ô9Ð9Ý
Œ
×"Ò" 6§:¢:°1 :Ñ#5Ô#5°qÑ9Ô9Ð9Ý
Œ
×"Ò"¥2¤7¨6¡?¤?×#6Ò#6Ñ#8Ô#8¸!Ñ<Ô<Ð<Ý
Œ
×"Ò"¥2¤7¨6°!°!°!°T°T°r°T°'¬?Ñ#;Ô#;×#?Ò#?Ñ#AÔ#AÀ1ÑEÔEÐEå
Œ
×"Ò" 3¤5­"¬(°3´5©/¬/ÀÐ"ÑFÔFÐFÐFÐFr   c                 óê  — t          j        ddgddgg¦  «        }t          j        ddg¦  «        }t          j        ddg¦  «         }t          j        dt           j        fgt          |¦  «        z  ¦  «        }t          j        |¦  «        }t          ||||| j        |¬	¦  «        }t           j                             |j	        ddg¦  «         t           j                             |j
        d
¦  «         d S )Nr   r¥   r|   rb   r6   r°  r   r   r  ry   )r9   rC   rf   rÏ   Ú	ones_liker	   r©   r  r   r0   r/   r  s          r   Ú	test_mip2zTestLinprogHiGHSMIP.test_mip2M	  sÞ   € õ Œx˜!˜R˜ 2 r (Ð+Ñ,Ô,ˆÝŒx˜˜R˜Ñ!Ô!ˆÝŒX�q˜!�fÑÔÐˆå”˜A�rœv˜;˜-­#¨a©&¬&Ñ0Ñ1Ô1ˆÝ”l 1‘o”oˆå˜ ¨4¸Ø!œ[°kðCñ Cô Cˆõ 	Œ
×"Ò" 3¤5¨1¨a¨&Ñ1Ô1Ð1Ý
Œ
×"Ò" 3¤7¨BÑ/Ô/Ð/Ð/Ð/r   c                 óô  — t          j        ddgddgddgg¦  «        }t          j        g d¢¦  «        }t          j        ddg¦  «         }dt           j        fgt          |¦  «        z  }dgt          |¦  «        z  }t	          ||||| j        |¬¦  «        }t           j                             |j        d¦  «         t          j	        |j
        ddg¦  «        st          j	        |j
        ddg¦  «        sJ ‚d S d S )	Nr6   r   r!   r   r  r   r  r¥   )r9   rC   rf   rÏ   r	   r©   r  r   r/   r¨  r0   r  s          r   Ú	test_mip3zTestLinprogHiGHSMIP.test_mip3`	  sû   € õ Œx˜"˜a˜ 1 a &¨1¨a¨&Ð1Ñ2Ô2ˆÝŒx˜˜˜Ñ$Ô$ˆÝŒX�q˜!�fÑÔÐˆà•b”f�+�¥ Q¡¤Ñ'ˆØ�c�C ™FœF‘lˆå˜ ¨4¸Ø!œ[°kðCñ Cô Cˆõ 	Œ
×"Ò" 3¤7¨BÑ/Ô/Ð/åŒ{˜3œ5 1 a &Ñ)Ô)ÐG­R¬[¸¼ÀÀAÀÑ-GÔ-GÐGÐGÐGÐGÐGÐGÐGr   c                 óª  — t          j        ddgddgddgg¦  «        }t          j        g d¢¦  «        }t          j        ddg¦  «        }dt           j        fgt          |¦  «        z  }ddg}t	          ||||| j        |¬	¦  «        }t           j                             |j        d
dg¦  «         t           j                             |j	        d¦  «         d S )Nr6   r¥   r}   r   r   )r{  ißÿÿÿrc   rt   r   r  g      @r{   é;   )
r9   rC   rf   rÏ   r	   r©   r  r   r0   r/   r  s          r   Ú	test_mip4zTestLinprogHiGHSMIP.test_mip4q	  sÓ   € õ Œx˜"˜b˜ B¨ 8¨a°¨VÐ4Ñ5Ô5ˆÝŒx˜˜˜Ñ&Ô&ˆÝŒH�a˜�VÑÔˆà•b”f�+�¥ Q¡¤Ñ'ˆØ˜!�fˆå˜ ¨4¸Ø!œ[°kðCñ Cô Cˆõ 	Œ
×"Ò" 3¤5¨3°¨(Ñ3Ô3Ð3Ý
Œ
×"Ò" 3¤7¨BÑ/Ô/Ð/Ð/Ð/r   c           
      ó„  — t          j        g d¢g¦  «        }t          j        dg¦  «        }t          j        g d¢g¦  «        }t          j        dg¦  «        }t          j        g d¢¦  «        }dt           j        fdt           j        fdg}g d¢}t          ||||||| j        |¬	¦  «        }t           j                             |j        g d
¢¦  «         t           j                             |j        d¦  «         | 	                    dd ¦  «        €J ‚| 	                    dd ¦  «        €J ‚| 	                    dd ¦  «        €J ‚d S )NrŽ  r{   )r%   r   r   r  )ry   r¥   r6   r   rÆ   r?  )rR   rk   rl   rm   rn   rq   r©   rÉ   )r   rw   r   iôÿÿÿÚmip_node_countÚmip_dual_boundÚmip_gap)
r9   rC   rf   r	   r©   r  r   r0   r/   rD  )	r¬   rk   rl   rm   rn   rR   rq   rÉ   r   s	            r   Ú	test_mip5zTestLinprogHiGHSMIP.test_mip5�	  s:  € õ Œx˜˜˜˜Ñ$Ô$ˆÝŒx˜˜‰}Œ}ˆÝŒx˜˜˜˜Ñ$Ô$ˆÝŒx˜˜‰~Œ~ˆÝŒH�\�\�\Ñ"Ô"ˆà•b”f�+ ¥2¤6˜{¨FÐ3ˆØ�i�iˆå˜ ¨4°dÀØ#¨D¬KØ"-ð/ñ /ô /ˆõ 	Œ
×"Ò" 3¤5¨)¨)¨)Ñ4Ô4Ð4Ý
Œ
×"Ò" 3¤7¨CÑ0Ô0Ð0ð �wŠwÐ'¨Ñ.Ô.Ð:Ð:Ð:Ø�wŠwÐ'¨Ñ.Ô.Ð:Ð:Ð:Ø�wŠw�y $Ñ'Ô'Ð3Ð3Ð3Ð3Ð3r   c                 óL  — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }dt           j        fgdz  }d	gdz  }t          ||||| j        |¬
¦  «        }t           j                             |j        d¦  «         d S )N©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·  ©iÀ  iâ(  i:,  i/  ©r   rb   r°  r±  r{   r!  r{   r!   r   rt   r   rh  i>  )r9   rC   rf   r	   r©   r  r   r/   )r¬   rm   rn   rR   rq   rÉ   r   s          r   Ú	test_mip6zTestLinprogHiGHSMIP.test_mip6™	  sÐ   € õ ŒxÐ8Ð8Ð8Ø9Ð9Ð9Ø9Ð9Ð9Ø9Ð9Ð9ð;ñ <ô <ˆõ ŒxÐ3Ð3Ð3Ñ4Ô4ˆÝŒHÐ0Ð0Ð0Ñ1Ô1ˆà•b”f�+�˜q‘ˆØ�c˜!‘eˆå˜ ¨4¸Ø!œ[°kðCñ Cô Cˆõ 	Œ
×"Ò" 3¤7¨DÑ1Ô1Ð1Ð1Ð1r   c                 ó4  — t          j        g d¢g d¢g d¢g d¢g¦  «        }t          j        g d¢¦  «        }t          j        g d¢¦  «        }dt           j        fgdz  }d	gdz  }g d
¢}g }|D ]P}t          |t          t
          |||| j        |d|i¬¦	  «	        }	|	d         }
|
|k    sJ ‚|                     |
¦  «         ŒQt          j        t          j	        |¦  «        ¦  «        }t          j
        |dk    ¦  «        sJ ‚t          j
        |dk    ¦  «        rJ ‚d S )Nr|  r}  r  r�  rƒ  r„  r   rt   r   )re   g      Ð?g{®Gáz„?r­  Úmip_rel_gap)	rR   rk   rl   rm   rn   rq   r©   rÉ   rµ   ry  )r9   rC   rf   r	   rk   rl   r©   rA   ÚdiffÚflipr_  )r¬   rm   rn   rR   rq   rÉ   Úmip_rel_gapsÚsol_mip_gapsr‡  r   Úfinal_mip_gapÚ	gap_diffss               r   Útest_mip_rel_gap_passdownz-TestLinprogHiGHSMIP.test_mip_rel_gap_passdown¬	  sd  € õ
 ŒxÐ8Ð8Ð8Ø9Ð9Ð9Ø9Ð9Ð9Ø9Ð9Ð9ð;ñ <ô <ˆõ ŒxÐ3Ð3Ð3Ñ4Ô4ˆÝŒHÐ0Ð0Ð0Ñ1Ô1ˆà•b”f�+�˜q‘ˆØ�c˜!‘eˆà/Ð/Ð/ˆØˆØ'ð 		/ð 		/ˆKÝ˜A¥D­t¸$ÀTØ!'°´Ø&1Ø#0°+Ð">ð@ñ @ô @ˆCð   	œNˆMð ! KÒ/Ð/Ð/Ð/Ø×Ò Ñ.Ô.Ð.Ð.õ ”G�BœG LÑ1Ô1Ñ2Ô2ˆ	ÝŒv�i 1’nÑ%Ô%Ð%Ð%Ð%Ý”6˜) qš.Ñ)Ô)Ð)Ð)Ð)Ð)Ð)r   c                 ó,  — t          j        g d¢¦  «        }t          j        ddgddgddgddgg¦  «        }t          j        g d¢¦  «        }t          |||d¬¦  «        }t           j                             |j        g d¢¦  «         |j        dk    sJ ‚d S )	N)rð   rð   r6   r6   re   r:  )r   r!   r   r!   r¼   )rq   rÉ   r©   )r   r   r:  r   r   )r9   rC   r	   r  r   r0   r   )r¬   rR   rq   rÉ   r   s        r   Útest_semi_continuousz(TestLinprogHiGHSMIP.test_semi_continuousÒ	  s¥   € õ
 ŒHÐ%Ð%Ð%Ñ&Ô&ˆÝ”˜C ˜:¨¨S z°C¸°:ÀÀS¸zÐJÑKÔKˆÝ”h˜|˜|˜|Ñ,Ô,ˆå�a Ø"-°gð?ñ ?ô ?ˆõ 	Œ
×"Ò" 3¤5¨.¨.¨.Ñ9Ô9Ð9ØŒz˜QŠˆˆˆˆˆr   c           	      ó$  — ddg}ddgg}dg}t          |||ddg¬¦  «        }t          |||t          j        ddg¦  «        ¬¦  «        }t          |||d¬¦  «        }t          |j        |j        ¦  «         t          |j        |j        ¦  «         dS )z¡
        Test that when integrality is a list of all zeros, linprog gives the
        same result as when it is an array of all zeros / integrality=None
        r   r6   r   rÓ   rÔ   N)r	   r9   r¾  r   r0   )r¬   rR   rk   rl   r@  rA  rR  s          r   Útest_bug_20584z"TestLinprogHiGHSMIP.test_bug_20584á	  s¡   € ð
 �ˆFˆØ�Q�ˆyˆØˆvˆÝ�q˜t¨$¸QÀ¸FÐCÑCÔCˆÝ�q˜t¨$½B¼JÈÈ1ÀvÑ<NÔ<NÐOÑOÔOˆÝ�q˜t¨$¸DÐAÑAÔAˆÝ�T”V˜TœVÑ$Ô$Ð$Ý�T”V˜TœVÑ$Ô$Ð$Ð$Ð$r   N)re  rf  rg  r©   rµ   r¸   ri  rÓ  rŠ  rk  Úmaxsizerl  Úsystemrm  rp  rr  ru  rz  Úxslowr…  rŽ  r�  r’  r~   r   r   rd  rd  /	  s5  € € € € € Ø€FØ€Gà„[×Ò˜2ÑÔØ„[×Ò #¤+°Ò"7ð #4Ø&�x”Ñ(Ô(¨GÒ3Ø Ø(ð ñ *ô *ðGð Gñ	*ô *ñ Ôð
Gð*0ð 0ð 0ð&Hð Hð Hð"0ð 0ð 0ð 4ð 4ð 4ð0 „[Ôð2ð 2ñ Ôð2ð$ „[Ôð#*ð #*ñ Ôð#*ðJð ð ð%ð %ð %ð %ð %r   rd  c                   ó@   — e Zd ZddiZej        Zej        Zej        ZdS )ÚAutoscaleTestsra  TN)re  rf  rg  rµ   r×   r  r"  r,  r~   r   r   r—  r—  õ	  s0   € € € € € à˜DÐ!€Gà&Ô4€MØ&Ô4€MØ&Ô4€M€M€Mr   r—  c                   ó   — e Zd ZdZd„ ZdS )ÚTestAutoscaleIPrÀ   c                 óJ   — d| j         d<   t                               | ¦  «        S )Nr3  r2  )rµ   r—  r  rÚ   s    r   r  zTestAutoscaleIP.test_bug_6139
  s"   € Ø#ˆŒ�UÑÝ×+Ò+¨DÑ1Ô1Ð1r   N)re  rf  rg  r©   r  r~   r   r   r™  r™  þ	  s(   € € € € € Ø€Fð2ð 2ð 2ð 2ð 2r   r™  c                   ó   — e Zd ZdZdS )ÚTestAutoscaleSimplexrÂ   Nro  r~   r   r   rœ  rœ  
  s   € € € € € Ø€F€F€Fr   rœ  c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestAutoscaleRSrÁ   c                 óÎ   — t          ¦   «         \  }}}}}}}t          |||||t          | j        | j        |¬¦	  «	        }t          |||¬¦  «         t          |j        d¦  «         d S r:  r=  rÑ  s	            r   r>  z2TestAutoscaleRS.test_nontrivial_problem_with_guess
  r?  r   c                 ó²   — t          ¦   «         \  }}}}}}}g d¢}t          |||||t          | j        | j        |¬¦	  «	        }	t          |	j        d¦  «         d S rK  rL  rM  s
             r   rO  z6TestAutoscaleRS.test_nontrivial_problem_with_bad_guess
  rP  r   N)re  rf  rg  r©   r>  rO  r~   r   r   rž  rž  

  s7   € € € € € Ø€Fð!ð !ð !ð$ð $ð $ð $ð $r   rž  c                   ó\   — e Zd ZdZeZej        Zej        Zej	        Z	ej
        Zej        ZdS )ÚRRTestsrÀ   N)re  rf  rg  r©   r×   ÚLCTrÏ  Útest_RR_infeasibilityrZ  r'  rå  Ú	test_NFLCrî  r~   r   r   r¢  r¢  !
  sD   € € € € € à€FØ
€CàÔDÐØÔ'€NØÔ%€MØÔ6€IØÔ1ÐÐÐr   r¢  c                   ó   — e Zd ZddiZdS )Ú	TestRRSVDr³   ÚSVDNr  r~   r   r   r§  r§  -
  s   € € € € € Ø˜EÐ"€G€G€Gr   r§  c                   ó   — e Zd ZddiZdS )ÚTestRRPivotr³   rV  Nr  r~   r   r   rª  rª  1
  s   € € € € € Ø˜GÐ$€G€G€Gr   rª  c                   ó   — e Zd ZddiZdS )ÚTestRRIDr³   ÚIDNr  r~   r   r   r¬  r¬  5
  s   € € € € € Ø˜DÐ!€G€G€Gr   r¬  )NNr'   r'   rÙ   )r   )r   rt   rx   r‚   )Vrh  rk  rl  r%  Únumpyr9   Únumpy.exceptionsr   Únumpy.testingr   r   r   r   r¸   r   r¶   Úscipy.optimizer	   r
   Úscipy.optimize._numdiffr   Úscipy.sparse.linalgr   Úscipy.linalgr   Úscipy.sparserŠ   rä  Úscikits.umfpackr   ÚImportErrorr,  ÚsksparseÚsksparse.cholmodr   Úcholmodr   r   r"   r&   r4   rS   r`   rr   r�   r•   r­   rº   r¾   rÄ   rÑ   rÕ   rk   rl   rm   rn   rq   r×   ri  r'  rn  rq  rv  r}  rÕ  ré  rî  r   r  r  r  r%  r*  r7  rU  rX  rb  rd  r—  r™  rœ  rž  r¢  r§  rª  r¬  r~   r   r   ú<module>r»     sD  ððð ð €
€
€
Ø €€€Ø €€€à Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð.ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .à *Ð *Ð *Ð *Ð *Ð *Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ø €€€à€ðØ.Ð.Ð.Ð.Ð.Ð.Ð.øØð ð ð Ø€K€K€Kðøøøð €ðØ€O€O€OØ4Ð4Ð4Ð4Ð4Ð4Ð4øØð ð ð Ø€K€K€KðøøøðLð Lð LðFð Fð FðEð Eð EðKð Kð Kð 6:Ø$(ð.ð .ð .ð .ð(?ð ?ð ?ð ?ðDð ð ð6-ð -ð -ð -ð 5ð 5ð 5ð ð  ð  ð  ðF4ð 4ð 4ð>9ð 9ð 9ð>ð >ð >ð%ð %ð %ð*#ð *#ð *#ðZEð Eð Eð €Ø€Ø€Ø€Ø	€ðZ.ð Z.ð Z.ð Z.ð Z.ñ Z.ô Z.ð Z.ðD+ „×ÒÐ8Ñ9Ô9ðð ð ð ð Ð,ñ ô ñ :Ô9ðð „×ÒÐ8Ñ9Ô9ðBð Bð Bð Bð BÐ'ñ Bô Bñ :Ô9ðBð „×ÒÐ8Ñ9Ô9ð8ð 8ð 8ð 8ð 8Ð'ñ 8ô 8ñ :Ô9ð8ð:s$ð s$ð s$ð s$ð s$Ð*ñ s$ô s$ð s$ðv$ð $ð $ð $ð $Ð 3ñ $ô $ð $ð*(ð (ð (ð (ð (Ð1ñ (ô (ð (ð"%;ð %;ð %;ð %;ð %;Ð#6ñ %;ô %;ð %;ðZ	 ð 	 ð 	 ð 	 ð 	 ˜ñ 	 ô 	 ð 	 ð ð 5ð5ð 5ð 5ð 5ð 5 ^ñ 5ô 5ð 5ð ð NðNð Nð Nð Nð N ^ñ Nô Nð Nð9>ð 9>ð 9>ð 9>ð 9>˜.ñ 9>ô 9>ð 9>ðx ð  ð  ð  ð   .ñ  ô  ð  ð, „×ÒÐ8Ñ9Ô9ðCAð CAð CAð CAð CAñ CAô CAñ :Ô9ðCAðV?$ð ?$ð ?$ð ?$ð ?$˜.ñ ?$ô ?$ð ?$ðD!ð !ð !ð !ð !˜ñ !ô !ð !ð7ð 7ð 7ð 7ð 7Ð"3ñ 7ô 7ð 7ð8ð ð ð ð Ð+ñ ô ð ð~%ð ~%ð ~%ð ~%ð ~%ñ ~%ô ~%ð ~%ðL „×ÒÐ8Ñ9Ô9ð5ð 5ð 5ð 5ð 5ñ 5ô 5ñ :Ô9ð5ð2ð 2ð 2ð 2ð 2�nñ 2ô 2ð 2ðð ð ð ð ˜>ñ ô ð ð$ð $ð $ð $ð $�nñ $ô $ð $ð. „×ÒÐ8Ñ9Ô9ð2ð 2ð 2ð 2ð 2ñ 2ô 2ñ :Ô9ð2ð#ð #ð #ð #ð #�ñ #ô #ð #ð%ð %ð %ð %ð %�'ñ %ô %ð %ð"ð "ð "ð "ð "ˆwñ "ô "ð "ð "ð "s$   ÁA ÁA!Á A!Á'
A2 Á2A<Á;A<