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

О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");

См. также​