Ë
    âQ(h‘ ã                   óš  — d Z ddlZddlZddlZddlmZmZmZm	Z	m
Z
mZ ddlmZ 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mZ ddlZddlZd
Z	 ddlmZ d
Z 	 ddl!Z!ddl"m#Z$ d„ Z%d„ Z&d„ Z'd„ Z(	 	 dUd„Z)d„ Z*d„ Z+dVd„Z,d„ Z-dWd„Z.d„ Z/ej`                  jb                  d„ «       Z2d„ Z3ej`                  jb                  d„ «       Z4d„ Z5d„ Z6dZ7dZ8dZ9dZ:dZ; G d„ d«      Z<ej`                  j{                  d «       G d!„ d"e<«      «       Z>ej`                  j{                  d «       G d#„ d$e<«      «       Z?ej`                  j{                  d «       G d%„ d&e<«      «       Z@ G d'„ d(e<«      ZA G d)„ d*e>«      ZB G d+„ d,e>«      ZC G d-„ d.e>«      ZD G d/„ d0e?«      ZEe r G d1„ d2e?«      ZFer G d3„ d4e?«      ZG G d5„ d6e?«      ZH G d7„ d8e?«      ZIej`                  j{                  d «       G d9„ d:«      «       ZJ G d;„ d<e@«      ZK G d=„ d>e@«      ZL G d?„ d@eA«      ZM G dA„ dBeA«      ZN G dC„ dD«      ZOej`                  j{                  d «       G dE„ dF«      «       ZP G dG„ dHeP«      ZQ G dI„ dJeP«      ZR G dK„ dLeP«      ZSej`                  j{                  d «       G dM„ dN«      «       ZT G dO„ dPeT«      ZU G dQ„ dReT«      ZV G dS„ dTeT«      ZWy# e$ r dZY �Œew xY w# e$ r dZ Y �Œfw xY w)Xz"
Unit test for Linear Programming
é    N)Úassert_Úassert_allcloseÚassert_equalÚassert_array_lessÚassert_warnsÚsuppress_warnings)Úraises)ÚlinprogÚOptimizeWarning)Úapprox_derivative)ÚMatrixRankWarning)ÚLinAlgWarning)ÚVisibleDeprecationWarningT)ÚUmfpackWarningF)Úcholeskyc                 ó’   — t        | j                   d«       t        | j                  |k  d«       t        | j                  dd«       y )NúIncorrectly reported successz)Incorrectly reported number of iterationsé   z(Failed to report iteration limit reached©r   Úsuccessr   Ústatus)ÚresÚmaxiters     ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/optimize/tests/test_linprog.pyÚ_assert_iteration_limit_reachedr   !   s8   € Ü�—‘ˆOÐ;Ô<ÜˆC�K‰K˜'Ñ!Ð#NÔOÜ�—‘˜QÐ JÕKó    c                 ó`   — t        | j                   d«       t        | j                  dd«       y )Núincorrectly reported successé   z"failed to report infeasible statusr   ©r   s    r   Ú_assert_infeasibler!   '   s$   € ä�—‘ˆOÐ;Ô<Ü�—‘˜QÐ DÕEr   c                 ó`   — t        | j                   d«       t        | j                  dd«       y )Nr   é   z!failed to report unbounded statusr   r    s    r   Ú_assert_unboundedr$   -   s$   € ä�—‘ˆOÐ;Ô<Ü�—‘˜QÐ CÕDr   c                 ób   — t        | j                   d«       t        | j                  dv d«       y )Nr   ©r   é   z%failed to report optimization failure)r   r   r   r    s    r   Ú)_assert_unable_to_find_basic_feasible_solr(   3   s)   € ô �—‘ˆOÐ;Ô<ÜˆC�J‰J˜&Ð Ð"IÕJr   c                 ó  — | j                   s'd| j                  › d| j                  › �}t        |«      ‚t	        | j                  d«       |�t        | j                  |d||¬«       |�t        | j                  |d||¬«       y y )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_successr5   =   s�   € ð
 �;Š;Ø §
¡
˜|¨;°s·{±{°mÐDˆÜ˜SÓ!Ð!ä�—‘˜QÔØÐÜ˜Ÿ™ Ø LØ!¨õ	.ð ÐÜ˜Ÿ™˜yØ EØ!¨ö	.ð r   c           	      óþ  — t         j                  j                  d«      }| | dz  dz   z  dz  }t        j                  | dz  «      | dz  z  dz   }|j	                  | dz  | | «      }t        j
                  | dz  | | f«      }g }g }t        | dz  «      D ]N  }|j                  «       }d||dd…dd…f<   |j                  |j                  «       «       |j                  d«       ŒP t        | «      D ]\  }t        | «      D ]L  }	|j                  «       }d|dd…||	f<   |j                  |j                  «       «       |j                  d«       ŒN Œ^ t        | «      D ]X  }|j                  «       }|dd…|dd…f   |dd…|dd…f<   |j                  |j                  «       «       |j                  |«       ŒZ t        | «      D ]X  }|j                  «       }|dd…dd…|f   |dd…dd…|f<   |j                  |j                  «       «       |j                  |«       ŒZ |j                  «       }|dd…t        | «      t        | «      f   |dd…t        | «      t        | «      f<   |j                  |j                  «       «       |j                  |«       |j                  «       }|dd…t        | «      t        d|  dz
  d«      f   |dd…t        | «      t        d|  dz
  d«      f<   |j                  |j                  «       «       |j                  |«       t        j                  t        j                  |«      t        ¬«      }
t        j                  |t        ¬«      }|j                  |
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.
    r   r   r   r'   Néÿÿÿÿ©Údtype)ÚnpÚrandomÚRandomStateÚarangeÚreshapeÚzerosÚrangeÚcopyÚappendÚflattenÚarrayÚvstackÚfloatÚrandÚshape)ÚnÚrngÚMÚnumbersr?   ÚA_listÚb_listÚiÚA_rowÚjÚAÚbÚcs                r   Úmagic_squarerU   Q   sý  € ô �)‰)×
Ñ
 Ó
"€CØ	ˆQ�‰T�A‰X‰˜Ñ€Aä�i‰i˜˜1™‹o  A¡Ñ%¨Ñ)€Gà�o‰o˜a ™d A qÓ)€Gä�H‰H�a˜‘d˜A˜q�\Ó"€Eà€FØ€Fô �1�a‘4‹[ò ˆØ—
‘
“ˆØˆˆa’’Aˆg‰Ø�‰�e—m‘m“oÔ&Ø�‰�aÕð	ô �1‹Xò ˆÜ�q“ò 	ˆAØ—J‘J“LˆEØˆE’!�Q˜�'‰NØ�M‰M˜%Ÿ-™-›/Ô*Ø�M‰M˜!Õñ		ðô �1‹Xò ˆØ—
‘
“ˆØ ¢ A¢q Ñ)ˆŠa�’Aˆg‰Ø�‰�e—m‘m“oÔ&Ø�‰�aÕð	ô �1‹Xò ˆØ—
‘
“ˆØ ¢¢A q Ñ)ˆŠa’�Aˆg‰Ø�‰�e—m‘m“oÔ&Ø�‰�aÕð	ð �J‰J‹L€EØ#*ª1¬e°A«h¼¸a»Ð+@Ñ#A€EŠ!ŒU�1‹X”u˜Q“xÐ
Ñ Ø
‡M�M�%—-‘-“/Ô"Ø
‡M�M�!ÔØ�J‰J‹L€Eà’”5˜“8œU 2¨ r¨A¡v¨rÓ2Ð2Ñ3ð 
Š!ŒU�1‹X”u˜R !  a¡¨Ó,Ð
,Ñ-à
‡M�M�%—-‘-“/Ô"Ø
‡M�M�!Ôä
�‰”—‘˜6Ó"¬%Ô0€AÜ
�‰�œuÔ%€AØ�‰�—‘˜‘Ó€Aàˆa��G˜QÐÐr   c                 óH  — t         j                  j                  d«      }|j                  | |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«      }|
||j                  «       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
    r   ©Úsizer   N)	r:   r;   r<   Úexponentialr?   r@   rE   ÚhstackÚravel)ÚmrI   rJ   rT   ÚArowÚbrowrQ   Új1ÚAcolÚbcolrR   rS   s               r   Úlpgen_2drb   “   s*  € ô
 �)‰)×
Ñ
 Ó
"€CØ
�/‰/  1˜vˆ/Ó
&Ð&€AÜ�8‰8�Q˜˜A™�JÓ€DÜ�8‰8�A‹;€DÜ�1‹Xò ˆØ�‰UˆØ !ˆˆQ��A‘�b˜1‘f�ˆ_ÑØ�a‘%ˆˆQŠðô
 �8‰8�Q˜˜A™�JÓ€DÜ�8‰8�A‹;€DÜ�1‹Xò ˆØ�‰UˆØˆˆQ���1�ˆW‰ØˆˆQŠðô
 	�	‰	�4˜�,Ó€AÜ
�	‰	�4˜�,Ó€Aàˆa�—‘“ˆ?Ðr   c                 óD  — t         j                  j                  | «      }d\  }}}|j                  |«      dz
  }|j                  ||«      dz
  }|j                  |«      dz
  }|j                  ||«      dz
  }|j                  |«      dz
  }	|j                  |«       }
|j                  |«      }t         j                   |
|
|j                  «        k  <   t         j                  |||j                  «       kD  <   t        j
                  |
|f«      j                  }|||||	|fS )N)é
   é   é2   ç      à?)r:   r;   r<   rG   ÚinfrE   ÚT)ÚseedrJ   Úm_eqÚm_ubrI   rT   ÚA_ubÚb_ubÚA_eqÚb_eqÚlbÚubÚboundss                r   Úvery_random_genrt   ®   sü   € Ü
�)‰)×
Ñ
 Ó
%€CØ�M€Dˆ$�Ø�‰�‹�C‰€AØ�8‰8�D˜!Ó˜SÑ €DØ�8‰8�D‹>˜#Ñ€DØ�8‰8�D˜!Ó˜SÑ €DØ�8‰8�D‹>˜#Ñ€DØ
�(‰(�1‹+ˆ€BØ	�‰�!‹€BÜŸF™F˜7€B€rˆS�X‰X‹ZˆKÑÑÜŸ&™&€B€rˆC�H‰H‹J�ÑÜ�Y‰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)r7   é   r'   éúÿÿÿ)éùÿÿÿrx   é   é	   )r   r7   éýÿÿÿr   )rd   éöÿÿÿrx   é   )ry   r7   r#   r'   )r{   ry   rw   ry   )r|   r   r   éøÿÿÿéüÿÿÿ)gkæ¤€‹–²?gòsÚÑð?r   güØkª¾Lá?gŽqY†:^@© )rT   rm   rn   ro   rp   Úx_starÚf_stars          r   Únontrivial_problemrƒ   ¾   sO   € Ú€AÚÚÚÚð€Dò €DÚÐ€DØˆ4€DÚ5€FØ€FØˆd�D˜$  f¨fÐ4Ð4r   c                 óÈ  — t         j                  j                  | «      }|j                  dd||f¬«      }|j	                  |«      }|j                  dd||f¬«      }|||z  z  |j                  dd|¬«      z   }t        j
                  ||z   «      }	d|	d| t        j                  j                  d|z  ||z   f«      }
d}t        |«      D ]J  }||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  }ŒL |
j                  «       }
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
    r   r   rW   çñhãˆµøä>Nr   r7   ©NN©r   N)r:   r;   r<   ÚnormalÚrandnÚonesÚscipyÚsparseÚ
lil_matrixr@   Útocscr?   )rj   r\   ÚdrI   rJ   ÚphiÚw_truer1   ÚyrT   rm   ÚidxÚiirn   Úbndss                  r   Úl1_regression_probr–   Ì   s¤  € ô �)‰)×
Ñ
 Ó
%€CØ
�*‰*�Q˜  A ˆ*Ó
'€CØ�Y‰Y�q‹\€FØ�
‰
�1�a˜q !˜fˆ
Ó%€AØ�#˜‘'Ñ˜SŸZ™Z¨¨4°a˜ZÓ8Ñ8€Aô 	�‰��!‘‹€AØ€A€b€q€EÜ�<‰<×"Ñ" A a¡C¨¨1© :Ó.€DØ
€CÜ�A‹hò ˆØ˜a¢ 2 ™h™ˆˆS�"�1�"ˆW‰ØˆˆS�!�B‘$ˆY‰Ø˜S™& 1¢Q¨ U¡8Ñ+ˆˆS�‰U�B�Q�BˆY‰ØˆˆS�‰U�A�b‘Dˆ[ÑØˆq‰‰ðð �:‰:‹<€DÜ�8‰8�A�a‘C‹=€DØ€DˆˆˆAˆ�JØ�€DˆˆˆAˆ�JØˆ>˜!Ñ˜y˜k¨!™mÑ+€DØˆd�D˜$ÐÐr   c                 óD  ‡— 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   «       y )Nc                 óÀ  •— | j                  d«      }| j                  d«      }t        | j                  d«      dv «       t        | j                  d«      t        d«      v «       t        t        | j                  d«      t        «      «       t        t        |t
        «      «       t        t        |t        «      «       | d   ‰d<   | d	   ‰d	<   | d
   ‰d
<   | d   ‰d<   y )Nr.   ÚcompleteÚphase©r   r   r   r'   Únitr1   r0   Ú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Ð-Ô.Ü”
˜3Ÿ7™7 5›>¬3Ó/Ô0Ü”
˜8¤TÓ*Ô+Ü”
˜7¤CÓ(Ô)à˜3‘xˆ�‰Ø˜U™ˆ�‰Ø˜w™<ˆ�ÑØ˜U™ˆ�Šr   r{   éþÿÿÿr   r   r   ©rd   rv   r'   ©rm   rn   ÚcallbackÚmethodç      2Àry   ©r2   r3   r0   r1   rž   r�   )r:   rD   r
   rª   r5   r   )Úselfr¥   rT   rm   rn   r   r¤   s         @r   Úgeneric_callback_testr®   ï   s­   ø€ à€Gô$ô 	�‰�"�b�Ó€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DÚ€DÜ
�!˜$ T°B¸t¿{¹{Ô
K€Cä�C U°q¸!°fÕ=Ü�G˜E‘N C¨¡JÔ/Ü�G˜C‘L # c¡(Ô+Ü�G˜E‘N C¨¡JÔ/Ü�G˜GÑ$ c¨'¡lÕ3r   c                  ó:  — 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 «       y # 1 sw Y   y xY w)Nr{   r¦   r   r   r   r§   úekki-ekki-ekki©rm   rn   rª   z
highs-ekkiz>Unrecognized options detected: {'rr_method': 'ekki-ekki-ekki'}©ÚmatchÚ	rr_method©rm   rn   Úoptions)r:   rD   Úassert_raisesÚ
ValueErrorr
   ÚpytestÚwarnsr   )rT   rm   rn   r.   s       r   Ú test_unknown_solvers_and_optionsr»     s�   € ä
�‰�"�b�Ó€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DÚ€Dä”*œgØ˜$ TÐ2BõDä”*œgØ˜$ T°,õ@àN€GÜ	�‰”o¨WÔ	5ñ 9Ü�˜ 4Ø$Ð&6Ð7õ	9÷9÷ 9ñ 9ús   Á6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¬«       y )Nr{   r¦   r   r   r   r§   Úhighs©rª   r«   ry   r¬   )r:   rD   r
   r5   )rT   rm   rn   r   s       r   Útest_choose_solverr¿     sQ   € ä
�‰�"�b�Ó€AØ�ˆF�Q˜�F˜Q ˜FÐ#€DÚ€Dä
�!�T˜4¨Ô
0€CÜ�C U°q¸!°fÖ=r   c                  óf  — t        j                  t        «      5  t        dd¬«       d d d «       t        j                  t        «      5  t        dd¬«       d d d «       t        j                  t        «      5  t        dd¬«       d d d «       y # 1 sw Y   ŒhxY w# 1 sw Y   ŒExY w# 1 sw Y   y xY w)Nr   úinterior-pointr¾   úrevised simplexÚsimplex)r¹   rº   ÚDeprecationWarningr
   r€   r   r   Útest_deprecationrÅ   (  s�   € ä	�‰Ô(Ó	)ñ ,Ü�Ð*Õ+÷,ä	�‰Ô(Ó	)ñ -Ü�Ð+Õ,÷-ä	�‰Ô(Ó	)ñ %Ü�˜)Õ$÷%ð %÷	,ð ,ú÷-ð -ú÷%ð %ús#   šBÁ	BÁ8B'ÂBÂB$Â'B0c            	      ó”  — t        dd¬«      } d}| j                  dk(  sJ ‚| 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                  j                  |«      sJ ‚ddi}	t        ||||d|	¬«      } d}| j                  dk(  sJ ‚| j                  j                  |«      sJ ‚t        ddd¬«      } d}| j                  dk(  sJ ‚| j                  j                  |«      sJ ‚t        dd¬«      } d}| j                  dk(  sJ ‚| j                  j                  |«      sJ ‚ddlm}
  |
dd«      \  }}d}|dk(  sJ ‚|j                  |«      sJ ‚ |
d d «      \  }}d}|dk(  sJ ‚|j                  |«      sJ ‚y )Nr   r½   r¾   z6Optimization terminated successfully. (HiGHS Status 7:r   ry   ©r   r   Ú
time_limitçš™™™™™¹?)rT   ro   rp   rs   rª   r¶   Úintegralityz%Time limit reached. (HiGHS Status 13:r   rd   úhighs-ds©rT   ro   rp   rs   rª   r¶   z*Iteration limit reached. (HiGHS Status 14:)r   r7   )rs   rª   z+The problem is infeasible. (HiGHS Status 8:r   r7   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.   Ú
startswithrU   ÚlenÚscipy.optimize._linprog_highsrÍ   )r   r4   rR   rS   rT   rL   rK   rs   rÊ   r¶   rÍ   r   r.   s                r   Útest_highs_status_messagerÒ   2  sì  € Ü
�!˜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€CØ
7€CØ�:‰:˜Š?Ðˆ?Ø�;‰;×!Ñ! #Ô&Ð&Ð&ä
�"˜WÔ
%€CØ
7€CØ�:‰:˜Š?Ðˆ?Ø�;‰;×!Ñ! #Ô&Ð&Ð&åLÙ4°R¸ÓB�O€FˆGØ
G€CØ�QŠ;Ðˆ;Ø×Ñ˜cÔ"Ð"Ð"á4°T¸4Ó@�O€FˆGØ
J€CØ�QŠ;Ðˆ;Ø×Ñ˜cÔ"Ð"Ñ"r   c                  ó2   — t        ddgddggdgddg¬«       y )Nr   r7   r   ç      À©rm   rn   rÊ   )r
   r€   r   r   Útest_bug_17380rÖ   _  s    € ÜˆQ�ˆF˜2˜q˜'˜¨$¨¸aÀ¸VÖDr   c                   óÎ  — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	„ «       Zej                  j                  d
„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  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,„ Z1d-„ Z2d.„ Z3d/„ Z4d0„ Z5d1„ Z6d2„ Z7d3„ Z8d4„ Z9d5„ Z:d6„ Z;d7„ Z<d8„ Z=d9„ Z>d:„ Z?d;„ Z@d<„ ZAd=„ ZBd>„ ZCd?„ ZDd@„ ZEdA„ ZFdB„ ZGdC„ ZHdD„ ZIdE„ ZJdF„ ZKdG„ ZLdH„ ZMdI„ ZNdJ„ ZOdK„ ZPdL„ ZQdM„ ZRej                  j§                  eTjª                  dNk(  dO¬P«      dQ„ «       ZVyR)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        | «       y ©N)r®   ©r­   s    r   Útest_callbackz LinprogCommonTests.test_callback{  s
   € Ü˜dÕ#r   c                 óv   — t        dd«      \  }}}t        |||| j                  ddi¬«      }t        |d¬«       y )Nre   ÚdispT©rm   rn   rª   r¶   çT¹×é*PÀ©r2   ©rb   r
   rª   r5   ©r­   rR   rS   rT   r   s        r   Ú	test_dispzLinprogCommonTests.test_disp~  s;   € ä˜2˜rÓ"‰ˆˆ1ˆaÜ�a˜a a°·±Ø% t˜nô.ˆä˜¨Ö7r   c                 ó”   — ddg}ddgddgg}ddg}d}d}t        |||||f| j                  | j                  ¬	«      }t        |d
¬«       y )Nr7   r'   r{   r   r   ry   r†   ©r{   N)rm   rn   rs   r¶   rª   éêÿÿÿrá   )r
   r¶   rª   r5   )r­   rT   rR   rS   Ú	x0_boundsÚ	x1_boundsr   s          r   Útest_docstring_examplez)LinprogCommonTests.test_docstring_example…  s_   € à�ˆGˆØ�!ˆW�q˜!�fÐˆØ�ˆFˆØ ˆ	Øˆ	Ü�a˜a a°¸IÐ0FØ"Ÿl™l°4·;±;ô@ˆä˜¨Ö-r   c           	      ór   — dg}dgg}d}t        t        t        |||| j                  | j                  ¬«       y )Nr   Úhello©ro   rp   rª   r¶   )r·   Ú	TypeErrorr
   rª   r¶   )r­   rT   ro   rp   s       r   Útest_type_errorz"LinprogCommonTests.test_type_error�  s:   € ð ˆCˆØ�ˆuˆØˆÜ”i¤Ø˜d¨Ø!Ÿ[™[°$·,±,ö	@r   c           
      ób  — t        j                  dg«      }t        j                  dgg«      }t        j                  dg«      }|j                  «       }dt         j                  f}t	        |||t
        t        || j                  | j                  ¬«      }t        |ddg¬«       t        ||«       y )Nç      ð?ç      @ç      À©rª   r¶   r   r¬   )r:   rD   rA   rh   r
   ro   rp   rª   r¶   r5   r   )r­   rT   rm   Ú	b_ub_origrn   rs   r   s          r   Útest_aliasing_b_ubz%LinprogCommonTests.test_aliasing_b_ubš  s‰   € ô �H‰H�c�U‹OˆÜ�x‰x˜#˜˜Ó ˆÜ—H‘H˜c˜U“Oˆ	Ø�~‰~ÓˆØœŸ™�ˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸°tÕ<Ü˜	 4Õ(r   c           
      ób  — t        j                  dg«      }t        j                  dgg«      }t        j                  dg«      }|j                  «       }dt         j                  f}t	        |t
        t        |||| j                  | j                  ¬«      }t        |ddg¬«       t        ||«       y )Nrñ   rò   ró   rô   r#   r¬   )r:   rD   rA   rh   r
   rm   rn   rª   r¶   r5   r   )r­   rT   ro   Ú	b_eq_origrp   rs   r   s          r   Útest_aliasing_b_eqz%LinprogCommonTests.test_aliasing_b_eq§  s‰   € ô �H‰H�c�U‹OˆÜ�x‰x˜#˜˜Ó ˆÜ—H‘H˜c˜U“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¬«       y )Nrñ   rò   g       @)ç      ð¿ç      $@rô   r   r¬   )r
   rª   r¶   r5   ©r­   rT   rm   rn   ro   rp   rs   r   s           r   Útest_non_ndarray_argsz(LinprogCommonTests.test_non_ndarray_args´  sb   € ð ˆ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„	}‰ j                  D �ci c]  }|‰ j                  |   “Œ }}d|d	<   t        t        |||||¬
«       y c c}w )Nr{   r¦   r   r   r   r§   c           
      ó@   •— t        | |||||‰j                  |¬«       y ©Nrô   ©r
   rª   )rT   rm   rn   ro   rp   rs   r¶   r­   s          €r   Úfz2LinprogCommonTests.test_unknown_options.<locals>.fÇ  s    ø€ ä�A�t˜T 4¨¨vØŸ;™;°ö9r   é*   Úspamrµ   )NNNNNN)r:   rD   r¶   r   r   )r­   rT   rm   rn   r  ÚkeyÚos   `      r   Útest_unknown_optionsz'LinprogCommonTests.test_unknown_optionsÁ  s‡   ø€ ä�H‰H�b˜"�XÓˆØ�A�˜˜A˜  A Ð'ˆÚˆà,0Ø.2õ	9ð
 04¯|©|Ö<¨ˆS�$—,‘,˜sÑ#Ñ#Ð<ˆÐ<Øˆˆ&‰	ä”_ aØ˜T¨°aö	9ùò =s   ¾A2c           	      óL  — 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                  j                  t        «      5  t        ||||| j                  |¬«      }d d d «       t         j                  j                  j                  dd	g«       t         j                  j                  |j                  d
