问题标签 [minimization]

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.

0 投票
3 回答
10158 浏览

python - 使用 scipy 最小化也采用非变分参数的函数

我想使用该scipy.optimize模块来最小化一个功能。假设我的功能是f(x,a)

对于一个固定的a,我想最小f(x,a)x

scipy例如,我可以导入函数(我有fmin一个旧的 scipy:v.0.9.0),给出一个初始值x0,然后优化(文档):

失败是因为f需要两个参数并且fmin只传递一个(实际上,我什至还没有定义a)。如果我做:

计算也将失败,因为“未定义 x”。但是,如果我定义x,则没有要优化的变分参数。

如何在这里允许将非变分参数用作函数参数?

0 投票
1 回答
8807 浏览

python - 在 python 中用 scipy 解决有界非线性最小化

试图用一个变量解决一个简单的非线性最小化问题。

这给了我

我输入错了吗?我应该如何格式化它?

如果我删除界限,我会得到:

该函数看起来像这样,因此我需要将解决方案限制在我感兴趣的局部最大值中。

0 投票
2 回答
189 浏览

numpy - 除以零的最小化最小平方

我想对包含除法和一些三角函数的函数应用最小化,如下面的一段代码所示。但除以零时出现错误:

RuntimeWarning:在除法launch_new_instance()中遇到除以零

0 投票
4 回答
1956 浏览

image-processing - 在图像中寻找能量最小的路径

考虑一个包含灰度值的二维数组,如下图所示:

在此处输入图像描述

我想找到红点之间的最佳路径。如果您认为明亮区域是“高”,而黑暗区域在海拔意义上是“低”,那么我想要一条沿着从一个标记到另一个标记的黑暗“山谷”延伸的线。

我知道的两类算法是:

  1. 基于图像处理的“自下而上”操作(骨架化、分水岭、最终侵蚀等)
  2. 迭代最小化,“自上而下”操作(活动轮廓)。

我的问题是:

是否有任何典型且定义明确的操作或算法来解决这个问题,或者我应该从上面提到的一些通用技术中自己创建一个?

我会先尝试骨架化,但我不知道如何在灰度图像上执行它。而且,如果我要尝试一个活动轮廓,我想知道对于类似于所示图像的良好内部和外部能量函数(我怀疑图像梯度可以充当矢量场)。

原始数据 (CSV) 在这里

编辑:这是我在实现接缝雕刻算法(如维基百科中所述)和 Shoham 建议以强制路径通过标记后的工作代码:

0 投票
1 回答
1519 浏览

matlab - Matlab fmincon 不产生全局最大值/最小值

我是matlab的新手,如果问题很愚蠢,我深表歉意。我正在使用该fmincon 函数来推导mxn矩阵 (X) 的元素,该矩阵将在非负性约束下最大化以下目标函数,并且:

总和(x_{ij})< 100

{f(x(1,1))+(f(x(1,2))+...+f(x(1,n))} + Beta*{f(x(2,1))+ (f(x(2,2))+...+f(x(2,n))}+...+(Beta^(m-1))*{f(x(m,1)) +(f(x(m,2))+...+f(x(m,n))}

在哪里

f(xij)=zeta*[((alpha*pf*(xij^delta))-(pw*xij))^gamma]

在我曾经这样做的代码fmincon中使用了,因为目标函数是非线性的:

当代码针对 5x5 矩阵 (optim(5,5)) 运行时,得到的解是 x =

但这不是全局最小值 - 正如边际条件指定的全局最小值(对于第一行):

f'(x11)=...=f'(x1n)

每行以此类推。我们还将为每一列:

f'(x11)=beta*f'(x21)=...=(beta^m-1)*f'(xm1)

对于第一列,依此类推。结果矩阵不满足这些条件。我已经查看了堆栈溢出中的相关问题以及文档,但我不知道如何获得更好的结果。代码有问题吗?可以调整代码以获得更好的结果吗?

我可以将边际条件设为停止条件吗?我该如何去做。或者我可以以某种方式使用雅可比吗?任何帮助,将不胜感激。谢谢你。

0 投票
4 回答
137 浏览

javascript - 从压缩文件中捕获 JavaScript 错误

我通过订阅 window.onerror 事件来捕获 JS 错误,因此如果有人捕获“未定义变量”错误,我会将其发送到服务器以进行调试。如您所知,此事件返回发生错误的“错误消息”、“url”和“line”。

问题出在压缩文件中。

如果文件被压缩,所有代码都在一行中,确定错误的确切位置是个大问题。

这个问题有什么解决办法吗?

0 投票
0 回答
261 浏览

python - 最小化最小平方界限

我正在使用最小二乘法来拟合很多参数,但是,结果并不令人惊讶,我认为这可能是由于最小化。事实上,当我修改初始化条款时,结果是不同的......

我第一次尝试使用命令“xtol”调整参数的初始值,该命令指定近似解中所需的误差,但结果并不好,所以我想知道是否可以指定边界每个参数。最后一个解决方案可能更准确吗?

此外,我需要适应的术语是一系列的参数,也许有一个最好的方法来处理这个问题,而不是我通过编写 2 个订单所做的......

所以如果我跟着你,我一定有类似的东西:

但似乎没有更好:(虽然我尝试使用惩罚值......

0 投票
2 回答
267 浏览

matlab - 在 Matlab 中找到以下函数的最小值

我试图在 Matlab 中最小化 sum((Ar*B).^2) ,其中 A 和 B 是矩阵,r 是我正在操作的标量。我尝试了以下代码:

但我得到一个错误。

0 投票
1 回答
844 浏览

logic - Mac OS X 的 Espresso Logic 最小化

有人可以提供可以在 Mac OS X 上运行的工作(意味着他们测试过)Espresso 吗?

我有一个要运行的 .pla 文件。

运行该软件的说明也不会受到伤害。

0 投票
3 回答
2394 浏览

matlab - 使用 fmincon 函数 MATLAB 进行定义的步进变化

我正在使用 MATLAB 的优化工具箱“fmincon”,但我遇到了下一个问题:

我有 6 个参数要改变,其中一些参数的变化最大是偶数,从 4 到 16(这个值可以变化,但总是会变化为偶数)。所以让我们像这样定义它们:

另外几个变量必须在 300 到 1500 之间变化,步长为 100,我的意思是:

最后一对只是在 4 到 6 之间变化,如下所示:

参数限制如下:

这里很重要的一点是,导致的变化fmincon不能做出很小的变化,我的意思是,它的第一个值x14,不可能4.0000000001,因为在我的目标函数中,变化不会产生任何影响;还有我的问题,因为步骤太少了,所以变化不会产生任何效果,算法停止,说目标函数没有变化。

我已经设置了fmincon, DiffMinChange=1, 并且适用于第一次迭代,并且它们开始执行的步骤太少了。这是初始配置fmincon

最初的限制是:

更清楚地说,我正在寻找的是制作 3 个范围,让我们定义如下:

编辑 1:您可能知道目标函数的每次评估大约需要 2-3 小时。

如你所见,最后我要找的是一个区间的变化,因此开始的限制不能大于顶部的限制,否则排名将为空。