Заказчик попросил меня поработать над проектом с использованием Drools. Глядя на документацию Drools, я думаю, что они говорят о OptaPlanner.
Компания принимает заказы на перевозку от многих клиентов и связывает их с бронированиями у нескольких перевозчиков. Заказы в прошлом году превысили 100 тысяч. «Оптимизация», которая имеет место в настоящее время, основана на обслуживании, распределении и скорости и является линейной (каждый заказ назначается перевозчику с использованием ограничений, но без учета окружающих заказов). Требование состоит в том, чтобы удерживать некритические заказы в пуле в течение нескольких дней и оптимизировать заказы в пуле с наименьшими затратами с использованием тех же ограничений.
Первоначально они хотят выполнить «что, если» над прошлогодними заказами, чтобы уточнить ограничения. Если это упражнение окажется успешным, они захотят использовать его в своей живой системе.
Мой вопрос в том, является ли OptaPlanner правильным инструментом для этой задачи, и если да, то есть ли пример, который я могу использовать для начала.