【问题标题】:Optimization run assistance优化运行辅助
【发布时间】:2012-06-09 11:16:05
【问题描述】:

我正在对两组数据进行相互优化,并且在根据计算结果查找运行设置方面获得了一些帮助。我来解释一下……

我运行 2 条数据线(想想图形线)——A 线和 B 线。这些线有交叉点——根据每条线的方向向上和向下。 A 线向上,B 线向下是“向上交叉”,A 线向下,B 线向上是“向下交叉”。程序计算财务分析。

我分析交叉点并根据一组规则从分析中获得结果“排名”。排名是一个整数。

A 行有许多优化运行的设置,例如窗口 1 的值从 10 到 20,窗口 2 的值从 30 到 40。B 行也有设置。

当我运行优化时,我会遍历每行可用的参数并计算排名。优化运行的结果是一个等级列表,它是可用排列数量的大小。

所以我的问题是:

使用排名列表中的位置(索引)从计算的排名中查找行设置的最佳方法是什么。用于创建运行的优化设置将存储用于该排名运行,并可用于查找。

我还将在未来为系统添加额外的参数,因此我希望程序考虑额外的未来生产线设置,而不影响在添加新参数之前创建的任何排名文件。

除此之外,我还希望能够根据优化运行中包含的特定设置找出索引(前一种方法的反向查找)。

如果可能的话,我想避免为向后兼容而进行版本控制,以便查找算法是自给自足的。

哈希表是否适合此目的,或者您是否有任何更适合的实现技术?在 C++ 中,您有任何此类操作的示例吗?

谢谢,

克里斯。

【问题讨论】:

    标签: c++ hashtable hash hashcode


    【解决方案1】:

    如果我理解正确,您有一堆相关数据(设置 + 排名),您希望能够使用不同的键类型执行查找。如果是这样,那么 Boost.MultiIndex 听起来就是您要找的东西。

    【讨论】:

    • 排序,我有这样一组初始设置: LineA:窗口 1 从 10 到 20 窗口 2 从 30 到 40 LineB:窗口 3 从 40 到 50 窗口 4 从 50 到 60 这个导致具有 10*10*10*10 排列的优化运行。我从每个排列的行列中得到一个列表。我在某处保存了一次优化设置,因此我可以访问 window1、window2 等......因此我需要使用这些初始设置以及索引来找出位置的设置。
    猜你喜欢
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 2021-10-12
    • 2016-08-06
    相关资源
    最近更新 更多