问题标签 [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 投票
1 回答
640 浏览

r - 在 R 的 nnls 中实现额外的约束

我正在将R 接口用于非负线性最小二乘算法的 Lawson-Hanson NNLS||A x - b||^2实现,该算法在向量 x ≥ 0 的所有元素的约束下求解。这工作正常,但我想添加进一步的约束。我感兴趣的是:

  1. 还要最小化 x 的“能量”: ||A x - b||^2 + m*||x||^2

  2. 最小化“x 导数中的能量” ||A x - b||^2 + m ||H x||^2,其中 H 是恒等式和第一个非对角线上为 -1 的矩阵的总和

  3. 最一般地,最小化||A x - b||^2 + m ||H x - f||^2.

有没有办法通过一些巧妙的方式来重述问题 1.-3 来诱使 nnls 做到这一点。以上?我对这样的事情抱有希望的原因是,在Whitall 等人的一篇论文中(对付费专区感到抱歉)有一个小小的评论,声称“幸运的是,可以从上面的原始形式采用 NNLS 来适应某些东西在问题 3"中。

0 投票
1 回答
303 浏览

algorithm - 最小化 A* 算法的布尔函数启发式

我必须在 python 中编写一个程序来最小化布尔函数,但问题是我必须使用搜索算法,例如 A* 或更简单的算法 BFS 或类似的东西。我用迭代加深写了一个程序,它解决了所有问题,但是速度太慢(每个问题限制为 20 秒)。

所以我用 A* 算法写了另一个程序,(我们被告知如果我们想要更好的成绩,我们必须使用这个),但我设法让它比使用迭代加深的程序慢 10 倍,这是因为我可以没有弄清楚算法的正确启发式。我无法弄清楚有效最小化(良好的启发式)的标准是什么。

问题:

您将获得代表真值表的列表列表 ([[0,1,0,1],[...],[...],[....],...])内部列表表示函数的值)。编写一个程序,仅使用搜索算法(例如 A*、BFS、IDA*、DFS 等)找到布尔函数的最小析取形式。对于每个问题,你有 20 多岁的时间来解决它。

0 投票
1 回答
239 浏览

algorithm - 最小化动态“度量”的生成树

让我们有一个图表。当我们删除一条边时,会创建 2 辆“汽车”,从边的每个顶点创建一辆。当这两辆车相遇时,它们会停下来。问题是创建一棵生成树,以使通过每个顶点的汽车数量之和最小。

增加的困难是,如果一个顶点有 n 辆车从它经过,那么成本是 K^n 而不是 n*K。

一些想法。我们可以找到最短的无弦周期作为开始,但这些无弦周期的位置,即它们是否相互接触,会改变度量,从而改变最短周期。

这不是最小生成树问题。我想解决这个问题,因为每辆车都代表一个变量,而生成树是计算优化问题的最有效方法。当来自同一边缘的 2 辆车相遇并停止时,我从优化中减少了一个变量。

编辑:

过程是这样的。我们删除了许多边以使图成为生成树。每条移除的边会创建 2 辆汽车,在被移除的边的每个顶点上都有一辆,它们需要彼此相遇。我们为每辆双车固定一条路径。然后我们检查有多少汽车(从我们移除的所有边)通过每个顶点。如果从一个顶点通过的汽车数量为 n,则成本为 K^n,其中 K 是一个常数。然后我们将所有成本相加,这就是需要最小化的全局成本。

如果有不清楚的地方,请告诉我。 https://mathoverflow.net/questions/86301/spanning-tree-that-minimizes-a-dynamic-metric

0 投票
2 回答
723 浏览

html - 最小化(压缩;放气)用于数据库存储的 html:有必要吗?

我将电子邮件正文中的 HTML 存储在 SQL Server nvarchar(max) 列中。在进入的过程中最小化 HTML 有什么好处吗?

通过最小化我的意思是在 HTML 文本流中删除多余的空格和回车/换行符。我的术语可能不太正确:我不打算删除任何 HTML 标记/注释或类似的东西。

我所说的好处是指存储空间的效率、插入/检索的速度,因此好处集中在数据库方面。

如果值得,我应该注意什么(例如,如果我用一个空格替换换行符,它可能会在以后错误地呈现 HTML)?

0 投票
1 回答
322 浏览

python - 求函数 I(a,b,c,d) 积分的 4 维最小值 (a,b,c,d)

