问题标签 [cost-based-optimizer]

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 投票
0 回答
22 浏览

javascript - 成本:调用 if 与调用函数

我正在尝试提出一个优化的解决方案,在该解决方案中,我需要循环遍历 Excel 表中的 1000 条记录。

我有这样的场景:

renewalDate我的问题是,检查是否存在或我可以直接调用 是否有意义lei.renewalDate = new Date(record.renewalDate).getTime();

如果我需要调用这么小的built-in function. 我在第二个条件检查中做同样的事情,以确定我是否需要调用organiseManagedByData方法(这是一个没有其他函数调用的小函数)。

我正在努力学习time and space complexity。有没有办法可以确定cost上面的代码

0 投票
0 回答
90 浏览

python - 在保持纵横比的同时分配 N 个大小不等的矩形的算法

我想从具有不同高度和长度的数据框中分配 n 个矩形,以便总长度 (L) 和总高度 (H) 的纵横比 (r_expected) 大致为 L/H = 0.33。矩形分布逻辑示意图如下:

为了找到最佳长度,我从猜测的长度(L_guess)开始。由此我可以计算总高度(H)(注意:我省略了如何完成的详细描述,因为它是次要的)以及比率 r,如下所示:

然后,如果计算的比率 r 不在预期比率 0.33 的给定容差范围内,我会更新 L_guess。现在这是我的问题:目前,我任意增加或减少 L_guess 15%,直到计算出的比率在给定的容差范围内并返回 L_guess:

有没有办法在不猜测的情况下找到合适的增量,从而加快计算时间?我已经阅读了旨在最小化某些看起来有些相似的函数的梯度下降?

0 投票
1 回答
151 浏览

azure - 在 Azure 上监控 Cpu、iops 和内存

我想在 azure vm 中监控我的应用程序的 cpu/iops/内存使用情况。我需要为不同的家庭在不同的时间运行它,以选择最适合我的应用程序。我应该在我的 VM 中使用 Azure 监视器还是 cli 应用程序?哪些是最好的工具?

0 投票
1 回答
46 浏览

database - “不在”和“不存在”有什么区别?

sql1: select * from t1 where not exists (select a from t2 where t2.a = t1.a);

sql2: select * from t1 where t1.a not in (select a from t2 where t2.a is not null);

我认为sql1和sql2一样,他们会重写为anti join,对吧?

0 投票
1 回答
45 浏览

mysql - MySql 查询优化器

如果我有这样的查询

Mysql 将如何执行此查询以优化成本?

0 投票
1 回答
31 浏览

python - 如何将每项任务分配给每个工作人员以便更好地优化成本?

我几乎没有关于显示每项任务以及任务持续时间的任务的数据,例如:

表格1:

任务 长度 时间
任务1 45 分钟 6:30
任务 2 45 分钟 7:00

在这里,我知道每项任务,任务多长时间,以及任务要在什么时间完成。现在我有 10 个工作人员,其中 7 个是合同制,他们的每小时工资单与普通员工不同。我需要将每项任务相应地分配给所有工作人员。不能有重叠。一项任务仅分配给单个船员。这样的任务有200个。是否有特定的 python 包甚至算法可以帮助我解决这个问题?我遇到了这个。但我不确定这是否可以相应地帮助我。有没有其他算法可以帮助我解决这个问题?

0 投票
0 回答
34 浏览

matlab - 多种选择之间的成本优化

我目前正在开始一个项目,我们正在尝试创建一个程序,该程序确定在特定时间限制内以最低成本完成特定项目的最佳方法。此类项目的一个例子是挖坑进行施工。

我需要能够提供多种方法,即人力/铲子、大型挖掘机和小型挖掘机,以及需要挖掘的放置的大小和时间限制等变量,并让程序告诉我哪些可用选项在约束条件下是最具成本效益的。当然,这些选项中的每一个都有自己的变量和数据,这些变量和数据提供了运行/工作效率的平均成本。

我不知道如何开始编程这样的东西以及它是如何工作的,因为我知道一个正常的线性方程不会在我的多个选择之间进行选择,而只是在提供的变量内产生一个最优解。我在这个项目中使用 MATLAB,并且还可以访问统计和机器学习工具箱。

