Ученые ЮУрГУ нашли новый способ решения задач линейного программирования

Ученые Высшей школы электроники и компьютерных наук – профессор Леонид Соколинский и аспирант Николай Ольховский – выиграли грант РНФ федерального уровня в рамках исследования, которое посвящено синтезу суперкомпьютерных технологий и искусственного интеллекта (ИИ). Связка суперкомпьютера и ИИ в перспективе позволит на новом уровне решать задачи линейного программирования для оптимизации различных производственных задач.

Линейное программирование (ЛП) – особая математическая дисциплина, которая служит для решения большого класса задач оптимизации.

«Первоначально основным применением линейного программирования была оптимизация производственных процессов, но сейчас область применения ЛП значительно расширилась. В частности, применяется оно в роботрейдинге. На валютных биржах и на биржах ценных бумаг люди уже давно не работают. Трейдеры, брокеры – их давно заменили программы. Это направление называется роботрейдинг или высокочастотная торговля. Программа-робот может совершить транзакции по купле-продаже ценных бумаг несколько тысяч раз за одну секунду. Для человека это совершенно невозможно! А для робота это легко. Они на каждой транзакции зарабатывают буквально копейки, но за счет того, что они делают, их очень много, в сумме получается миллионы рублей (за неделю). Это при условии, что робот правильно настроен, хорошо оптимизирован», – объясняет Леонид Соколинский, доктор физико-математических наук, профессор, заведующий кафедрой «Системное программирование» ЮУрГУ.

Управление беспилотными летательными и наземными аппаратами – еще одно из направлений линейного программирования. Выбор оптимального маршрута, точный расчет траты горючего или заряда батареи для беспилотных аппаратов – все эти задачи оптимизации решаются с помощью ЛП.

«Многие люди под линейным программированием понимают парадигму программирования, где каждая команда следует одна за другой. Но в нашем случае этот термин к написанию программ не имеет прямого отношения. ЛП – это класс задач, заключающийся в следующем: у нас есть некоторая функция, и эта функция зависит от многих параметров. Параметров у нас может быть миллион. И нам нужно подобрать каждый параметр таким образом, чтобы функция дала нам наилучшее значение. Например, в биохимии есть задачи на устойчивость молекул. У молекулы синтезируемого вещества есть много параметров, и есть много разных вариантов эту молекулу собрать, но энергетически стабильна она будет только в каком-то одном случае. Все подобные случаи сводятся к задаче многопараметрического линейного программирования, решением которой мы и занимаемся с Леонидом Борисовичем в рамках полученного гранта», – поясняет Николай Ольховский, младший научный сотрудник кафедры «Системное программирование».

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

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

«Вот мы приземлились на поверхность многогранника и куда-то пошли. Нам нужно прийти в точку оптимального решения. Каким образом мы решили идти? Изначально, как выглядит многогранник, мы не знаем. Поэтому вокруг точки, в которой стоим, мы строим координатную сетку. И для каждой точки координатной сетки мы считаем расстояние до поверхности многогранника. В результате у нас получается пиксельная картинка, которая показывает, как выглядит кусочек многогранника вокруг нас. После пиксельную картинку мы загружаем в нейронную сеть (НС). НС, обработав изображение, дает ответ, в каком направлении нужно двигаться дальше. Мы можем идти в ту сторону, пока не упремся в определенные условия, но смысл в том, что мы сделаем очень большой шаг. И он вычислительно нам не будет стоить ничего. Придя в новую точку, мы проделываем те же операции: строим координатную сетку, НС обрабатывает изображение, и так происходит, пока не дойдем до оптимальной точки», – объясняет Николай Ольховский.

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

Существующие методы решения задач линейного программирования обладают двумя недостатками. Первый заключается в том, что алгоритмы решения сложных задач невозможно эффективно запустить на современных мощных суперкомпьютерах с большим количеством вычислительных узлов. Допустим, что в суперкомпьютере 300 вычислительных узлов, из них программа-решатель (solver) может эффективно использовать только 30. Метод решения ученых ЮУрГУ в перспективе будет лишен такого недостатка. Он разрабатывается с учетом постоянного развития компьютерной техники, что позволит использовать метод на суперкомпьютере любой мощности. Второй недостаток существующих методов решения многопараметрических задач – итерационность (повторное применение какой-либо математической операции). Итерационные алгоритмы не позволяют предсказать количество шагов, за которое будет получен результат. В худшем случае время, затрачиваемое на вычисления, становится слишком большим, что неприемлемо во многих случаях. Новый же метод позволит решать задачу за строго определенное время.

На суперкомпьютере «РСК Торнадо ЮУрГУ» уже запущен прототип, который решает задачи небольшой размерности. В рамках гранта было опубликовано несколько научных статей в вестнике ЮУрГУ, в высокорейтинговом журнале Mathematics и в сборнике трудов конференции Parallel Computational Technologies. В основу гранта положено диссертационное исследование Николая Ольховского.

Южно-Уральский государственный университет – это университет трансформаций, где ведутся инновационные исследования по большинству приоритетных направлений развития науки и техники. В соответствии со стратегией научно-технологического развития РФ университет сфокусирован на развитии крупных научных междисциплинарных проектов в области цифровой индустрии, материаловедения и экологии. В 2021 году ЮУрГУ победил в конкурсе по программе «Приоритет-2030». Вуз выполняет функции регионального проектного офиса Уральского межрегионального научно-образовательного центра мирового уровня (УМНОЦ), который призван решить задачи национального проекта «Наука и университеты».


Читайте нас:

Александра Юсупова, фото: Надежда Юшина
Контактное лицо по новости: 
Отдел научных коммуникаций, тел.: 272-30-11
Вы нашли ошибку в тексте:
Просто нажмите кнопку «Сообщить об ошибке» — этого достаточно. Также вы можете добавить комментарий.