遇到错误:我尝试最小化函数时,目标函数必须返回标量

时间:2018-09-05 14:48:15

标签: python optimization scipy

我试图最小化一个函数,并尝试计算得到输出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))

这可能是什么原因?

0 个答案:

没有答案