Программный интерфейс модели максимального потока
Модель предназначена для задач, в которых требуется определить максимально возможный суммарный поток между двумя выделенными узлами ориентированного графа при соблюдении ограничений на пропускную способность дуг.
Модель применяется при анализе пропускной способности инженерных и транспортных сетей, оценке резервов мощности, планировании нагрузки на каналы передачи данных и в смежных прикладных задачах.
Рекомендуемый способ создания модели — через фасад О2.Модели:
Модель = О2.Модели().МодельМаксимальногоПотока().СоздатьМодель();
Модель.Граф().УстановитьИсток(0);
Модель.Граф().УстановитьСток(3);
Модель.Дуги().Добавить(0, 1, 20, "исток_a");
Модель.Дуги().Добавить(0, 2, 30, "исток_b");
Модель.Дуги().Добавить(1, 3, 10, "a_сток");
Модель.Дуги().Добавить(2, 3, 25, "b_сток");
Решение = Модель.Решить();
Если Решение.РешениеНайдено() Тогда
Сообщить("Максимальный поток: " + Решение.ОптимальныйПоток());
КонецЕсли;
Альтернативно доступен универсальный метод О2.СоздатьМодель, которому тип модели передаётся явно — это удобно, когда класс модели определяется динамически:
Модель = О2.СоздатьМодель(О2.ТипыМоделей().МодельМаксимальногоПотока());