«       y # 1 sw Y   Œ`xY w)Nr7   r   r#   r   ©r   é   r  r   ©rT   rm   rn   rs   rª   rÊ   çÍÌÌÌÌÌü?çffffff@çffffffÀ)r:   rD   rh   rÐ   Útestingr   r   r
   rª   r   r1   r0   ©r­   rm   rn   rT   rs   rÊ   r   s          r   Útest_integrality_without_highsz1LinprogCommonTests.test_integrality_without_highsÒ  sì   € ô
 �x‰x˜"˜a˜ 1 a &¨1¨a¨&Ð1Ó2ˆÜ�x‰xšÓ$ˆÜ�X‰X�q˜!�fÓÐˆà”b—f‘f�+�¤ Q£Ñ'ˆØ�cœC ›F‘lˆä�Z‰Z×$Ñ$¤_Ó5ñ 	GÜ˜A D¨t¸FØ!%§¡¸+ôGˆC÷	Gô 	�
‰
×"Ñ" 3§5¡5¨3°¨*Ô5Ü
�
‰
×"Ñ" 3§7¡7¨DÕ1÷	Gð 	Gús   ÂDÄD#c                 óº  ‡ — dˆ fd„	}t        t        |g d¢ddg¬«       t        j                  j	                  «       5 }|j                  t        d«       t        t        |g d¢g d¢¬«       d d d «       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y t        t        |d	d
gt        j                  d«      d	¬«       y # 1 sw Y   ŒçxY w)Nc           
      óT   •— t        | |||||‰j                  ‰j                  ¬«       y r  ©r
   rª   r¶   ©rT   rm   rn   ro   rp   rs   r­   s         €r   r  z1LinprogCommonTests.test_invalid_inputs.<locals>.fç  ó$   ø€ Ü�A�t˜T 4¨¨vØŸ;™;°·±ö>r   ©r   r   r#   r›   ©r#   r'   ©rs   zCreating an ndarray from ragged)r›   r  )r#   r'   é   ©r   r¦   r   r   )rm   rn   )ro   rp   Ú_sparse_presolve)r   r   r#   )rm   rp   ©NNNNN)	r·   r¸   r:   r  r   Úfilterr   r¶   r?   )r­   r  Úsups   `  r   Útest_invalid_inputsz&LinprogCommonTests.test_invalid_inputså  sA  ø€ õ	>ô
 	”j !¢Y¸ÀÐ7GÕHÜ�Z‰Z×)Ñ)Ó+ð 	X¨sØ�J‰JÔ0Ð2SÔTÜœ* aªÒ;VÕW÷	Xô 	”j !¢Y¸ÀÐ7HÕIô 	”j ! a¨ V°A°q°6°(À!ÀQÀÕHÜ”j ! a¨ V°A°3°%¸q¸cÕBÜ”j ! a¨ V°A°q°6°(À!ÀQÀÕHÜ”j ! a¨ V°A°3°%¸q¸cÕBÜ”j ! a¨ V°1°#¸AÕ>ð  $§,¡,Ñ.Ø—‘Ð/Ò0Øô 	”j ! a¨ V´"·(±(¸9Ó2EÈAÖN÷%	Xð 	Xús   ½.EÅEc           	      óÊ  ‡ — dˆ fd„	}t         j                  j                  d«      }d}d}t        j                  j                  ||d«      }|j                  |«      }|j                  |«      }||j                  |«      z   }||j                  |«      z
  }	t        j                  |	|f«      }
||z  }‰ j                  dv rNt        t        d‰ j                  › d�¬	«      5  t        ||||
‰ j                  ‰ j                  ¬
«       d d d «       y i ‰ j                  ¥}‰ j                  dv rd|d<   t        ||||
‰ j                  |¬
«      }|j                  sJ ‚y # 1 sw Y   y xY w)Nc           
      óT   •— t        | |||||‰j                  ‰j                  ¬«       y r  r  r  s         €r   r  z5LinprogCommonTests.test_sparse_constraints.<locals>.f  r  r   r   éd   é–   rg   >   rÃ   rÂ   zMethod 'z.' does not support sparse constraint matrices.r²   rÌ   >   rÁ   TrŒ   r  )r:   r;   r<   r‹   rŒ   rG   r‰   Úcolumn_stackrª   r·   r¸   r
   r¶   r   )r­   r  rJ   r\   rI   ro   Úx_validrT   rr   rq   rs   rp   r¶   r   s   `             r   Útest_sparse_constraintsz*LinprogCommonTests.test_sparse_constraints  sS  ø€ õ	>ô �i‰i×#Ñ# AÓ&ˆØˆØˆÜ�|‰|× Ñ   A sÓ+ˆØ—)‘)˜A“,ˆØ�I‰I�a‹LˆØ�s—x‘x “{Ñ"ˆØ�s—x‘x “{Ñ"ˆÜ—‘ " b Ó*ˆØ�g‰~ˆà�;‰;Ð8Ñ8äœz°8¸D¿K¹K¸=ð INð 2Nô Oñ Bä˜! $¨T¸&Ø#Ÿ{™{°D·L±LõB÷Bð Bð '˜Ÿ™Ð&ˆGØ�{‰{Ð0Ñ0Ø$(�˜Ñ!ä˜A D¨t¸FØ!%§¡°gô?ˆCà—;’;Ð‘;÷Bð Bús   Ã&EÅE"c                 óè   — g d¢}g d¢g d¢g d¢g}g d¢}t         j                  j                  d«       d}t        |||| j                  d|i¬	«      }t        ||«       t        |j                  |«       y )
N©r'   rv   r#   r   r   r   ©r   r  r#   r7   r   r   ©r#   ç      @rv   r   r7   r   ©rv   rd   r'   r   r   r7   ©é¹   é›   iX  r   r#   r   rí   )r:   r;   rj   r
   rª   r   r   rœ   )r­   rT   rR   rS   r   r   s         r   Útest_maxiterzLinprogCommonTests.test_maxiter"  si   € âˆâÚ!Ú ð"ˆò ˆÜ
�	‰	�‰�qÔØˆÜ�a˜a a°·±Ø(¨'Ð2ô4ˆä'¨¨WÔ5Ü�S—W‘W˜gÕ&r   c                 ó¸  — | j                   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«       y y )NÚpresolveTr   )r   r   ©rs   rª   r¶   r   r  ))r  r  )r7   r7   )r#   r#   r  )r  r7   r#   )r   r#   r   )r   r   r   ©r   r   r   ©r   r   r   r}   ))éûÿÿÿr  )r   rd   )ç      @r9  ©ro   rp   rs   rª   r¶   é   )r   r}   r9  )r¶   Úgetr
   rª   r5   r   rœ   ©r­   Údo_presolver   s      r   Útest_bounds_fixedz$LinprogCommonTests.test_bounds_fixed1  s#  € ð
 —l‘l×&Ñ& z°4Ó8ˆä�q�c &Ø!Ÿ[™[°$·,±,ô@ˆä˜˜Q Ô"ÙÜ˜Ÿ™ !Ô$ä’iÒ(BØ!Ÿ[™[°$·,±,ô@ˆä˜˜R¢Ô,ÙÜ˜Ÿ™ !Ô$ä�q˜!�f f¨fÐ%5Ø!Ÿ[™[°$·,±,ô@ˆä˜˜Q  A Ô'ÙÜ˜Ÿ™ !Ô$ä’i¢y²)Ð&<ÀAÀqÀ6Ú;Ø!Ÿ[™[°$·,±,ô@ˆô 	˜˜R¢Ô-ÙÜ˜Ÿ™ !Õ$ð r   c                 óð  — | j                   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«       y y )	Nr4  Tr   r  r5  r   r  ))r  r   r›   r  )r¶   r<  r
   rª   r!   r   rœ   r=  s      r   Útest_bounds_infeasiblez)LinprogCommonTests.test_bounds_infeasibleQ  s½   € ð
 —l‘l×&Ñ& z°4Ó8ˆä�q�c '°$·+±+ÀtÇ|Á|ÔTˆÜ˜3ÔÙÜ˜Ÿ™ !Ô$ä�q�c 7 )°D·K±KÈÏÉÔVˆÜ˜3ÔÙÜ˜Ÿ™ !Ô$ä’iÒ(@Ø!Ÿ[™[°$·,±,ô@ˆä˜3ÔÙÜ˜Ÿ™ !Õ$ð r   c                 óÀ  ‡ — ‰ j                   j                  dd«      }| xr ‰ 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 «       d d d «       t        j                  t        «      5  t        j                  t        «      5   |||¬«       d d d «       d d d «       y t        ||‰ j                  ‰ j                   ¬	«      }t        |«       |rt        |j                  d
«       t        ||‰ j                  ‰ j                   ¬	«      }t        |«       |rt        |j                  d
«       y y # 1 sw Y   ŒîxY w# 1 sw Y   ŒòxY w# 1 sw Y   Œ¸xY w# 1 sw Y   y xY w)Nr4  TrÃ   r  r›   r  c                 óN   •— t        | |‰j                  ‰j                  ¬«      }|S )Nr5  r  )rT   rs   r   r­   s      €r   Úgz6LinprogCommonTests.test_bounds_infeasible_2.<locals>.gz  s$   ø€ Ü˜a¨Ø%)§[¡[¸$¿,¹,ôH�à�
r   r  ©rT   rs   rª   r¶   r   )r¶   r<  rª   r:   rh   r¹   rº   ÚRuntimeWarningr	   Ú
IndexErrorr
   r!   r   rœ   )r­   r>  Úsimplex_without_presolverT   Úbounds_1Úbounds_2rD  r   s   `       r   Útest_bounds_infeasible_2z+LinprogCommonTests.test_bounds_infeasible_2h  s†  ø€ ð —l‘l×&Ñ& z°4Ó8ˆØ'2 ?Ò#O°t·{±{ÀiÑ7OÐ âˆØœRŸV™V¤R§V¡VÐ,¨fÐ5ˆØœbŸf™f˜W¤r§v¡v gÐ.°Ð7ˆá#ôô
 —‘œnÓ-ñ *Ü—]‘]¤:Ó.ñ *Ù�a Õ)÷*÷*ô —‘œnÓ-ñ *Ü—]‘]¤:Ó.ñ *Ù�a Õ)÷*÷*ð *ô ˜A hØ!%§¡°d·l±lôDˆCä˜sÔ#ÙÜ˜SŸW™W aÔ(Ü˜A hØ!%§¡°d·l±lôDˆCä˜sÔ#ÙÜ˜SŸW™W aÕ(ð ÷*ð *ú÷*ð *ú÷
