Научная статья на тему 'Пакет прикладных программ для моделирования и решения процессов с использованием аппарата вариационных неравенств'

Пакет прикладных программ для моделирования и решения процессов с использованием аппарата вариационных неравенств Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
233
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЕБ-РАЗРАБОТКА / ВЕБ-ПРИЛОЖЕНИЕ / ВАРИАЦИОННЫЕ НЕРАВЕНСТВА / ЭКСТРАГРАДИЕНТНЫЕ МЕТОДЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зыкина Анна Владимировна, Запорожец Дмитрий Николаевич

В статье обсуждается структура и основные принципы работы программного комплекса ExtaPMP, предназначенного для решения задач планирования и организации производства с использованием аппарата вариационных неравенств. Главная особенность программного комплекса заключается в его расширяемости. В том числе, программный комплекс может быть использован для решения задач линейного стохастического программирования с нормально или равномерно распределенными случайными параметрами путем сведения к эквивалентной детерминированной задаче. Программный комплекс может быть полезен научным сотрудникам, аспирантам и студентам как инструмент исследования и приобретения дополнительных навыков в моделировании и программировании. Программно-аппаратные требования: операционная система Windows 7, оперативная память 256 Мб, объем программного комплекса 3072 Кб. Разработанный программный комплекс отвечает требованиям новизны и является вкладом в объединенный фонд электронных ресурсов «Наука и образование».

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зыкина Анна Владимировна, Запорожец Дмитрий Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Пакет прикладных программ для моделирования и решения процессов с использованием аппарата вариационных неравенств»

Зыкина А.В.1, Запорожец Д.Н.2

1 Омский государственный технический университет, г. Омск, д.ф.-м.н., зав. кафедрой прикладной математики и фундаментальной информатики, avzykina@mail.ru

2 Омский государственный технический университет, г. Омск, к.ф.-м.н., доцент кафедры прикладной математики и фундаментальной информатики, demlcf@mail.ru

ПАКЕТ ПРИКЛАДНЫХ ПРОГРАММ ДЛЯ МОДЕЛИРОВАНИЯ И РЕШЕНИЯ ПРОЦЕССОВ С ИСПОЛЬЗОВАНИЕМ АППАРАТА ВАРИАЦИОННЫХ

НЕРАВЕНСТВ

КЛЮЧЕВЫЕ СЛОВА

Веб-разработка, веб-приложение, вариационные неравенства, экстраградиентные методы.

АННОТАЦИЯ

В статье обсуждается структура и основные принципы работы программного комплекса ExtaPMP, предназначенного для решения задач планирования и организации производства с использованием аппарата вариационных неравенств. Главная особенность программного комплекса заключается в его расширяемости. В том числе, программный комплекс может быть использован для решения задач линейного стохастического программирования с нормально или равномерно распределенными случайными параметрами путем сведения к эквивалентной детерминированной задаче. Программный комплекс может быть полезен научным сотрудникам, аспирантам и студентам как инструмент исследования и приобретения дополнительных навыков в моделировании и программировании. Программно-аппаратные требования: операционная система Windows 7, оперативная память 256 Мб, объем программного комплекса 3072 Кб. Разработанный программный комплекс отвечает требованиям новизны и является вкладом в объединенный фонд электронных ресурсов «Наука и образование».

Исследование выполнено при поддержке РФФИ, проект № 15-41-04436_р_сибирь_а.

Введение

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

Описание программного комплекса ExtaPMP

Программный комплекс [1, 2, 3] предназначен для решения задач планирования и организации производства экстраградиентными методами и может служить учебным пособием для студентов, изучающих методы оптимизации и программирование, а также инструментом исследования для научных сотрудников. Программа написана на языке С# (.Net 2.0), в качестве среды разработки использовалась Microsoft Visual Studio 2010. Для работы программы необходима операционная система Windows и .NET Framework 2.0 или выше.

Программный комплекс состоит из 3 основных модулей: модуль MatrixCalc, модуль Task, модуль Method. В первом модуле содержится программная реализация основных действий над векторами и матрицами. Во втором модуле содержится описание интерфейса вариационного неравенства и задачи, сводимой к вариационному неравенству. Благодаря этому модулю исследователь может запрограммировать собственную задачу и решить задачу при помощи данного программного комплекса. Третий модуль содержит описание интерфейса итерационного метода решения вариационного неравенства. Таким образом, предоставляется возможным использовать в программном комплексе ExtaPMP не только собственные задачи, но и методы, причем к каждому методу автоматически добавится еще один метод с памятью. Методы с памятью являются параллельными и позволяют находить решение существенно быстрее.

