Передача выражения Sympy в Scipy.optimize.minimize - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь оптимизировать следующую функцию

fun=-300.49858410695*C_0 - 301*C_1 - 60.2000000000003*C_2

Но когда я передаю это выражение в функцию scipy.optimize.minimize, я получаю ошибки.

TypeError: 'Add' object is not callable

Вот весь код, который я пробовал

x0=[1,1,1]
scipy.optimize.minimize(fun,x0,method="Nelder-Mead")

Я понимаю, что проблема заключается в передаче выражений sympy как функции, но есть ли способ решить эту проблему?

1 Ответ

1 голос
/ 08 июля 2019

Вам нужно создать функцию из вашего выражения путем lambdifying it.

from sympy import lambdify
fun = lambdify( (C_0,C_1,C_2), fun))
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...