*ð *ú÷*ð *úsH   ÂF<Â8F0ÃF<Ã,GÄGÄGÆ0F9	Æ5F<Æ<GÇG	ÇGÇGc                 óf   — ddg}t        || j                  | j                  ¬«      }t        |«       y )Nr7   r¦   rô   )r
   rª   r¶   r$   )r­   rT   r   s      r   Útest_empty_constraint_1z*LinprogCommonTests.test_empty_constraint_1’  s)   € Ø�ˆHˆÜ�a §¡°T·\±\ÔBˆÜ˜#Õr   c                 ó  — g d¢}dt         j                  ft         j                   dfddg}t        ||| j                  | j                  ¬«      }t        |«       | j                  j                  dd«      rt        |j                  d«       y y )N)r7   r   r7   r   r   ©r7   r   r5  r4  T)	r:   rh   r
   rª   r¶   r$   r<  r   rœ   ©r­   rT   rs   r   s       r   Útest_empty_constraint_2z*LinprogCommonTests.test_empty_constraint_2—  sr   € ÚˆØ”b—f‘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¬«       y )N)r   r7   r   r7   r   rO  r5  )r   r   r7   r   r¦   ©r3   r2   )r:   rh   r
   rª   r¶   r5   rP  s       r   Útest_empty_constraint_3z*LinprogCommonTests.test_empty_constraint_3¡  sO   € ÚˆØ”b—f‘f�+¤§¡ ¨˜|¨W°gÐ>ˆÜ�a Ø!Ÿ[™[°$·,±,ô@ˆä˜¢}À"Ö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¬
«       y )Nr#   r   r7   r   r   r§   rô   iîÿÿÿry   r¬   ©	r:   rD   r
   ro   rp   rs   rª   r¶   r5   ©r­   rT   rm   rn   r   s        r   Útest_inequality_constraintsz.LinprogCommonTests.test_inequality_constraints¨  sr   € ô �H‰H�a˜�VÓ˜rÑ!ˆØ�A�Ø�A�Ø�A�ðˆò ˆÜ�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¬«       y )Nry   r#   r   r7   r¦   r   )r   r7   r7   rô   r  gUUUUUUå?gUUUUUUÕ?r¬   ©r
   ro   rp   rs   rª   r¶   r5   rW  s        r   Útest_inequality_constraints2z/LinprogCommonTests.test_inequality_constraints2´  sd   € ð �ˆFˆØ�A�Ø�R�Ø�Q�ðˆò ˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨°u¸e°nÖEr   c           
      ó0  — 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¬«       y )Nr   r   r›   rô   ©r3   )r
   rm   rn   ro   rp   rª   r¶   r5   rP  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¬«       y )Nrñ   rò   )rñ   Nrô   r#   r¬   ©r:   rD   r
   rm   rn   rª   r¶   r5   ©r­   rT   ro   rp   rs   r   s         r   Útest_bounded_below_only_1z,LinprogCommonTests.test_bounded_below_only_1Í  si   € Ü�H‰H�c�U‹OˆÜ�x‰x˜#˜˜Ó ˆÜ�x‰x˜˜‹ˆØˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨°q°cÖ:r   c           
      óJ  — t        j                  d«      }t        j                  d«      }t        j                  g d¢«      }dt         j                  f}t        |t        t        |||| j                  | j                  ¬«      }t        ||t        j                  |«      ¬«       y )Nr#   r  rg   rô   rS  ©r:   rŠ   ÚeyerD   rh   r
   rm   rn   rª   r¶   r5   Úsumra  s         r   Útest_bounded_below_only_2z,LinprogCommonTests.test_bounded_below_only_2Ö  so   € Ü�G‰G�A‹JˆÜ�v‰v�a‹yˆÜ�x‰xš	Ó"ˆØ”r—v‘v�ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜ t¼¿¹À»Ö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¬«       y )Nrñ   rò   )Nrü   rô   r#   r¬   r`  ra  s         r   Útest_bounded_above_only_1z,LinprogCommonTests.test_bounded_above_only_1ß  si   € Ü�H‰H�c�U‹OˆÜ�x‰x˜#˜˜Ó ˆÜ�x‰x˜˜‹ˆØˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨°q°cÖ:r   c           
      óL  — t        j                  d«      }t        j                  d«      }t        j                  g d¢«      }t         j                   df}t        |t        t        |||| j                  | j                  ¬«      }t        ||t        j                  |«      ¬«       y )Nr#   r  r'   rô   rS  rd  ra  s         r   Útest_bounded_above_only_2z,LinprogCommonTests.test_bounded_above_only_2è  sq   € Ü�G‰G�A‹JˆÜ�v‰v�a‹yˆÜ�x‰xš	Ó"ˆÜ—6‘6�'˜1�ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜ t¼¿¹À»ÖFr   c           
      óh  — t        j                  d«      }t        j                  d«      }t        j                  g d¢«      }t         j                   t         j                  f}t        |t        t        |||| j                  | j                  ¬«      }t        ||t        j                  |«      ¬«       y )Nr#   r  rô   rS  rd  ra  s         r   Útest_bounds_infinityz'LinprogCommonTests.test_bounds_infinityñ  sv   € Ü�G‰G�A‹JˆÜ�v‰v�a‹yˆÜ�x‰xš	Ó"ˆÜ—6‘6�'œ2Ÿ6™6Ð"ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜ t¼¿¹À»Ö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¬«       y )Nr7   r'   r{   r   r   r8   ry   rô   g·mÛ¶mÛ&Àg’$I’$Iò¿g%I’$I’@r¬   )
r:   rD   Úfloat64rh   r
   ro   rp   rª   r¶   r5   )r­   rT   rm   rn   rè   ré   rs   r   s           r   Útest_bounds_mixedz$LinprogCommonTests.test_bounds_mixedú  s«   € ô �H‰H�b˜!�WÓ Ñ"ˆÜ�x‰x˜"˜a˜Ø˜Q˜ð!Ü(*¯
©
ô4ˆà�1ˆvˆÜ—f‘f�WœbŸf™fÐ%ˆ	ØœŸ™�Lˆ	Ø˜YÐ'ˆÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸VÀVÐ<LÖ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        |«       y ©Nr   r   r}   r¦   r   r   )é   r   r#   ©r   r   r‡   rô   )r
   ro   rp   rª   r¶   r!   ©r­   rT   rm   rn   rs   r   s         r   Ú test_bounds_equal_but_infeasiblez3LinprogCommonTests.test_bounds_equal_but_infeasible  s^   € Ø�ˆGˆØ�B�˜!˜Q˜ ! R Ð)ˆÚˆØ˜)Ð$ˆÜ�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        |«       y rr  )r
   rm   rn   rª   r¶   r!   ra  s         r   Ú!test_bounds_equal_but_infeasible2z4LinprogCommonTests.test_bounds_equal_but_infeasible2  s^   € Ø�ˆGˆØ�B�˜!˜Q˜ ! R Ð)ˆÚˆØ˜)Ð$ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜3Õr   c           
      óî   — ddg}ddgddgg}ddg}ddg}| j                   D �ci c]  }|| j                   |   “Œ }}d	|d
<   t        |||t        t        || j                  |¬«      }t        |«       y c c}w )Nr   r   gš™™™™™ñ?gš™™™™™@r'   rv   r›   rt  Fr4  rô   )r¶   r
   ro   rp   rª   r!   )r­   rT   rm   rn   rs   r  r  r   s           r   Útest_bounds_equal_no_presolvez0LinprogCommonTests.test_bounds_equal_no_presolve  sŒ   € ð
 �ˆFˆØ�A�˜˜c˜
Ð#ˆØ�1ˆvˆØ˜&Ð!ˆà/3¯|©|Ö<¨ˆS�$—,‘,˜sÑ#Ñ#Ð<ˆÐ<Øˆˆ*‰ä�a˜˜t¤T¬4°Ø!Ÿ[™[°!ô5ˆä˜3Õùò =s   £A2c           
      óN  — d\  }}t         j                  j                  d«      }|j                  |«      }d|d<   |j                  ||«      }d|d d …df<   |j                  |«      }g d¢g}d}g d¢}	t	        ||||||	| j
                  | j                  ¬«      }
t        |
d¬	«       y )
Nr  r   r   )r   r   r   r   r#   )©r|   rd   r|  )r|   Nr†   rô   gyM�±åj#Àrá   )r:   r;   r<   rG   r
   rª   r¶   r5   )r­   r\   rI   rJ   rT   ro   rp   rm   rn   rs   r   s              r   Útest_zero_column_1z%LinprogCommonTests.test_zero_column_1+  sž   € Ø‰ˆˆ1Ü�i‰i×#Ñ# AÓ&ˆØ�H‰H�Q‹KˆØˆˆ!‰Ø�x‰x˜˜1‹~ˆØˆŠQ�ˆT‰
Ø�x‰x˜‹{ˆÚˆ~ˆØˆÚBˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜Ð)<Ö=r   c           
      óX  — | j                   dv rt        j                  «        t        j                  j                  d«      }d\  }}|j                  |«      }d|d<   |j                  ||«      }d|d d …df<   |j                  |«      }|j                  ||«      }d|d d …df<   |j                  |«      }d}	t        ||||||	| j                   | j                  ¬«      }
t        |
«       | j                  j                  dd	«      r&d
| j                   vrt        |
j                  d«       y y y )N>   rË   ú	highs-ipmr   r&   r7   r   r†   rô   r4  Tr½   )rª   r¹   Úxfailr:   r;   r<   rG   r
   r¶   r$   r<  r   rœ   )r­   rJ   r\   rI   rT   ro   rp   rm   rn   rs   r   s              r   Útest_zero_column_2z%LinprogCommonTests.test_zero_column_2:  s  € Ø�;‰;Ð3Ñ3ä�L‰LŒNä�i‰i×#Ñ# AÓ&ˆØ‰ˆˆ1Ø�H‰H�Q‹KˆØˆˆ!‰Ø�x‰x˜˜1‹~ˆØˆŠQ�ˆT‰
Ø�x‰x˜‹{ˆà�x‰x˜˜1‹~ˆØˆŠQ�ˆT‰
Ø�x‰x˜‹{ˆØˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜#Ôà�<‰<×Ñ˜J¨Ô-°'ÀÇÁÑ2Lô ˜Ÿ™ !Õ$ð	 3MÐ-r   c           
      óª   — g d¢}g d¢g d¢g d¢g}g d¢}t        |t        t        ||t        | j                  | j
                  ¬«      }t        |d¬«       y )Nr  ©r   r   r   ©r   r   r   ©r   r#   r   rô   r#   rá   ©r
   rm   rn   rs   rª   r¶   r5   ©r­   rT   ro   rp   r   s        r   Útest_zero_row_1z"LinprogCommonTests.test_zero_row_1U  sF   € ÚˆÚš9¢iÐ0ˆÚˆÜ�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¬«       y )Nrƒ  r„  r…  r  rô   r   rá   rZ  )r­   rm   rn   rT   r   s        r   Útest_zero_row_2z"LinprogCommonTests.test_zero_row_2]  sF   € Úš9¢iÐ0ˆÚˆÚˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨Ö+r   c           
      ó¨  — d\  }}t         j                  j                  d«      }|j                  |«      }|j                  ||«      }d|dd d …f<   |j                  |«      }t	        |t
        t        ||t        | j                  | j                  ¬«      }t        |«       | j                  j                  dd«      rt        |j                  d«       y y ©Nr&   iÒ  r   rô   r4  T)r:   r;   r<   rG   r
   rm   rn   rs   rª   r¶   r!   r<  r   rœ   )r­   r\   rI   rJ   rT   ro   rp   r   s           r   Útest_zero_row_3z"LinprogCommonTests.test_zero_row_3e  sª   € Ø‰ˆˆ1Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q‹KˆØ�x‰x˜˜1‹~ˆØˆˆQ’ˆT‰
Ø�x‰x˜‹{ˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜3Ôð �<‰<×Ñ˜J¨Ô-Ü˜Ÿ™ !Õ$ð .r   c           
      óª  — d\  }}t         j                  j                  d«      }|j                  |«      }|j                  ||«      }d|dd d …f<   |j                  |«       }t	        |||t
        t        t        | j                  | j                  ¬«      }t        |«       | j                  j                  dd«      rt        |j                  d«       y y rŒ  )r:   r;   r<   rG   r
   ro   rp   rs   rª   r¶   r!   r<  r   rœ   )r­   r\   rI   rJ   rT   rm   rn   r   s           r   Útest_zero_row_4z"LinprogCommonTests.test_zero_row_4t  s¬   € Ø‰ˆˆ1Ü�i‰i×#Ñ# DÓ)ˆØ�H‰H�Q‹KˆØ�x‰x˜˜1‹~ˆØˆˆQ’ˆT‰
Ø—‘˜“ˆ|ˆÜ�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
                  j                  dd«      rt        |j                  d	«       y y )
N©r   r   r   r   ©r   r   r   r   ©r   r   r   r   ©r   r   r   r   )r   r   r   r'   rô   r4  Tr   )
r
   rm   rn   rs   rª   r¶   r!   r<  r   rœ   r‡  s        r   Útest_singleton_row_eq_1z*LinprogCommonTests.test_singleton_row_eq_1ƒ  so   € ÚˆÚš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¬«       y )	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�  sH   € ÚˆÚš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                  j                  d	d
«      rt        |j                  d«       y y )Nr‘  r’  r“  ©r7   r   r   r   r”  )r   r   r¦   r'   ©r†   r‡   r‡   r‡   rô   r4  Tr   ©	r
   ro   rp   rª   r¶   r!   r<  r   rœ   ru  s         r   Útest_singleton_row_ub_1z*LinprogCommonTests.test_singleton_row_ub_1—  st   € ÚˆÚšlª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	¬
«       y )Nr‘  r’  r“  r™  r”  )r   r   ç      à¿r'   rš  rô   rg   rá   )r
   ro   rp   rª   r¶   r5   ru  s         r   Útest_singleton_row_ub_2z*LinprogCommonTests.test_singleton_row_ub_2¤  sM   € ÚˆÚšlª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        |«       y )Nr7   r   r   )r   r   r8  rô   )r
   ro   rp   rs   rª   r¶   r!   rW  s        r   Útest_infeasiblez"LinprogCommonTests.test_infeasible­  sZ   € à�ˆHˆØ�A�Ø�A�Ø�R�ðˆò ˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜3Õr   c           
      óô   — dg}dgg}d}d}t        |||t        t        || j                  | j                  ¬«      }t        |«       | j                  j                  dd«      rt        |j                  d«       y y )	Nr   r   r'   )r  ry   rô   r4  Tr   r›  ru  s         r   Ú!test_infeasible_inequality_boundsz4LinprogCommonTests.test_infeasible_inequality_bounds¸  sq   € Øˆ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        |«       y )Nr   r7   r¦   rô   )	r:   rD   r
   ro   rp   rs   rª   r¶   r$   rW  s        r   Útest_unboundedz!LinprogCommonTests.test_unboundedÅ  sc   € ä�H‰H�a˜�VÓ˜rÑ!ˆØ�Q�Ø�R�ðˆà�BˆxˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜#Õr   c                 ó  — dg}dg}| j                   D �ci c]  }|| j                   |   “Œ }}d|d<   t        ||| j                  |¬«      }| j                  dk(  rt        |j                  d«       y t        |«       y c c}w )Nr   ©Nr   Fr4  rE  rÂ   r  )r¶   r
   rª   r   r   r$   )r­   rT   rs   r  r  r   s         r   Ú*test_unbounded_below_no_presolve_correctedz=LinprogCommonTests.test_unbounded_below_no_presolve_correctedÏ  s€   € ØˆCˆØ�ˆà/3¯|©|Ö<¨ˆS�$—,‘,˜sÑ#Ñ#Ð<ˆÐ<Øˆˆ*‰ä˜ &Ø!Ÿ[™[Øô!ˆð �;‰;Ð+Ò+ä˜Ÿ™ QÕ'ä˜cÕ"ùò =s   •A>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
                  j                  «       j                  d«      sAt        |j                  d	   t         j                  «       t        |j                  d
d d«       y
y
)ú|
        Test whether presolve pathway for detecting unboundedness after
        constraint elimination is working.
        )r   r   r   r   r7   r7   ©r   r   r   r   r   r   ©r   r   r   r   r   r   )r   r   r   r   r   r7   ©r   r¦   r   )r†   r†   r†   rO  rO  r‡   rô   r½   r7   Né$   ú$The problem is (trivially) unbounded©r:   rD   r
   ro   rp   rª   r¶   r$   ÚlowerrÏ   r   r1   rh   r.   ru  s         r   Ú*test_unbounded_no_nontrivial_constraints_1z=LinprogCommonTests.test_unbounded_no_nontrivial_constraints_1ß  sÁ   € ô
 �H‰HÒ)Ó*ˆÜ�x‰xÒ+Ú+Ú,ð.ó /ˆô �x‰xš
Ó#ˆò/ˆä�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜#ÔØ�{‰{× Ñ Ó"×-Ñ-¨gÔ6Ü˜Ÿ™˜r™¤B§F¡FÔ+Ü˜Ÿ™ S bÐ)Ø?õAð 7r   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
                  j                  «       j                  d«      sBt        |j                  d	   t         j                   «       t        |j                  d
d d«       y
y
)rª  )r   r   r   r   r7   r   r«  r¬  )r   r   r   r   r   r   r­  )r†   r†   r†   rO  rO  )Nr   rô   r½   r7   Nr®  r¯  r°  ru  s         r   Ú*test_unbounded_no_nontrivial_constraints_2z=LinprogCommonTests.test_unbounded_no_nontrivial_constraints_2ó  sÃ   € ô
 �H‰HÒ(Ó)ˆÜ�x‰xÒ+Ú+Ú+ð-ó .ˆô �x‰xš
