[Coin-ipopt] Re: Coin-ipopt Digest, Vol 16, Issue 9
Sonia Singhal
soniasin at andrew.cmu.edu
Fri Mar 31 13:41:09 EST 2006
Hi Carl,
You mentioned "at least first derivative (need to be estimated)", does that mean IPOpt has now the version where the hessian need not be provided ?
thanks,
~ Sonia
> Send Coin-ipopt mailing list submissions to coin-ipopt at list.coin-or.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://list.coin-or.org/mailman/listinfo/coin-ipopt or, via email, send a
> message with subject or body 'help' to coin-ipopt-request at list.coin-or.org
>
>
> You can reach the person managing the list at
> coin-ipopt-owner at list.coin-or.org
>
> When replying, please edit your Subject line so it is more specific than
> "Re: Contents of Coin-ipopt digest..."
>
>
> Today's Topics:
>
> 1. a question (zwerhu at graduate.shu.edu.cn) 2. a question
> (zwerhu at graduate.shu.edu.cn) 3. Re: a question (Carl Damon Laird) 4. Re: a
> question (damien at khubla.com) 5. explain-my question (zhangwen) 6. Re:
> explain-my question (Carl Damon Laird)
>
>
> ----------------------------------------------------------------------
>
> Message: 1 Date: Fri, 31 Mar 2006 00:04:01 +0800 From:
> zwerhu at graduate.shu.edu.cn Subject: [Coin-ipopt] a question To:
> coin-ipopt at list.coin-or.org Message-ID:
> <YJkIGrKi3n7O$z7fcJeag$OpmQjLXi at zwerhu> Content-Type: text/plain;
> charset="us-ascii"
>
> An HTML attachment was scrubbed... URL:
> http://list.coin-or.org/pipermail/coin-ipopt/attachments/20060331/d0707e2
> 9/attachment-0001.html
>
> ------------------------------
>
> Message: 2 Date: Fri, 31 Mar 2006 08:46:20 +0800 From:
> zwerhu at graduate.shu.edu.cn Subject: [Coin-ipopt] a question To:
> "andreasw" <andreasw at watson.ibm.com>,
> "coin-ipopt" <coin-ipopt at list.coin-or.org> Message-ID:
> <gd20IyyPxmRH$7I5ma2uG$nTbe35OR at zwerhu> Content-Type: text/plain;
> charset="us-ascii"
>
> An HTML attachment was scrubbed... URL:
> http://list.coin-or.org/pipermail/coin-ipopt/attachments/20060331/3bc9c50
> 1/attachment-0001.html
>
> ------------------------------
>
> Message: 3 Date: Thu, 30 Mar 2006 20:03:21 -0500 (EST) From: Carl Damon
> Laird <claird at andrew.cmu.edu> Subject: Re: [Coin-ipopt] a question To:
> zwerhu at graduate.shu.edu.cn Cc: =?GB2312?B?YW5kcmVhc3c=?=
> <andreasw at watson.ibm.com>, =?GB2312?B?Y29pbi1pcG9wdA==?=
> <coin-ipopt at list.coin-or.org> Message-ID:
> <Pine.LNX.4.60-041.0603302000458.17661 at unix50.andrew.cmu.edu>
> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
>
> I am not sure what you mean by "get the objective function through
> another iteration". If your objective function is a particular subroutine,
> then it is certainly possible to use the Fortran interface (or Matlab if
> it is a Matlab subroutine) to define the problem. If you do not know the
> form of the objective function however, you will need to find some way to
> estimate the derivatives (at least first derivatives). This might mean
> using automatic differentiation or finite difference approximations.
>
> Hope this helps,
>
> Carl.
>
> On Fri, 31 Mar 2006 zwerhu at graduate.shu.edu.cn wrote:
>
>>
>> Hi, all
>>
>> I want to ask a question about the entering of the objective function
>> in using IPOPT. I am faced with the NLP problem in which the objective
>> function doesn't have a unique or known form. In fact, I must get the
>> objective function through another iteration which can be realized by a
>> separated subroutine. I mean, i must use a function "f=f(x1,x2)" to get
>> the objective function, where x1,x2 are unknown variables of the NLP
>> problem and the function "f" is an iteration which doesn't have a
>> unique form. So, I wonder whether this can be realized by IPOPT Matlab
>> interface or otherwise, in the Fortran interface directly. Thanks a lot!
>>
>>
>>
>> Best Regards, W. Zhang
>>
>>
>>
>
>
> ------------------------------
>
> Message: 4 Date: Thu, 30 Mar 2006 19:04:12 -0700 (MST) From:
> damien at khubla.com Subject: Re: [Coin-ipopt] a question To: "Carl Damon
> Laird" <claird at andrew.cmu.edu> Cc: andreasw <andreasw at watson.ibm.com>,
> coin-ipopt <coin-ipopt at list.coin-or.org> Message-ID:
> <60542.68.144.53.88.1143770652.squirrel at mail.khubla.com> Content-Type:
> text/plain;charset=iso-8859-1
>
> Do you mean that you have to solve another smaller problem iteratively in
> order to calculate the objective? If so, you probably will need to use
> finite differences as Carl suggested to get the gradient. Generally, an
> optimisation will still solve quite well with finite differences. The
> only issue will be that it might take a while to solve, because you have
> to solve for the objective for each finite difference.
>
> One very important thing: is your objective a continuous function in x1
> and x2? If it has lumps or bumps in it, IPOPT might struggle a bit.
>
> Damien
>
>> I am not sure what you mean by "get the objective function through
>> another iteration". If your objective function is a particular
>> subroutine, then it is certainly possible to use the Fortran interface
>> (or Matlab if it is a Matlab subroutine) to define the problem. If you
>> do not know the form of the objective function however, you will need to
>> find some way to estimate the derivatives (at least first derivatives).
>> This might mean using automatic differentiation or finite difference
>> approximations.
>>
>> Hope this helps,
>>
>> Carl.
>>
>> On Fri, 31 Mar 2006 zwerhu at graduate.shu.edu.cn wrote:
>>
>>>
>>> Hi, all
>>>
>>> I want to ask a question about the entering of the objective function
>>> in using IPOPT. I am faced with the NLP problem in which the objective
>>> function doesn't have a unique or known form. In fact, I must get the
>>> objective function through another iteration which can be realized by
>>> a separated subroutine. I mean, i must use a function "f=f(x1,x2)" to
>>> get the objective function, where x1,x2 are unknown variables of the
>>> NLP problem and the function "f" is an iteration which doesn't have a
>>> unique form. So, I wonder whether this can be realized by IPOPT Matlab
>>> interface or otherwise, in the Fortran interface directly. Thanks a
>>> lot!
>>>
>>>
>>> Best Regards, W. Zhang
>>>
>>>
>>>
>> _______________________________________________ Coin-ipopt mailing list
>> Coin-ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>>
>
>
>
>
> ------------------------------
>
> Message: 5 Date: Fri, 31 Mar 2006 12:48:47 +0800 From: "zhangwen"
> <zwerhu at graduate.shu.edu.cn> Subject: [Coin-ipopt] explain-my question To:
> "Carl Damon Laird" <claird at andrew.cmu.edu>, "zhangwen"
> <zhangwen at graduate.shu.edu.cn>, "coin-ipopt" <coin-ipopt at list.coin-or.org>
> Message-ID: <1143780608$90615$97378552 at zwerhu@graduate.shu.edu.cn>
> Content-Type: text/plain; charset="gb2312"
>
> Hi, Carl, Thank you for your replying for my question! I mean, if
> "x=(x_1,...,x_n)' " are the n variables of the NLP problem. The objective
> function has the form "f=f(y_1,...,y_n)", where "y=(y_1,...,y_n)' " and
> "y" can be got from the subroutine/sub-function "y=subfun(x)". Here, the
> objective function "f" has a unique form such as "f=y_1*y_1+...+y_n*y_n",
> but f can't be expressed directly by the vector x. I can get y through
> the subfunction 'subfun', but all the variables x_1,...,x_n are unknown
> at the beginning. So, the objective function must include another
> function "subfun", of which the variables are actually the unknowns of
> NLP. That may be my problem. Thanks.
>> I am not sure what you mean by "get the objective function through
>> another iteration". If your objective function is a particular
>> subroutine, then it is certainly possible to use the Fortran interface
>> (or Matlab if it is a Matlab subroutine) to define the problem. If you
>> do not know the form of the objective function however, you will need to
>> find some way to estimate the derivatives (at least first derivatives).
>> This might mean using automatic differentiation or finite difference
>> approximations.
>>
>> Hope this helps,
>>
>> Carl.
>>
> Best Regards, W. Zhang
>
>
>
> ------------------------------
>
> Message: 6 Date: Fri, 31 Mar 2006 09:33:57 -0500 (EST) From: Carl Damon
> Laird <claird at andrew.cmu.edu> Subject: [Coin-ipopt] Re: explain-my
> question To: zhangwen <zwerhu at graduate.shu.edu.cn> Cc: coin-ipopt
> <coin-ipopt at list.coin-or.org>, zhangwen <zhangwen at graduate.shu.edu.cn>
> Message-ID: <Pine.LNX.4.60-041.0603310930210.1379 at unix40.andrew.cmu.edu>
> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
>
> This kind of problem arises whenever someone has existing simulation code
> for all or part of a model and they want to use this code in
> optimization. This can be done, but you are likely going to have to
> approximate the derivatives of the objective function (or more precisely,
> the derivatives of the y's with respect to the x's - then use chain rule
> for df/dx).
>
> If your subroutine converting from x to y is indeed iterative, then you
> will need to be very careful with convergence tolerances inside the
> subroutine and Ipopt.
>
> Cheers,
>
> Carl.
>
> On Fri, 31 Mar 2006, zhangwen wrote:
>
>> Hi, Carl, Thank you for your replying for my question! I mean, if
>> "x=(x_1,...,x_n)' " are the n variables of the NLP problem. The
>> objective function has the form "f=f(y_1,...,y_n)", where
>> "y=(y_1,...,y_n)' " and "y" can be got from the subroutine/sub-function
>> "y=subfun(x)". Here, the objective function "f" has a unique form such
>> as "f=y_1*y_1+...+y_n*y_n", but f can't be expressed directly by the
>> vector x. I can get y through the subfunction 'subfun', but all the
>> variables x_1,...,x_n are unknown at the beginning. So, the objective
>> function must include another function "subfun", of which the variables
>> are actually the unknowns of NLP. That may be my problem. Thanks.
>>> I am not sure what you mean by "get the objective function through
>>> another iteration". If your objective function is a particular
>>> subroutine, then it is certainly possible to use the Fortran interface
>>> (or Matlab if it is a Matlab subroutine) to define the problem. If you
>>> do not know the form of the objective function however, you will need
>>> to find some way to estimate the derivatives (at least first
>>> derivatives). This might mean using automatic differentiation or
>>> finite difference approximations.
>>>
>>> Hope this helps,
>>>
>>> Carl.
>>>
>> Best Regards, W. Zhang
>>
>>
>>
>
>
> ------------------------------
>
> _______________________________________________ Coin-ipopt mailing list
> Coin-ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>
>
> End of Coin-ipopt Digest, Vol 16, Issue 9
> *****************************************
>
>
More information about the Coin-ipopt
mailing list