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