# [Ipopt] Question concerning presence of indefinite terms in function

Stefan Vigerske stefan at math.hu-berlin.de
Thu Nov 30 08:48:18 EST 2017

```Hi,

I think the only thing to add is that Ipopt may relax bounds a little,
so setting the lower bound to 0.0 will probably not be sufficient. See
also option bounds_relax_factor:
https://www.coin-or.org/Ipopt/documentation/node44.html#SECTION000114010000000000000

Stefan

On 11/30/2017 02:42 PM, Daniel Feenberg wrote:
>
>
> On Tue, 28 Nov 2017, Maxime Boulay wrote:
>
>>
>> Hello,
>>
>>
>>
>> I am using ipopt to solve an objective function which contains an
>> expression of the form
>> x*log(x/(a+x)). This results in a derivative of the form log(x/(a+x))
>> and a second derivative of the
>> form a/(x*(x+a)) when considering other terms in the function. Since
>> this will lead to problems
>> whenever x = 0 or x < 0, I am not sure about the best way to treat
>> those cases. I have tried equating
>> the expression to 0 whenever those cases are met but this seems wrong
>> since the expression doesn’t
>> tend to 0 when approaching the critical values. This also seems to
>> slow down the time taken to find a
>> solution whenever the initial values given or the solution include an
>> x=0.
>
> I hesitate to respond, since I am a rank beginner at IPOPT, but no one
> else has, so I will risk embarrassment. The Fortran example program in
> the package shows how to set limits on the x values (see X_L and X_U),
> and in my limited experience, these are respected. Am I missing something?
>
>> Given the fact that many of these may pop out since the function
>> includes a summation, what would be
>> the most efficient and correct way to deal with this?
>
> "pop out"?
>
> Daniel Feenberg
>
>>
>>
>>
>> Thank you.
>>
>>
>>
>>
>>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_ipopt&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=BRcuJnQr5NAzU29t80hk2rsLc4vrlRySBDabuq0O1ZI&m=-PagFNGzvFsXcZEn1GAQ3p6T4qyabfkhRLhdMB2QdaM&s=8i5NU_vn0nd53PZqvKvNRJ01cEfJUsh-rscEevibXGA&e=
>

```