Материал Браузера APS — планировщика производства

HiGHS vs CP-SAT vs SCIP: какой решатель выбрать для планирования производства

В Браузере APS четыре решателя (solver) строят один и тот же план по одной и той же модели размещения операций — отличается только движок поиска. Это позволяет сравнивать планы напрямую и выбирать инструмент под задачу, а не под привычку. Разбираем каждый решатель: как устроен, насколько быстр и когда его стоит включать.

Сравнительная таблица решателей

ПараметрКастомныйHiGHSCP-SATSCIP
ТипЭвристический планировщикMILP-оптимизацияCP (constraint programming)MILP-оптимизация
СкоростьСекунды на сотнях операцийЗависит от размера задачиБыстро на средних моделях, встроенные эвристикиЗависит от размера задачи
КачествоХорошее, без гарантии оптимумаОптимальное (или почти)Оптимальное (или почти)Оптимальное (или почти)
Когда выбиратьБольшие планы (> 500 операций)Небольшие планы (< 200), важны сроки и приоритетыКогда HiGHS «зависает» на поиске целочисленного решенияАльтернатива HiGHS, другой движок ветвей и границ

Все три точных решателя (HiGHS, CP-SAT, SCIP) строят одну и ту же модель размещения (set-partitioning по кандидатным слотам), поэтому планы сопоставимы между собой — это основа «Битвы сценариев», где на одних данных сравниваются варианты плана от разных движков.

Кастомный решатель

Эвристический планировщик, разработанный нейросетью. Не доказывает оптимальность, но строит допустимый план за секунды на сотнях операций — единственный практичный вариант для больших планов (более 500 операций), где точные методы упираются в комбинаторный взрыв. Его же результат используется как быстрый жадный план, если точный решатель не уложился в лимит времени.

HiGHS — точный MILP-решатель

Открытый решатель линейной оптимизации с целочисленными переменными. Ищет оптимальное или близкое к оптимальному решение — для планов до ~200 операций, где критичны сроки и приоритеты, это рабочая лошадка. Ключевые настройки: лимит времени (по умолчанию 60 секунд), MIP gap (0.01 = 1 %: меньше — точнее, но дольше), пресолвинг, метод LP (simplex / ipm), параллелизм и усилие эвристик.

Типичные предупреждения в логе HiGHS и что с ними делать: «решение не оптимально (Time limit reached)» — за лимит найдено допустимое решение, но оптимум не доказан, увеличьте лимит времени; «не успел найти решение — использован быстрый жадный план» — увеличьте лимит или уменьшите задачу.

CP-SAT (Google OR-Tools) — решатель ограничений

Решатель ограниченного программирования из библиотеки OR-Tools. Эффективен для расписаний со множеством ограничений и связей между операциями — именно там, где HiGHS «зависает» на поиске целочисленного решения. Встроенные эвристики дают хорошие решения на средних моделях быстро. Настройки: лимит времени, число потоков поиска (0 — авто по ядрам), стратегия ветвления (AUTOMATIC, PORTFOLIO_SEARCH, PSEUDO_COST_SEARCH и др.), уровень линеаризации, зерно генератора.

SCIP — альтернативный точный движок

Один из быстрейших открытых решателей смешанно-целочисленной оптимизации — другой движок ветвей и границ для той же модели. Выбирают, когда нужна максимальная точность оптимизации или когда хочется перепроверить план HiGHS независимым методом. Настройки: лимит времени, относительный gap, лимит узлов ветвления, раунды пресолвинга, лимит разрезов за раунд, детальность лога.

Как выбрать решатель под задачу

—

План на смену-неделю до 200 операций, критичны сроки — HiGHS с лимитом 60 секунд и gap 1 %.

—

Сотни и тысячи операций, план нужен немедленно — кастомный решатель, секунды на сотнях операций.

—

Много связей между операциями и техкартами, HiGHS не укладывается во время — CP-SAT.

—

Нужна максимальная точность или перепроверка плана другим методом — SCIP.

—

Не уверены — спросите ИИ-помощника («какой solver выбрать для 200 операций?»): он рекомендует и сам переключает по команде.

—

Проверить выбор практически — «Битва сценариев»: на одних данных считаются все решатели, побеждает лучший допустимый план по выбранной цели.

Вопросы и ответы о решателях

Какой решатель выбрать: кастомный, HiGHS, CP-SAT или SCIP?

Для больших планов (более 500 операций) — кастомный эвристический решатель: секунды на сотнях операций. Для планов до ~200 операций, где критичны сроки и приоритеты, — точный MILP-решатель HiGHS. CP-SAT эффективен, когда много ограничений и связей между операциями, а HiGHS «зависает» на поиске целочисленного решения. SCIP — альтернативный точный движок для максимальной точности. Подробное сравнение — на странице «Решатели: HiGHS vs CP-SAT vs SCIP», ИИ-помощник тоже рекомендует решатель и переключает его по команде.

Сколько операций может обработать планировщик?

Кастомный решатель строит план за секунды на сотнях операций. Проверенный замер: расчёт календаря APS на 990 событий — подготовка данных 85 секунд, расчёт 23 секунды. После подготовки план моделируется неограниченное число раз, сравнение версий занимает секунды.

Попробуйте все четыре решателя на собственных заказах — демо на ваших данных за час.

Браузер APS — демо