Программный комплекс содержит несколько задач, сводящихся к вариационному неравенству: система линейных алгебраических уравнений, линейная задача дополнительности, нелинейное вариационное неравенство минимизация функции Розенброка, минимизация функции Химмельблау, задача линейного программирования, транспортная задача и задача планирования производства. Каждую из вышеперечисленных задач можно решить при помощи градиентного метода, одношагового экстраградиентного метода или двухшагового экстраградиентного метода. Методы решения вариационного неравенства, как и сами задачи, реализованы в виде подключаемых модулей, поэтому в программе дополнительно возможно выбрать следующие методы: градиентный метод с памятью, одношаговый экстраградиентный метод с памятью, двухшаговый экстраградиентный метод с памятью.

Описание модуля MatrixCalc

На рисунке 1 показана диаграмма классов «матрица» и «вектор». В этом модуле содержатся классы матрица и вектор, определены основные операции над ними, такие, как умножение, сложение векторов и матриц, произведение матрицы на вектор, произведение матриц, скалярное произведение векторов.

Matrix Э1

^ Fields

М

^ Properties

!=Г ColCount

J" RowCount

V this

1=1 Method:

* Matrix (-и 1 overload! v Norm :V operator -

V operator!

V operator* (+ 2 overloads) operator +■

Vector

Class

Fields ^ v

~< Properties Size this Method:

V Norm

v operator-

V operator* (+■ 1 overload) operator +

V ~oString

* Vector (+ 1 overload!

Рис.1. Диаграмма классов модуля MatrixCalc

Описание модуля Task

Модуль Task содержит интерфейс задачи ITask, класс VI, реализующий функционал вариационного неравенства.

На рисунке 2 изображена диаграмма классов модуля Task.

Так как в этом модуле содержится интерфейс ITask, то это позволяет любому программисту или исследователю реализовать собственную, интересующую его задачу в виде отдельного модуля программного комплекса ExtaPMP. Для этого достаточно написать класс, реализующий интерфейс ITask, и оформить этот класс в виде динамически подключаемой библиотеки (dll). Интерфейс ITask имеет ряд интересных свойств и методов. Свойство Name содержит название задачи, а Overview -ее краткое описание. Свойство CanUseFillDlg отвечает за то, можно ли использовать специальную

форму заполнения задачи. Если таковой нет, то задача должна быть полностью создана в конструкторе класса, иначе программист должен реализовать визуальную форму, в которой будет предоставлена возможность пользователю ввести все необходимые данные. На этой форме обязательно должна быть кнопка «создать», по нажатию которой необходимо выставить значение свойства Created в true, а так же послать сообщение WM_TASKCREATED родительскому окну. В методе ToVarlneq реализована логика приведения задачи к вариационному неравенству (класс VI).

vi !

Class

8 Fields

V operH

V Projection " Properties

v KrownSolutior JT LipshitzConst Г Star-Point " Methods

v VI (+ 1 overload)

WINAPY

Class

" Fields

Ф WM/ASKCREA... =J Methods

v PostMessage

VectorCon version r

Delegate

Task

Interface

" Properties ^ CanUseFiiiDig Created Name ^ Overview

- Methods

V GetFiSSDSg

V PrintSotution

V ToVarlneq

Рис.2 Диаграмма классов модуля Task Описание модуля IMethod

Для того чтобы решать задачи новым методом, не включенным в программный комплекс, необходимо написать класс, реализующий интерфейс IMethod.

f

IMethod

Interface

Properties

jf Iterations

Name J Overview J Solution SolvePath StopCriteria W Time Methods

V MakeOneSolvelter

V Solve V_J

Рис.3. Диаграмма классов модуля IMethod На рисунке 3 изображена диаграмма классов модуля IMethod.

При этом необходимо выделить два решающих метода-класса: Solve - находит решение вариационного неравенства, а MakeOneSolvelter - делает одну итерацию метода. Свойство Solution содержит решение, найденное методом, а свойство Iterations - количество итераций, сделанное методом, Time - показывает время в секундах, затраченное на решение задачи, , SolvePath - хранит

траекторию метода, StopCriteria - содержит пороговое значение критерия остановки StopCriteria, Name - название метода, Overview - его описание.

На рисунке 4 показано окно, которое пользователь увидит при первом запуске программного комплекса.

Программную nCMfMtri f/tflPM?

в Ш

KOMIIKKC np<xpjMM ЕйаРНР

Государстве™«™ тганпесюта >™агрснтета

Далге

Рис.4. Окно первого запуска

При нажатии на кнопку «Далее» пользователь попадет на страницу выбора метода решения задачи.

ПрограммныД комплекс ЕЯлРМР

Выверит* чвпч. который котит* реиыть О&овнтъ

ПМЙЧнТНъД меим

''рашле* тнрй гиетр-дс na^FTbic

зяэз

0#icuiaroebtf шстрагралинпый rwraд с пан птъд Двучиагиьй мечд

йвукиеггиь^ кстрггралпеынье методе гчмртыо

^Sp^iiWi метода

Метод Опчошаговвй окстрагратвни-ы^ маттзо СКысаче Направление - градаент Депает 1

МЧи lUVSiT LIS иСЩ*1СЛ Т0ч(и по >то»Ч1-иому направлен*? Шаг ргран«ен совду 1/(кЦф1]|- гае L - константа Поиииа

Н*»д

Рис.5. Окно выбора метода решения задачи На рисунке 5 показано окно выбора метода решения задачи.

При выборе метода решения задачи пользователю показывается краткое описание метода. Кнопка обновить сканирует каталог Methods и служит для перестроения списка методов. При нажатии на кнопку «Далее» пользователь попадает на страницу выбора задачи. На рисунке 6 показано окно выбора решаемой задачи.

При выборе задачи пользователю будет показано краткое описание задачи. При нажатии

на кнопку «Далее» пользователь попадает на страницу заполнения данных, или сразу переходит на страницу отображения результатов решения, если заполнение данных задачи не требуется и соответствующая форма отсутствует.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Программный комплексБлаРМР

о Ы И

Выберил ыдачу, котирую ттпгв реш'ть

ГЬиеАчп мвч дрпалнитильмоспн

Система гикйиъи с мо^тот^иу^тором

^ Назад

Оисами рябрэмюй гад**

Заыча' Непинейнм нснеичнное нерэмпстад Огис-м*. с Нхт, X' х'*> дпн .побега т из допустимого

¡^окестм смета

Ш - 01 +ЬпГ7Ъ|1:П :|1+||1Г$я>

ьэд -1|1 * хп * - 35

Решении** (ОД . .0)

Далее ^

Рис.6. Окно выбора решаемой задачи

На рисунке 7 показано окно с результатами решения задачи. Здесь отображается информация о выбранных методе и задаче, количество сделанных итераций, время, затраченное на поиск решения, стартовая точка, из которой метод начинал решение задачи, и найденное решение.

Программный комплекс Е>:аРМР

Реэуге»тзты радист я 5аш1

Нлвд Олкша-мвй тмвд

Т;*1 »МАчн

Ксгстчнтв ГЬтаилд: 217

Кодачвсттм итерация 20?5 Ь^мя pcu^í™п■ 0.061 «ч Стартами течга 3 3 нзддвтм реше™4 С.ЭС161 С1.С01Ы

4-Е'

Рис.7. Окно с результатами решения задачи

Выводы

Программный комплекс MMSolver позволяет решать сводящиеся к вариационным неравенствам актуальные задачи математического моделирования из различных областей знаний: задачи теории игр, задачи о седловой точке, задачи линейного и выпуклого программирования, линейные задачи дополнительности и многие другие. В программном комплексе реализованы технологии параллельного программирования в численных методах

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

Литература

1. Запорожец Д.Н., Меленьчук Н.В. Экстраградиентные методы (программа) // М.: ОФЭРНиО ФГПУ ИНИПИ РАО, 2010. - № 50201050071. - Св-во о регистрации электронного ресурса № 16330 от 27 октября 2010 года.

2. Запорожец Д.Н. Программный комплекс MMSolver (программный комплекс) // М.: ОФЭРНиО ФГПУ ИНИПИ РАО, 2012. - № 50201250473. - Св-во о регистрации электронного ресурса № 18137 от 17 апреля 2012 года.

3. Запорожец Д.Н. Программный комплекс ExtaPMP (программный комплекс) // М.: ОФЭРНиО ФГПУ ИНИПИ РАО, 2012. - № 50201251393. - Св-во о регистрации электронного ресурса № 18705 от 26 ноября 2012 года.

4. Kaneva O., Atink D. Research of statistic methods in finding the solutions of a linear stochastic problems // VI International conference on optimization methods and applications «Optimization and applications» (0PTIMA-2015): Proceedings include abstracts of reports presente. - Petrovac, Montenegro, 2015. - С. 91.

i Надоели баннеры? Вы всегда можете отключить рекламу.