[SciPy-dev] f2py vector valued functions and optimize.fmin_slsqp
Leon Adams
skorpio11 at gmail.com
Sat May 16 12:29:33 EDT 2009
On Sat, May 16, 2009 at 11:32 AM, Rob Falck <robfalck at gmail.com> wrote:
> SLSQP is intended to optimize scalar valued functions. If your function is
> vector valued you need to wrap it in a way such that a single scalar value
> (your performance index) is returned.
>
> On Sat, May 16, 2009 at 2:07 AM, Leon Adams <skorpio11 at gmail.com> wrote:
>
>> Hi...
>>
>> I am experiencing some difficulties arriving at a soln for my optimization
>> problem.
>>
>> Background:
>>
>> My problem is cast as a minimizer problem but is very computer intense
>> (lots of loops).
>> My design soln was to wrap the looping parts in FORTRAN using f2py, use
>> python as a steering program
>> and optimize.fmin_slsqp as the optimizer. Everything seems to work well
>> for scalar valued functions but not for vector valued functions involving
>> arrays.
>> Anytime an array is involved SLSQP returns with a success exit status [0]
>> without updating the input vector. That is no change is being made to the
>> input parameters.
>>
>> My question is: is it possible to wrap a vector valued fortran function
>> and still use SLSQP?
>>
>> Thanks in advance
>>
>> --
>> Leon Adams
>>
>> _______________________________________________
>> Scipy-dev mailing list
>> Scipy-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-dev
>>
>>
>
>
> --
> - Rob Falck
>
>
> _______________________________________________
> Scipy-dev mailing list
> Scipy-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>
>
Thanks for the response.
I have wrapped the function to return the performance index. Don't know if
this is another symptom or the problem itself, but the soln terminates with:
Optimization terminated successfully. (Exit mode 0)
Current function value: 6.45723021956
Iterations: 1
Function evaluations: 20
Gradient evaluations: 1
If the generating routine for the performance index is coded in straight
python I get:
Optimization terminated successfully. (Exit mode 0)
Current function value: 0.858946186765
Iterations: 12
Function evaluations: 245
Gradient evaluations: 12
For some reason, the iterations stops at 1 when I try to use the f2py
imported libraries. Is it possible that it is getting hung up on the
Gradient evaluations??
--
Leon Adams
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20090516/27bcd72d/attachment.html>
More information about the SciPy-Dev
mailing list