Решение проблемы поиска частей, которые хорошо работают друг с другом - PullRequest
0 голосов
/ 21 мая 2010

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

Существует так многовозможные перестановки, какие решения применимы к этой проблеме?

Пока я чувствую, что это возможные подходы (где у меня есть вопросительные знаки, что-то говорит мне, что это решения, но я не уверен на 100%, что они есть)

Нейронные сети (?) Подход на основе коллекции (выбор частей в коллекции для кулачка, а также для поршней в другой коллекции, все хорошо работают друг с другом) Механизм бизнес-правил (?)

Как можно решить эту проблему?

Спасибо

1 Ответ

1 голос
/ 21 мая 2010

Ответ во многом зависит от того, как вы рассчитываете «работает лучше»?

1) Независимые значения

Предполагая, что 'работает лучше' функция f из x комбинации элементов x = (a, b, c, d, ...) и (!), Что существуют нет закономерностей, которые можно использовать чтобы решить, больше или меньше f (x '), чем f (x), зная только x, f (x) и x' (что может позволить быстрее найти xmax), вам нужно будет вычислить f для всех комбинаций хотя бы один раз .

Как только вы вычислите его для всех комбинаций, вы можете отсортировать. Если вам нужно искать данные в секционированном виде, использование SQL / RDBMS может быть хорошим подходом (например, поиск 5 лучших решений, но без такой-то и такой-то части).

Для получения дополнительных баллов после расчета всех результатов и их сохранения вы можете проанализировать их статистически и попытаться установить закономерности

2) Зависимые значения

Если вы можете установить некоторые закономерности (и, возможно, можете) в отношении значений, поиск максимального значения можно упростить и ускорить.

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

Если это не так ...

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