[SciPy-User] fmin_slsqp constraint problem
Neal Becker
ndbecker2 at gmail.com
Fri Oct 26 11:08:22 EDT 2012
The obj_fnc is much too complicated to include here, but does return a single
value. I think the problem is ieqcons returns an array, while fmin_slsqp
expects a single value.
Oleksandr Huziy wrote:
> What is your obj_fnc, I know it is naive, bu still, is it possible that it
> returns a list?
>
> Cheers
> --
> Oleksandr (Sasha) Huziy
>
> 2012/10/26 Neal Becker <ndbecker2 at gmail.com>
>
>> I have a ineq constraint:
>>
>> ## constrain poles to be inside unit circle
>> def c(coef, len_z, len_p, dz, dp):
>> p = compose ((coef/opt.scale)[len_z:-1], dp)
>> return np.abs(p) - 1
>>
>> So this will return a 1D array where each value should satisfy the
>> constraint.
>> fmin_slsqp will not accept this directly:
>>
>> e = fmin_slsqp (obj_fnc, coef*opt.scale, ieqcons=[lambda coef, len_z,
>> len_p,
>> dz, dp: -c(coef, len_z, len_p, dz, dp)], args=(len(lz), len(lp), dz, dp),
>> eqcons=[lambda coef, len_z, len_p, dz, dp: h(coef, len_z, len_p, dz, dp)],
>> full_output=True)
>>
>> Traceback (most recent call last):
>> File "./optimize_pll5.3.2.py", line 519, in <module>
>> run_line (sys.argv)
>> File "./optimize_pll5.3.2.py", line 498, in run_line
>> e = fmin_slsqp (obj_fnc, coef*opt.scale, ieqcons=[lambda coef, len_z,
>> len_p,
>> dz, dp: -c(coef, len_z, len_p, dz, dp)], args=(len(lz), len(lp), dz, dp),
>> eqcons=[lambda coef, len_z, len_p, dz, dp: h(coef, len_z, len_p, dz, dp)],
>> full_output=True)
>> File "/usr/lib64/python2.7/site-packages/scipy/optimize/slsqp.py", line
>> 334,
>> in fmin_slsqp
>> a_ieq[i] = ieqcons_prime[i](x)
>> File "/usr/lib64/python2.7/site-packages/scipy/optimize/optimize.py",
>> line
>> 176, in function_wrapper
>> return function(x, *args)
>> File "/usr/lib64/python2.7/site-packages/scipy/optimize/optimize.py",
>> line
>> 398, in approx_fprime
>> grad[k] = (f(*((xk+ei,)+args)) - f0)/epsilon
>> ValueError: setting an array element with a sequence.
>>
>> Any ideas on this?
>>
>> _______________________________________________
>> SciPy-User mailing list
>> SciPy-User at scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>
More information about the SciPy-User
mailing list