使用 scipy 中的 optimization.minimize 和 2 个变量和插值函数

2024-03-27

我没有找到使用多维函数从 scipy 执行 optimize.minimize 的方法。在几乎所有示例中,解析函数都得到优化,而我的函数则被插值。测试数据集如下所示:

x = np.array([2000,2500,3000,3500])
y = np.array([10,15,25,50])
z = np.array([10,12,17,19,13,13,16,20,17,60,25,25,8,35,15,20])
data = np.array([x,y,z])

虽然函数类似于 F(x,y) = z

我想知道的是 f(2200,12) 处发生了什么以及 x (2000:3500) 和 y (10:50) 范围内的全局最大值是多少。插值工作正常。但到目前为止,找到全局最大值还行不通。

插值法

 self.F2 = interp2d(xx, -yy, z, kind, bounds_error=False)

yields

<scipy.interpolate.interpolate.interp2d object at 0x0000000002C3BBE0>

我尝试通过以下方式进行优化:

x0 = [(2000,3500),(10,50)]
res = scipy.optimize.minimize(self.F2, x0, method='Nelder-Mead')

抛出异常:

TypeError: __call__() missing 1 required positional argument: 'y'

我认为优化器无法处理插值中的对象。在示例中,人们使用 lambda 从函数中获取值。对于我的情况,我需要做什么?

最好的, 亚历克斯


首先,要找到全局最大值(而不是最小值),您需要用相反的符号对函数进行插值:

F2 = interp2d(x, y, -z)

二、可调用的minimize接受一个参数元组,并且interp2d对象需要输入坐标作为单独的位置参数给出。因此,我们不能使用interp2d对象在minimize直接地;我们需要一个包装器来解压来自的参数元组minimize并将其喂给interp2d:

f = lambda x: F2(*x)

第三,使用minimize您需要指定最小值(和界限,在您的情况下)的初始猜测。任何合理的观点都可以:

x0 = (2200, 12)
bounds = [(2000,3500),(10,50)]
print minimize(f, x0, method='SLSQP', bounds=bounds)