我有一个令人讨厌的不连续二维积分I(k,k''; J,Jp,a,b,c,d),它有 4 个变分参数(a,b,c,d)和 2 个固定常数(J,Jp)。求积分的过程并不简单,需要第一步。

  1. 我需要找到从 到 的一维积分的根 ( mu)-pipi

    A = Integrate [ 1/(exp(E(k; a,b,c,d)-mu)+1 ] dk/2pi = 0.5,

    其中E是一个由平方根和余弦组成的复杂函数。

  2. 找到 mu 后,我需要找到(a,b,c,d)这个二维积分(与极限相同-pipi的4D(全局)最小值JJp提供 ,。

    result(J,Jp) = Minimum[ Integrate [ I(J,Jp;k,k''; a,b,c,d,mu) ] dk/2pi dk''/2pi ]

复杂的功能I基本上看起来像

mu我已经完成了寻找假设值的第一步a,b,c,d,但我不确定如何处理它们的任意值。除了嵌套所有 lambda 函数之外,还有其他方法吗?即便如此,我该如何嵌套 lambda 函数来完成我所需要的?

我有用 Mathematica 编写的程序,但是获得最小值需要很长时间,而且有时是错误的。我想尝试将它移植到我目前正在学习的 Python 上。谢谢!

编辑:有关物理系统的更多信息:第一步是通过对系统进行填充来找到量子系统的费米能级。借助费米能级,我们可以找出哪些变分参数使这个 Hartree-Fock 系统的基态能量最小化。

0 投票
2 回答
2904 浏览

python - 没有导数的Python函数最小化

我熟悉 scipy.optimize.optimize 中的一些函数,并且过去曾使用 fmin_cg 来最小化我知道导数的函数。但是,我现在有一个不容易区分的公式。

该模块中的一些函数(例如 fmin_cg)实际上并不需要提供导数。我假设他们然后通过依次为每个参数添加一个小值来计算准导数 - 对吗?

我的主要问题是:在没有给定导数的多个参数上最小化函数时,哪个函数(或其他函数)最好使用?

0 投票
2 回答
1712 浏览

java - 在java中最小化复杂的线性多变量函数

我需要在某些约束下最小化复杂的线性多变量函数。

x为长度为L的复数数组。

a[0], a[1], ..., a[L-1]是复系数,并且

F是复函数F(x)= x[0]*a[0] + x[1]*a[1] + ... + x[L-1]*a[L-1]必须被最小化。

b[0], b[1], ..., b[L-1]是复系数,有一个约束

1 = complexConjuate(x[0])*x[0] + complexConjuate(x[1])*x[1] + ... + complexConjuate(x[L-1])*x[L-1]有来实现。

我已经详细查看了http://math.nist.gov/javanumerics/并浏览了许多文档。但是我找不到一个可以最小化复杂功能的库。

0 投票
1 回答
1019 浏览

algorithm - 最小化向量的函数

我需要最小化以下总和:

最小化所有人的总和i{(i = 1 to n) fi(v(i), v(i - 1), tangent(i))}

v并且tangent是向量。 fi将 3 个向量作为参数并返回与这 3 个向量相关的成本。对于这个函数,v(i - 1)是在上一次迭代中选择的向量。
tangent(i)也是众所周知的。给定其他两个向量和,fi计算选择向量 的成本。和向量是已知的。所有的值也都是预先知道的。 我的任务是确定所有这样的 s,以使函数值的总成本最小化。 你能给我一些解决这个问题的想法吗? 到目前为止,我可以想到分支定界或动态编程方法。v(i)v(i - 1)tangent(i)v(0)v(n)tangent(i)
i = 0 to n
v(i)i = 1 to n

谢谢!

0 投票
2 回答
143 浏览

javascript - 如何使用自定义配置缩小 CSS 和 JS?

我需要一个可靠的 JS 和 CSS 最小化器,它可以自定义并与现代 CSS3 属性兼容。我更喜欢它有类似属性文件的东西以便配置。你能帮我解决这个问题吗?

0 投票
1 回答
985 浏览

python - 具有参数限制的根 minuit2 轮廓

我正在尝试使用作为ROOT数据分析框架的一部分的 Minuit2 最小化器为具有物理限制的参数生成等高线图。不幸的是,当我尝试生成等高线图时,Minuit2 似乎有意将参数漂移到超出其限制的区域:

有没有其他人处理过这个或类似的问题?有什么解决方法吗?

我已经在ROOT 论坛上问过这个问题,但我认为可能还有一些堆栈溢出用户已经处理过这个或类似的问题。