B _; @s,ddgZddlZyddlmZWnddlmZYnXddlmZmZmZm Z ddl m Z ddl m Z ddlZddlmZdd lTe d d dd d d ZGd ddeejZyeWnek reZZYnXyeeefZeeefZWnefZeefZYnXGdddeZGddde Z!dS)SolutionStatusSolutionN) OrderedDict)iterkeysadvance_iterator itervalues iteritems)xrange)Bunch) as_number)*FT)schemasparse num_solutionsZ ignore_timeZignore_defaultsc@sDeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd dZdS)r bestSoFarerrorfeasiblegloballyOptimal infeasiblelocallyOptimaloptimalotherstoppedByLimit unboundedunknownunsurecCs|jS)N)value)selfr>/tmp/pip-unpacked-wheel-d4p3hk07/pyomo/opt/results/solution.py__str__2szSolutionStatus.__str__N)__name__ __module__ __qualname__rrrrrrrrrrrrr rrrrrsc@s&eZdZddZddZd dd ZdS) rcCspt||d|jdtjd|d|jdid|jdid|jdid|jdidt|_dS) NZgapstatus)rmessageproblem objectivevariable constraint) MapContainer__init__Zdeclarerrdefault_print_options_option)rrrrr+Fs   zSolution.__init__cCsd|kr|d}|d=||_d|kr8|d}|d=||_d|krT|d}|d=||_d|krp|d}|d=||_t||dS)NVariableZ ConstraintProblem Objective)r(r)r&r'r*load)rrepnZtmp_rrrr1Ts"z Solution.loadFNcsLd}x@|jD]4}||ks|dkr&qt||}t|jtk r|rX||dd}n|||d|j|||d||dqt|jdkr|||dq|d k} d}|||d |} |d}|j} d} i} ii}d}xrt| D]f\}}| }| d 7} ||<|| |<d||<x8t|D],\}}| sJt |d kr,d||<d}q,WqW|r6xt t | fd ddD]}||r|r|dd}||t |d| |}xht t |D]X}||}t|trt ||krt|}||d|dt |dqWqWn |d| }qWdS)NTr/z: Fz )prefixr2rz : No values )r0:gؗҜz!Solution.pprint..)key z: z No nonzero values )_orderdict __getitem__typerwritepprintlenrmathfabssortedrstr isinstancefloatfloorint capitalize)rostreamoption from_listr4r2firstr;itemZ print_zerosZprefix_rZid_ctrZ id_dict_mapZid_nonzeros_mapZentries_to_printZ entry_nameZ entry_dictZentry_id attr_name attr_valuer)r8rrBhsb   4 zSolution.pprint)Fr3N)r!r"r#r+r1rBrrrrrDsc@s@eZdZddZddZddZddd Zdd d ZddZd S) SolutionSetcCst|tt|_dS)N) ListContainerr+rr,r-)rrrrr+s zSolutionSet.__init__cCs|js|js|jstS|jr8t|dkr8|||jdkrLt|}nt|jt|}d}g}x0|jD]&}| | ||d}||krlPqlWt dt|fd|fgg|S)Nrr6znumber of solutionsznumber of solutions displayed) r _active _requiredignorerCaddrmin_listappend_repn_r)rrNnumitmprQrrrr]s    zSolutionSet._repn_cCs t|jS)N)rCr[)rrrr__len__szSolutionSet.__len__r6cCs|j|dS)Nr6)r[)rr_rrr__call__szSolutionSet.__call__r3Nc Cs|js|js|jstS|d||dd}x>|dD]2}||||dt|d|dd}q s<   l