B _ @s<ddlZddlmZddlTGdddZGdddZdS)N)norm)*c@s&eZdZddZdddZddZdS) IterLogcCsd||_||_||_||_||_d|_d|_d|_d|_d|_ d|_ dgd\|_ |_ |_ |_|_dS)NF) iterationxkykzk print_varsthetakobjkchik trustRadius sampleRadiusstepNormfStep thetaSteprejected restoration criticality)selfrrrr r rD/tmp/pip-unpacked-wheel-d4p3hk07/pyomo/contrib/trustregion/Logger.py__init__szIterLog.__init__NcCsX|dk r||_|dk r||_|dk r*||_|dk r8||_|dk rF||_|dk rT||_dS)N)r r r rrr)rr r r rrrrrrsetRelatedValueszIterLog.setRelatedValuecCstdtd|j|jr2tt|j|j|jtd|jtd|jtd|j td|j td|j td|j |j rtd |jrtd |jrtd |jrtd |jrtd tddS)zJ TODO: set a PrintLevel param to control the print level. z' **************************************z Iteration %d:z thetak = %sz objk = %sztrustRadius = %szsampleRadius = %sz stepNorm = %szchi = %sz f-type stepztheta-type stepz step rejectedZ RESTORATIONzcriticality test updatez'************************************** N)printrr packXYZrrr r r rrrr rrrrr)rrrrfprint-s*zIterLog.fprint)NNNNNN)__name__ __module__ __qualname__rrrrrrrrs  rc@s2eZdZgZddZd ddZddZdd ZdS) Loggerc Cs6t||||||_|jj|||d|j|jdS)N)r r r )riterlogritersappend) rrrrr r r r r rrrnewIterJszLogger.newIterNcCs|jj|||ddS)N)rrr)r"r)rrrrrrr setCurIterNszLogger.setCurItercCs |t|jkr|j|dS)N)lenr#r)rrrrrprintIterationPszLogger.printIterationcCsx|jD]}tt|j|jj|j|jj|j|jjtj}t t |j dt |j dt |j dt |jdt |jdt |jdt |jdt |qWdS)N )r#rrrr"rr npinfrstrrr r r rrr)rxdisrrr printVectorsSs 2zLogger.printVectors)NNN)rrr r#r%r&r(r/rrrrr!Hs  r!)Znumpyr*Z numpy.linalgrZ pyomo.contrib.trustregion.helperrr!rrrrs C