<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.5730.11" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi all,</FONT></DIV>
<DIV><FONT face=Arial size=2>When evaluating the functions or gradients for 
IPOPT in it's designated call back functions (e.g. <FONT face=Arial 
size=2></FONT><FONT size=2>eval_grad_f, <FONT 
size=2>eval_g),</FONT></FONT></FONT></DIV>
<DIV><FONT size=2><FONT face=Arial>sometimes given the current iterate values 
fed from IPOPT solver (i.e. Number *x), my function or gradients may evaluate to 
"NaN" or may need to throw an exception, because&nbsp;"x" may not be defined for 
the function (e.g. ln(x[1]) where x[1] &lt; 0).&nbsp;</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>So the question is:&nbsp;</FONT><FONT face=Arial 
size=2>&nbsp;</FONT></DIV>
<DIV><FONT face=Arial size=2>Does IPOPT actually&nbsp;detects and handles these 
abnormal situations (e.g. it catches some exception or takes some kind of 
message from the callback)?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>If&nbsp;IPOPT handles it, how is it done -- does 
IPOPT quit naturally or try to change or reverse the search 
direction?</FONT></DIV>
<DIV><FONT face=Arial size=2>Can anybody tell me how and/or refer me to a good 
reference or some examples somewhere?</FONT></DIV><FONT face=Arial size=2>
<DIV><BR>As an example, if my natural log&nbsp;evaluation returns NaN, I may be 
instructed to throw something like a&nbsp;"IPOPTFunctionInvalidException" (which 
could&nbsp; defined in one of IPOPT's header file) and hopefully IPOPT can 
just&nbsp;carry on.<BR></DIV>
<DIV>Thanks in advance</DIV></FONT>
<DIV><FONT face=Arial size=2>Jun Ma</DIV></FONT></BODY></HTML>