Программный комплекс MMSolver

Программный комплекс MMSolver предназначен для решения вариационных неравенств различными итерационными методами. Функциональное назначение программы, область её применения, её назначение. Описание модулей MatrixCalc, Task, Method. Диаграмма классов.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 11.01.2020
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Запорожец Д.Н.

Программный комплекс MMSolver

Функциональное назначение программы, область её применения, её назначение

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

Программный комплекс состоит из 4 основных модулей. В первом модуле содержится программная реализация основных действий над векторами и матрицами. Во втором модуле содержится описание интерфейса вариационного неравенства и абстрактной задачи, сводимой к вариационному неравенству. Благодаря этому модулю любой исследователь может запрограммировать свою собственную, интересующую его задачу, и впоследствии решить задачу при помощи данного программного комплекса. Третий модуль содержит описание интерфейса итерационного метода решения вариационного неравенства. Таким образом, предоставляется возможным использовать в программном комплексе MMSolver не только собственные задачи, но и методы, причем к каждому методу, автоматически добавится еще один метод «с памятью». Методы с памятью являются параллельными и позволяют находить решение существенно быстрее.

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

Градиентный метод задается следующим образом

программный mmsolver вариационные неравенства

Одношаговый метод задается следующими рекуррентными соотношениями

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Двухшаговый метод выглядит следующим образом

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

По любому итерационному процессу F, итерационный процесс с памятью строится следующим образом

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

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

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

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

Модуль Task содержит интерфейс задачи ITask, класс VI, реализующий функционал вариационного неравенства. Так как в этом модуле содержится интерфейс ITask, то это позволяет любому программисту или исследователю реализовать собственную, интересующую его задачу в виде отдельного модуля программного комплекса MMSolver. Для этого достаточно написать класс, реализующий интерфейс ITask, и оформить этот класс в виде динамически подключаемой библиотеки (dll). Интерфейс ITask имеет ряд интересных свойств и методов. Свойство CanUseFillDlg отвечает за то, можно ли использовать специальную форму заполнения задачи. Если таковой нет, то задача должна быть полностью создана в конструкторе класса, иначе программист должен реализовать визуальную форму, в которой будет предоставлена возможность пользователю ввести все необходимые данные. На этой форме обязательно должна быть кнопка «создать». На рисунке 2 изображена диаграмма классов модуля Task.

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

В методе ToVarIneq должна быть реализована логика приведения задачи к вариациооному неравенству (класс VI).

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

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

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

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

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

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

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

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

На рисунке 6 показано окно выбора решаемой задачи.

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

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

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

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

Используемые технические средства

Программа написана на языке С# (.Net 2.0), в качестве среды разработки использовалась Microsoft Visual Studio 2010.

Специальные условия и требования организационного, технического и технологического характера

Для работы программы необходима операционная система Windows и .NET Framework 2.0 или выше.

Размещено на Allbest.ru

...

