问题标签 [mathematical-optimization]

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 回答
1006 浏览

optimization - 优化点到球体的距离测试

我想测试一个点是否在球体的特定距离内。

所以你有这些变量......

我可以做...

如果 dist 为正则在半径外,如果 dist 为负则在半径内。

或者作为避免 len() 函数内的平方根的优化,你可以试试这个......

好吧,乍一看,这看起来像是,但显然它实际上给了我不正确的结果。

例如,给定的变量是这样设置的......

拿结果...

很明显,这在数学上实际上是错误的。它减少到期望 2 的平方根与 3 的平方根相同......所以问题是,我猜......

鉴于我确实想要执行此测试,“点 p 在球体的范围 r 内”,有没有办法在避免平方根的同时做到这一点?

0 投票
6 回答
260 浏览

optimization - 是否有一种迭代方法来计算沿扫描线的半径?

我正在处理一系列 Y 值相同但 X 值不同的点。我通过将 X 加一来遍历这些点。例如,我可能有 Y = 50,X 是从 -30 到 30 的整数。我的算法的一部分涉及找到从每个点到原点的距离,然后进行进一步处理。

分析后,我发现距离计算中的 sqrt 调用占用了我大量的时间。有没有迭代的方法来计算距离?

换句话说:

我想有效地计算: r[n] = sqrt(x[n]*x[n] + y*y)). 我可以保存上一次迭代的信息。每次迭代都通过增加 x 来改变,所以x[n] = x[n-1] + 1. 我不能使用 sqrt 或 trig 函数,因为它们太慢了,除了在每个扫描线的开头。

我可以使用近似值,只要它们足够好(小于 0.l% 的误差)并且引入的误差是平滑的(我不能将它们放入预先计算的近似值表中)。

附加信息:x 和 y 始终是介于 -150 和 150 之间的整数

明天我将尝试几个想法,并根据哪个最快来标记最佳答案。

结果

我做了一些计时

  • 距离公式:16 ms/迭代
  • Pete 的 interperlating 解决方案:8 ms / 迭代
  • wrang-wrang 预计算解:8ms/迭代

我希望测试能在两者之间做出决定,因为我喜欢这两个答案。我将选择Pete's,因为它使用的内存更少。

0 投票
1 回答
753 浏览

math - 压缩数学图

我想绘制一个类似这样的图表: alt text http://img25.imageshack.us/img25/9786/problemo.png

您可以看到 3 条路径:a、b 和 c。如何更改元素 (1,2,3...,9) 的位置以使路径尽可能短?我的意思是这条线应该尽可能短。

我对此非常感兴趣,因为我正在绘制一个带有问题的图表,某种信息图表,例如“按照线条来知道答案”。我知道它有点关于图论......所以如果它太难了,你知道是否有任何 Linux 程序可以压缩这样的东西?

例如程序应该像这样工作:在输入中它应该得到 3 个路径

并且在输出中应该是这个元素的坐标。

0 投票
7 回答
32155 浏览

algorithm - 算法优化 - 多点之间的最短路径

问题:我有大量的积分。这些点中的每一个都有一个列表,其中包含对其他点的引用,它们之间的距离已经计算和存储。我需要确定从起点开始并通过特定数量的点到达任何目的地的最短路线。

例如:我正在度假,我住在一个特定的城市。我正在做一次单程旅行,去参观任何四个城市,我想尽可能地走最短的距离。我不能多次访问同一个城市。

当前解决方案:现在我只是手动迭代所有可能性并存储最短路径。这有效,但感觉效率低下。此外,这个问题最终会扩展到包括从多个起点到多个目的地的搜索,所以我认为这可能会扩大搜索空间。

搜索最短路线的更好方法是什么?

0 投票
1 回答
400 浏览

wolfram-mathematica - 使用 Mathematica 进行优化:在目标函数中使用 BinCounts

BinCounts使用 Mathematica,我需要优化一个根据;定义的函数。我想要最大化的参数定义了 bin 切点。

我认为问题在于 Mathematica 在给定数值之前根据参数扩展了目标函数,因此BinCounts抱怨 bin 规范不是“包含实数值、无穷大和 -Infinity 的列表”。

我认为以下是我正在尝试做的事情以及正在发生的事情的一个最小示例。我将非常感谢有关如何解决此问题的建议。

0 投票
3 回答
5671 浏览

.net - 使用 .NET 优化蚁群

我正在寻找实现蚁群优化的 .NET-Class 库或 .NET-Framework。你能给我关于这个主题的任何链接、资源等吗?

0 投票
6 回答
22222 浏览

math - 检测三角形 - 三角形交叉点的最有效方法是什么?

如何判断两个三角形在二维欧几里得空间中是否相交?(即经典的 2D 几何)给定每个三角形中每个顶点的 (X,Y) 坐标。

0 投票
2 回答
193 浏览

php - 如何将此“数学模型”转换为 php?

我有数学问题,我无法转换为 PHP 或以不同方式解释。有人可以把我送到正确的方向吗?

我有两个按顺序排列的数字(序列)。#1#2。我想以某种方式比较这两个数字并得到一个低于100比较结果的正数。值越高,结果应该越高。但是,如果#2也很高,那么结果应该相应地“变暗”......

这些是“预期结果”

数字 (12) 值介于0和之间1000。结果只是估计,它们显然会有所不同。我只是想展示它是如何相关的。

0 投票
5 回答
32796 浏览

matlab - 如何在 MATLAB 中找到图像中的局部最大值?

我在 MATLAB 中有一张图片:

我想对其进行一些处理:

并找到输出的局部最大值。也就是说,其中的所有点y都大于它们的所有邻居。

我似乎无法找到一个 MATLAB 函数来很好地做到这一点。我能想到的最好的是:

然后查看沿第 3 维的最大值是否出现在第 1 层(即:three_d(:,:,1)):

有没有更优雅的方法来做到这一点?这似乎有点杂乱无章。

0 投票
5 回答
1027 浏览

python - 从列表中删除数字而不更改总和

我有一个数字列表(例如:)[-1, 1, -4, 5],我必须从列表中删除数字而不更改列表的总和。我想删除可能具有最大绝对值的数字,而不改变总数,在示例中删除[-1, -4, 5]将离开[1],因此总和不会改变。

我写了一种简单的方法,即找出所有不改变总数的可能组合,看看哪个组合消除了最大的绝对值。但这真的很慢,因为实际列表会比这大得多。

这是我的组合代码:

它可以正确打印(-1, -4, 5)。但是,我正在寻找一些比遍历所有可能的项目组合更聪明、更有效的解决方案。

有任何想法吗?