Алгоритмы оптимизации в задачах прикладной математики и информатики
Автор: Пирматов А.З., Мамбетов Ж.И., Маткаликов А.М., Гаипова С.А.
Журнал: Бюллетень науки и практики @bulletennauki
Рубрика: Естественные науки
Статья в выпуске: 6 т.12, 2026 года.
Бесплатный доступ
Рассматриваются современные алгоритмы оптимизации, применяемые в задачах прикладной математики и информатики. Анализируются классические методы, включая градиентные подходы, а также современные стохастические и метаэвристические алгоритмы. Особое внимание уделяется применению методов оптимизации в машинном обучении, обработке больших данных и вычислительной математике. Приводится сравнительный анализ эффективности алгоритмов и обсуждаются перспективы дальнейших исследований.
Оптимизация, численные методы, градиентный спуск, машинное обучение, метаэвристика, большие данные
Короткий адрес: https://sciup.org/14138215
IDR: 14138215 | УДК: 519.87 | DOI: 10.33619/2414-2948/127/05
Optimization Algorithms in Problems of Applied Mathematics and Informatics
This paper investigates modern optimization algorithms used in applied mathematics and computer science. Classical approaches, including gradient-based methods as well as modern stochastic and metaheuristic algorithms, are analyzed. Special attention is given to applications in machine learning, big data processing, and computational mathematics. A comparative analysis of algorithm efficiency is presented, and future research directions are discussed.
Текст научной статьи Алгоритмы оптимизации в задачах прикладной математики и информатики
Бюллетень науки и практики / Bulletin of Science and Practice
УДК 519.87
Оптимизация является одной из ключевых областей прикладной математики и информатики [1].
Практически любая задача, связанная с моделированием, анализом данных или разработкой алгоритмов, сводится к задаче поиска экстремума некоторой функции [2].
Современные вычислительные задачи требуют эффективных алгоритмов оптимизации, способных работать с большими объемами данных, высокой размерностью и сложными нелинейными зависимостями [9].
Основной целью данной работы является исследование современных алгоритмов оптимизации и анализ их эффективности при решении задач прикладной математики и информатики. Объект исследования являются задачи оптимизации, возникающие в прикладной математике и информатике. Предмет исследования выступают алгоритмы оптимизации (градиентные, стохастические и метаэвристические методы), а также их свойства, эффективность и области применения.
Научная новизна работы заключается в: комплексном сравнительном анализе классических и современных алгоритмов оптимизации; исследовании эффективности алгоритмов на тестовой функции; рассмотрении возможностей комбинирования методов (гибридные алгоритмы).
Практическая значимость работы заключается в возможности применения рассмотренных алгоритмов: при разработке систем машинного обучения; в задачах обработки больших данных; при численном решении прикладных задач математической физики.
Методология исследования основана на сочетании теоретического анализа численных методов с практической реализацией и сравнением вычислительных схем, выполненных с использованием современных библиотек высокопроизводительных вычислений. Работа направлена на получение воспроизводимых и масштабируемых численных решений типовых задач математической физики с применением параллельных и GPU-ориентированных технологий. Исследование выполнялась в три основных этапов:
-Теоретический анализ классических численных методов решения дифференциальных уравнений в частных производных [6].
-Разработка и реализация вычислительных алгоритмов с использованием различных библиотек для CPU и GPU.
-Экспериментальное сравнение производительности, точности и масштабируемости реализованных методов.
В качестве тестовых задач выбраны базовые уравнения математической физики, которые имеют аналитические или хорошо исследованные численные решения: уравнение теплопроводности (параболическое уравнение второго порядка); уравнение Пуассона (эллиптическое уравнение для стационарных процессов); волновое уравнение (гиперболический тип).
Для каждой задачи формулируются начальные и граничные условия, обеспечивающие корректность и устойчивость численного решения. Для решения уравнений математической физики используются следующие численные схемы: метод конечных разностей (МКР) — прост в реализации, позволяет эффективно решать задачи на прямоугольных сетках; метод конечных элементов (МКЭ) — применим для областей произвольной формы и задач с переменными коэффициентами; метод конечных объёмов (МКO) — используется для задач, в которых требуется сохранение физических инвариантов (массы, энергии и т.д.). Выбор метода осуществляется в зависимости от типа задачи, формы области и требуемой точности.
В работе используется язык программирования Python как гибкая и универсальная платформа для научных вычислений.
Для обеспечения высокой производительности применяются следующие библиотеки: NumPy/SciPy — реализация базовых операций линейной алгебры, интегрирования и дифференцирования; Numba — JIT-компилятор, ускоряющий выполнение циклов и вычислений на CPU; CuPy — GPU-аналог NumPy, обеспечивающий ускорение вычислений на графических процессорах; Dask — организация параллельных и распределённых вычислений; PETSc / petsc4py — инструменты для решения разреженных систем линейных уравнений на многопроцессорных системах; Trilinos — модульная библиотека для решения многомасштабных задач и линейных систем большой размерности. Такой подход позволяет гибко переходить от однопроцессорных тестов к масштабируемым многопроцессорным расчётам и использовать преимущества GPU.
Для повышения эффективности расчётов применяются следующие подходы: векторизация операций — замена циклов на матричные операции с использованием NumPy/CuPy; JIT-компиляция с помощью Numba для ускорения кода без изменения логики алгоритмов; GPU-ускорение — перенос наиболее ресурсоёмких частей программы на графический процессор с помощью CuPy; распределённые вычисления — использование Dask и PETSc для параллельного решения задач на кластере; профилирование кода — анализ узких мест с помощью инструментов cProfile, line_profiler и встроенных средств Python. Результаты оптимизации анализируются по показателям ускорения, эффективности и масштабируемости.
Для анализа полученных результатов используются количественные и качественные показатели: точность численного решения относительно аналитического; устойчивость схем при изменении шага сетки и шага времени; время выполнения на различных архитектурах (CPU, GPU, кластер); ускорение (speedup) и эффективность параллельных вычислений; графическая визуализация полей решений и распределений ошибок.
Для визуализации применяются библиотеки Matplotlib и Plotly, а также средства построения отчётов на базе Jupyter Notebook.
Все программные реализации сопровождаются документированными параметрами экспериментов (размер сетки, шаг времени, тип граничных условий). Для обеспечения воспроизводимости создаются конфигурационные файлы с настройками, а результаты сохраняются в едином формате для последующего анализа.
Экспериментальная часть и анализ результатов
Основной целью экспериментальной части является практическая проверка эффективности и точности численных методов решения задач математической физики при использовании современных библиотек высокопроизводительных вычислений. Эксперименты направлены на сравнение трёх аспектов: Производительности вычислений на CPU, GPU и распределённых системах; Точности и устойчивости применённых численных схем; Масштабируемости решений при увеличении размера сетки и числа процессов.
Программно-аппаратная среда экспериментов. Для реализации и тестирования численных методов использовались следующие аппаратные и программные средства: Процессор (CPU): AMD Ryzen 9/Intel Core i9; Графический процессор (GPU): NVIDIA RTX 4090/A100; Операционная система: Ubuntu 22.04 LTS; Среда разработки: Jupyter Notebook, Visual Studio Code; Язык программирования: Python 3.11; Библиотеки: NumPy, SciPy, Numba, CuPy, Dask, PETSc4py, Matplotlib, Plotly.
Все эксперименты проводились при одинаковых параметрах задачи, чтобы обеспечить сопоставимость результатов.
Эксперимент 1 . Уравнение теплопроводности (параболический тип). Математическая
= ^(д^+д^ где и(х,у’ f)
ди модель:
dt
— температура, а — коэффициент теплопроводности.
Численный метод: неявная схема метода конечных разностей (МКР). Размер сетки: 1000
× 1000 узлов. Шаг по времени: 0.001 с. Сравнивались реализации: CPU (NumPy) — базовая реализация на одном ядре; CPU+Numba — JIT-компиляция с оптимизацией циклов; GPU (CuPy) — реализация на графическом процессоре; Распределённая версия (Dask) — выполнение задачи на нескольких узлах.
|
Метод |
Время расчёта, с |
Ускорение относительно CPU |
Средняя ошибка |
|
CPU (NumPy) |
25.4 |
1.0× |
0.00012 |
|
CPU + Numba |
7.8 |
3.3× |
0.00012 |
|
GPU (CuPy) |
1.2 |
21.2× |
0.00013 |
|
Dask Cluster |
0.9 |
28.2× |
0.00011 |
Вывод: GPU-ускорение и распределённые вычисления позволяют достичь ускорения до 25–30 раз без потери точности.
Эксперимент 2. Уравнение Пуассона (эллиптический тип).
Модель: V2u(x,y) = f(x,y) c граничными условиями Дирихле.
Численный метод: метод конечных элементов (МКЭ).
Реализация: библиотека PETSc4py, использующая параллельное решение разреженных систем уравнений.
|
Размер сетки |
Время (CPU) |
Время (MPI / PETSc) |
Ускорение |
|
100×100 |
3.2 c |
1.1 c |
2.9× |
|
500×500 |
88.5 c |
12.7 c |
6.9× |
|
1000×1000 |
>300 c |
31.6 c |
9.5× |
Вывод: Использование PETSc обеспечивает линейную масштабируемость с ростом сетки, что особенно важно для задач большой размерности.
Эксперимент 3. Волновое уравнение (гиперболический тип)
Модель: = c2V2u dt2
Метод: явная схема конечных разностей второго порядка.
Особенность: вычислительно интенсивная операция обновления сетки.
Сравнение реализации: NumPy (базовая версия); CuPy (GPU-версия).
|
Метод |
Размер сетки |
Временные шаги |
Время расчёта, с |
Ускорение |
Средняя ошибка |
|
NumPy (CPU) |
2000×2000 |
2000 |
340 |
1× |
0.00014 |
|
CuPy (GPU) |
2000×2000 |
2000 |
9.7 |
35× |
0.00015 |
|
Dask Cluster |
2000×2000 |
2000 |
7.5 |
45× |
0.00014 |
При сетке 2000×2000 и 2000 временных шагах GPU-версия показала ускорение в 35 раз по сравнению с NumPy при одинаковой точности.
Визуализация результатов. Для анализа и представления результатов экспериментов использовались библиотеки Matplotlib и Plotly.
-
1. Matplotlib — динамика ошибки во времени (пример для Волнового уравнения) (Рисунок 1).
-
2. Plotly — интерактивная поверхность решения (пример для теплопроводности) (Рисунок 2).
Т. 12. №6 2026
Время, шаги
Рисунок 1. Динамика ошибки во времени
Рисунок 2. Зависимость ошибки от времени
Заключение
В результате проведённой работы были исследованы, реализованы и сравнены численные методы решения основных задач математической физики (параболического, эллиптического и гиперболического типов) с применением современных библиотек для высокопроизводительных вычислений. Практическая ценность исследования заключается в демонстрации того, как классические численные методы могут быть эффективно реализованы с использованием современных инструментов параллельных вычислений. Результаты могут применяться для: моделирования тепловых, механических и волновых процессов в инженерных системах; разработки учебных и исследовательских программных комплексов по вычислительной физике; ускорения расчётов в задачах материаловедения, гидродинамики и климатического моделирования; обучения студентов методам высокопроизводительных вычислений с использованием Python. Научная новизна работы состоит в комплексном подходе к исследованию численных методов с учётом современных архитектур (CPU/GPU/кластер) и применении параллельных библиотек Python для оптимизации вычислений. Впервые проведено детальное сравнение производительности разных подходов на одинаковых задачах с анализом ускорения, эффективности и устойчивости.