Ó#ˆò/ˆä�a˜˜t¤T¬4°Ø!Ÿ[™[°$·,±,ô@ˆä˜#ÔØ�{‰{× Ñ Ó"×-Ñ-¨gÔ6Ü˜Ÿ™˜r™¤R§V¡V GÔ,Ü˜Ÿ™ S bÐ)Ø?õAð 7r   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
¬«       y )N)r$  rd   r   r7   r6  )re   r   r   )éÈ   re   r   )r   r$  é'  rô   )r   r   r·  gñhãˆµøÔ>çH¯¼šò×z>)r3   r-   r,   rV  rW  s        r   Útest_cyclic_recoveryz'LinprogCommonTests.test_cyclic_recovery  s`   € ô �H‰H’\Ó" RÑ'ˆÚÚÚðˆò ˆÜ�a˜˜t¤T¬4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¢}¸4ÀdÖKr   c           
      óÎ  — t        j                  g d¢«      }t        j                  g d¢g d¢g d¢g«      }g d¢}d}| j                  j                  «       D ��ci c]  \  }}||“Œ
 }}}||d<   t	        |||t
        t        t        | j                  |¬«      }| j                  d	k(  r+| j                  j                  d
«      st        ||d   «       y t        |g d¢¬«       y c c}}w )N)r|   é9   rz   g      8@)rg   g      ÀrÔ   rz   )rg   g      ø¿rž  r   r’  )r   r   r   r$  r   rô   rÃ   Úbland)r   r   r   r   r]  )r:   rD   r¶   Úitemsr
   ro   rp   rs   rª   r<  r   r5   )	r­   rT   rm   rn   r   r  Úvalr  r   s	            r   Útest_cyclic_blandz$LinprogCommonTests.test_cyclic_bland  sÉ   € ä�H‰HÒ&Ó'ˆÜ�x‰xÒ-Ú-Ú%ð'ó (ˆò ˆð ˆØ&*§l¡l×&8Ñ&8Ó&:×;™(˜#˜sˆS�#‰XÐ;ˆÑ;Øˆˆ)‰ä�a˜˜t¤T¬4´Ø!Ÿ[™[°!ô5ˆð �;‰;˜)Ò#¨D¯L©L×,<Ñ,<¸WÔ,Eä+¨C°°9±Õ>ô ˜Cª<Ö8ùó <s   ÁC!c                 óÚ  — d\  }}t         j                  j                  d«      }|j                  |«      }|j                  ||«      }|j                  |«      }d|dd d …f   z  |dd d …f<   |dxx   dz  cc<   t	        «       5 }|j                  t        d«       t        |t        t        ||t        | j                  | j                  ¬«      }d d d «       t        «       y # 1 sw Y   ŒxY w)N)rd   rd   r   r   r¦   r7   úA_eq does not appear...rô   )r:   r;   r<   rG   r   r  r   r
   rm   rn   rs   rª   r¶   r!   )	r­   r\   rI   rJ   rT   ro   rp   r   r   s	            r   Ú$test_remove_redundancy_infeasibilityz7LinprogCommonTests.test_remove_redundancy_infeasibility,  sÎ   € ð ‰ˆˆ1Ü�i‰i×#Ñ# AÓ&ˆØ�H‰H�Q‹KˆØ�x‰x˜˜1‹~ˆØ�x‰x˜‹{ˆØ˜$˜r¢1˜u™+‘oˆˆR’ˆU‰ØˆR‹�B‰‹ÜÓ ð 	D CØ�J‰J”Ð(AÔBÜ˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷	Dô 	˜3Õ÷		Dð 	Dús   ÂA
C!Ã!C*c           
      óš   — t        «       \  }}}}}}}t        |||||t        | j                  | j                  ¬«      }t        |||¬«       y )Nrô   r¬   )rƒ   r
   rs   rª   r¶   r5   ©	r­   rT   rm   rn   ro   rp   r�   r‚   r   s	            r   Útest_nontrivial_problemz*LinprogCommonTests.test_nontrivial_problem@  sL   € ô 5GÓ4HÑ1ˆˆ4��t˜T 6¨6Ü�a˜˜t T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸6ÖBr   c                 ód  — t        dd«      \  }}}t        «       5 }|j                  t        d«       |j                  t        d«       |j                  t
        «       t        |||t        t        t        | j                  | j                  ¬«      }d d d «       t        d¬«       y # 1 sw Y   ŒxY w)Nre   ú$Solving system with option 'sym_pos'úinvalid value encounteredrô   rà   rá   )rb   r   r  r   rF  r   r
   ro   rp   rs   rª   r¶   r5   )r­   rm   rn   rT   r   r   s         r   Útest_lpgen_problemz%LinprogCommonTests.test_lpgen_problemH  s‘   € ô !  RÓ(‰ˆˆd�AäÓ ð 	D CØ�J‰J”Ð(NÔOØ�J‰J”~Ð'BÔCØ�J‰J”}Ô%Ü˜!˜T 4¬¬t´VØ!%§¡°d·l±lôDˆC÷		Dô 	˜¨Ö7÷	Dð 	Dús   ›A5B&Â&B/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        «       5 }|j                  t        «       t        |t        t
        ||t        | j                  | j                  ¬«      }d d d «       t        ddd¬	«       y # 1 sw Y   ŒxY w)
N)r   r'   rz   é   r'   r#   rv   r}   r   r;  é   é   rO  r   )r   é   iðÿÿÿé!   r   r   iÜÿÿÿrô   ió  ç�íµ ÷Æ°>r¸  )r2   r-   r,   )
r   r  r   r
   rm   rn   rs   rª   r¶   r5   )r­   rT   rI   Úpro   rp   r   r   s           r   Útest_network_flowz$LinprogCommonTests.test_network_flowU  sE  € ò 5ˆØ‰ˆˆ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 CØ�J‰J”}Ô%Ü˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷	Dô 	˜¨°4¸dÖC÷		Dð 	Dús   Á5A	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        «       5 }t        r|j                  t        «       |j                  t        d	«       |j                  t
        d
«       |j                  t
        d«       |j                  t        «       t        |t        t        |||| j                  | j                  ¬«      }d d d «       t        d¬«       y # 1 sw Y   ŒxY w)N)r   r   r   r#   r   r   r'   r   r#   r  rO  )r   r   r   r'   úscipy.linalg.solve
Ill...rÁ  úSolving system with option...rô   rs  rá   )r   Úhas_umfpackr  r   rF  r   r   r
   rm   rn   rª   r¶   r5   )	r­   rT   rs   rI   rÑ  ro   rp   r   r   s	            r   Ú"test_network_flow_limited_capacityz5LinprogCommonTests.test_network_flow_limited_capacityj  s  € ò ˆà�ˆFØ�ˆFØ�ˆFØ�ˆFØ�ˆFðˆð ‰ˆˆ1à��1�a˜ˆOØ��1�a˜ˆOØ��1�a˜ˆOØ��1�a˜ˆOð	ˆò
 ˆäÓ ð 		D CåØ—
‘
œ>Ô*Ø�J‰J”~Ð'CÔDØ�J‰J”Ð(AÔBØ�J‰J”Ð(GÔHØ�J‰J”}Ô%Ü˜!œT¤4¨¨t°VØ!%§¡°d·l±lôDˆC÷		Dô 	˜¨Ö,÷		Dð 		Dús   ÁB"C;Ã;Dc           
      ó¤   — g d¢}g d¢g d¢g}ddg}t        |||t        t        t        | j                  | j
                  ¬«      }t        |d¬«       y )	N)r¦   r{   r   )r#   r   r   )r   r  r#   rd   r;  rô   iìÿÿÿrá   rZ  rW  s        r   Ú(test_simplex_algorithm_wikipedia_examplez;LinprogCommonTests.test_simplex_algorithm_wikipedia_example‰  sM   € âˆâÚðˆð �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
¬«       y )Nr*  r+  r,  r.  r/  rô   g     Øs@)g     �P@r   g     €1@r   g     øf@r   gTäqs*Ù>r¸  )r2   r3   r-   r,   r†  r‡  s        r   Útest_enzo_examplez$LinprogCommonTests.test_enzo_example”  sX   € ò ˆâÚ!Ú ð"ˆò ˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨Ú"@Ø!¨ö	.r   c                 ó&  — g d¢}g d¢g d¢g d¢g d¢g d¢g}g d¢}t        «       5 }|j                  t        d«       t        |t        t
        ||t        | j                  | j                  ¬	«      }d d d «       t        d
g d¢¬«       y # 1 sw Y   ŒxY w)N)r  g333333@gš™™™™™%@r  g333333Àgš™™™™™%À)r7   r7   r7   r   r   r   )r   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ô   gR¸…ëQü¿)rÞ  gš™™™™™É?ç        rß  rÉ   rÞ  r¬   )
r   r  r   r
   rm   rn   rs   rª   r¶   r5   )r­   rT   ro   rp   r   r   s         r   Útest_enzo_example_bz&LinprogCommonTests.test_enzo_example_b¨  sŠ   € â/ˆÚ%Ú"Ú"Ú"Ú"ð	$ˆò
 *ˆäÓ ð 	D CØ�J‰J”Ð(AÔBÜ˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷	Dô 	˜¨Ú"@ö	B÷		Dð 	Dús   ¤A
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                  |«      ¬«       y )Nre   r   r   r   rô   r¬   )r:   rŠ   Úpir=   rE   ÚcosÚsinr
   rm   rn   rs   rª   r¶   r5   r?   )r­   r\   rT   Útmpro   rp   r   s          r   Ú#test_enzo_example_c_with_degeneracyz6LinprogCommonTests.test_enzo_example_c_with_degeneracy¹  s¨   € àˆÜ�W‰W�Q‹ZˆKˆØ”"—%‘%‰iœ"Ÿ)™) A q¨1¡uÓ-Ñ-°°Q±Ñ7ˆÜ�y‰yœ"Ÿ&™& ›+¨™/¬2¯6©6°#«;Ð7Ó8ˆØ�1ˆvˆÜ�aœœt T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨´b·h±h¸q³kÖ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        |«       y )Nrf   r   r   rß  r   rô   )r:   rŠ   râ  r=   rã  rä  rE   r
   rm   rn   rs   rª   r¶   r$   )	r­   r\   rT   rå  Úrow0Úrow1ro   rp   r   s	            r   Ú&test_enzo_example_c_with_unboundednessz9LinprogCommonTests.test_enzo_example_c_with_unboundednessÄ  s²   € àˆÜ�W‰W�Q‹ZˆKˆØ”"—%‘%‰iœ"Ÿ)™) A›,Ñ&¨!¨a©%Ñ0ˆô �v‰v�c‹{˜Q‰ˆØˆˆQ‰Ü�v‰v�c‹{ˆØˆˆQ‰Ü�y‰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}| j                  D �ci c]  }|| j                  |   “Œ }}d|d<   t        |t        t        ||t        | j                  |¬«      }t        |«       y c c}w )Nrf   r   r   Fr4  rô   )r:   rŠ   râ  r=   rE   rã  rä  r¶   r
   rm   rn   rs   rª   r!   )	r­   r\   rT   rå  ro   rp   r  r  r   s	            r   Ú&test_enzo_example_c_with_infeasibilityz9LinprogCommonTests.test_enzo_example_c_with_infeasibilityÕ  sÃ   € àˆÜ�W‰W�Q‹ZˆKˆØ”"—%‘%‰iœ"Ÿ)™) A›,Ñ&¨!¨a©%Ñ0ˆÜ�y‰yœ"Ÿ&™& ›+¨™/¬2¯6©6°#«;Ð7Ó8ˆØ�1ˆvˆà/3¯|©|Ö<¨ˆS�$—,‘,˜sÑ#Ñ#Ð<ˆÐ<Øˆˆ*‰ä�aœœt T¨4´Ø!Ÿ[™[°!ô5ˆä˜3Õùò =s   ÂC-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¬«       y )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   r7   r   r7   r   )r   rû   r7   r   r7   r   r   rô   g�íµ ÷ÆÀ>)r2   r3   r-   )r:   rD   r
   rs   rª   r¶   r5   Ú
zeros_like)r­   rT   rm   rn   ro   rp   r   s          r   Útest_basic_artificial_varsz-LinprogCommonTests.test_basic_artificial_varsä  s«   € ô
 �H‰HÒ>Ó?ˆÜ�x‰xÒ-Ò/DÚ.Ò0DÚ/ð1ó 2ˆô �x‰xÒ2Ó3ˆÜ�x‰xÒ/Ò1HÐIÓJˆÜ�x‰x˜˜A˜ÓˆÜ�a˜˜t T¨4´Ø!Ÿ[™[°$·,±,ô@ˆä˜¨´b·m±mÀAÓ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 ]Y  }||j                  «       v sŒt        ||   d   t         j"                  «      sJ ‚t        ||   d	   t         j"                  «      rŒYJ ‚ y )
Nr   ©rm   rn   ro   rp   rs   rª   r¶   r½   z%Optimization terminated successfully.g•dyáý¥=©r-   )ÚeqlinÚineqlinr±  ÚupperÚ	marginalsÚresidual)rt   r
   rª   r¶   r   r   rœ   r   r.   r   r1   r0   rž   r�   Úkeysr    r:   Úndarray)	r­   rT   rm   rn   ro   rp   rs   r   r  s	            r   Útest_optimize_resultz'LinprogCommonTests.test_optimize_resultõ  s*  € ä,;¸AÓ,>Ñ)ˆˆ4��t˜T 6Ü�a˜d¨°D¸tØ#¨D¯K©KÀÇÁôOˆä�—‘ÔÜ�—‘ÔÜ�C—J‘J�ÔØ˜$Ÿ+™+Ñ%ä�C—K‘KÐ#JÑJÔKÜ˜˜CŸE™E™	 3§7¡7Ô+Ü˜˜t c§e¡e™|Ñ+¨S¯W©W¸5ÕAÜ˜˜t c§e¡e™|Ñ+¨S¯Y©Y¸UÕCØ9ò 	DˆCØ�c—h‘h“jÒ Ü! # c¡(¨;Ñ"7¼¿¹ÔDÐDÐDÜ! # c¡(¨:Ñ"6¼¿
¹
ÕCÐCÐCñ	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        «       5 }|j                  t        d#«       |j                  t
        d$«       |j                  t        «       t        |||t        t        || j                  | j                  ¬%«      }	d d d «       t        	d&¬'«       y # 1 sw Y   ŒxY w)(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   r{   r   r   r   r7   r7   r   r7   r7   r   r   r   r   r   r   r   r   g333333Àr{   r7   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   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   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   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ô   g¯^¥¨ZÀrá   )r:   rD   r   r  r   rF  r   r
   ro   rp   rª   r¶   r5   )
r­   rs   r  rD  Úhrm   rn   rT   r   r   s
             r   Útest_bug_5400z LinprogCommonTests.test_bug_5400  sa  € òNˆð ˆØˆØˆÜ�x‰xÚ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Ú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ˆô: �x‰xò 5ó 6ˆô �H‰Hò 4ó 5ˆäÓ ð 	D CØ�J‰J”Ø=ô?à�J‰J”~Ð'BÔCØ�J‰J”}Ô%Ü˜!˜T 4¬¬t°VØ!%§¡°d·l±lôDˆC÷	Dô 	˜Ð)<Ö=÷	Dð 	Dús   Ä1A1F8Æ8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¢«      ¬«       y )Nr„  )rñ   rß  rß  )ç     @�Àrß  r  g      @r   )rß  g    €„.Ag     Ò.Ag    ÐcAr†   rô   gfffffæ-@)r  gÍÌÌÌÌÌ@r  r¬   ©r:   rD   r
   rª   r¶   r5   )r­   rT   ro   rp   rm   rn   rs   r   s           r   Útest_bug_6139z LinprogCommonTests.test_bug_6139C  s¤   € ô �H‰H’YÓˆÜ�x‰xšÒ'<Ð=Ó>ˆÜ�x‰x˜¨Ð9Ó:ˆÜ—‘Ò2Ð3Ó4Ð4ˆÜ—‘˜)˜Ó%Ð%ˆØˆä�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆô 	˜¨Ü"$§(¡(ª<Ó"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        «       5 }t        r|j                  t        «       |j                  t        d«       |j                  t        d«       |j                  t        d«       |j                  t        «       t        ||||||| j                  | j                  ¬«      }d d d «       d}	t        j                  g d¢«      }
t        |	|
¬«       d}t        |d d …df   |z
  |j                  «       t        |j                  |d d …df   |z   «       y # 1 sw Y   ŒsxY w)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	  rg   g)\�Âõ(ü?gÃõ(\�ÂÅ?ç{®GázÔ?g333333Ã¿)
g=
×£p=ú¿gffffffæ?r  gö(\�Âõð¿g�Âõ(\�ò¿g¤p=
×£Ð?g
×£p=
@g{®Gázø?g…ëQ¸å?gìQ¸…ëÑ?z%Solving system with option 'cholesky'rÇ  rÈ  rô   g‰ãVó¿)
r  r  r  rÝ  r	  rg   r  r  r  r  r¬   rÐ  r   r   )r:   rD   ri   r   rÖ  r  r   r   rF  r   r
   rª   r¶   r5   r   r1   )r­   ro   rp   rm   rn   rs   rT   r   r   r2   r3   r-   s               r   Útest_bug_6690z LinprogCommonTests.test_bug_6690Y  sˆ  € ô
 �x‰xÒ@ÐAÓBˆÜ�x‰x˜˜Ó!ˆÜ�x‰xÚ4Ú*Ú-Ú9Ú.ð
ó ˆô �x‰xÒ9Ó:ˆÜ—‘ÚMÚHð
ó ÷ ‰1ð 	ô �H‰Hò ó ˆô Ó ð 		D CÝØ—
‘
œ>Ô*Ø�J‰J”Ø>ô@à�J‰J”Ð(NÔOØ�J‰J”~Ð'BÔCØ�J‰J”}Ô%Ü˜!˜T 4¨¨t°VØ!%§¡°d·l±lôDˆC÷		Dð %ˆÜ—H‘Hò Gó Hˆ	ä˜¨À	ÕJð ˆÜ˜&¢ A ™,¨Ñ-¨s¯u©uÔ5Ü˜#Ÿ%™% ª¨1¨¡°Ñ!4Õ5÷'		Dð 		Dús   Â0BF<Æ<Gc                 ó4  — t        d«      \  }}}}}t        «       5 }|j                  t        d«       |j                  t        d«       |j                  t
        «       t        |t        t        ||t        | j                  | j                  ¬«      }d d d «       d}t        |¬«       t        |j                  |j                  «      |«       t!        t#        j$                  |j                  j&                  «      dz
  |j                  «       y # 1 sw Y   Œ~xY w)Nr#   rÁ  rÈ  rô   ç-£ÒU°û?rá   r…   )rU   r   r  r   rF  r   r
   rm   rn   rs   rª   r¶   r5   r   Údotr1   r   r:   r?   rX   )r­   ro   rp   rT   Ú_r   r   r2   s           r   Útest_bug_7044z LinprogCommonTests.test_bug_7044…  sÒ   € ô
 +¨1›oÑˆˆd�A�q˜!ÜÓ ð 	D CØ�J‰J”Ð(AÔBØ�J‰J”~Ð'BÔCØ�J‰J”}Ô%Ü˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷		Dð "ˆÜ˜¨Õ5Ü˜Ÿ™ §¡›¨Ô.Üœ"Ÿ(™( 3§5¡5§:¡:Ó.°Ñ5°s·u±uÕ=÷	Dð 	Dús   œA5DÄD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¬ «       y )!N)	r7   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†   rz   rô   ghèŸàb$[@rÐ  ©r2   r-   r  rý   s           r   Útest_bug_7237z LinprogCommonTests.test_bug_7237—  sß   € ô
 �H‰HÒ1Ó2ˆÜ�x‰xÚEÚ?ÚBÚBÚEÚAÚ8Ú8Ú8Ú8Ú8Ú8Ú8Ú8Ú0Ú0Ú0Ú0Ú0Ú0Ú0Ú0ð-ó ˆô0 �x‰xò 8ó 9ˆô �x‰xÒ=Ð>Ó?ˆÜ�x‰x˜"˜˜ÓˆØ� !Ñ#ˆä�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¸$Ö?r   c                 óx  — 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        «       5 }|j                  t        d«       |j                  t        «       t        |||t        t        || j                  | j                  ¬	«      }d d d «       | j                  j                  d
d«      dk  r| j                  dk(  rt        «       y t!        dd¬«       y # 1 sw Y   ŒRxY w)N)éºX  ið  iD4  ç     3¥Ài¤ûÿÿ)é†ìÿÿi¼ûÿÿi†ÿÿç     úÐ@i¬  )r   r   r   r  r   )r  r   r   r!  r   r   r   rÇ   rÈ  rô   Útolg•Ö&è.>ç»½×Ùß|Û=rÃ   gê¦Ëë‡ ÀrÐ  r  )r:   rD   r?   rH   rŠ   r   r  rF  r   r
   ro   rp   rª   r¶   r<  r(   r5   )r­   rm   rn   rT   rs   r   r   s          r   Útest_bug_8174z LinprogCommonTests.test_bug_8174À  s  € ô �x‰xÚ0Ú0Ú%Ú%ð	'ó (ˆô
 �x‰x˜Ÿ
™
 1™Ó&ˆÜ�W‰W�T—Z‘Z ‘]Ó#Ð#ˆØ�˜DŸJ™J q™MÑ)ˆÜÓ ð 	D CØ�J‰J”~Ð'BÔCØ�J‰J”}Ô%Ü˜!˜T 4¬¬t°VØ!%§¡°d·l±lôDˆC÷	Dð �<‰<×Ñ˜E 4Ó(¨5Ò0°T·[±[ÀIÒ5MÜ5°cÕ:ä˜CÐ-@ÀtÖL÷	Dð 	Dús   ÂAD0Ä0D9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        «       5 }t        r|j                  t        «       |j                  t        d«       t        |||||t        | j                  | j                  ¬«      }d d d «       t        d¬«       y # 1 sw Y   ŒxY w)N)r   r   r   r   r   r   r   r}   r¦   )r   r   r   r   r   r   r   )rÞ  gÍÌÌÌÌÌô?gÍÌÌÌÌÌì?r   r   r   r7   )rÞ  r   r   r   r   r   gUUUUUUå¿)r   r  r   r   r   r   ç±¿)r   r   rÞ  r   r   r   r&  r$  r   rÁ  rô   gŽ?ªªªªE@rá   )r:   rD   Úidentityr   rÖ  r  r   r   r
   rs   rª   r¶   r5   ©r­   rT   rm   rn   ro   rp   r   r   s           r   Útest_bug_8174_2z"LinprogCommonTests.test_bug_8174_2×  s  € ô �H‰HÒ*Ó+ˆÜ—‘˜A“ˆˆÜ�x‰x˜"˜ ˜t b T¨B¨4°"°¸°t¸b¸TÐBÓCˆÜ�x‰xÚ!Ú(Ú&Ú(Ú'ð
ó ˆô �x‰x˜#˜   a S¨1¨#°¨sÐ3Ó4ˆäÓ ð 	D CÝØ—
‘
œ>Ô*Ø�J‰J”Ð(AÔBÜ˜!˜T 4¨¨t´VØ!%§¡°d·l±lôDˆC÷		Dô 	˜Ð)9Ö:÷	Dð 	Dús   ÂA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	¢¬
«       y )N)r}   r   r   ç      ø?r+  )r'   ç      @r+  rñ   ç      À)r   rÔ   r¦   r-  rg   )r#   rž  r'   g      )Àrx   )r7   g      @r   r-  r¦   )r,  r   g      Àr7   g      #@)r   r   r   r   r   )rm   rn   r¶   rª   )r   r   rÎ  gUUUUUU@gUUUUUU#@r]  )r:   rD   r
   r¶   rª   r5   rW  s        r   Útest_bug_8561z LinprogCommonTests.test_bug_8561ï  sm   € ô
 �H‰HÒ)Ó*ˆÜ�x‰xÚ$Ú#Ú#Ú"Ú#ð%ó &ˆô �x‰xšÓ(ˆÜ�a˜d¨°t·|±|Ø!Ÿ[™[ô*ˆä˜Ò'=Ö>r   c                 ó  — g d¢}g d¢g d¢g d¢g d¢g}g d¢}g d¢}d}t        «       5 }t        r|j                  t        «       |j                  t        d	«       |j                  t
        «       t        |||t        t        || j                  | j                  ¬
«      }d d d «       |j                  g d¢«       |j                  d«       d|d<   t        «       5 }t        r|j                  t        «       |j                  t        d	«       |j                  t
        «       t        |||t        t        || j                  | j                  ¬
«      }d d d «       d}	t        ||	¬«       t        ||	¬«       y # 1 sw Y   ŒÙxY w# 1 sw Y   Œ4xY w)N)r|   rd   ry   r#   )rv   r~   r   ry   )r~   rv   r'   rw   )r   r'   rv   r   )r#   r{   r{   r|   )rz   é÷ÿÿÿr0  r   )r‡   r‡   r‡   r‡   g      B@rÈ  rô   )r   r   r7   r   r   r†   r   r…   )r2   r,   )r   rÖ  r  r   rF  r   r
   ro   rp   rª   r¶   rB   r5   )
r­   rT   rm   rn   rs   r2   r   Úres1Úres2r,   s
             r   Útest_bug_8662z LinprogCommonTests.test_bug_8662   sL  € ò ˆÚÚÚÚ ð"ˆò ˆÚ=ˆØ#ˆäÓ ð 	E CÝØ—
‘
œ>Ô*Ø�J‰J”~Ð'BÔCØ�J‰J”}Ô%Ü˜1˜d D¬$´°fØ"&§+¡+°t·|±|ôEˆD÷	Eð 	�‰’MÔ"Ø�‰�AŒØ ˆˆq‰	äÓ ð 	E CÝØ—
‘
œ>Ô*Ø�J‰J”~Ð'BÔCØ�J‰J”}Ô%Ü˜1˜d D¬$´°fØ"&§+¡+°t·|±|ôEˆD÷	Eð ˆÜ˜¨+¸DÕAÜ˜¨+¸DÖA÷-	Eð 	Eú÷	Eð 	Eús   §A6E5ÃA6FÅ5E>ÆF
c           
      ó¢   — ddg}ddgg}dg}ddg}t        |t        t        |||| j                  | j                  ¬«      }t        |dd	gd
¬«       y )Nr   r  r   rx   rw   r‡   r†   rô   gÛ¶mÛ¶më?gI’$I’$@rS  )r
   rm   rn   rª   r¶   r5   ra  s         r   Útest_bug_8663z LinprogCommonTests.test_bug_8663$  s]   € ð �ˆFˆØ�B�ˆyˆØˆtˆØ˜\Ð*ˆÜ�aœœt T¨4°Ø!Ÿ[™[°$·,±,ô@ˆä˜¨¨4 y¸fÖEr   c                 ó6  — dg}dgdgg}ddg}dgdgdgg}g d¢}t        «       5 }|j                  t        «       |j                  t        d«       t	        |||||t
        | j                  | j                  ¬	«      }d d d «       t        «       y # 1 sw Y   ŒxY w)
Nr'   r   r  r   r~   rz   ©r#   r   rd   rÕ  rô   )	r   r  rF  r   r
   rs   rª   r¶   r!   r(  s           r   Útest_bug_8664z LinprogCommonTests.test_bug_8664/  s¢   € ð ˆCˆØ��a�SˆzˆØ�1ˆvˆØ��b�T˜A˜3ÐˆÚˆÜÓ ð 	D CØ�J‰J”~Ô&Ø�J‰J”Ð(GÔHÜ˜!˜T 4¨¨t´VØ!%§¡°d·l±lôDˆC÷	Dô
 	˜3Õ÷	Dð 	Dús   ¤ABÂBc           
      ó\  — 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                  «       y	)
zv
        Test whether bug described at:
        https://github.com/scipy/scipy/issues/8973
        was fixed.
        )r   r   r   r   r7   )r   r   r   r   r   )r   r   r   r   r   r   r¦   )r†   r†   r†   rO  rO  rô   rá   N)r:   rD   r
   ro   rp   rª   r¶   r5   r   r1   r0   ru  s         r   Útest_bug_8973z LinprogCommonTests.test_bug_8973?  sƒ   € ô �H‰HÒ%Ó&ˆÜ�x‰xšª/Ð:Ó;ˆÜ�x‰x˜˜B˜Ó ˆÚ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¬«       y)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   rS  N)	r:   r?   rD   r
   ro   rp   rª   r¶   r5   ru  s         r   Útest_bug_8973_2z"LinprogCommonTests.test_bug_8973_2P  sh   € ô �H‰H�Q‹KˆÜ�x‰x˜!˜˜‹ˆÜ�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                  | j                  «       t        |||t        t        || j                  |¬«      }t        |ddgd¬«       y)zg
        Test for linprog docstring problem
        'disp'=True caused revised simplex failure
        r   r¦   r†   r7   r'   r{   r   ry   ræ   rÞ   Trô   rd   rç   rS  N)
r:   r?   rD   Úupdater¶   r
   ro   rp   rª   r5   )r­   rT   rm   rn   rs   r  r   s          r   Útest_bug_10124z!LinprogCommonTests.test_bug_10124`  s¬   € ô
 �H‰H�Q‹KˆÜ�x‰x˜!˜˜‹ˆÜ�x‰x˜˜‹~ˆØˆØ�ˆGˆØ�Q�˜!˜Q˜Ð ˆØ�1ˆvˆØ 