这产生:

  status: 0
 success: True
    njev: 43
    nfev: 243
     fun: array([-59.99999488])
       x: array([ 2500.00002708,    24.99999931])
 message: 'Optimization terminated successfully.'
     jac: array([ 0.07000017,  1.        ,  0.        ])
     nit: 43
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 scipy 中的 optimization.minimize 和 2 个变量和插值函数 的相关文章

  • ValueError:“连接”层需要具有匹配形状的输入(连接轴除外)

    我正在尝试为我的项目构建 Pix2Pix 并收到错误 值错误 Concatenate层需要具有匹配形状的输入 除了连接轴之外 获得输入形状 None 64 64 128 None 63 63 128 生成器是一个 U 网模型 我的输入高度
  • 带有指针数组的 cython

    我在 python 中有一个 numpy ndarrays 列表 具有不同的长度 并且需要非常快速地访问 python 中的列表 我认为指针数组就可以解决问题 我试过 float type t list of arrays no of ar
  • Pyenv 无法在 Cygwin 上安装 python: ModuleNotFoundError: No module named '_ctypes'

    我正在尝试设置 Cygwin 环境以使用 pyenv 来管理 python 版本 我没有管理员权限 所以我使用以下命令运行设置 no admin flag 我使用 Cygwin 包管理器应用程序解决了一些依赖关系 但我被困在了这一点上 Mo
  • 带括号的上下文管理器

    我试图了解新的新内容带括号的上下文管理器Python 3 10 中的功能 新功能中的顶部项目here https docs python org 3 10 whatsnew 3 10 html 我的测试示例是尝试编写 with open f
  • Pip install 导致此错误“ cl.exe' failed with exit code 2 ”

    我已经阅读了有关此错误的所有其他问题 但令人沮丧的是 没有一个给出有效的解决方案 如果我跑pip install sentencepiece在命令行中 它给出了以下输出 src sentencepiece sentencepiece wra
  • 十六进制数的按位异或

    我们如何在 Python 中对十六进制数进行异或 例如 我想要异或 ABCD and 12EF 答案应该是 B922 我使用了下面的代码 但它给出了错误的结果 xor two strings of different lengths def
  • 使用字母而不是数字进行顺序计数[重复]

    这个问题在这里已经有答案了 我需要一种方法 将字符串 递增 到 z 然后将 aa 递增到 az 然后将 ba 递增到 bz 依此类推 就像 Excel 工作表中的列一样 我将向该方法提供前一个字符串 它应该增加到下一个字母 PSEUDO C
  • 可移植的非关系数据库

    我想尝试 尝试非关系数据库 最好的解决方案是 便携式 这意味着它不需要安装 理想情况下 只需将目录复制粘贴到某个地方即可使其工作 我不介意第一次使用时是否需要编辑一些配置文件或运行配置工具 可从 python 访问 适用于 Windows
  • 对图像使用 Pixellib 自定义训练时出现 input_image 元形状错误

    我正在使用 Pixellib 来训练自定义图像实例分割 我创建了一个数据集 可以在下面的链接中看到 数据集 https drive google com drive folders 1MjpDNZtzGRNxEtCDcTmrjUuB1ics
  • 理解@property装饰器和继承[重复]

    这个问题在这里已经有答案了 这里是 Python 3 以防万一它很重要 我试图正确理解如何实现继承 property使用 我已经搜索了 StackOverflow 并阅读了大约 20 个类似的问题 但无济于事 因为他们试图解决的问题略有不同
  • Selenium:等到 WebElement 中的文本发生变化

    我在用着selenium使用Python 2 7 从网页上的搜索框检索内容 搜索框动态检索结果并在框本身中显示结果 from selenium import webdriver from selenium webdriver common
  • 管理文件字段当前 url 不正确

    在 Django 管理中 只要有 FileField 编辑页面上就会有一个 当前 框 其中包含指向当前文件的超链接 但是 此链接会附加到当前页面 url 因此会导致 404 因为不存在这样的页面 例如 http 127 0 0 1 8000
  • 在Python中计算结构体的CRC

    我有以下结构 来自 C 中的 NRPE 守护程序代码 typedef struct packet struct int16 t packet version int16 t packet type uint32 t crc32 value
  • 如何减少 JSF 中的 javax.faces.ViewState

    减少 JSF 中视图状态隐藏字段大小的最佳方法是什么 我注意到我的视图状态约为 40k 这会在每次请求和响应时下降到客户端并返回到服务器 特别是到达服务器时 这对用户来说会显着减慢 我的环境 JSF 1 2 MyFaces Tomcat T
  • 请求response.iter_content()获取不完整的文件(1024MB而不是1.5GB)?

    您好 我一直在使用此代码片段从网站下载文件 到目前为止 小于 1GB 的文件都很好 但我注意到 1 5GB 文件不完整 s is requests session object r s get fileUrl headers headers
  • 如何将 pytest 装置与 django TestCase 一起使用

    我如何在TestCase方法 类似问题的几个答案似乎暗示我的例子应该有效 import pytest from django test import TestCase from myapp models import Category py
  • 网页抓取 - 如何识别网页上的主要内容

    给定一个新闻文章网页 来自任何主要新闻来源 例如时报或彭博社 我想识别该页面上的主要文章内容 并丢弃其他杂项元素 例如广告 菜单 侧边栏 用户评论 在大多数主要新闻网站上都可以使用的通用方法是什么 有哪些好的数据挖掘工具或库 最好是基于Py
  • 从 Python 中编译的正则表达式中提取命名组正则表达式模式

    我有一个 Python 正则表达式 其中包含多个命名组 但是 如果先前的组已匹配 则可能会错过与一组匹配的模式 因为似乎不允许重叠 举个例子 import re myText sgasgAAAaoasgosaegnsBBBausgisego
  • 在 Tensorflow 2.0 中的简单 LSTM 层之上添加 Attention

    我有一个由一个 LSTM 和两个 Dense 层组成的简单网络 如下所示 model tf keras Sequential model add layers LSTM 20 input shape train X shape 1 trai
  • 在读/写二进制数据结构时访问位域

    我正在为二进制格式编写一个解析器 这种二进制格式涉及不同的表 这些表同样采用二进制格式 通常包含不同的字段大小 其中 50 100 个之间 大多数这些结构都有位域 并且在 C 语言中表示时看起来像这样 struct myHeader uns

