在 Python 中使用更多变量进行优化

Optimizing with more variables in Python

我在 Python 中有两个简单的数组,我想通过更改第一个数组中的值来最小化这些数组相对于给定目标值的和积。 这是一个例子:

import numpy as np
from scipy.optimize import fmin

def func2(params):
    a, b, c = params
    arr1 = [a, b, c]
    arr2 = [150, 200, 230]
    res = sum(np.multiply(arr1, arr2))
    tar = 2
    error = res - tar
    return error

initial_guess = [0.0025, 0.0030, 0.0035]
finarr = fmin(func2, initial_guess) 
print(finarr)

上面的代码运行但我收到错误的结果,因为第一个数组中的数字应该是 ~ 0.0027、0.0033 和 0.0040。 如果有人能帮助我,我将不胜感激。 谢谢。

您需要return func2 中误差的绝对值。

error = abs(res - tar)