使用 Python 从变量和函数值数组中找到全局最大值

Using Python to find a global maximum from array of variables and functional values

就我的问题而言,我有一个数据集,其函数依赖于 4 个变量。数据集采用数组形式,其行有 5 列,其中第 0、1、2、3 列是输入值,第 4 列包含输出值。我想找到由输入值定义的流形的全局最大值的位置和值。特别是,这个数据集有几个不感兴趣的局部最大值。

我是使用 python 的新手,这让事情变得有点困难,特别是因为在使用像 scipy 这样的库时,有必要在抛出随机值和启动一个函数之前定义一个函数形式搜索 minima/maxima。如果有人对我可以使用的库或特定技术有任何想法,我将不胜感激。

考虑到 dataset 是一个形状为 (n, 4) 的 numpy ndarray,

import numpy as np
global_maxima = dataset[np.argmax(dataset[:,-1])][:-1]

将为您提供前三列的全局最大值,如果我理解得很好的话,这就是您的输入列。如果您想要全局最小值,请将 np.argmax 替换为 np.argmin