Получение ошибки: функция Objective должна возвращать скаляр, а я пытаюсь свернуть функцию - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь свести к минимуму функцию и пытаюсь вычислить значение X, которое получает наименьшее значение вывода Y. Я использую scipy для расчета. Я написал для этого следующий код, но получаю сообщение об ошибке:

ValueError: Objective function must return a scalar

Вот код, который я написал:

from __future__ import division
import numpy as np
from scipy.optimize import minimize


def f(x):
    Y = ((x + 100) / 100)
    return Y


def apply_constraint(inputs):
    if(inputs[0] >= -1):
        return 0


my_constraints = ({'type': 'eq', "fun": apply_constraint})

min_result = minimize(f, [2,2,2], method="SLSQP", options={
                    'disp': False}, bounds=[(-2, 101),(-2, 101),(-2, 101)], constraints=my_constraints)

print("Minima found at: X = {}, Y = {}".format(min_result.x, min_result.fun))

В чем может быть причина этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...