L i~G >dZddlZddlZddlZddlmZmZddlZddl m Z ddl m Z m Z mZddlmZej"dkZd Zej(j+d d d ZdZdZdZdZdZdZdZej(j<dZdZ dZ!dZ"ej(jFej(j+dej(jIejJdjLdkdej(jNej(jQddgdd ie!fd!die"fgd"Z)d#Z*ej(j<d$Z+ej(j+d%d&Z,d'Z-y)(z0 Unit test for Mixed Integer Linear Programming N)assert_allcloseassert_array_equal) magic_square)milpBoundsLinearConstraint)sparselc \ d}tjt|5tt j ddgdddd}tjt|5tt jddddtjt|5tgdddtjt|5tddddd}tjt|5tdd dddd }tjttj|5tdd dddtjttj|5tt jd gd gdd gdd gf dddtjttj|5tt jdddggdgt j dgf dddd}tjttj|5tt jd ddggdgdgf dddd}tjt|5tddgt j ddgdddd}tjt|5tgd ddgdddtjt|5tgd gddddd}tjt|5tgd ddgt j d dgf dddd}tjt|5tgd ddggdf dddtjt|5tgd gd ddgf dddd}tjt|5tgd ddgd dgf dddtjt|5tgd gd gdf dddtjt|5tgd gd tddgf dddy#1swYxYw#1swYQxYw#1swY/xYw#1swY xYw#1swYxYw#1swYxYw#1swYZxYw#1swYxYw#1swYxYw#1swYdxYw#1swY:xYw#1swYxYw#1swYxYw#1swYxYw#1swYwxYw#1swYIxYw#1swYxYw#1swYyxYw)Nz`c` must be a dense arraymatchrz:`c` must be a one-dimensional array of finite numbers with)z3`bounds` must be convertible into an instance of...r boundsz<`constraints` (or each element within `constraints`) must be) constraintsr)rrrz,The shape of `A` must be (len(b_l), len(c)).z#`integrality` must be a dense array) integralityzJ`integrality` must contain integers 0-3 and be broadcastable to `c.shape`.)rrz,Lower and upper bounds must be dense arrays.rz6`lb`, `ub`, and `keep_feasible` must be broadcastable.)rrrrz5`bounds.lb` and `bounds.ub` must contain reals and...)z3+4rr) pytestraises ValueErrorrr coo_arraynpzerosreescapeset)messages d/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/optimize/tests/test_milp.py test_milp_ivr"so)G z 1' V  q!f %&'KG z 1 RXXf  z 1 R z 1 T DG z 1 QrMG z7); <  QB z7); <E RXXa[ {QFQF&CDE z7); <N RXXa[Ax!f6F6Fs6K&LMN=G z7); << RXXa[Ax!qc&:;<4G z 1; aV!1!11a&!9:;G z 1, YQF+, z 1/ YI./=G z 1C YA(8(8!Q(@ABCGG z 14 YA 234 z 14 Y Aq6234FG z 11 YAA/01 z 1; Y =9:; z 1; Y CE1a=9:;;k''  EENN<<;; ,,//CC444411;;;;s!S$S& S S,S9 T+T1DJJr2??Aq6288#DEJJtR( C .CJJsuuq#h/JJsww-rNc"ddg}ddgddgddgg}gd}tj|tj tj}t |||}tj |}t |||}t|jd tj|jddgs$tj|jddgsJt || }t|jd t|jd d gy)Nrr@rrr)r rw)dtyperar_rcgffffffg?gffffff@) r full_likerefloat64r ones_likerrrFallcloserD)r.r5rjrirrr9s r! test_milp_3r}s BA a1a&1a&!A C ,,sRVVG2:: 6C"1c3/K,,q/K   ECCGGR ;;suuq!f %SUUQF)CC C  ,CCGGT"CEEC:&rNc|ddg}ddg}ddgddgddgg}dtj tj g}tjdd g}t|||}ttj tj}t |||| }t |j d t |jd d gy)Nrrrr@iirrr;g@)rrer rrrrFrD)r.rr5rirjrrr9s r! test_milp_4rs AAa&K Q"bAq6"A "&& !C 663 C"1c3/K RVVGRVV $F qk&& (CCGGR CEEC8$rNcgd}gd}gd}tjtjdg}t||}gdgdg}tj dg}ddg}t|||}t |||| } t | j d y) N)rbr_r@)rrr)rrrr)rrr)rrrrwrri)rrerr rrrF) r.rlbubrr5rirjrr9s r! test_milp_5rs AK B &&"&&! B B^F IA FF7B-C b'C"1c3/K qk&& (CCGGS!rNcd}tjgdgdgdgdg}tjgd}tjgd}t||||f|}tjj |j d y) Nrr`!rr'rrrr&rr)rr$rrrrii(i:,i/rrr`rrrrrai>)rrfrrXrrF)rA_eqb_eqr.r9s r! test_milp_6rsuK 8845557 8D 88/ 0D ,-A tT 2 LCJJsww-rNc.ddg}ddg}dtj g}tjtjg}t||}ddgg}dg}t|||}t ||||}tj j |jdy)N?rrg?rr)rrerr rrX assert_equalrA) r.rrrrrrrr9s r!test_infeasible_prob_16609rs c Aa&K bffWB &&"&& B B^F #J)rrandom default_rngintegersfullrer rrdrrr rBallr|rT)r'rLrngr5b_lbb_ubr variable_lb variable_ubvariable_boundsrc_vectorr9rDtols r!test_milp_timeout_16545r)sz ))   3 4C Q +A 773BFF7 +D 7732 &D"1dD1K((3-K''#,K[+6O''#,K }H   C ;; ! !# && & s8   CA C 66$*A% &266!a%4#:2E+FF F 66+#q( )bffQ+:K5K.LL L ;;q"((1+ && &rNc ^tjjd}|jddd}tjdtj }tjdd}t |dd |dd |dd t |d d |d d |d d t |d d|d d|d dg}|dd |dd |dd f|d d |d d |d d f|d d|d d|d dfg}tjd}tjd}t||}tjd } t| || } t| || } t| ||||f } | jr | jsJt| j| jt| j| jy) Nrrr)r>r>rr>rrrr)rr)rrrrrrer rrdrrr3rrD) rr5blbur constraints2rrrr.rlrmrefs r!test_three_constraints_16878rQs ))   3 4C Q 'A w 'B r "B#AbqE2bq62bq6:#AaFBqGR!W=#AabE2ab62ab6:]ٿgLYT]ؿ1V׿rgщoֿgz|RXo5Կg[TrfʿgL鿿g2wVj./rrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrr9rrr)rrrrrrrrrrrrrrrrrrrrrrr@rrr)rrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrrrrrrr) gY@rrrrrrrrrr,r*T)r.rrrr'F)rr)rrrr)rgw0 #@igx0 Í)rrrr)rrr)rrrr)rrr)rrrr)r@rrr)r@r@rr)rrrrrrr)rr-) scipy.optimizernumpyrerfr rArrDr) rrrer.r5rrrrrr1r2rs r!test_presolve_gh18907rs# &&C 6 7A KPMLOLJLP!Q RA$ C4#tcTC4#tcTC4H IB 8 9B"1b"-KK F { F!4( *B { F!5) +B 99 !! !BDD"$$qQ FK.A |^^ /=. JA +B"1,K {F% E/B DB {F% E/B DB 99 !! !BDD"$$rN).__doc__rsysrr numpy.testingrrr test_linprogrrrrr scipyr maxsize _IS_32BITr"markxfailr;rMrPr]rur}rrxslowrr _msg_time _msg_iter thread_unsafeskipifintpitemsizeslow parametrizerrrrrrNr!rs = &99[[5 9;xuACC$%4P#B"".J'.%""& . . +& 4 8 IJGBGGAJ''!+8:)U+ c/BI.N0