Перейти к основному содержимому

Программный интерфейс модели максимального потока

Модель предназначена для задач, в которых требуется определить максимально возможный суммарный поток между двумя выделенными узлами ориентированного графа при соблюдении ограничений на пропускную способность дуг.

Модель применяется при анализе пропускной способности инженерных и транспортных сетей, оценке резервов мощности, планировании нагрузки на каналы передачи данных и в смежных прикладных задачах.

Рекомендуемый способ создания модели — через фасад О2.Модели:

Модель = О2.Модели().МодельМаксимальногоПотока().СоздатьМодель();

Модель.Граф().УстановитьИсток(0);
Модель.Граф().УстановитьСток(3);

Модель.Дуги().Добавить(0, 1, 20, "исток_a");
Модель.Дуги().Добавить(0, 2, 30, "исток_b");
Модель.Дуги().Добавить(1, 3, 10, "a_сток");
Модель.Дуги().Добавить(2, 3, 25, "b_сток");

Решение = Модель.Решить();

Если Решение.РешениеНайдено() Тогда
Сообщить("Максимальный поток: " + Решение.ОптимальныйПоток());
КонецЕсли;

Альтернативно доступен универсальный метод О2.СоздатьМодель, которому тип модели передаётся явно — это удобно, когда класс модели определяется динамически:

Модель = О2.СоздатьМодель(О2.ТипыМоделей().МодельМаксимальногоПотока());

Состав раздела

См. также