python - scipy.optimize for vector function -
i want minimize function has multiple inputs multible outputs. more specific, call excel calculation , want constrain particular inputs , outputs of function. far managed minimize scalar function meaning multible inputs 1 output. can please guide me if such problem can solved python/scipy? i´d choose x smpkt minimized , smaller particular value.
for example code snippets:
def f1(x,params): y=f(x) the function f(x) external excel sheet multiple inputs , outputs, output should y=[smpkt,a]. i´d minimize smpkt , keep a smaller constraint choosing x.
so far managed minimize y=f(x) y=[smpkt] scalar following call:
res = optimize.minimize(f1, x0, args=params, method='cobyla',options={'ftol': 0.1, 'maxiter': 5}) any idea?
note: i'm not sure following want do. in particular, "i'd keep variable "a" smaller particular value.", not same "i want choose x a small possible.". it's worth, here's answer 1 interpretation of question.
if want minimize 1 component of output, suggested comments function f1 (and can't modify f1 return a), you'll need wrap existing function in function calls f1 , returns a (assuming a is, in fact, scalar).
e.g.
def objective_function(x, params): smpkt, = f1(x, params) return you accomplish same effect more concisely lambda expression:
res = optimize.minimize(lambda x, params: f1(x, params)[1], x0, args=params, method='cobyla', options={'ftol': 0.1, 'maxiter': 5})
Comments
Post a Comment