<!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 "x" may not be defined for
the function (e.g. ln(x[1]) where x[1] < 0). </FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>So the question is: </FONT><FONT face=Arial
size=2> </FONT></DIV>
<DIV><FONT face=Arial size=2>Does IPOPT actually 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> </DIV>
<DIV><FONT face=Arial size=2>If 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 evaluation returns NaN, I may be
instructed to throw something like a "IPOPTFunctionInvalidException" (which
could defined in one of IPOPT's header file) and hopefully IPOPT can
just carry on.<BR></DIV>
<DIV>Thanks in advance</DIV></FONT>
<DIV><FONT face=Arial size=2>Jun Ma</DIV></FONT></BODY></HTML>