Масштабируемость
Масштабируемость — это способность оптимизатора
решать задачи большой размерности.
Пример такой задачи — составление рабочего графика для сервисных инженеров. Конечный результат зависит от большого количества низкоуровневых деталей: приоритета заявок, временных окон, совместного использования ресурсов и т.д. Оптимизация таких процессов — это масштабная и технически сложная работа. При этом размерность задач не должна влиять на производительность оптимизатора, поскольку этот параметр важен для операционной работы.
Комбинаторный оптимизатор Veeroute может масштабироваться, а его алгоритмы легко поддаются распараллеливанию. Вы можете повысить производительность движка, добавив в конфигурацию новые процессоры. Ограничений по числу процессоров нет: чем больше процессоров в конфигурации, тем быстрее оптимизатор решает задачу.
Можно условно разделить время решения задачи на две части:
- «Переменная» часть. Варьируется и зависит от количества процессоров в конфигурации.
- «Фиксированная» часть. Не меняется, потому что её невозможно сократить.
Общее время решения задачи — это сумма двух значений: «переменного и «фиксированного. Для большинства задач, которые решаются с помощью оптимизатора Veeroute, «фиксированное» время составляет менее 10 минут.
На диаграмме ниже показаны три пронумерованные секции. Каждая из них показывает зависимость времени расчёта от количества CPU:
Секция 1
Минимальная конфигурация
(один процессор)
Каждый дополнительный процессор значительно ускоряет работу оптимизатора.
Секция 2
Количество процессоров
В определённый момент прирост производительности будет не таким значительным, как в первой секции. Когда именно это произойдёт, зависит от конкретной решаемой задачи.
Секция 3
Самая быстрая конфигурация
Добавление процессоров в конфигурацию уже не влияет на производительность. Начало секции — это самая быстрая конфигурация из возможных.