我在寻找资源来帮助我开始这件事时遇到了麻烦,我希望人们能提供任何见解或资源。

0 投票
0 回答
22 浏览

cost-based-optimizer - 使用 python 输入 3 个成本。计算总成本减去最低成本

编写一个 python 程序,用户可以在其中输入三个成本。然后程序应在降低最低成本后计算总成本。

0 投票
0 回答
36 浏览

matlab - 如何防止matlab中的多变量优化仅将一个变量最大化到上限以最小化其他变量

我们目前正在开展一个项目,该项目需要通过优化项目使用的焊工数量以及项目所需的天数来最大限度地降低焊接项目的成本。我们目前遇到了一个问题,即使用的焊工数量将无限大,并且将始终等于我们设置的任何上限。这是我们正在优化的方程,以及约束和对 fmincon() 的调用。我们希望该方程能够在天数和焊工之间找到最佳平衡,而不仅仅是尽可能地增加焊工的数量。我们是否以错误的方式进行这种优化,有更好的方法吗?理想情况下,我们希望能够将这些变量设置为整数,据我所知,如果没有 MATLAB 全局优化工具箱,这是无法完成的,但我们不是 不确定我们正在做的其他方面是否在该工具箱的范围内是可能的。遗憾的是,由于项目资金的原因,我们很可能只能永久访问这两个工具箱之一,所以我们想知道什么是可能的,以及我们如何最适合完成这项工作。

运行此程序将始终为您提供 15 名焊工的最大限制,同时使天数尽可能短(在这种情况下为 13.3333)。如果我们解除对焊工的约束,它会将其放入 10000 个焊工中(将继续永远运行,我们可以将下限设置为 1 天,但它只会将天数最小化为 1,这显然不太现实),只是为了使天数尽可能小

0 投票
2 回答
67 浏览

oracle - Oracle 避免浪费性的加入回来?

假设我们在下面的人为示例中定义了三个表(A、B 和 C),其中 A 和 B 与 C 相关(有外键)。假设我们想要来自所有三个表的值和 A 和 B 的谓词. Oracle 在任何时候只能将两个行集连接在一起。我们得到一个类似于 ((A -> C) -> B) 的连接顺序。这意味着我们花费 I/O 从 C 获取行,当我们重新加入 B(和 B 的谓词)时,我们最终只是丢弃了这些行。

我们如何避免表 C 上的这种“浪费”I/O?

星形转换很棒,但只有在优化器确定成本证明星形转换合理时才会生效。也就是说,我们不能保证得到星形变换。这可能看起来像一个人想要的,但优化器正在获得较差的估计行(参见下面的示例 - 相差 10 倍)。因此,优化选择不使用星形变换,否则它会被证明是有益的。

由于 SQL 是由 BI 报告工具生成的,因此我们不能像 from 那样手动编写星型转换中的查询。

也许我的问题是如何“强制”优化器使用星形转换而不以该形式手动编写查询?或者,也许,我的问题是如何让估计的行更好,这样我们就可以更加确信优化器会调用星形转换?或者,也许(很可能)还有其他一些我还不知道的很酷的 Oracle 特性可能会提供解决方案。

Oracle 12.1 企业版(但几个月后升级到 19.1)提前致谢。

加入顺序:((A -> C) -> B)

A -> C(第 3 步)的准确估计行数约为 1k。

第 8 步的估计也很准确。

但是,这个与 B 的连接(步骤 1)只会进一步减少步骤 3 中的 1k 行集。在这种情况下,B 的谓词将 (A -> C) 行集减少了 1/10。
这意味着我们从 C 中访问了 1000 行,只是为了丢弃其中的 900 行。

我正在寻找类似于以下内容的执行路径。尽管下面估计有 10M 行,但该查询的行数仍然保持在 100 左右。但是,我们无法将生成的 SQL 控制到这种程度。这就是上面所说的在星形转换中手动编写查询,例如 from。

尝试将表 C 上的两个外键索引变成位图索引 - 不走运。此外,尝试了表 C(a_code, b_id) 上的复合索引 - 再次,没有运气。此外,复合索引也不是可取的,因为我们的表 C 确实有很多外键(一些代理项和一些自然键)。