Подобные документы

  • Функциональная структура приложения. Спецификация и структурная диаграмма программного комплекса. Блок-схемы алгоритмов ряда модулей. Данные для тестирования программных модулей и программного комплекса в целом, инструкция пользователя по работе с ним.

    курсовая работа [58,5 K], добавлен 25.02.2012

  • Составление математической модели расписания в школе. Назначение и область применения программного продукта. Обоснование выбора инструментальных средств. Описание разработки, алгоритмов и методов решения, форматов данных и пользовательского интерфейса.

    курсовая работа [1,6 M], добавлен 18.01.2012

  • Разработка программы для автоматизации расчетов на телефонной станции. Описание входной и выходной информации, комплекс технических средств. Интерфейс конечного пользователя. Проектирование программных модулей представления входных и выходных данных.

    курсовая работа [460,1 K], добавлен 26.06.2015

  • Системное и функциональное проектирование. Описание взаимодействия с сервером, классов системных компонентов. Обзор функциональных классов из пакетов helpers, dialogs и networking. Разработка программных модулей. Технико-экономическое обоснование проекта.

    дипломная работа [1,7 M], добавлен 15.06.2014

  • Основное функциональное назначение электронного учебника. Основные требования к программной документации. Разработка алгоритма решения задачи. Требования к эргономике и технической эстетике. Назначение и условия применения программного средства.

    курсовая работа [2,1 M], добавлен 09.08.2011

  • Оптимизационная задача линейного программирования. Виды задач линейного программирования. Принятие решений на основе количественной информации об относительной важности критериев. Выбор средств разработки. Программный комплекс векторной оптимизации.

    дипломная работа [1,3 M], добавлен 27.03.2013

  • Особенности и классификация обучающих программных средств обучения. Обзор методов обработки экспертной информации. Требования к программному комплексу лабораторных работ. Построение логической модели данных. Описание компьютерной реализации для студента.

    дипломная работа [2,0 M], добавлен 19.01.2017

  • Составление математической модели решения транспортной задачи. Описание входной и выходной информации. Программно-технические средства, используемые при разработке программы. Общее описание программы, ее назначение, информационная совместимость.

    курсовая работа [49,1 K], добавлен 24.05.2013

  • Разработка структурной схемы и интерфейса программного комплекса управления сайтом. Выбор языка программирования. Принципы тестирования программы. Разработка руководства оператора и системного программиста. Расчет сметы затрат на программный продукт.

    дипломная работа [4,1 M], добавлен 11.06.2012

  • Основания для разработки программы и ее назначение, внутренняя структура и компоненты, предъявляемые требования. Область применения и функциональное назначение, администрирование сайта. Разработка руководства пользователя. Работа с интернет-магазином.

    дипломная работа [1,8 M], добавлен 02.11.2015

  • Структура и классификация систем автоматизированного проектирования. Виды обеспечения САПР. Описание систем тяжелого, среднего и легкого классов. Состав и функциональное назначение программного обеспечения, основные принципы его проектирования в САПР.

    курсовая работа [37,7 K], добавлен 18.07.2012

  • Назначение программы "Учёт пациентов" и её подсистемы. Диаграмма классов предметной области, диаграмма последовательностей, описание автоматизируемых функций и характеристика функциональной структуры. Физическая схема и описание таблиц базы данных.

    дипломная работа [3,3 M], добавлен 15.11.2016

  • Назначение, область применения, этапы разработки, требования к программе по моделированию технологического процесса выплавки стали. Назначение модулей программы: Diplom.cpp, MainFormUnit.cpp, XLSExportDialogUnit.cpp, DistributionTableDialogUnit.cpp.

    отчет по практике [512,9 K], добавлен 14.10.2012

  • Анализ информационных потоков. Описание информационных задач. Функциональное назначение программы, ее структура, описание логики. Тексты запросов на языке SQL. Назначение и условия применения информационно-справочной системы, описание операций, отчетов.

    курсовая работа [3,0 M], добавлен 16.12.2013

  • Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.

    курсовая работа [742,6 K], добавлен 03.07.2011

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

    контрольная работа [198,9 K], добавлен 30.10.2013

  • Функциональное назначение программы "Автоматизация учета выпускаемой продукции"; описание ее логической структуры, необходимых входных и выходных данных, процедур вызова и загрузки. Определение экономического эффекта от внедрения программного продукта.

    дипломная работа [336,0 K], добавлен 14.04.2014

  • Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.

    контрольная работа [989,9 K], добавлен 29.03.2011

  • Применение программного обеспечения для разработки игры "Быки и коровы". Описание алгоритма и интерфейса пользователя программы. Назначение и область применения и описание возможностей программы. Рассмотрение списка сообщений об ошибках программы.

    курсовая работа [799,2 K], добавлен 26.04.2021

  • Программный продукт для решения систем линейных уравнений методом Гаусса. Алгоритм для проведения вычислений. Цель разработки и область ее применения. Схема информационных потоков. Метод Гаусса: исключение неизвестных. Проектирование удобного интерфейса.

    курсовая работа [340,0 K], добавлен 02.07.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.