Ë
    0Ò^j!  ã                   ó®   — d dl 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mZ d d
lZd dlmZ  G d„ de«      Zd„ Zd„ Zdd„Zy
)é    )ÚNonlinearConstraintÚLinearConstraintÚBoundsé   )Úprocess_nl_constraints)Ú#combine_multiple_linear_constraintsÚseparate_LC_into_eq_and_ineq)Úprocess_bounds)ÚEnum)Ú_project)Úget_arrays_tol)ÚcobylaN)ÚIterablec                   ó   — e Zd ZdZdZdZdZy)ÚConstraintTypeé   é
   é   é   N)Ú__name__Ú
__module__Ú__qualname__ÚLINEAR_OBJECTÚNONLINEAR_OBJECTÚLINEAR_DICTÚNONLINEAR_DICT© ó    úk/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/_external/pyprima/__init__.pyr   r      s   „ Ø€MØÐØ€KØ�Nr   r   c                 ó²  — t        | t        «      rd| v rd| v rd| v rt        j                  S t        | t        «      rd| v rd| v rd| v rt        j                  S t        | d«      r(t        | d«      rt        | d«      rt        j                  S t        | d«      r(t        | d«      rt        | d«      rt        j                  S t        dt        | «      › d�«      ‚)NÚAÚlbÚubÚfunzConstraint type z not recognized)
Ú
isinstanceÚdictr   r   r   Úhasattrr   r   Ú
ValueErrorÚtype)Ú
constraints    r   Úget_constraint_typer+      sÉ   € Ü�*œdÔ#¨°
Ñ):ÀÈÑASÐZ^ÐblÑZlÜ×)Ñ)Ð)Ü	�J¤Ô	%¨5°JÑ+>ÀTÈZÑEWÐ^bÐfpÑ^pÜ×,Ñ,Ð,Ü	�˜SÔ	!¤g¨j¸$Ô&?ÄGÈJÐX\ÔD]Ü×+Ñ+Ð+Ü	�˜UÔ	#¬°
¸DÔ(AÄgÈjÐZ^ÔF_Ü×.Ñ.Ð.äÐ+¬D°Ó,<Ð+=¸_ÐMÓNÐNr   c           	      óŽ  — | syt        | t        «      s| g} g }g }| D ]Ñ  }t        |«      }|t        j                  u r|j                  |«       Œ2|t        j                  u r|j                  |«       ŒV|t        j                  k(  r&|j                  t        |d   |d   |d   «      «       Œ�|t        j                  k(  r&|j                  t        |d   |d   |d   «      «       ŒÈt        d«      ‚ t        |«      dkD  rt        |«      }nd }t        |«      dkD  rt        |«      }||fS t        |«      dk(  r	|d   }||fS d }||fS )	N)NNr!   r"   r#   r$   zConstraint type not recognizedr   r   )r%   r   r+   r   r   Úappendr   r   r   r   r   r(   Úlenr   r   )ÚconstraintsÚlinear_constraintsÚnonlinear_constraintsr*   Úconstraint_typeÚnonlinear_constraint_functionÚlinear_constraints          r   Úprocess_constraintsr5   %   s  € áØô �k¤8Ô,Ø"�mˆð ÐØÐØ!ò ?ˆ
Ü-¨jÓ9ˆØœn×:Ñ:Ñ:Ø×%Ñ% jÕ1Ø¤× ?Ñ ?Ñ?Ø!×(Ñ(¨Õ4Ø¤× :Ñ :Ò:Ø×%Ñ%Ô&6°zÀ#±È
ÐSWÑHXÐZdÐeiÑZjÓ&kÕlØ¤× =Ñ =Ò=Ø!×(Ñ(Ô)<¸ZÈÑ=NÐPZÐ[_ÑP`ÐblÐmqÑbrÓ)sÕtäÐ=Ó>Ð>ð?ô Ð Ó! AÒ%Ü(>Ð?TÓ(UÑ%à(,Ð%ô ÐÓ Ò"Ü?Ð@RÓSÐð Ð;Ð;Ð;ô 
ÐÓ	  AÒ	%Ø.¨qÑ1Ðð Ð;Ð;Ð;ð !ÐàÐ;Ð;Ð;r   c                 óÐ  ‡ ‡‡‡‡‡‡‡— t        |«      \  }Š|€ddin|}|j                  dd«      }	|€F‰�|	st        d«       d}n‹|�|	st        d«       d}ny|�|	st        d«       d}ng|	st        d	«       d
}nW|j                  «       }|dvrt	        d|› d�«      ‚|dk7  r‰�t	        d«      ‚|dvr|�t	        d«      ‚|dvr|�t	        d«      ‚	 t        |«      Št        |‰«      \  }}t        ||«      }||k  t        j                  ||z
  «      |k  z  Št        ‰«      rJd|‰   |‰   z   z  Št        j                  ‰|‰   |‰   «      Š|‰    }|‰    }|‰    }‰ Šˆˆˆˆˆfd„}|Š ‰€t        ||||d dœ«      }|j                  }|�t!        |«      \  }}}}nd\  }}}}‰�ˆˆ ˆfd„}nˆˆ fd„} ||«      \  }}d|v r|d= d|v r|d   |d<   |d= t#        |t        |«      |||||||f	|||dœ|¤Ž}t        ‰«      r1t        j$                  ‰«      }‰|‰<   |j                  |‰ <   ||_        |S # t        $ r& t        j                  |g«      }‰ Šˆˆfd„}
|
Š dŠY �Œˆw xY w)NÚquietTz/Nonlinear constraints detected, applying COBYLAr   zJLinear constraints detected without nonlinear constraints, applying LINCOAÚlincoazHBounds without linear or nonlinear constraints detected, applying BOBYQAÚbobyqaz2No bounds or constraints detected, applying NEWUOAÚnewuoa)r:   Úuobyqar9   r   r8   zFMethod must be one of NEWUOA, UOBYQA, BOBYQA, COBYLA, or LINCOA, not 'ú'zLNonlinear constraints were provided for an algorithm that cannot handle them)r   r8   zILinear constraints were provided for an algorithm that cannot handle them)r   r9   r8   z=Bounds were provided for an algorithm that cannot handle themc                 ó   •—  ‰| d   g‰¢­Ž S ©Nr   r   )ÚxÚargsÚoriginal_scalar_funs    €€r   Ú
scalar_funzminimize.<locals>.scalar_funw   s   ø€ Ù& q¨¡tÐ3¨dÒ3Ð3r   r   g      à?c                 óV   •— t        j                  ‰«      }‰|‰<   | |‰ <    ‰|g‰¢­Ž S ©N©ÚnpÚzeros)r?   ÚnewxÚ
_fixed_idxÚ_fixed_valuesr@   Úlenx0Úoriginal_funs     €€€€€r   Ú	fixed_funzminimize.<locals>.fixed_fun”   s6   ø€ Ü—8‘8˜E“?ˆDØ,ˆD�ÑØ !ˆD�*�ÑÙ Ð, tÒ,Ð,r   )ÚlinearÚ	nonlinear)NNNNc                 ó.   •—  ‰| g‰¢­Ž } ‰| «      }||fS rD   r   )r?   ÚfÚnlconstrr@   r$   r3   s      €€€r   Úcalcfczminimize.<locals>.calcfc¬   s$   ø€ Ù�A�˜’ˆAÙ4°QÓ7ˆHØ�h�;Ðr   c                 óH   •—  ‰| g‰¢­Ž }t        j                  d«      }||fS r>   rE   )r?   rQ   Úconstrr@   r$   s      €€r   rS   zminimize.<locals>.calcfc±   s'   ø€ Ù�A�˜’ˆAÜ—X‘X˜a“[ˆFØ�f�9Ðr   ÚmaxfevÚmaxfun)Úf0Ú	nlconstr0Úcallback)r5   ÚgetÚprintÚlowerr(   r.   Ú	TypeErrorrF   Úarrayr
   r   ÚabsÚanyÚclipr   r?   r	   r   rG   )r$   Úx0r@   ÚmethodÚboundsr/   rZ   Úoptionsr4   r7   rB   r"   r#   ÚtolrM   ÚresultÚA_eqÚb_eqÚA_ineqÚb_ineqrS   rX   rY   rH   rI   rJ   rK   r3   rL   rA   s   ` `                     @@@@@@r   Úminimizerm   O   s*  ÿ€ ä7JÈ;Ó7WÑ4ÐÐ4à!( ˆw˜‰o°g€GØ�K‰K˜ Ó&€Eà€~Ø(Ð4Ùœ%Ð QÔRØ‰FØÐ*Ùœ%Ð lÔmØ‰FØÐÙœ%Ð jÔkØ‰Fáœ%Ð TÔUØ‰Fð —‘“ˆØÐKÑKÜÐeÐflÐemÐmnÐoÓpÐpØ�XÒÐ"?Ð"KÜÐkÓlÐlØÐ-Ñ-Ð2CÐ2OÜÐhÓiÐiØÐ7Ñ7¸FÐ<NÜÐ\Ó]Ð]ð
Ü�B“ˆô ˜F EÓ*�F€Bˆô ˜˜RÓ
 €Cà	ˆr‰Ü�6‰6�"�r‘'‹?˜SÑ ñ	"ð ô ˆ:„ØØˆz‰N˜R 
™^Ñ+ñ
ˆô Ÿ™ØØˆz‰NØˆz‰Nó
ˆð
 ��‰_ˆØ��‰_ˆØ��‰_ˆØˆ÷	-ð 	-ð
 ˆð %Ð,Ü˜"˜b "Ð1BÐQUÑ&VÓWˆØ�X‰XˆàÐ$Ü%AÐBSÓ%TÑ"ˆˆd�F™Fà%;Ñ"ˆˆd�F˜Fà$Ð0÷	õ
	ñ
 ˜2“J�M€Bˆ	à�'ÑØ�GÐà�7ÑØ# HÑ-ˆ�ÑØ�HÐäØÜˆI‹Ø
ØØØØØ
Ø
ðð ØØñð ñ€Fô  ˆ:„Ü�x‰x˜‹ˆØ(ˆˆZÑØ"ŸH™Hˆˆjˆ[ÑØˆŒØ€MøôA ò Ü�X‰X�r�d‹^ˆØ!Ðõ	4àˆØ‹ðús   ÃH6 È6+I%É$I%)r   NNr   NN)Úscipy.optimizer   r   r   Úcommon._nonlinear_constraintsr   Úcommon._linear_constraintsr   r	   Úcommon._boundsr
   Úenumr   Úcommon._projectr   Úcommon.linalgr   Úcobyla.cobylar   ÚnumpyrF   Úcollections.abcr   r   r+   r5   rm   r   r   r   ú<module>rx      sH   ðç HÑ HÝ A÷õ +Ý Ý %Ý )Ý !Û Ý $ô�Tô ò
Oò'<ôTEr   