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

c# - System.Math 未识别

我觉得这段代码中的每一件事都很清楚,但是这段代码给出了编译错误:
using namespace 指令只能应用于命名空间;'System.Math' 是一种类型而不是命名空间

如何使用数学函数?我们从哪里获得 Math 类中可用的所有数学函数的列表?

谢谢你。

0 投票
5 回答
3595 浏览

algorithm - 为什么将交叉添加到我的遗传算法中会给我带来更糟糕的结果?

我已经实施了遗传算法来解决旅行商问题(TSP)。当我只使用突变时,我会找到比添加交叉时更好的解决方案。我知道普通的交叉方法不适用于 TSP,所以我同时实现了有序交叉PMX 交叉方法,但结果都不好。

以下是我正在使用的其他参数:

突变:单交换突变或反向子序列突变(如 Tiendil 所述),突变率测试在 1% 和 25% 之间。

选择:轮盘赌选择

健身功能:1/行程距离

人口规模:测试了 100、200、500,我也运行了 GA 5 次,这样我就有了各种起始人口。

停止条件:2500代

对于相同的 26 点数据集,我通常使用具有高突变率的纯突变得到大约 500-600 距离的结果。添加交叉时,我的结果通常在 800 距离范围内。另一个令人困惑的事情是,我还实现了一个非常简单的爬山算法来解决这个问题,当我运行 1000 次(比运行 GA 5 次更快)我得到大约 410-450 距离的结果,我希望使用 GA 获得更好的结果。

关于为什么我添加交叉时我的 GA 表现更差的任何想法?为什么它的性能比简单的爬山算法差得多,因为一旦找到局部最大值就无法探索,它应该卡在局部最大值上?

0 投票
4 回答
606 浏览

algorithm - 矩形项目的优化网格

我有 N 个长宽比为 Aitem (X:Y) 的矩形项目。
我有一个长宽比 Aview 的矩形显示区域

项目应排列在类似表格的布局中(即 r 行,c 列)。

什么是理想的网格行 x 列,以便单个项目最大?(当然,行 * 列 >= N - 即可能存在“未使用”的网格位置)。

一个简单的算法可以遍历行 = 1..N,计算所需的列数,并保持行/列对与最大的项目。

不过,我想知道是否有非迭代算法(例如,对于 Aitem = Aview = 1,rows / cols 可以用 sqrt(N) 来近似)。

0 投票
5 回答
595 浏览

performance - 使用 GNAT 优化 Ada 95 中浮点数组的数学运算

考虑下面的代码。这段代码应该以固定的速率处理数据,在一秒钟的批处理中,它是整个系统的一部分,不会占用太多时间。

当运行超过 100 批 1 秒的数据时,程序需要 35 秒(或 35%),循环执行此函数。测试循环是专门用 Ada.RealTime 计时的。数据是预先生成的,因此大部分执行时间肯定在这个循环中。

如何改进代码以将处理时间降至最低?

代码将在 Intel Pentium-M 上运行,它是带有 SSE2 的 P3。

用于测试的伪代码

0 投票
1 回答
199 浏览

algorithm - 将笛卡尔 5D 和 Angular 2D 转换为 Lat Long Alt

有没有人有公式将 X、Y、Z、Vx、Vy(笛卡尔 5D)以及方位角、仰角(Angular 2D)转换为 Lat Long Alt?谢谢。

0 投票
2 回答
288 浏览

optimization - 什么是快速查找集合列表的非空交集的数据结构?

我有一组N项目,它们是整数集,假设它是有序的并调用它I[1..N]。给定一个candidate集合,我需要找到其中的子集Icandidate.

因此,例如,如果:

我正在寻找定义valid_items(items, candidate),例如:

我正在尝试针对一个给定的集合I和一个变量candidate集进行优化。目前我正在通过缓存来做到这一点items_containing[n] = {the sets which contain n}。在上面的例子中,这将是:

即,0不包含在任何项目中,1包含在项目1中,2包含在项目1和2中,2包含在项目2中,3包含在项目2中,4和5包含在项目3中。

这样,我可以定义valid_items(I, candidate) = union(items_containing[n] for n in candidate).

是否有任何更有效的数据结构(合理的大小)来缓存这个联合的结果?空间的明显例子2^N是不可接受的,但NN*log(N)将是。

0 投票
4 回答
2459 浏览

algorithm - 基于统计而不是字典/表格的“字谜求解器”?

我的问题在概念上类似于解决字谜,除了我不能只使用字典查找。我试图找到似是而非的词而不是真实的词。

我基于一堆文本中的字母创建了一个 N-gram 模型(目前,N=2)。现在,给定一个随机的字母序列,我想根据转换概率将它们排列成最可能的序列。当我开始这个时,我以为我需要维特比算法,但当我深入研究时,维特比算法会根据观察到的输出优化一系列隐藏的随机变量。我正在尝试优化输出序列。

有没有我可以阅读的著名算法?或者我是否在 Viterbi 的正确轨道上,我只是不知道如何应用它?

更新

我添加了一个赏金来要求更多地了解这个问题。(分析解释了为什么一种有效的方法是不可能的,除了模拟退火之外的其他启发式/近似等)

0 投票
4 回答
3745 浏览

c# - C# / .NET 中的二次规划

有谁知道可以解决 C# 中的二次编程问题的免费包?

我用谷歌搜索并找到了一些。但很难说哪个是最好和最快的。有人喜欢吗?

0 投票
2 回答
4453 浏览

algorithm - 合并和分割重叠的矩形以产生不重叠的矩形

我正在寻找如下算法:

给定一组可能重叠的矩形(所有这些矩形都“不旋转”,可以统一表示为(左、上、右、下)连音等...),它返回一组最小的(非旋转)占据相同区域的非重叠矩形。

乍一看似乎很简单,但事实证明很棘手(至少要有效地完成)。

这个/想法/指针有一些已知的方法吗?

不一定是最小但启发式小集的方法也很有趣,产生任何有效输出集的方法也很有趣。

0 投票
2 回答
165 浏览

algorithm - 基本优化——配对小部件和转子

我对优化问题知之甚少,所以希望这对我有指导意义:

给定固定数量的小部件和固定数量的转子,如何获得一系列小部件-转子对,使每个小部件和转子只能使用一次的总价值最大化?