问题标签 [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 回答
270 浏览

algorithm - 优化线段上的 2 参数距离函数 (ACM ICPC Regionals Elim.)

此问题是 ACM ICPC 坎普尔地区淘汰赛中提出的问题的子问题:

(Pa, Pb)给定由 2D 点和(Pc, Pd)分别界定的 2 条线段,找到最小化函数的pq(在范围 内)[0,1]

(实际上,Px 和 Py 是线段上的点,函数编码从 Pa 到 Pd 的成本,通过成本为 k 倍欧几里得距离的连接链路)

关于这个函数的一些观察:

  1. 平行线段总是会导致p和中的至少一个为q0 或 1
  2. 相交的线段总是会导致pq定位线段的交点(可以应用三角不等式来证明这一点)

问题:在线条倾斜并可能分开的一般情况下,我们如何最小化此功能?

0 投票
3 回答
646 浏览

wolfram-mathematica - 如何获得 Sqrt[3x+1]+Sqrt[3y+1]+Sqrt[3z+1] 的最小值?

我想使用mathematica 为x>=0&&y>=0&&z>=0&&x+y+z==1 获得f 的最小值。

PS:我确实知道如何通过数学方法获得最小值:

PS2:我预计下面的代码会起作用,但它没有。

实际上,正如西蒙指出的那样,它有效......运行时间比我预期的要长,我在 Mahtematica 向我展示结果之前关闭了它。

0 投票
1 回答
224 浏览

java - Java和VTK中的良好路径最小化算法2D

我想用VTK在Java中找到一种具有一些约束的路径最小化算法。作为输入,我将为多边形提供一个恒定的区域、多边形的质心和成本图像。作为输出,我想要一个构成二维路径的点列表,该路径是成本图像上满足特定区域和质心两个约束的最小路径长度。有谁知道用Java和VTK做到这一点的方法?我正在考虑构建 vtkDijkstraImageGeodesicPath,但我什至不确定从哪里开始。老实说,我在这个领域的数学很生疏。

谢谢

0 投票
0 回答
1504 浏览

c - 使用 Gnu Scientific Library 进行多维最小化

所以我对 GSL 中的多维最小化程序有疑问(我尝试使用的是gsl_multimin_fdfminimizer_vector_bfgs2,但其他程序产生了同样的问题)。我已经定义了我的目标函数及其梯度,我可以开始迭代,但算法始终保持在同一点。

现在,我认为我的函数或梯度在某处会出现数学错误。但是,对于一组特定的数据,我知道最佳值,并且插入这些值会产生一个处处为 0 的梯度。

如果我以最优值开始迭代,算法会正确停止并报告成功,但如果我只对起始向量进行最低限度的干扰,则迭代将永远运行并且永远不会找到最优值。

我还在 R 中重新实现了函数和梯度。我检查了 C 版本和 R 版本是否为相同的输入产生相同的输出,它们确实如此。使用 R 中的 BFGS 算法,只需几次迭代即可找到最优值。

我用初始化算法

迭代看起来像这样:

我可以调整的唯一参数是初始步长和gsl_multimin_fdfminimizer_set (gsl_multimin_fdfminimizer * s, gsl_multimin_function_fdf * fdf, const gsl_vector * x, double step_size, double tol). 在那里尝试不同的值会产生很小的影响(有时算法会移动一点),但我找不到任何实际使算法移动的值。

感谢您的任何建议!

0 投票
2 回答
7357 浏览

android - Android、ProGuard 和 keepclasseswithmembernames

Android 应用程序的 ProGuard 配置中的一个常见模式是保留自定义View类,因为它们可能仅从布局 XML 而非应用程序代码中引用。

因此,在创建项目时,ADT 将这些规则添加到项目的 proguard.cfg 中:

我想这里的想法是说,每当一个类定义了一个可以被布局充气器调用的构造函数时,然后保留它。但是,根据 ProGuard 文档,keepclasseswithmembernames限定符是 and 的简写keepclasseswithmembersallowshrinking如果我理解正确,这意味着:允许删除这些类,但如果保留它们,请不要混淆其成员名称(可能不会破坏之间的绑定) XML 属性名称和类设置器)。

但这是否意味着在收缩阶段(allowshrinking = true)仍将删除这些类,除非它们在代码中直接引用?事实上,这就是我们在应用程序中使用的自定义小部件所发生的情况,我可以通过将规则设置为 just 来解决问题,keepclasseswithmembers因为这将完全保留匹配的类(值得注意的是,这是官方ProGuard Android例子也是如此)。

我是误读了 ProGuard 文档还是 ADT 项目向导中的错误?

0 投票
2 回答
62 浏览

list - 以最小的错误将一个列表匹配到另一个列表

我有两个列表,A 和 B。A 最多有 1000 个元素,B 最多有 100 个元素。我想将 B 的每个元素与 A 的一个元素相匹配,以使对的绝对差之和最小化。

即我要选|B| 与 A 不同的索引,并将它们分配给 B 的索引,以使以下总和最小化: sum(abs(A[j] - B[i]) for i in |B|, j = index_mapping(i))

我的第一种方法是:

  1. 对于 B 的每个元素,计算 |B| A的最接近的元素。
  2. 以贪婪的方式选择对(即最小错误优先)

玩一些简单的例子,很明显我的方法不是最好的。它应该可以很好地满足我的目的,但我想知道是否有人可以提出更好的方法?

0 投票
3 回答
1162 浏览

wolfram-mathematica - 为什么我的最小搜索(最陡峭的体面)会爬山?

我正在尝试使用最陡峭的方法来最小化离散函数。这应该相当简单,但是我在搜索“爬升”出任何局部最小值时遇到了麻烦。这是我在 Mathematica 中的代码,但它的语法很容易理解。

为什么这会爬山?我很困惑,因为我什至测试新值是否小于旧值。当它通过时,我不会通过它!想法?

0 投票
2 回答
198 浏览

ruby-on-rails - Ruby on Rails2:有没有办法在生产模式下最小化 css 和 js?

为了便于阅读,js 和 css 文件可能会很大。是否有某种 gem 可以在生产模式下运行时最小化所有 css 和 js 以减少最终用户的加载时间?

0 投票
4 回答
860 浏览

algorithm - 整数规划中的最小化算法

我知道在整数编程中进行最小化是一个非常复杂的问题。但是是什么让这个问题如此困难?

如果我要(尝试)编写一个算法来解决它,我需要考虑什么?我只熟悉解决它的分支定界技术,我想知道在尝试以编程方式应用这种技术时会遇到什么样的障碍。

0 投票
1 回答
2609 浏览

mathematical-optimization - 贪心算法和最陡算法有什么区别?

我有幻灯片,比较了 2 个版本的本地搜索算法:贪婪和最陡。

贪心:生成解x; 以随机顺序 重复 { 对于N( x ) 中的每个 y { if f( y ) > f( x ) then x = y ; } } 直到没有找到更好的解决方案

最陡:生成解x重复 {在 N( x )中找到最佳解y如果f( y ) > f( x )那么x = y ; } 直到没有找到更好的解决方案

但是我在互联网上到处都读到贪婪的方法会寻找最好的(不是第一个更好的)解决方案。那么区别是什么呢?并且:哪个版本是真的?