随机推荐

  • 从另一个进程的输出流读取

    我想在我的 Java 程序中读取 c 应用程序的输出流 iremoted 可在此处获取 Link https web archive org web 20200505051207 http www osxbook com software
  • 正则表达式,单引号或双引号

    我有这个正则表达式 preg replace key is key newValue contents 它将数组值写入配置文件中 我需要在数组键周围允许使用单引号或双引号 但我不知道该怎么做 我没有写这个正则表达式 处理多种引用样式的常用方
  • 如何只关注 Github 上的特定问题,而不是观看整个项目? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否可以只关注 Github 上的特定问题 而不是观看整个项目 当一个特定问题发生更改 拉取 状态更改 新评论 时 我希望通过电子邮件收到通知 这有可
  • 使用 rvm 更新 ruby​​ 版本后收到警告消息“Path set to RVM”

    最近 由于出现警告消息 我尝试更新我的 ruby 版本 见下文 现在 当我启动 iterm2 时 我收到以下警告消息 Warning PATH set to RVM ruby but GEM HOME and or GEM PATH not
  • 如何在新算法中添加weka特征?

    我想在 weka 中添加一种新算法 在一个算法中具有分类 聚类 关联等功能 我应该如何编写代码来包含所有 weka 功能 并为这个新算法向 weka 添加一个选项卡 我已经向 weka 添加了一个虚拟算法 现在它可以工作了我想添加一个结合了
  • 如何获取按输入顺序排序的 python Counter 输出?

    我一直在努力获取计数 频率 然后制作它的图形表示 我在用Counter班级来自collections使用Python 我想要的输出Counter按照先到对象的顺序 例如 offset a b c a b b b c c c c c coun
  • WCF - 回调客户端(双工?)

    我有一个问题 不知道该选择什么解决方案 我有一台正在运行的服务器 正在运行可以从网站接收订单的服务 多个客户端 远程计算机 以某种方式连接到该服务器 我真的很想使用 WCF 进行所有通信 但不确定是否可行 我不想在路由器中配置所有客户端防火
  • 握手期间连接终止

    这真的很令人沮丧 浪费了 3 天的时间来解决 但在 Macos Catalina 版本 10 15 1 和 Windows 7 上仍然出现卡住问题 我的两台电脑显示相同的错误 第一次当我尝试 获取包裹 时 它显示了 Users mamun
  • BL 服务:异常还是方法结果?

    最好的方法是什么 为什么 V1 try var service IoC Resolve
  • 如何为 Google 地图创建“大小圆圈”图例

    我有一个自定义的谷歌地图 它使用 GeoJSON 文件中的数据创建大小的圆圈 我需要做的是创建一个图例 键来解释每个圆圈的大小代表什么 我尝试按照 Google 的指南创建自定义图例 https developers google com
  • 我的 PHP 卷曲请求出了什么问题,请帮忙..我没有得到任何数据[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 它说浏览器
  • 如何(最好)将 WM_QUIT 发布到正在运行的进程?

    目标 关闭Windows下正在运行的32位GUI进程 我可以访问可执行路径名 该软件可能有多个副本正在运行 但只有一个副本是从唯一的可执行路径名启动的 由于可以运行该可执行文件的多个实例 因此只需查看顶层窗口就需要区分哪个可执行文件路径名实
  • jsPDF fromHTML() 不显示 HTML

    我正在研究一个简单的 javascript 我正在使用 jsPDF 库 但脚本加载了一个空白的 pdf 这是代码
  • 在 Objective-C 中查找一个不区分大小写的字符串

    我的问题类似于Objective C 中如何检查一个字符串是否包含另一个字符串 https stackoverflow com q 2753956 602011 如何检查字符串 NSString 是否包含另一个较小的字符串但忽略大小写 NS
  • 未找到:操作类型未注册“CountExtremelyRandomStats”

    在 docker 容器中运行 bazel 命令时出现以下错误 命令运行 bazel bin tensorflow serving model servers tensorflow model server port 9000 model n
  • 如何连接到docker Oracle实例

    我正在关注这些指示 https github com oracle docker images tree master OracleDatabase 我创建了一个像这样的 docker 容器 docker run name oracle p
  • 删除旧的 .PhpStorm 目录是否安全

    每次我将 PhpStorm 升级到新的单点版本时 我的主目录中都会保留以前的版本 我现在有 PhpStorm2017 1 PhpStorm2017 2 PhpStorm2017 3 PhpStorm2018 1 PhpStorm2018 2
  • 如何在 Android Studio 中编辑 .jar 文件

    如何使用 Android Studio 编辑 jar 文件中的 class 文件中的代码 当然 我已经尝试过编辑它 由于某种原因 我试图编辑的类是只读的 Jar文件是压缩档案 zipped files class文件 以及一些其他资源 cl
  • 学习 C# Excel 互操作的资源 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有哪些资源可以帮助我快速启动并运行 C 中的 Excel 互操作 文章从 Visual Studio 2005 开发人员的角度理解 Exc
  • 使用 scipy 中的 optimization.minimize 和 2 个变量和插值函数

    我没有找到使用多维函数从 scipy 执行 optimize minimize 的方法 在几乎所有示例中 解析函数都得到优化 而我的函数则被插值 测试数据集如下所示 x np array 2000 2500 3000 3500 y np a