Pull to refresh
1
Send message

В данной работе решается фундаментальна задача: выполняется строгий расчёт распределения потоков, гарантирующий, что ни одна линия не выйдет на гиперболический рост очереди. Что именно передавать - голос, видео, телеметрию или команды управления - это вопрос входных данных. Инженерные интерпретации могут быть разные.

Алгоритм - это точная последовательность действий, которая позволяет решить задачу или достичь определённого результата.

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

Парсинг xlsx-таблиц во внутреннее представление;

Построение графа сети и автоматическая генерация матрицы инцидентности;

Формирование полной системы уравнений и неравенств по единым правилам для любой топологии;

Формирование нелинейной целевой функции на основе произвольных исходных данных;

Запуск оптимизации с ограничениями и начальными условиями;

Обратное преобразование результатов в инженерные матрицы и графы.

Инженер подаёт на вход две таблицы и получает на выходе готовые матрицы оптимальных маршрутов и схему загрузки линий. Ни одной формулы ему выписывать не нужно. Именно эта последовательность шагов, превращающая исходные данные в прикладной результат, и является инженерным алгоритмом.

В качестве основного инструмента используется Ipopt (Interior Point OPTimizer) - пакет для решения задач нелинейной оптимизации с ограничениями. Он не требует линейности или квадратичности целевой функции, а работает с произвольными гладкими функциями. Целевая функция является гладкой и выпуклой на допустимой области. JuMP автоматически вычисляет её градиент и гессиан и передаёт их Ipopt. Тот методом внутренней точки ищет глобальный минимум, последовательно приближаясь к оптимальному значению изнутри допустимой области. Ограничения действительно линейные: уравнения баланса потоков в узлах и неравенства (интенсивности не могут превышать пропускную способность узлов). Это стандартная задача выпуклой оптимизации, и Ipopt решает её гарантированно, упираясь в локальный минимум.

Information

Rating
Does not participate
Registered
Activity