2012-06-09 5 views
0

Я выполняю оптимизацию двух наборов данных друг против друга и после некоторого оказания помощи в поиске настроек прогона на основе вычисленных результатов. Я объясню, что ...Помощь в оптимизации оптимизации

Я запускаю две линии данных друг против друга (считайте линии графика) - линии А и линии В. Эти линии имеют точки пересечения - вверх и вниз в зависимости от направления каждой линии. Линия А идет вверх, а линия В идет вниз - это «верхний крест», а линия А идет вниз, а линия В - «нисходящий крест». Программа вычисляет финансовый анализ.

Я анализирую точки пересечения и получаю результирующий «ранг» из анализа на основе набора правил. Ранг - это одно целое число.

Линия A имеет ряд настроек для запуска оптимизации, например. Окно 1 от значения 10 до 20 и окно 2 при значении от 30 до 40. В строке B также есть настройки.

Когда я запускаю оптимизацию, я повторяю параметры, доступные для каждой строки, и вычисляю ранг. Результатом прогона оптимизации является список рангов, размер которого представляет собой количество доступных перестановок.

Так что мой вопрос заключается в следующем:

Каков наилучший способ просмотра параметров линии от расчетного ранга, используя позицию (индекс) в списке ранга. Параметры оптимизации, используемые для создания прогона, будут сохранены для выполнения этого ранга и могут использоваться для поиска.

В будущем я буду добавлять дополнительные параметры в систему для этой линии, поэтому я хочу, чтобы программа учитывала дополнительные будущие настройки линии, не затрагивая никаких ранговых файлов, созданных до добавления нового параметра.

Кроме того, я хочу, чтобы узнать индекс, основанный на конкретном параметре, включенном в прогон оптимизации (обратный поиск предыдущего метода).

Я хочу избежать версий для обратной совместимости, если это вообще возможно, чтобы алгоритм поиска был самодостаточным.

Является ли хеш-таблица подходящей для этой цели или у вас есть какие-либо методы реализации, которые лучше подходят? У вас есть примеры такого типа операций в действии на C++?

Thanks,

Chris.

ответ

0

Если я правильно понял, у вас есть куча связанных данных (настройки + ранг), на которых вы хотели бы выполнять поиск с использованием разных типов ключей. Если да, то Boost.MultiIndex звучит так, как будто вы ищите.

+0

Сорт, у меня есть начальный набор параметров, как это: Linea: Окно 1 от 10 до 20 Окно 2 от 30 до 40 LineB: Окно 3 от 40 до 50 Окно 4 от 50 до 60 Это приводит к оптимизационный запуск с 10 * 10 * 10 * 10 перестановками. Я получаю список из этого пробега рангов для каждой из перестановок. Я сохраняю настройки оптимизации один раз, чтобы у меня был доступ к окну1, window2 и т. Д. ... для этого запуска, поэтому мне нужно использовать эти начальные настройки вместе с индексом, чтобы узнать настройки для позиции. – Chris

Смежные вопросы