Ð+ˆØ�TˆNˆØ	�‰�—‘ÔÜ�a˜˜t¤T¬4°Ø!Ÿ[™[°!ô5ˆä˜¨¨B x¸SÖ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	        «       5 }|j                  t        d«       t        |t        t        ||t        | j                  | j                  ¬«      }ddd«       t        g d¢d¬«       y# 1 sw Y   ŒxY w)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   )éÝ   éÒ   rd   é�   éÆ   éf   r   r   r'   N©ÚaxisrÁ  rô   )é�   é\   r  rD  r   rd   rI  rS  )r:   rD   Úconcatenater?   r   r  r   r
   rm   rn   rs   rª   r¶   r5   )r­   ro   rp   rT   r   r   s         r   Útest_bug_10349z!LinprogCommonTests.test_bug_10349s  s¼   € ô
 �x‰xÒ+Ú+Ú+Ú+Ú+Ú+ð-ó .ˆô �x‰xÒ5Ó6ˆÜ�N‰N˜A˜q¤"§(¡(¨1£+Ð.°TÔ:ˆÜÓ ð 	D CØ�J‰J”Ð(AÔBÜ˜!œT¤4¨¨t´VØ!%§¡°d·l±lôDˆC÷	Dô 	˜Ò'@ÈbÖQ÷		Dð 	Dús   Á6A
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                   j                  d«      sddi}|j                  | j                  «       t	        «       5 }|j                  t        d«       t        r|j                  t        «       |j                  t        d«       |j                  t        d«       |j                  t        d«       |j                  t        d«       |j                  t        d«       t        |t        t        ||t        | j                   |¬«      }ddd«       t        j                   d«       y# 1 sw Y   Œ xY w)zA
        Test that autoscale fixes poorly-scaled problem
        )ç       Àr  rP  r  rP  r  r  r  r  r  r  r  r  )rñ   rñ   rß  rß  rß  rß  rß  rß  rß  rß  rß  rß  rß  )rß  rß  rñ   rñ   rß  rß  rß  rß  rß  rß  rß  rß  rß  )rß  rß  rß  rß  rñ   rñ   rß  rß  rß  rß  rß  rß  rß  )rñ   rß  rñ   rß  rñ   rß  rû   rß  rß  rß  rß  rß  rß  )rñ   rß  rñ   rß  rñ   rß  rß  rñ   rß  rß  rß  rß  rß  )rñ   rß  rß  rß  rß  rß  rß  rß  rñ   rß  rß  rß  rß  )rñ   rß  rß  rß  rß  rß  rß  rß  rß  rñ   rß  rß  rß  )rñ   rß  rñ   rß  rñ   rß  rß  rß  rß  rß  rñ   rß  rß  )rß  rß  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ç   þÿÿÏArQ  rQ  rQ  rQ  rQ  r½   Ú	autoscaleTrÕ  rÔ  zdivide by zero encountered...zoverflow encountered...zinvalid value encountered...úIll-conditioned matrix...rô   Nlýÿÿÿàÿ )rª   rÏ   r>  r¶   r   r  r   rÖ  r   rF  r   r
   rm   rn   rs   r   r0   )r­   rT   ro   rp   r  r   r   s          r   Útest_bug_10466z!LinprogCommonTests.test_bug_10466†  s  € ò NˆÚDÚDÚDÚEÚDÚDÚDÚDÚDÚDð	Fˆò ˆð
 ˆà�{‰{×%Ñ% gÔ.Ø˜dÐ#ˆAØ	�‰�—‘ÔäÓ ð 
	9 CØ�J‰J”Ð(GÔHÝØ—
‘
œ>Ô*Ø�J‰J”~Ð'CÔDØ�J‰J”~Ð'FÔGØ�J‰J”~Ð'@ÔAØ�J‰J”~Ð'EÔFØ�J‰J”}Ð&AÔBÜ˜!œT¤4¨¨t´VØ!%§¡°aô9ˆC÷
	9ô 	˜Ÿ™ Õ-÷
	9ð 
	9ús   Á/C	EÅE N)WÚ__name__Ú
__module__Ú__qualname__Ú__doc__rÜ   rä   rê   rï   rö   rù   rþ   r¹   ÚmarkÚthread_unsafer  r  r!  r(  r2  r?  rA  rK  rM  rQ  rT  rX  r[  r^  rb  rg  ri  rk  rm  rp  rv  rx  rz  r}  r�  rˆ  rŠ  r�  r�  r•  r—  rœ  rŸ  r¡  r£  r¥  r¨  r²  r´  r¹  r¿  rÂ  rÅ  rÉ  rÒ  r×  rÙ  rÛ  rà  ræ  rê  rì  rð  rû  r  r  r  r  r  r$  r)  r.  r3  r5  r8  r:  r<  r?  rK  ÚskipifÚsysÚplatformrT  r€   r   r   rØ   rØ   n  s$  „ ñò$ò8ò	.ò@ò)ò)ò;ð ‡[�[×Ññ9ó ð9ð  ‡[�[×Ññ2ó ð2ò$Oò8òB'ò%ò@%ð. ‡[�[×Ññ')ó ð')òRò
%òFò
@òFò
/ò;òGò;òGòGòNò ò ò ò">ò%ò6,ò,ò%ò%ò
%ò,ò%ò.ò	 ò%òò#ò Aò(Aò(
Lò9ò2 ò(Cò8òDò*-ò>	.ò.ò(Bò"	Còò" ò#ò"Dò.5>òn:ò,*6òX>ò$'@òRMò.;ò0?ò""BòH	Fò ò )ò"<ò Bò&Rð& ‡[�[×Ñ˜Ÿ™¨Ñ0ð!/ð ó 1ñ&.ó1ñ&.r   rØ   zignore::DeprecationWarningc                   ó   — e Zd ZdZy)ÚLinprogSimplexTestsrÃ   N©rU  rV  rW  rª   r€   r   r   r_  r_  ·  s   „ à�Fr   r_  c                   ó   — e Zd ZdZd„ Zy)ÚLinprogIPTestsrÁ   c                 ó.   — t        j                  d«       y )Nz*Test is failing, but solver is deprecated.©r¹   ÚskiprÛ   s    r   rT  zLinprogIPTests.test_bug_10466À  s   € Ü�‰Ð@ÕAr   N)rU  rV  rW  rª   rT  r€   r   r   rb  rb  ¼  s   „ à€FóBr   rb  c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚLinprogRSTestsrÂ   c                 ó.   — t        j                  d«       y ©Nz Intermittent failure acceptable.rd  rÛ   s    r   r  zLinprogRSTests.test_bug_5400Ø  ó   € Ü�‰Ð6Õ7r   c                 ó.   — t        j                  d«       y ri  rd  rÛ   s    r   r3  zLinprogRSTests.test_bug_8662Û  rj  r   c                 ó.   — t        j                  d«       y ri  rd  rÛ   s    r   rÒ  z LinprogRSTests.test_network_flowÞ  rj  r   N)rU  rV  rW  rª   r  r3  rÒ  r€   r   r   rg  rg  Ä  s   „ à€Fò$8ò8ó8r   rg  c                   óP  — e Zd Zd„ Zej
                  j                  ej
                  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
                  j                  d«      d„ «       Zd„ Zd„ Zej
                  j                  d¬«      d„ «       Zy)Ú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¬«       y )Nc                  ó   — y rÚ   r€   r    s    r   r¥   z+LinprogHiGHSTests.test_callback.<locals>.cbå  s   € Ør   r{   r¦   r   r   r   r§   r¨   r±   r«   ry   r¬   )r:   rD   r·   ÚNotImplementedErrorr
   rª   r5   )r­   r¥   rT   rm   rn   r   s         r   rÜ   zLinprogHiGHSTests.test_callbackã  sv   € ò	ä�H‰H�b˜"�XÓˆØ�A�˜˜A˜  A Ð'ˆÚˆÜÔ)¬7°A¸DÀtØ!¨$¯+©+õ	7ä�a˜d¨°d·k±kÔBˆÜ˜¨¸1¸a¸&ÖAr   r¶   r   r7   rÞ   r4  rÈ   Údual_feasibility_toleranceÚprimal_feasibility_toleranceÚipm_optimality_toleranceÚ!simplex_dual_edge_weight_strategyÚekkic                 ój   ‡ — ˆ fd„}|j                  ‰ j                  «       t        t        ||¬«       y )Nc                 ó6   •— t        d‰j                  | ¬«       y )Nr   rô   r  )r¶   r­   s    €r   r  z7LinprogHiGHSTests.test_invalid_option_values.<locals>.fû  s   ø€ Ü�A˜dŸk™k°7Ö;r   ©r¶   )r>  r¶   r   r   )r­   r¶   r  s   `  r   Útest_invalid_option_valuesz,LinprogHiGHSTests.test_invalid_option_valuesï  s$   ø€ ô	<à�‰�t—|‘|Ô$Ü”_ a°Ö9r   c                 óÀ   — t        d«      \  }}}}}d}t        ||||| j                  | j                  ¬«      }t	        |j
                  dk(  | j                  dk7  «       y )Nr'   rÇ   r:  r   r  )rU   r
   rª   r¶   r   Úcrossover_nit)r­   ro   rp   rT   r  rs   r   s          r   Útest_crossoverz LinprogHiGHSTests.test_crossover   s[   € Ü*¨1›oÑˆˆd�A�q˜!ØˆÜ�a˜d¨Ø#¨D¯K©KÀÇÁôOˆô 	�S×&Ñ&¨!Ñ+¨T¯[©[¸KÑ-GÕHr   rd   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 «       t        |j                  j                  «       ˆ
ˆˆˆˆˆˆ fd„}t        j                  d	¬
«      5  t        |‰d|j                  ¬«      }	d|	t        j                  ‰«       <   d d d «       t        |j                  j                  	«       y # 1 sw Y   Œ¦xY w# 1 sw Y   Œ6xY w)Nr   ©rj   rò  c           	      óP   •— t        ‰‰| ‰‰‰‰j                  ¬«      j                  S ©Nr¾   ©r
   rª   r0   )r1   ro   rm   rp   rs   rT   r­   s    €€€€€€r   Úf_bubz/LinprogHiGHSTests.test_marginals.<locals>.f_bub  s(   ø€ Ü˜1˜d A t¨T°6Ø"&§+¡+ô/ß/2©sð3r   z3-point)rª   Úf0c           	      óP   •— t        ‰‰‰‰| ‰‰j                  ¬«      j                  S r�  r‚  )r1   ro   rm   rn   rs   rT   r­   s    €€€€€€r   Úf_beqz/LinprogHiGHSTests.test_marginals.<locals>.f_beq  s(   ø€ Ü˜1˜d D¨$°°6Ø"&§+¡+ô/ß/2©sð3r   c           	      ó’   •— t        j                  | ‰g«      j                  }t        ‰‰‰‰‰|‰j                  ¬«      j
                  S r�  ©r:   rD   ri   r
   rª   r0   )	r1   rs   ro   rm   rp   rn   rT   r­   rr   s	     €€€€€€€r   Úf_lbz.LinprogHiGHSTests.test_marginals.<locals>.f_lb"  s@   ø€ Ü—X‘X˜q "˜gÓ&×(Ñ(ˆFÜ˜1˜d D¨$°°fØ"&§+¡+ô/ß/2©sð3r   Úignore)Úinvalidc           	      ó’   •— t        j                  ‰| g«      j                  }t        ‰‰‰‰‰|‰j                  ¬«      j
                  S r�  rˆ  )	r1   rs   ro   rm   rp   rn   rT   rq   r­   s	     €€€€€€€r   Úf_ubz.LinprogHiGHSTests.test_marginals.<locals>.f_ub/  s@   ø€ Ü—X‘X˜r 1˜gÓ&×(Ñ(ˆFÜ˜1˜d D¨$°°fØ"&§+¡+ô/ß/2©sð3r   )rt   r
   rª   r¶   ri   r   r0   r   rõ  r÷  rô  r:   ÚerrstateÚisfiniter±  rö  )r­   r   rƒ  Údfdbubr†  Údfdbeqr‰  Údfdlbr�  Údfdubro   rm   rp   rn   rs   rT   rq   rr   s   `         @@@@@@@@r   Útest_marginalsz LinprogHiGHSTests.test_marginals  sŽ  ÿø€ ô -<ÀÔ,CÑ)ˆˆ4��t˜T 6Ü�a˜d¨°D¸tØ#¨D¯K©KÀÇÁôOˆà—‘‰ˆˆB÷	3ñ 	3ô # 5¨$°yÀSÇWÁWÔMˆÜ˜Ÿ™×-Ñ-¨vÔ6÷	3ñ 	3ô # 5¨$°yÀSÇWÁWÔMˆÜ˜Ÿ	™	×+Ñ+¨VÔ4÷	3ò 	3ô
 �[‰[ Ô*ñ 	(ä% d¨B°yÀSÇWÁWÔMˆEØ&'ˆE”2—;‘;˜r“?Ð"Ñ#÷	(ô
 	˜Ÿ	™	×+Ñ+¨UÔ3÷	3ò 	3ô
 �[‰[ Ô*ñ 	(Ü% d¨B°yÀSÇWÁWÔMˆEØ&'ˆE”2—;‘;˜r“?Ð"Ñ#÷	(ô 	˜Ÿ	™	×+Ñ+¨UÕ3÷#	(ð 	(ú÷	(ð 	(ús   Ã:3GÅ63GÇGÇG'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¬«       y )Nr  r  rò  r   çê-�™—q=ró  )rt   r
   rª   r¶   ri   rõ  r÷  rô  rö  r±  r   )	r­   rT   rm   rn   ro   rp   rs   r   Úresids	            r   Útest_dual_feasibilityz'LinprogHiGHSTests.test_dual_feasibility:  s­   € ä,;ÀÔ,DÑ)ˆˆ4��t˜T 6Ü�a˜d¨°D¸tØ#¨D¯K©KÀÇÁôOˆð
 ��d—f‘f˜sŸ{™{×4Ñ4Ñ4Ñ4Ø—‘˜#Ÿ)™)×-Ñ-Ñ-ñ.à—‘×$Ñ$ñ%ð —‘×$Ñ$ñ%ˆô 	˜˜q uÖ-r   c           
      óö   — t        d¬«      \  }}}}}}t        ||||||| j                  | j                  ¬«      }t	        j
                  |j                  j                  |||j                  z  z
  z  d«      sJ ‚y )Nr  r  rò  r   )	rt   r
   rª   r¶   r:   Úallcloserõ  r÷  r1   rý   s           r   Útest_complementary_slacknessz.LinprogHiGHSTests.test_complementary_slacknessH  so   € ä,;ÀÔ,DÑ)ˆˆ4��t˜T 6Ü�a˜d¨°D¸tØ#¨D¯K©KÀÇÁôOˆô �{‰{˜3Ÿ;™;×0Ñ0°D¸4À#Ç%Á%¹<Ñ4GÑHÈ!ÔLÐLÑLr   z&Upstream / Wrapper issue, see gh-20589rM  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
                  j                  |||	ffd¬	«      }
t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        j                  j                  |d
d
|
||¬«      }|j                  dk(  sJ ‚|j                  }t         j                  j                  |
|z  |z
  «      }t         j                  j                  |j                  j                  «      }t        ||«       y
)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  ry   ry   r}   r}   rv   rv   rz   rz   rd   rË  rË  r  r  r  r  é   r¢  rs  rs  rs  rs  r;  r;  rÌ  rÌ  rÌ  rÌ  é   r£  rÍ  rÍ  rÍ  rÍ  rÎ  rÎ  re   re   re   re   é   r¤  é   r¥  r¥  r¥  é   r¦  é   r§  r§  r§  é   r¨  é   r©  r©  r©  é   rª  é   r«  r«  r«  é   r¬  é   r­  r­  r­  é   r®  )Sr;  rs  r£  rÌ  rÎ  rÍ  r¤  re   r¦  r¥  r¨  r§  rª  r©  r¬  r«  r®  r­  r¢  r   r   é    r#   rs  r¢  r'   r   r'   r   r¯  r®  r   r  r   r  rÌ  r;  r  r'   r  r'   rÍ  r£  ry   r  ry   r  re   rÎ  r}   ry   r}   ry   r¥  r¤  rv   r}   rv   r}   r§  r¦  rz   rv   rz   rv   r©  r¨  rd   rz   rd   rz   r«  rª  rË  rd   rË  rd   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ß  r8   )r¯  rÏ  )rH   N)rm   rn   ro   rp   rs   r   )r:   Úasarrayro  Úint32r‹   rŒ   Ú	csr_arrayÚoptimizer
   r   r1   Ú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_eqrp   rT   Úresultr1   Ún_r_xÚn_rs                    r   Útest_bug_20336z LinprogHiGHSTests.test_bug_20336S  s>  € ò
	#ˆ
ò9ˆ
òNˆ
ò
3ˆò
?ˆ	òTˆô Ÿ
™
 :´R·Z±ZÔ@ˆÜŸ
™
 :´R·X±XÔ>ˆÜ—Z‘Z ¬r¯x©xÔ8ˆ
ä�|‰|×%Ñ% }°mÀZÐ5PÐ&QØ,4ð &ó 6ˆä�z‰z˜)¬2¯:©:Ô6ˆÜ�J‰J�|¬2¯:©:Ô6ˆä—‘×'Ñ'¨°¸4ÀdÐQUØ/9ð (ó ;ˆà�}‰}˜aÒÐÐØ�H‰HˆÜ—	‘	—‘˜t a™x¨$™Ó/ˆÜ�i‰i�n‰n˜VŸ\™\×2Ñ2Ó3ˆÜ˜˜UÕ#r   N)rU  rV  rW  rÜ   r¹   rY  rZ  Úparametrizerz  r}  Ú	fail_slowr”  r˜  r›  r€  rÃ  r€   r   r   rn  rn  â  sá   „ ò
Bð ‡[�[×ÑØ‡[�[×Ñ˜YØ(¨"˜oØ% r˜lØ)¨2Ð.Ø+¨RÐ0Ø;¸RÐ@Ø=¸rÐBØ9¸2Ð>ØBÀFÐKð ó	!ñ:ó	!ó ð:òIð ‡[�[×Ñ˜2Óñ/4ó ð/4òb.ò	Mð ‡[�[×ÑÐFÐÓGñA$ó HñA$r   rn  c                   ób   ‡ — e Zd Zd„ Zd„ Zd„ Zej                  j                  ˆ fd„«       Z	ˆ xZ
S )ÚTestLinprogSimplexDefaultc                 ó   — i | _         y rÚ   ry  rÛ   s    r   Úsetup_methodz&TestLinprogSimplexDefault.setup_methodŸ  s	   € Øˆ�r   c                 ó.   — t        j                  d«       y ©NzSimplex fails on this problem.rd  rÛ   s    r   r  z'TestLinprogSimplexDefault.test_bug_5400¢  ó   € Ü�‰Ð4Õ5r   c                 ó.   — t        j                  d«       y rË  rd  rÛ   s    r   Útest_bug_7237_low_tolz/TestLinprogSimplexDefault.test_bug_7237_low_tol¥  s   € ô 	�‰Ð4Õ5r   c                 ó¸   •— | j                   j                  ddi«       t        j                  t        «      5  t
        ‰| �  «        d d d «       y # 1 sw Y   y xY w©Nr"  r–  ©r¶   r>  r¹   rº   r   Úsuperr$  ©r­   Ú	__class__s    €r   Útest_bug_8174_low_tolz/TestLinprogSimplexDefault.test_bug_8174_low_tolª  óG   ø€ ð 	�‰×Ñ˜U E˜NÔ+Ü�\‰\œ/Ó*ñ 	$Ü‰GÑ!Ô#÷	$÷ 	$ñ 	$úó   ¸AÁA)rU  rV  rW  rÉ  r  rÎ  r¹   rY  rZ  rÕ  Ú__classcell__©rÔ  s   @r   rÇ  rÇ  �  s0   ø„ òò6ò6ð
 ‡[�[×Ñó$ó ô$r   rÇ  c                   ó\   ‡ — e Zd Zd„ Zd„ Zej                  j                  ˆ fd„«       Zˆ xZ	S )ÚTestLinprogSimplexBlandc                 ó   — ddi| _         y )Nr¼  Try  rÛ   s    r   rÉ  z$TestLinprogSimplexBland.setup_methodµ  s   € Ø �ˆ�r   c                 ó.   — t        j                  d«       y rË  rd  rÛ   s    r   r  z%TestLinprogSimplexBland.test_bug_5400¸  rÌ  r   c                 ó  •— | j                   j                  ddi«       t        j                  t        «      5  t        j
                  t        «      5  t        ‰| �!  «        d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY wrÐ  )	r¶   r>  r¹   r	   r/   rº   r   rÒ  r$  rÓ  s    €r   rÕ  z-TestLinprogSimplexBland.test_bug_8174_low_tol»  sm   ø€ ð 	�‰×Ñ˜U E˜NÔ+Ü�]‰]œ>Ó*ñ 	(Ü—‘œoÓ.ñ (Ü‘Ñ%Ô'÷(÷	(ð 	(÷(ð (ú÷	(ð 	(ús#   ¸A>ÁA2Á!A>Á2A;	Á7A>Á>B)
rU  rV  rW  rÉ  r  r¹   rY  rZ  rÕ  rØ  rÙ  s   @r   rÛ  rÛ  ³  s+   ø„ ò'ò6ð ‡[�[×Ñó(ó ô(r   rÛ  c                   ó8  ‡ — e Zd Zd„ Z ej
                  d«      j                  dk  Zej                  j                  d«      Zej                  j                  exr ed¬«      ˆ fd„«       Zˆ fd„Zd	„ Zej                  j$                  ˆ fd
„«       Zd„ Zd„ Zˆ xZS )ÚTestLinprogSimplexNoPresolvec                 ó   — ddi| _         y )Nr4  Fry  rÛ   s    r   rÉ  z)TestLinprogSimplexNoPresolve.setup_methodÇ  s   € Ø" EÐ*ˆ�r   r   rv   Úlinuxz"Fails with warning on 32-bit linux)Ú	conditionrN  c                 ó"   •— t         ‰| �  «        y rÚ   )rÒ  r  rÓ  s    €r   r  z*TestLinprogSimplexNoPresolve.test_bug_5400Í  s   ø€ ô 	‰ÑÕr   c                 ó¼   •— | j                   j                  ddi«       t        j                  t        d¬«      5  t
        ‰| �  «       cd d d «       S # 1 sw Y   y xY w)Nr"  r–  zlinprog status 4r²   )r¶   r>  r¹   r	   r/   rÒ  r  rÓ  s    €r   Útest_bug_6139_low_tolz2TestLinprogSimplexNoPresolve.test_bug_6139_low_tolÓ  sJ   ø€ ð
 	�‰×Ñ˜U E˜NÔ+Ü�]‰]œ>Ð1CÔDñ 	+Ü‘7Ñ(Ó*÷	+÷ 	+ò 	+ús   ºAÁAc                 ó.   — t        j                  d«       y rË  rd  rÛ   s    r   rÎ  z2TestLinprogSimplexNoPresolve.test_bug_7237_low_tolÜ  rÌ  r   c                 ó¸   •— | j                   j                  ddi«       t        j                  t        «      5  t
        ‰| �  «        d d d «       y # 1 sw Y   y xY wrÐ  rÑ  rÓ  s    €r   rÕ  z2TestLinprogSimplexNoPresolve.test_bug_8174_low_tolß  rÖ  r×  c                 ó.   — t        j                  d«       y ©Nz#Tests behavior specific to presolverd  rÛ   s    r   r²  zGTestLinprogSimplexNoPresolve.test_unbounded_no_nontrivial_constraints_1ç  ó   € Ü�‰Ð9Õ:r   c                 ó.   — t        j                  d«       y rê  rd  rÛ   s    r   r´  zGTestLinprogSimplexNoPresolve.test_unbounded_no_nontrivial_constraints_2ê  rë  r   )rU  rV  rW  rÉ  r:   ÚintpÚitemsizeÚ	is_32_bitr\  r]  rÏ   Úis_linuxr¹   rY  r€  r  ræ  rÎ  rZ  rÕ  r²  r´  rØ  rÙ  s   @r   rà  rà  Å  s›   ø„ ò+ð �—‘˜“
×#Ñ# aÑ'€IØ�|‰|×&Ñ& wÓ/€Hà‡[�[×ÑØÒ( Ø3ð ó 5ó ó5ð ô+ò6ð ‡[�[×Ñó$ó ð$ò;ö;r   rà  c                   ó€   ‡ — e Zd ZddiZej
                  j                  ej                  dk(  d¬«      ˆ fd„«       Z	ˆ xZ
S )ÚTestLinprogIPDenserŒ   FrL  z:Fails on some macOS builds for reason not relevant to testrM  c                 ó"   •— t         ‰| �  «        y rÚ   ©rÒ  r  rÓ  s    €r   r  z TestLinprogIPDense.test_bug_6139÷  s   ø€ ô
 	‰ÑÕr   )rU  rV  rW  r¶   r¹   rY  r[  r\  r]  r  rØ  rÙ  s   @r   rò  rò  ó  sD   ø„ Ø˜Ð€Gð ‡[�[×ÑØ�‰˜Ñ ØKð ó ó ó	ô r   rò  c                   ó   — e Zd ZdddœZy)ÚTestLinprogIPSparseCholmodT©rŒ   r   N©rU  rV  rW  r¶   r€   r   r   rö  rö  ÿ  s   „ Ø!¨tÑ4‰r   rö  c                   ó   — e Zd ZdddœZd„ Zy)ÚTestLinprogIPSparseUmfpackTFr÷  c                 ó.   — t        j                  d«       y )Nz2Failing due to numerical issues on some platforms.rd  rÛ   s    r   r×  z=TestLinprogIPSparseUmfpack.test_network_flow_limited_capacity  s   € Ü�K‰KÐLÕMr   N)rU  rV  rW  r¶   r×  r€   r   r   rú  rú    s   „ Ø!¨uÑ5ˆó	Nr   rú  c                   ó  ‡ — e Zd ZddddœZej
                  j                  ej                  dk(  d¬«      ej
                  j                  d«      ˆ fd„«       «       Z
ej
                  j                  d	¬«      ˆ fd
„«       Zd„ Zd„ Zˆ xZS )ÚTestLinprogIPSparseTF©rŒ   r   Úsym_posrL  ú/Fails on macOS x86 Accelerate builds (gh-20510)rM  úrThis test is sensitive to machine epsilon level perturbations in linear system solution in _linprog_ip._sym_solve.c                 ó"   •— t         ‰| �  «        y rÚ   rô  rÓ  s    €r   r  z!TestLinprogIPSparse.test_bug_6139  ó   ø€ ô 	‰ÑÕr   úFails with ATLAS, see gh-7877c                 ó"   •— t         ‰| �  «        y rÚ   ©rÒ  r  rÓ  s    €r   r  z!TestLinprogIPSparse.test_bug_6690  ó   ø€ ô 	‰ÑÕr   c                 ó¼  — t        d«      \  }}}}}d}t        «       5 }t        r|j                  t        «       |j                  t
        d«       |j                  t        d«       | j                  D �ci c]  }|| j                  |   “Œ }}d|d<   t        |t        t        |||| j                  |¬«      }	d d d «       t        	d¬	«       y c c}w # 1 sw Y   ŒxY w)
Nr#   rÇ   zMatrix is exactly singularrÕ  Fr4  rô   r  rá   )rU   r   rÖ  r  r   r   r   r¶   r
   rm   rn   rª   r5   )
r­   ro   rp   rT   r  rs   r   r  r  r   s
             r   Ú$test_magic_square_sparse_no_presolvez8TestLinprogIPSparse.test_magic_square_sparse_no_presolve  sÅ   € ä*¨1›oÑˆˆd�A�q˜!ØˆäÓ ð 
	9 CÝØ—
‘
œ>Ô*Ø�J‰JÔ(Ð*FÔGØ�J‰J”Ð(GÔHà37·<±<Ö@¨C��d—l‘l 3Ñ'Ñ'Ð@ˆAÐ@Ø!ˆAˆj‰Mä˜!œT¤4¨¨t°VØ!%§¡°aô9ˆC÷
	9ô 	˜¨Ö5ùò A÷
	9ð 
	9ús   žACÁ4CÂ,CÃCÃCc                 óž  — t        d«      \  }}}}}t        «       5 }|j                  t        d«       |j                  t        d«       | j                  D �ci c]  }|| j                  |   “Œ }}d}|D ]=  }	|	|d<   t        |t        t        ||t        | j                  |¬«      }
t        |
d¬«       Œ? 	 d d d «       y c c}w # 1 sw Y   y xY w)	Nr#   rÁ  zInvalid permc_spec option)ÚNATURALÚMMD_ATAÚMMD_AT_PLUS_AÚCOLAMDr°   Ú
permc_specrô   r  rá   )rU   r   r  r   r¶   r
   rm   rn   rs   rª   r5   )r­   ro   rp   rT   r  r   r  r  Úpermc_specsr  r   s              r   Útest_sparse_solve_optionsz-TestLinprogIPSparse.test_sparse_solve_options/  sË   € ä*¨1›oÑˆˆd�A�q˜!ÜÓ ð 	> CØ�J‰J”Ð(AÔBØ�J‰J”Ð(CÔDØ37·<±<Ö@¨C��d—l‘l 3Ñ'Ñ'Ð@ˆAÐ@ð7ˆKð *ò >�
Ø",��,‘Ü˜a¤¤t¨T°4¼Ø%)§[¡[¸!ô=�ä °Ö=ñ	>÷	>ð 	>ùò A÷	>ð 	>ús   œ;CÁB>Á.ACÂ>CÃC)rU  rV  rW  r¶   r¹   rY  r[  r\  r]  Úxfail_on_32bitr  r€  r  r	  r  rØ  rÙ  s   @r   rý  rý    s“   ø„ Ø¨5¸UÑC€Gà‡[�[×ÑØ�‰˜Ñ Ø@ð ó ð ‡[�[×Ñð !:ó ;ó ó;ó	ð ð ‡[�[×ÑÐ=ÐÓ>ó ó ?ð ò6ö$>r   rý  c                   ó  ‡ — e Zd ZdddœZej
                  j                  ej                  dk(  d¬«      ej
                  j                  d«      ˆ fd„«       «       Z
d„ Zej
                  j                  d	¬«      ˆ fd
„«       Zˆ xZS )ÚTestLinprogIPSparsePresolveT)rŒ   r  rL  r   rM  r  c                 ó"   •— t         ‰| �  «        y rÚ   rô  rÓ  s    €r   r  z)TestLinprogIPSparsePresolve.test_bug_6139D  r  r   c                 ó.   — t        j                  d«       y )Nz6_sparse_presolve=True incompatible with presolve=Falserd  rÛ   s    r   rì  zBTestLinprogIPSparsePresolve.test_enzo_example_c_with_infeasibilityN  s   € Ü�‰ÐLÕMr   r  c                 ó"   •— t         ‰| �  «        y rÚ   r  rÓ  s    €r   r  z)TestLinprogIPSparsePresolve.test_bug_6690Q  r  r   )rU  rV  rW  r¶   r¹   rY  r[  r\  r]  r  r  rì  r€  r  rØ  rÙ  s   @r   r  r  A  s�   ø„ Ø°4Ñ8€Gà‡[�[×ÑØ�‰˜Ñ Ø@ð ó ð ‡[�[×Ñð !:ó ;ó ó;ó	ð òNð ‡[�[×ÑÐ=ÐÓ>ó ó ?ô r   r  c                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú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
¬«       y )NTr÷  Frþ  re   rß   r±   z(linprog default solver unexpected resultgVçž¯â<gVçž¯Ò<r*   )Úhas_cholmodrÖ  rb   r
   rª   r   r0   )r­   r¶   rR   rS   rT   r1  r2  s          r   Útest_solver_selectz(TestLinprogIPSpecific.test_solver_select]  s€   € åØ!%°4Ñ8‰GÝØ!%°5Ñ9‰Gà!%°5ÀUÑKˆGÜ˜2˜rÓ"‰ˆˆ1ˆaÜ�q˜q q°·±ÀgÔNˆÜ�q˜q q°·±Ô=ˆÜ˜Ÿ™ $§(¡(Ø JØ"¨ö	0r   c                 ób   — dg}dg}t        ||| j                  dddœ¬«      }t        |d¬«       y )Nr7   r§  FT)r4  r   rE  rá   )r
   rª   r5   rP  s       r   Ú)test_unbounded_below_no_presolve_originalz?TestLinprogIPSpecific.test_unbounded_below_no_presolve_originall  s:   € àˆDˆØ�ˆÜ˜ &Ø!Ÿ[™[Ø+0¸dÑCôEˆô 	˜¨Ö,r   c                 óv   — t        dd«      \  }}}t        |||| j                  ddi¬«      }t        |d¬«       y )Nre   r   Trß   rà   rá   râ   rã   s        r   Útest_choleskyz#TestLinprogIPSpecific.test_choleskyu  s<   € ä˜2˜rÓ"‰ˆˆ1ˆaÜ�a˜a a°·±Ø)¨4Ð0ô2ˆä˜¨Ö7r   c           
      ó:  — t        dd«      \  }}}t        «       5 }|j                  t        d«       |j                  t        d«       |j                  t
        d«       t        |||| j                  dddœ¬«      }d d d «       t        d¬	«       y # 1 sw Y   ŒxY w)
Nre   rÔ  rÕ  rS  T)ÚiprÞ   rß   rà   rá   )	rb   r   r  rF  r   r   r
   rª   r5   )r­   rR   rS   rT   r   r   s         r   Útest_alternate_initial_pointz2TestLinprogIPSpecific.test_alternate_initial_point|  sˆ   € ä˜2˜rÓ"‰ˆˆ1ˆaÜÓ ð 	> CØ�J‰J”~Ð'CÔDØ�J‰J”Ð(GÔHØ�J‰J”}Ð&AÔBÜ˜! !¨!°D·K±KØ)-°tÑ"<ô>ˆC÷		>ô 	˜¨Ö7÷	>ð 	>ús   ›A BÂBc                 ó>  — dg}dgdgg}ddg}dgdgdgg}g d¢}t        «       5 }|j                  t        «       |j                  t        d«       t	        |||||t
        | j                  d	d
i¬«      }d d d «       t        j                   d«       y # 1 sw Y   Œ!xY w)Nr'   r   r  r   r~   rz   r7  rÕ  r4  Frô   r   )	r   r  rF  r   r
   rs   rª   r   r   r(  s           r   r8  z#TestLinprogIPSpecific.test_bug_8664ˆ  sª   € àˆCˆØ��a�SˆzˆØ�1ˆvˆØ��b�T˜A˜3ÐˆÚˆÜÓ ð 	K CØ�J‰J”~Ô&Ø�J‰J”Ð(GÔHÜ˜!˜T 4¨¨t´VØ!%§¡°zÀ5Ð6IôKˆC÷	Kô
 	�C—K‘K�Ð!?Õ@÷	Kð 	Kús   ¤ABÂBN)	rU  rV  rW  rª   r  r  r   r#  r8  r€   r   r   r  r  W  s!   „ à€Fò0ò-ò8ò
8óAr   r  c                   ó:   — e Zd Zi Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y)	ÚTestLinprogRSCommonc                 ó.   — t        j                  d«       y ri  rd  rÛ   s    r   r¿  z%TestLinprogRSCommon.test_cyclic_blandŸ  rj  r   c                 óÈ   — t        «       \  }}}}}}}t        |||||t        | j                  | j                  |¬«	      }t        |||¬«       t        |j                  d«       y ©N©rª   r¶   Úx0r¬   r   ©rƒ   r
   rs   rª   r¶   r5   r   rœ   rÄ  s	            r   Ú"test_nontrivial_problem_with_guessz6TestLinprogRSCommon.test_nontrivial_problem_with_guess¢  óY   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6Ü�a˜˜t T¨4´Ø!Ÿ[™[°$·,±,À6ôKˆä˜¨¸6ÕBÜ�S—W‘W˜aÕ r   c                 óÈ   — t        «       \  }}}}}}}g d¢}t        ||||||| j                  | j                  |¬«	      }	t	        |	||¬«       t        |	j                  d«       y )N)r†   r†   r‡   r†   r*  r¬   r   ©rƒ   r
   rª   r¶   r5   r   rœ   ©
r­   rT   rm   rn   ro   rp   r�   r‚   rs   r   s
             r   Ú0test_nontrivial_problem_with_unbounded_variableszDTestLinprogRSCommon.test_nontrivial_problem_with_unbounded_variables©  s^   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6ÚFˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,À6ôKˆä˜¨¸6ÕBÜ�S—W‘W˜aÕ r   c                 óÈ   — t        «       \  }}}}}}}g d¢}t        ||||||| j                  | j                  |¬«	      }	t	        |	||¬«       t        |	j                  d«       y )N)r§  ©r   Nr‡   ©rÝ  g333333ã?r*  r¬   r   r0  r1  s
             r   Ú.test_nontrivial_problem_with_bounded_variableszBTestLinprogRSCommon.test_nontrivial_problem_with_bounded_variables±  s^   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6Ú<ˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,À6ôKˆä˜¨¸6ÕBÜ�S—W‘W˜aÕ r   c                 ó   — t        «       \  }}}}}}}dg}t        j                  g d¢«      }d}g d¢}t        ||||||| j                  | j
                  |¬«	      }	t        |	||¬«       t        |	j                  d«       y )Nr'   )giblÝ3â¿gç%Gà/ø?r   rÝ  g«@Q†$@)r†   r4  r‡   r5  r*  r¬   r   )	rƒ   r:   rD   r
   rª   r¶   r5   r   rœ   r1  s
             r   Ú8test_nontrivial_problem_with_negative_unbounded_variablezLTestLinprogRSCommon.test_nontrivial_problem_with_negative_unbounded_variable¹  sy   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6ØˆsˆÜ—‘Ò6Ó7ˆØˆÚ?ˆÜ�a˜˜t T¨4°Ø!Ÿ[™[°$·,±,À6ôKˆä˜¨¸6ÕBÜ�S—W‘W˜aÕ r   c                 ó´   — t        «       \  }}}}}}}g d¢}t        |||||t        | j                  | j                  |¬«	      }	t        |	j                  d«       y ©N)r   r   r#   rg   r*  ry   ©rƒ   r
   rs   rª   r¶   r   r   ©
r­   rT   rm   rn   ro   rp   r�   r‚   Ú	bad_guessr   s
             r   Ú&test_nontrivial_problem_with_bad_guessz:TestLinprogRSCommon.test_nontrivial_problem_with_bad_guessÄ  óR   € Ü4FÓ4HÑ1ˆˆ4��t˜T 6¨6Ú!ˆ	Ü�a˜˜t T¨4´Ø!Ÿ[™[°$·,±,À9ôNˆä�S—Z‘Z Õ#r   c                 óš  — t        d«      \  }}}}}t        j                  j                  |j                  Ž }t        «       5 }|j                  t        d«       |j                  t        d«       |j                  t        «       t        |||| j                  ¬«      }t        |||| j                  |j                  ¬«      }t        ||z   ||| j                  |j                  ¬«      }	d d d «       t        d¬«       t        |j                  d«       t        	«       t!        |	j                  j                  k  «       y # 1 sw Y   ŒZxY w)	Nr#   rÁ  rÈ  )ro   rp   rª   )ro   rp   rª   r+  r  rá   r   )rU   r:   r;   rG   rH   r   r  r   rF  r   r
   rª   r1   r5   r   rœ   r   )
r­   rR   rS   rT   r  rÑ  r   r   r2  Úres3s
             r   Ú%test_redundant_constraints_with_guessz9TestLinprogRSCommon.test_redundant_constraints_with_guessË  sù   € Ü$ Q›‰ˆˆ1ˆa��AÜ�I‰I�N‰N˜AŸG™GÐ$ˆÜÓ ð 	P CØ�J‰J”Ð(AÔBØ�J‰J”~Ð'BÔCØ�J‰J”}Ô%Ü˜! !¨!°D·K±KÔ@ˆCÜ˜1 1¨1°T·[±[ÀSÇUÁUÔKˆDÜ˜1˜q™5 q¨q¸¿¹ÈÏÉÔOˆD÷	Pô 	˜¨+Õ6Ü�T—X‘X˜qÔ!Ü˜ÔÜ�—‘˜3Ÿ7™7Ñ"Õ#÷	Pð 	Pús   ÁB&EÅE
N)rU  rV  rW  r¶   r¿  r-  r2  r6  r8  r>  rB  r€   r   r   r&  r&  œ  s*   „ Ø€Gò8ò!ò!ò!ò	!ò$ó$r   r&  c                   ó   — e Zd ZddiZy)ÚTestLinprogRSBlandÚpivotr¼  Nrø  r€   r   r   rD  rD  Û  s   „ Ø˜Ð �Gr   rD  c                   ó   — e Zd ZdZi Zd„ Zy)ÚTestLinprogHiGHSSimplexDualrË   c                 ó|  — t        «       \  }}}}t        ||||| j                  | j                  ¬«      }t	        |j
                  d«       t        |j                  du«       t        t        j                  |j                  dkD  «      «       t        t        j                  |j                  |D ��cg c]  \  }}|€t        j                  n|‘Œ c}}k  «      «       t        t        j                  |j                  |D ��cg c]  \  }}|€t        j                   n|dz
  ‘Œ c}}k\  «      «       yc c}}w c c}}w )z�
        The scaled model should be optimal, i.e. not produce unscaled model
        infeasible.  See https://github.com/ERGO-Code/HiGHS/issues/494.
        )rm   rn   rs   rª   r¶   r   Ng�íµ ÷Æ°¾r¸  )r–   r
   rª   r¶   r   r   r   r1   r:   Úallr�   rh   )r­   rT   rm   rn   r•   r   rq   rr   s           r   Útest_lad_regressionz/TestLinprogHiGHSSimplexDual.test_lad_regressionè  s  € ô 1Ó2Ñˆˆ4��tÜ�a˜d¨°dØ!Ÿ[™[°$·,±,ô@ˆä�S—Z‘Z Ô#Ü�—‘˜TÐ!Ô"Ü”—‘�s—y‘y 5Ñ(Ó)Ô*Ü”—‘�s—u‘uØ/3÷!5Ù%+ R¨ð ,.¨:¤§¢¸2Ñ!=ó !5ñ 5ó 6ô 	7ä”—‘�s—u‘uØ/3÷!5Ù%+ R¨ð -/¨J¤"§&¡&¡¸BÀ¹IÑ!Eó !5ñ 5ó 6õ 	7ùó!5ùó!5s   Â1D2Ä"D8N)rU  rV  rW  rª   r¶   rJ  r€   r   r   rG  rG  ä  s   „ Ø€FØ€Gó7r   rG  c                   ó   — e Zd ZdZi Zy)ÚTestLinprogHiGHSIPMr  N)rU  rV  rW  rª   r¶   r€   r   r   rL  rL   	  s   „ Ø€FØ�Gr   rL  c                   ór  — e Zd ZdZi Zej                  j                  d«      ej                  j                  e	j                  dk  xr  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y)ÚTestLinprogHiGHSMIPr½   rd   l        ÚLinuxFzgh-16347)rã  ÚrunrN  c           	      óœ  — d}t        |«      \  }}}}}dgt        |«      z  }dgt        |«      z  }t        |dz  |||| j                  |¬«      }	|j	                  «       |	j
                  z  j                  |dz  ||«      }
t        j                  |
d¬«      }t        j                  j                  |j                  d¬«      |«       t        j                  j                  |j                  d¬«      |«       t        j                  j                  t        j                  |«      j                  «       |«       t        j                  j                  t        j                  |d d …d d d…f   «      j                  «       |«       t        j                  j                  |	j
                  t        j                  |	j
                  «      d	¬
«       y )Nr'   rÇ   r   r   ©rT   ro   rp   rs   rª   rÊ   r   rF  r7   r–  ró  )rU   rÐ   r
   rª   rC   r1   r>   r:   rf  r  r   ÚdiagÚround)r­   rI   rR   rS   rT   rL   rK   rs   rÊ   r   ÚsÚsquares               r   Ú	test_mip1zTestLinprogHiGHSMIP.test_mip1	  sT  € ð ˆÜ*¨1›oÑˆˆ1ˆa�˜!Ø�œC ›FÑ"ˆØ�cœC ›F‘lˆä˜˜!™ !¨!°FØ!Ÿ[™[°kôCˆð �_‰_Ó §¡Ñ&×/Ñ/°°1±°a¸Ó;ˆÜ—‘˜ Ô"ˆÜ
�
‰
×"Ñ" 6§:¡:°1 :Ó#5°qÔ9Ü
�
‰
×"Ñ" 6§:¡:°1 :Ó#5°qÔ9Ü
�
‰
×"Ñ"¤2§7¡7¨6£?×#6Ñ#6Ó#8¸!Ô<Ü
�
‰
×"Ñ"¤2§7¡7¨6²!±T°r°T°'©?Ó#;×#?Ñ#?Ó#AÀ1ÔEä
�
‰
×"Ñ" 3§5¡5¬"¯(©(°3·5±5«/ÀÐ"Õ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                  |j                  ddg«       t         j                  j                  |j                  d
«       y )Nr   r¦   r~   rd   r7   r¢  r   r   r  r{   )r:   rD   rh   rÐ   Ú	ones_liker
   rª   r  r   r1   r0   r  s          r   Ú	test_mip2zTestLinprogHiGHSMIP.test_mip2(	  sÆ   € ô �x‰x˜!˜R˜ 2 r (Ð+Ó,ˆÜ�x‰x˜˜R˜Ó!ˆÜ�X‰X�q˜!�fÓÐˆä—‘˜AœrŸv™v˜;˜-¬#¨a«&Ñ0Ó1ˆÜ—l‘l 1“oˆä˜ ¨4¸Ø!Ÿ[™[°kôCˆô 	�
‰
×"Ñ" 3§5¡5¨1¨a¨&Ô1Ü
�
‰
×"Ñ" 3§7¡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                  |j                  d«       t        j                  |j                  ddg«      s%t        j                  |j                  ddg«      sJ ‚y y )	Nr7   r   r#   r   r
  r   r  r¦   )r:   rD   rh   rÐ   r
   rª   r  r   r0   rš  r1   r  s          r   Ú	test_mip3zTestLinprogHiGHSMIP.test_mip3;	  sÜ   € ô �x‰x˜"˜a˜ 1 a &¨1¨a¨&Ð1Ó2ˆÜ�x‰xšÓ$ˆÜ�X‰X�q˜!�fÓÐˆà”b—f‘f�+�¤ Q£Ñ'ˆØ�cœC ›F‘lˆä˜ ¨4¸Ø!Ÿ[™[°kôCˆô 	�
‰
×"Ñ" 3§7¡7¨BÔ/ä�{‰{˜3Ÿ5™5 1 a &Ô)¬R¯[©[¸¿¹ÀÀAÀÔ-GÐGÐGÐ-GÐ)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dg}t	        ||||| j
                  |¬	«      }t         j                  j                  |j                  d
dg«       t         j                  j                  |j                  d«       y )Nr7   r¦   r   r   r   )rs  ißÿÿÿre   rv   r   r  g      @r}   é;   )
r:   rD   rh   rÐ   r
   rª   r  r   r1   r0   r  s          r   Ú	test_mip4zTestLinprogHiGHSMIP.test_mip4L	  s¸   € ô �x‰x˜"˜b˜ B¨ 8¨a°¨VÐ4Ó5ˆÜ�x‰xšÓ&ˆÜ�H‰H�a˜�VÓˆà”b—f‘f�+�¤ Q£Ñ'ˆØ˜!�fˆä˜ ¨4¸Ø!Ÿ[™[°kôCˆô 	�
‰
×"Ñ" 3§5¡5¨3°¨(Ô3Ü
�
‰
×"Ñ" 3§7¡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                  |j                  g d
¢«       t         j
                  j                  |j                  d«       |j                  dd «      €J ‚|j                  dd «      €J ‚|j                  dd «      €J ‚y )Nr„  r}   )r'   r   r   r  )r{   r¦   r7   r   rÇ   r7  )rT   rm   rn   ro   rp   rs   rª   rÊ   )r   ry   r   iôÿÿÿÚmip_node_countÚmip_dual_boundÚmip_gap)
r:   rD   rh   r
   rª   r  r   r1   r0   r<  )	r­   rm   rn   ro   rp   rT   rs   rÊ   r   s	            r   Ú	test_mip5zTestLinprogHiGHSMIP.test_mip5\	  s  € ô �x‰xš˜Ó$ˆÜ�x‰x˜˜‹}ˆÜ�x‰xš˜Ó$ˆÜ�x‰x˜˜‹~ˆÜ�H‰H’\Ó"ˆà”b—f‘f�+ ¤2§6¡6˜{¨FÐ3ˆÚˆä˜ ¨4°dÀØ#¨D¯K©KØ"-ô/ˆô 	�
‰
×"Ñ" 3§5¡5ª)Ô4Ü
�
‰
×"Ñ" 3§7¡7¨CÔ0ð �w‰wÐ'¨Ó.Ð:Ð:Ð:Ø�w‰wÐ'¨Ó.Ð:Ð:Ð:Ø�w‰w�y $Ó'Ð3Ð3Ñ3r   c                 ód  — 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                  |j                  d«       y )N©r¥  r¢  r©  rÏ  r¤  r#   rs  r©  ©é'   rÌ  r¥  r«  r©  r­  r¦  r§  ©rÍ  rs  r¬  rª  r­  é&   r©  r©  ©é)   r©  r«  r®  rÍ  rj  rÌ  r©  ©iÀ  iâ(  i:,  i/  ©r   rd   r¢  r£  r}   r  r}   r#   r   rv   r   rR  i>  )r:   rD   rh   r
   rª   r  r   r0   )r­   ro   rp   rT   rs   rÊ   r   s          r   Ú	test_mip6zTestLinprogHiGHSMIP.test_mip6t	  s—   € ô �x‰xÒ8Ú9Ú9Ú9ð;ó <ˆô �x‰xÒ3Ó4ˆÜ�H‰HÒ0Ó1ˆà”b—f‘f�+�˜q‘ˆØ�c˜!‘eˆä˜ ¨4¸Ø!Ÿ[™[°kôCˆô 	�
‰
×"Ñ" 3§7¡7¨DÕ1r   c                 ó6  — 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 ]G  }t        |t        t
        |||| j                  |d|i¬«	      }	|	d   }
|
|k  sJ ‚|j                  |
«       ŒI t        j                  t        j                  |«      «      }t        j                  |dk\  «      sJ ‚t        j                  |dk(  «      rJ ‚y )Nrf  rg  ri  rk  rm  rn  r   rv   r   )rg   g      Ð?g{®Gáz„?rŸ  Úmip_rel_gap)	rT   rm   rn   ro   rp   rs   rª   rÊ   r¶   rc  )r:   rD   rh   r
   rm   rn   rª   rB   ÚdiffÚfliprI  )r­   ro   rp   rT   rs   rÊ   Úmip_rel_gapsÚsol_mip_gapsrq  r   Úfinal_mip_gapÚ	gap_diffss               r   Útest_mip_rel_gap_passdownz-TestLinprogHiGHSMIP.test_mip_rel_gap_passdown‡	  s  € ô
 �x‰xÒ8Ú9Ú9Ú9ð;ó <ˆô �x‰xÒ3Ó4ˆÜ�H‰HÒ0Ó1ˆà”b—f‘f�+�˜q‘ˆØ�c˜!‘eˆâ/ˆØˆØ'ò 		/ˆKÜ˜A¤D¬t¸$ÀTØ!'°·±Ø&1Ø#0°+Ð">ô@ˆCð   	™NˆMð ! KÒ/Ð/Ð/Ø×Ñ Õ.ð		/ô" —G‘GœBŸG™G LÓ1Ó2ˆ	Ü�v‰v�i 1‘nÔ%Ð%Ð%Ü—6‘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	                  |j
                  g d¢«       |j                  dk(  sJ ‚y )	N)rñ   rñ   r7   r7   rg   r+  )r   r#   r   r#   r½   )rs   rÊ   rª   )r   r   r+  r   r   )r:   rD   r
   r  r   r1   r   )r­   rT   rs   rÊ   r   s        r   Útest_semi_continuousz(TestLinprogHiGHSMIP.test_semi_continuous­	  s…   € ô
 �H‰HÒ%Ó&ˆÜ—‘˜C ˜:¨¨S z°C¸°:ÀÀS¸zÐJÓKˆÜ—h‘hš|Ó,ˆä�a Ø"-°gô?ˆô 	�
‰
×"Ñ" 3§5¡5ª.Ô9Ø�z‰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                  «       y)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   r7   r   rÔ   rÕ   N)r
   r:   r°  r   r1   )r­   rT   rm   rn   r1  r2  rA  s          r   Útest_bug_20584z"TestLinprogHiGHSMIP.test_bug_20584¼	  s„   € ð
 �ˆFˆØ�Q�ˆyˆØˆvˆÜ�q˜t¨$¸QÀ¸FÔCˆÜ�q˜t¨$¼B¿J¹JÈÈ1ÀvÓ<NÔOˆÜ�q˜t¨$¸DÔAˆÜ�T—V‘V˜TŸV™VÔ$Ü�T—V‘V˜TŸV™VÕ$r   N)rU  rV  rW  rª   r¶   r¹   rY  rÅ  r€  r\  Úmaxsizer]  ÚsystemrW  rZ  r\  r_  rd  Úxslowro  rx  rz  r|  r€   r   r   rN  rN  
	  sÎ   „ Ø€FØ€Gà‡[�[×Ñ˜2ÓØ‡[�[×Ñ #§+¡+°Ñ"7ò #4Ø&�x—‘Ó(¨GÑ3Ø Ø(ð ó *ñGó	*ó ð
Gò*0ò&Hò"0ò 4ð0 ‡[�[×Ññ2ó ð2ð$ ‡[�[×Ññ#*ó ð#*òJó%r   rN  c                   ó\   — e Zd ZddiZej
                  Zej                  Zej                  Zy)ÚAutoscaleTestsrR  TN)rU  rV  rW  r¶   rØ   r  r  r  r€   r   r   r�  r�  Ð	  s-   „ à˜DÐ!€Gà&×4Ñ4€MØ&×4Ñ4€MØ&×4Ñ4�Mr   r�  c                   ó   — e Zd ZdZd„ Zy)ÚTestAutoscaleIPrÁ   c                 óJ   — d| j                   d<   t        j                  | «      S )Nr#  r"  )r¶   r�  r  rÛ   s    r   r  zTestAutoscaleIP.test_bug_6139Ü	  s!   € Ø#ˆ�‰�UÑÜ×+Ñ+¨DÓ1Ð1r   N)rU  rV  rW  rª   r  r€   r   r   rƒ  rƒ  Ù	  s   „ Ø€Fó2r   rƒ  c                   ó   — e Zd ZdZy)ÚTestAutoscaleSimplexrÃ   Nr`  r€   r   r   r†  r†  á	  s   „ Ø�Fr   r†  c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚTestAutoscaleRSrÂ   c                 óÈ   — t        «       \  }}}}}}}t        |||||t        | j                  | j                  |¬«	      }t        |||¬«       t        |j                  d«       y 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«       y r:  r;  r<  s
             r   r>  z6TestAutoscaleRS.test_nontrivial_problem_with_bad_guessï	  r?  r   N)rU  rV  rW  rª   r-  r>  r€   r   r   rˆ  rˆ  å	  s   „ Ø€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y)ÚRRTestsrÁ   N)rU  rV  rW  rª   rØ   ÚLCTrÂ  Útest_RR_infeasibilityrK  r  r×  Ú	test_NFLCrà  r€   r   r   rŒ  rŒ  ü	  sE   „ à€FØ
