问题标签 [scipy-optimize-minimize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 lmfit 和差分进化方法设置迭代限制
我正在尝试使用 lmfit 包拟合一组数据。作为最小化例程,我选择了差分进化(https://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.optimize.differential_evolution.html)并且我想限制最大迭代次数执行。
根据 lmfit 手册(https://lmfit.github.io/lmfit-py/fitting.html#the-minimize-function),我可以使用 **fit_kws 通过最小化函数将关键字参数传递给底层 scipy 最小化器字典。
我尝试了几个选项,将关键字传递给 fit 例程。例子是:
或者
或者
我没有收到任何错误消息,但 maxiter 只是被忽略了。我会简单地期望在 20 次迭代后(我也尝试过更大的数字),拟合过程会停止。另外,如果我将 fit_kws 定义为
这是胡说八道,我预计会出现错误,但我没有得到。
你能帮我理解如何将一些参数传递给底层的 scipy.optimize 函数吗?
python - 如何从 scipy 中提取两个输出最小化
我想要一个基于长度、宽度和高度(在一定范围内)最小化体积的函数。但是除了体积,我还要计算half_volume = volume /2。
我的最小化算法成功地确定了正确的高度、宽度和长度(显然是较低的波段值)。但是如何提取 half_volume 值?
因为我正在运行最小化,所以我不能返回一个以上的输出(在这种情况下是音量)。如果我打印 solution.x,它会给我正确的高度、重量和长度以及最小化的体积。如何访问 half_volume?
python - 使用 scipy 最大化函数
我想优化我的函数Strategy2(alpha, beta)
,它对一些数据执行下注策略,从钱包值20,000开始,并返回一个新的钱包值。
所以我需要找到最大化返回值的最佳alpha
&beta
值。
一个快速的谷歌建议 scipy 是要走的路,但我正在努力实现它。
在尝试这种优化方法之前,我采用了固定 alpha 的方法,然后找到最佳 beta,然后对固定 beta 做同样的事情并找到最佳 alpha。
该方法给出了一个最佳值,Strategy2(23,3)
其中返回24,650。
这是我尝试实现模块 scipy 中的最小化方法:
如您所见,我真的不知道自己在做什么,实际上这只是返回
最终钱包值为 10,705。这显然小于24,650。所以有些东西显然不起作用。
我怎样才能得到它,所以我最大化Strategy2(alpha, beta)
?理想情况下,我想将 alpha 从 0 更改为 100,并将 beta 从 1 更改为 15。
提前致谢。
编辑:我对上述代码的推理是我只是想调整以下工作代码:
正确地最小化上述功能。
如果有更好的方法来最大化我的功能,请告诉我。
minimization - 如何为 scipy.optimize.minimize 选择合适的方法?
我想知道如何为 scipy.optimize.minimize 选择最佳最小化方法,结果可能会有多大不同?
我正在尝试最小化以下表达式(求解 g):
|a1.g.x + a2.g.x^3 - K|
python - 我正在尝试使用 scipy.minimize 解决具有约束和界限的最大化问题
我正在尝试使用 scipy 最小化 SLSQP 中的边界来解决约束最大化问题。但为什么我会收到此消息:“LSQ 子问题中的奇异矩阵 C”?如何解决这个问题?当我删除约束并尝试最小化目标函数时,它工作正常,但是当我试图最大化它时,它显示“线搜索的正方向导数”。代码如下:
python - Python minimize_scalar 计算多项式最小值不正确
我正在尝试使用 minimize_scalar 来计算一维多项式的最小值和最大值。
多项式为 x^{6}-2x^{5}-26x^{4}+28x^{3}+145x^{2}-26x-80
代码如下所示
结果是
然而,一维多项式的实际解应该是最大值:在 x=2.176 处为 264.155,在 x = -3.391 处最小值为 -436.947
有谁知道我的代码有什么问题或者我错过了什么?
感谢您的任何帮助意见。
python - 在 scipy.optimize.minimize 中广播
我定义了一个引用数组并在该数组中广播变量的函数。当函数运行时,它工作正常。但是,当我尝试使用 scipy.minimize 来最小化函数时,我收到以下错误:
操作数不能与形状一起广播 (75,) (2,)
任何帮助将非常感激!
python - scipy.optimize.minimize - slsqp - hessian 矩阵
我在 Python 中使用包 scipy.optimize.minimize,尤其是使用 SLSQP,因为这个算法更适合我的问题。问题是 SLSQP 做了一个近似来计算目标函数的 hessian,而我通过分析知道它。如何将粗麻布传递给算法?
谢谢。
python - LSQ 子问题错误中的奇异矩阵 C - 多个配方
我正在尝试对烹饪食谱进行简单的优化。特点是系统将不得不同时优化多个配方,因为共同创建的约束尚未实现(例如:所有配方共有的核心)。
以下是显示 scipy 的错误:
这里的代码:
python - 可扣除的建模——难以用 scipy.optimize.minimize 实现收敛
我是 Python 新手。如果我的代码感觉不舒服,我提前道歉。在过去的几周里,我一直在研究一项称为可扣除建模的困难统计挑战。我会尽量避免不必要的统计术语并保持问题简单,因为据我了解,我的问题是编程/优化问题,而不是统计问题。
如果您认为应该,请将此主题移至更合适的堆栈交换站点
我有 8 个参数,其中 2 个是受约束的,应该是正数(phi_freq
和phi_sev
)。我正在尝试最大化对数似然函数,该函数基本上是所有这些参数的非凸、多模态、连续、实值、不可微 (AFAIK) 函数。哎呀!
我知道这些问题意味着提供给搜索算法的种子值将对我们收敛到的局部/全局最优值产生巨大影响,但据我所知,我的起始值是可靠的,即使是硬编码的(在提供的示例中下面),是辅助优化的结果,而不仅仅是主观预感。
我曾尝试使用库的Nelder-Mead
andSLSQP
方法(SLSQP
已注释掉)scipy.optimize.minimize
,但返回的值很尴尬且毫无意义。
以下是 MWE:
我不确定目前如何以及是否需要提供数据(示例代码中引用的policies
和claims
平面文件)。我准备这样做,但需要先将它们匿名化。
所以,我想此时任何指针都会受到欢迎,因为我快要碰壁了。有一个全局解决方案,必须有,这意味着mle
(最大似然估计)必须存在。我的种子值非常现实,因为它们是通过矩匹配(所谓的method of moments
估计器)获得的。我觉得一定有什么我做错了。此外,尽管听起来很蹩脚,但我什至使用 's 求解器重现了完全相同的问题Excel
,并遇到了类似的数值收敛问题。我很乐意提供有关此问题的补充细节,无论技术与否。