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

О2_MinCostFlow_МенеджерДуг.Добавить

Создаёт и регистрирует в модели новую дугу графа. Основной способ вызова — через менеджер дуг модели: Модель.Дуги().Добавить(Хвост, Голова, МаксимальныйПоток, Стоимость, Имя).

В отличие от модели максимального потока, здесь дополнительно указывается стоимость транспортировки единицы потока по дуге — это ключевой параметр задачи минимизации стоимости.

Синтаксис

Модель.Дуги().Добавить(Хвост, Голова, МаксимальныйПоток, Стоимость, Имя)

Параметры

  • ХвостЧисло — номер хвостового узла дуги. Неотрицательное целое число.
  • ГоловаЧисло — номер головного узла дуги. Неотрицательное целое число.
  • МаксимальныйПотокЧисло — пропускная способность дуги. Неотрицательное целое число.
  • СтоимостьЧисло — стоимость транспортировки единицы потока по дуге. Неотрицательное целое число.
  • ИмяСтрока, Неопределено — уникальное имя дуги. Должно быть валидным идентификатором. Если не указано, присваивается автоматически по индексу дуги: _<Индекс> (нумерация с 0).

Возвращаемое значение

  • ФиксированнаяСтруктура — данные зарегистрированной дуги.

Пример

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

// Источник с объёмом производства 5
Модель.Узлы().УстановитьВклад(0, 5);

// Потребитель с объёмом спроса 5
Модель.Узлы().УстановитьВклад(3, -5);

Модель.Дуги().Добавить(0, 1, 10, 2, "a");
Модель.Дуги().Добавить(0, 2, 10, 3, "b");
Модель.Дуги().Добавить(1, 3, 10, 4, "c");
Модель.Дуги().Добавить(2, 3, 10, 1, "d");

См. также