Предположим, у меня есть следующие две функции
def f(a,b,c,d):
return a*b*c-d
def obj(arguments, k):
"""objective function, to be solved."""
x, arg_1, arg_2 = arguments[0], arguments[1], arguments[2]
v_3 = f(x, arg_1, arg_2, k)
return abs(x-v_3)
Где вы можете без проблем выполнить следующее:
x0 = 1
initial_guess = [1,1,1] # initial guess can be anything
obj(initial_guess, 2)
Как вы можете видеть, функция Objective содержит переменную, которая делает не нужно оптимизировать, который определен как 2, но я мог бы изменить его на 3 и т. д.
Когда я запускаю следующий код
result = minimize(obj, initial_guess)
Я получаю законную ошибку, которая это:
TypeError: obj() missing 1 required positional argument: 'k'
Я пытался это
result = minimize(obj, (initial_guess,2))
Но снова я получаю ту же ошибку