€Cà×DÑDÐØ×'Ñ'€NØ×%Ñ%€MØ×6Ñ6€IØ×1Ñ1Ñr   rŒ  c                   ó   — e Zd ZddiZy)Ú	TestRRSVDr´   ÚSVDNrø  r€   r   r   r‘  r‘  
  s   „ Ø˜EÐ"�Gr   r‘  c                   ó   — e Zd ZddiZy)ÚTestRRPivotr´   rE  Nrø  r€   r   r   r”  r”  
  s   „ Ø˜GÐ$�Gr   r”  c                   ó   — e Zd ZddiZy)ÚTestRRIDr´   ÚIDNrø  r€   r   r   r–  r–  
  s   „ Ø˜DÐ!�Gr   r–  )NNç:Œ0âŽyE>r˜  )r   )r   rv   rz   r$  )XrX  r\  r]  Únumpyr:   Únumpy.testingr   r   r   r   r   r   r¹   r	   r·   Úscipy.optimizer
   r   Úscipy.optimize._numdiffr   Úscipy.sparse.linalgr   Úscipy.linalgr   Úscipy._lib._utilr   Úscipy.sparser‹   rÖ  Úscikits.umfpackr   ÚImportErrorr  ÚsksparseÚsksparse.cholmodr   Úcholmodr   r!   r$   r(   r5   rU   rb   rt   rƒ   r–   r®   rY  rZ  r»   r¿   rÅ   rÒ   rÖ   rm   rn   ro   rp   rs   rØ   Úfilterwarningsr_  rb  rg  rn  rÇ  rÛ  rà  rò  rö  rú  rý  r  r  r&  rD  rG  rL  rN  r�  rƒ  r†  rˆ  rŒ  r‘  r”  r–  r€   r   r   ú<module>r§     sN  ðñó Û ã ÷O÷ Oå *ß 3Ý 5Ý 1Ý &Ý 6Û Û à€ðÝ.ð €ðÛÝ4ò
LòFòEòKð 6:Ø$(ó.ò(?òDó6-ò 5ó òF4ð> ‡�×Ññ9ó ð9ò>ð ‡�×Ññ%ó ð%ò*#òZEð €Ø€Ø€Ø€Ø	€÷A.ñ A.ðR* ‡�×ÑÐ8Ó9ôÐ,ó ó :ðð ‡�×ÑÐ8Ó9ôBÐ'ó Bó :ðBð ‡�×ÑÐ8Ó9ô8Ð'ó 8ó :ð8ô:s$Ð*ô s$ôv$Ð 3ô $ô,(Ð1ô (ô$&;Ð#6ô &;ô\	 ˜ô 	 ñ ô5 ^ô 5ñ ôN ^ô Nô3>˜.ô 3>ôl  .ô  ð, ‡�×ÑÐ8Ó9÷<Að <Aó :ð<AôH<$˜.ô <$ô~!˜ô !ô7Ð"3ô 7ô8Ð+ô ÷~%ñ ~%ðL ‡�×ÑÐ8Ó9÷5ð 5ó :ð5ô2�nô 2ô˜>ô ô$�nô $ð. ‡�×ÑÐ8Ó9÷2ð 2ó :ð2ô#�ô #ô%�'ô %ô"ˆwõ "øðuO ò ØƒKðûð ò ØƒKðús$   ÁJ1 Á
J? Ê1J<Ê;J<Ê?K
Ë	K
