Diagnostic Tags for IPOPT

To print additional diagnostic tags for each iteration of IPOPT, set the options print_info_string to yes. With this, a tag will appear at the end of an iteration line with the following diagnostic meaning that are useful to flag difficulties for a particular IPOPT run. A list of possible strings is given in Table 2.


Table 2: Diagnostic output appended using print_info_sting.
 Tag Description Reference  
 ! Tighten resto tolerance if only slightly infeasible Section 3.3 in [13]  
 A Current iteration is acceptable Alternate termination  
 a Perturbation for PD singularity impossible, assume singular Section 3.1 in [13]  
 C Second Order Correction taken Section 2.4 in [13]  
 Dh Hessian degenerate based on multiple iterations Section 3.1 in [13]  
 Dhj Hessian/Jacobian degenerate based on multiple iterations Section 3.1 in [13]  
 Dj Jacobian degenerate based on multiple iterations Section 3.1 in [13]  
 dx $ \delta_x$ perturbation too large Section 3.1 in [13]  
 e Cutting back $ \alpha$ due to evaluation error in backtracking line search  
 F- Filter should be reset, but maximal resets exceeded Section 2.3 in [13]  
 F+ Resetting filter due to last few rejections of filter Section 2.3 in [13]  
 L Degenerate Jacobian, $ \delta_c$ already perturbed Section 3.1 in [13]  
 l Degenerate Jacobian, $ \delta_c$ perturbed Section 3.1 in [13]  
 M Magic step taken for slack variables in backtracking line search  
 Nh Hessian not yet degenerate Section 3.1 in [13]  
 Nhj Hessian/Jacobian not yet degenerate Section 3.1 in [13]  
 Nj Jacobian not yet degenerate Section 3.1 in [13]  
 NW Warm start initialization failed in Warm Start Initialization  
 q PD system possibly singular, attempt improving sol. quality Section 3.1 in [13]  
 R Solution of restoration phase Section 3.3 in [13]  
 S PD system possibly singular, accept current solution Section 3.1 in [13]  
 s PD system singular Section 3.1 in [13]  
 s Square Problem. Set multipliers to zero Default initialization routine  
 Tmax Trial $ \theta$ is larger than $ \theta_{max}$ filter parameter, see (21) in [13]  
 W Watchdog line search procedure successful Section 3.2 in [13]  
 w Watchdog line search procedure unsuccessful, stopped Section 3.2 in [13]  
 Wb Undoing most recent SR1 update Section 5.4.1 in [1]  
 We Skip Limited-Memory Update in restoration phase Section 5.4.1 in [1]  
 Wp Safeguard $ B^0 = \sigma I$ for Limited-Memory Update Section 5.4.1 in [1]  
 Wr Resetting Limited-Memory Update Section 5.4.1 in [1]  
 Ws Skip Limited-Memory Update since $ s^Ty$ is not positive Section 5.4.1 in [1]  
 WS Skip Limited-Memory Update since $ \Delta x$ is too small Section 5.4.1 in [1]  
 y Dual infeasibility, use least square multiplier update during ipopt algorithm  
 z Apply correction to bound multiplier if too large during ipopt algorithm