B u `Jã@s¤dddgZddlZddlZddlmZmZddlmZddlm Z m Z m Z m Z m Z daeƒddfdd „Zeƒdfd d „Zdd d„Zdd d„Zddd„Zddd„ZdS)Úpyomo2lpÚpyomo2nlÚ pyomo2dakotaéN)ÚOptionsÚ Container)Ú ProblemFormat)Ú ObjectiveÚVarÚ ConstraintÚvalueÚ ConcreteModelc CsÞ|dk r |addl}|jjdkrDttjkr4d|j_ndttƒ|j_t|j_t|d}d}yD|j j   |¡|j j j ||d|j rˆtƒS|j j  |¡}||_Wn&|j j j|tƒddd‚YnX|j j j||jd|S)Nrz unknown.lpzunknown.)Úoptions)Úparser)ÚmodelÚinstanceÚresults)r)Ú_formatÚ pyomo.environrÚ save_filerZcpxlpÚstrÚ save_formatrÚ scriptingÚutilZsetup_environmentZapply_preprocessingÚerrorrZ create_modelr Úfinalizer )r rZ model_formatÚpyomoÚdataÚ model_data©rú;/tmp/pip-unpacked-wheel-n62dbgi3/pyomo/scripting/convert.pyÚconverts2      r cCsÈddl}tj |jj¡}tj |¡d}|jjdkr@|d|j_tj|j_ d|j_ t ||ƒ}|j }d}g}g} g} g} |j  ¡} x°|jtddD]ž} t| ƒ| kr|d7}| | j¡| j\}}|dk rÖ|  t|ƒ¡n |  d¡|dk rø|  t|ƒ¡n |  d¡y t| ƒ}Wnd}YnX|  t|ƒ¡qWd}g}x,|jtddD]}|d7}| |j¡qJWd}g}g}g}x||jtddD]j}|d7}| |j¡|jdk r¾| t|jƒ¡n | d¡|jdk ræ| t|jƒ¡n | d¡qˆWt|dd ƒ}| d ¡| d ¡| d t|ƒd ¡| d¡x|D]}| d|¡q>W| dd | ¡d ¡| dd | ¡d ¡| dd | ¡d ¡| d¡| d¡| d|jjd¡| d¡| d¡| dt|ƒd ¡|dkrB| dt|ƒd ¡| dd |¡d ¡| dd |¡d ¡| d¡x|D]}| d|¡qRW|dkr’x|D]}| d|¡qzW| d¡| d¡| ¡tj  d|df¡|S)Nrz.nlT)Úactiveéz-infÚinfz.dakÚwz!#--- Dakota variables block ---# z variables z continuous_design Ú z descriptors z '%s' z lower_bounds ú z upper_bounds z initial_point z!#--- Dakota interface block ---# z interface z algebraic_mappings = 'z' z!#--- Dakota responses block ---# z responses z objective_functions z# nonlinear_inequality_constraints z analytic_gradients z no_hessians z+Dakota input fragment written to file '%s' )!rÚosÚpathÚbasenamerrÚsplitextrÚnlrZsymbolic_solver_labelsr rZ symbol_mapZgetByObjectDictionaryZcomponent_data_objectsr ÚidÚappendÚnameZboundsrr rr ÚlowerÚupperÚopenÚwriteÚjoinÚcloseÚsysÚstdout)r rrZ model_fileZmodel_file_no_extrrÚ variablesZvar_descriptorsZvar_lbZvar_ubZ var_initialZtmpDictÚvarZ_lbZ_ubÚvalZ objectivesZobj_descriptorsÚobjÚ constraintsZcons_descriptorsZcons_lbZcons_ubÚconZdakfragZvdZodZcdrrrÚconvert_dakotaLs¢                                r=cCs.ddlm}|dkr|ƒS|ddg|ƒSdS)Nr)Úmainr z --format=lp)Úpyomo.scripting.pyomo_mainr>)Úargsr>rrrrØs cCs.ddlm}|dkr|ƒS|ddg|ƒSdS)Nr)r>r z --format=nl)r?r>)r@r>rrrrßs cCs.ddlm}|dkr|ƒS|ddg|ƒSdS)Nr)r>r z --format=bar)r?r>)r@r>rrrÚ pyomo2baræs rAcCs.ddlm}|dkr|ƒS|ddg|ƒSdS)Nr)r>r z--format=dakota)r?r>)r@r>rrrrís )N)N)N)N)Ú__all__r'r5Zpyomo.common.collectionsrrZ pyomo.optrZpyomo.core.baserr r r r rr r=rrrArrrrrÚ s  1