В общих чертах — раздача заказов водителям такси с целью минимизировать время ожидания, холостые пробеги итп.. Количество вариантов до 50 на 50 в пиках, но рабочая нагрузка поменьше. Работает все это в реальном времени, то есть скажем секунды две на расчет — это допустимо, а 10 — уже нет.
В принципе требуется экспертная система, которая бы давала рекомендации человеку как поступить в той или иной ситуации.
Сейчас реализован частичный перебор вариантов, но он работает не совсем так как хочется и есть ряд условий, которые он учесть в принципе не может (например, нельзя точно предсказать время, за которое водитель доедет по нужному адресу). Кроме того, из-за того что перебор частичный он очень часто находит совершенно неоптимальное решение (если бы перебор был полный, то было бы лучше, но количество вариантов при полном переборе растет по факториалу и при хоть сколько-то значительной нагрузке алгоритм умирает)
Есть подозрение, что здесь могут помочь нейронные сети, но я в них ни черта не смыслю и соответственно не могу ничего придумать.
Как решаются подобные задачи и решаются ли они вообще?
ЗЫ. Если у кого-то есть опыт в подобных делах и желание помочь (естественно не бесплатно), пишите на мне на мыло.
Шурыгин Сергей
"Не следует преумножать сущности сверх необходимости" (с) Оккам