Помощь в написании студенческих работ
Антистрессовый сервис

Разработка интерактивного программного модуля решения задачи линейного программирования

Дипломная Купить готовую Узнать стоимостьмоей работы

После задания значений в соответствующих полях соответствующим образом обновятся таблицы в вкладке «Исходные данные». Пример вида изменений приведен на рисунке 14. Рисунок 14. Вид вкладки «Исходные данные» после задания модели ЗЛПЗаполняя соответствующие ячейки числовыми значениями, можно задать параметры матрицы и правой части ограничений, а также значения коэффициентов целевой функции… Читать ещё >

Разработка интерактивного программного модуля решения задачи линейного программирования (реферат, курсовая, диплом, контрольная)

Содержание

  • ВВЕДЕНИЕ
  • 1. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1. 1. Постановка задачи исследований операций
    • 1. 2. Понятие математического программирования и его задачи
    • 1. 3. Общая постановка задачи линейного программирования
  • 2. МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
    • 2. 1. Симплекс-метод и его описание
    • 2. 2. Способы построения и улучшения плана
  • 3. РАЗРАБОТКА
  • ПРИЛОЖЕНИЯ ДЛЯ РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
    • 3. 1. Выбор инструментов разработки
  • приложения
    • 3. 2. Описание основных компонент
  • приложения
    • 3. 3. Описание работы
  • приложения
    • 3. 4. Обеспечение качества разработки, продукции, программного продукта
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ 4

3.3Описание работы приложения.

Общий вид приложения приведен на рисунке 10. Рисунок 10. Общий вид приложения.

Во вкладке «Исходные данные» отображаются компоненты, в которые вводятся исходные данные. К ним относятся коэффициенты целевой функции, матрица ограничений, выбор типа задачи и опция, указывающая на неотрицательность переменных. Во вкладке «Решение задачи» представлена симплекс-таблица и таблица решения. Ее вид приведен на рисунке Рисунок 11. Вид вкладки «Решение задачи"Элемент меню «Файл» содержит функциональность ввода и сохранения данных. Его вид приведен на рисунке 12. Рисунок 12. Вид меню «Файл"При выборе команды «Создать модель» появляется форма создания модели ЗЛП (рисунок 13). Рисунок 13. Вид формы создания модели.

После задания значений в соответствующих полях соответствующим образом обновятся таблицы в вкладке «Исходные данные». Пример вида изменений приведен на рисунке 14. Рисунок 14. Вид вкладки «Исходные данные» после задания модели ЗЛПЗаполняя соответствующие ячейки числовыми значениями, можно задать параметры матрицы и правой части ограничений, а также значения коэффициентов целевой функции. В элементе столбца «Выбор связи» можно задать знак неравенства для ограничений. Из комбобокса «Тип задачи» можно определить вид задачи: максимизация или минимизация целевой функции. Пример задачи приведен на рисунке 15. Рисунок 15. Вид примера модели ЗЛППомимо ручного ввода, модель ЗЛП можно загрузить из текстового файла.

Пример структуры текстового файла приведен на рисунке Рисунок 16. Вид текстового файла модели ЗЛПВ первой строке текстового файла указывается тип оптимизации в виде идентификатора «max» или «min». Через пробел после него указываются коэффициенты целевой функции. В следующих строках указываются ограничения в виде перечисления элементов строки матрицы, указания знака неравенства и правой части. Доступно указание знаков «<=», «>=», «=».Числа, используемые в программе, имеют формат double в 64-битной разрядности и двойную точность.

Это означает, что их диапазон составляет от 5E-324 до 1,7Е+308 без учета знака. Разделителем, обозначающим плавающую точку, является символ «,».Для загрузки модели ЗЛП в виде текстового файла необходимо выполнить команду меню Файл > Загрузить модель. Появится диалоговое окно открытия файла модели (рисунок 17).Рисунок 17. Вид диалогового окна открытия файла модели.

После загрузки модели ее данные отобразятся в соответствующих компонентах формы приложения. Для решения задачи необходимо выполнить команду меню Решение > Запуск решения. В случае успешного решения во вкладке «Решение задачи» отобразится решенная симплекс-таблица и решение ЗЛП. Пример вывода решения для случая данных на рисунке приведен на рисунке 18. Рисунок 18. Вид решения задачи линейного программирования.

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

Рисунок 19. Вид симплекс-таблицы.

Пошаговый просмотр этапов решения ЗЛП производится путем нажатия кнопок «Следующий шаг», «Предыдущий шаг». При нажатии кнопки «Следующий шаг» производится переход к следующему этапу преобразования симплекс-таблицы. При нажатии кнопки «Следующий шаг» производится переход к предыдущему этапу преобразования симплекс-таблицы. Вид этапов преобразования решений для случая симплекс-таблицы рисунка приведен на рисунках 20−22.Рисунок 20. Вид шага решения ЗЛПРисунок 21. Вид шага решения ЗЛПРисунок 22. Вид шага решения ЗЛПВ качестве другого примера рассмотрим задачу вида.

Форма с исходными данными имеет вид (рисунок 23) Рисунок 23. Вид модели ЗЛПИзменение симплекс-таблиц показана рисунках Рисунок 24. Начальная симплекс-таблица ЗЛПРисунок 25. Вид шага решения ЗЛПРисунок 26. Вид шага решения ЗЛПРисунок 27.

Вид шага решения ЗЛПРисунок 28. Вид шага решения ЗЛПРисунок 29. Вид шага решения ЗЛПРисунок 30. Вид шага решения ЗЛПРисунок 31.

Вид шага решения ЗЛППриведенные примеры показывают, что действия по изменению симплекс-таблицы отвечают приведенному в главе 2 алгоритму симплекс-метода. Это позволяет сделать вывод о корректности реализации симплекс-метода в данной программе.

3.4Обеспечение качества разработки, продукции, программного продукта.

К традиционным методам выявления требований относятся использование интервью и анкет, наблюдение и изучение деловых документов. Это простые и экономичные методы. Эффективность традиционных методов обратно пропорциональна риску проекта. Для таких проектов традиционных методов вряд ли будет достаточно [10,11]. В этой связи важной задачей является формализация требований. Одним из ее способов является моделирование прецедентов. Прецедент — это структурированное представление накопленного опыта в виде данных и знаний, обеспечивающее его последующую автоматизированную обработку при помощи специализированных программных систем. Как правило, прецедент состоит из описания проблемной ситуации и совокупности действий, предпринимаемых для устранения данной проблемной ситуации (ее решения).Пример модели прецедентов приведен на рисунке 23. Рисунок 23. Пример модели прецедентов.

Фигурками на модели отмечены потребители или компоненты информационной системы. В виде эллипсов с внесенными в них записями используются требования. На рисунке 24 представлена диаграмма прецедентов для интерактивного модуля, реализующего симплекс-метод. Рисунок 24. Вид модели вариантов использования для приложения Таким образом, к основным требованиям можно отнести следующие:

ввод данных о симплекс-модели;

изменение данных симплекс-модели;

возможность выполнения расчетов;

возможность экспорта результатов. Ввод данных должен включать в себя следующие опции:

создание симплекс-модели;

загрузка модели из файла;

заполнение формы данных. При этом выполнение расчетов должно давать возможность пошагового просмотра результатов. Важной задачей разработчика продукции или услуги является преобразование требований потребителя в характеристики качества, а задачей производителя является обеспечение необходимой степени соответствия характеристик требованиям. Например, заказчик программного продукта предъявляет требование к его быстродействию. Разработчик преобразует это требование в характеристику «время отклика», согласовывает с потребителем целевое значение для данной характеристики и разрабатывает процедуру измерения, которой будет пользоваться тестировщик программного продукта. Таким образом, можно быть уверенным, что заказчик, разработчик и тестировщик одинаково понимают данное требование. Операциональное определение (ОО) — это уточнение значения того или иного термина применительно к данной системе, находящейся в конкретных условиях и для людей, в ней задействованных.

ОО является определением, имеющим одинаковый смысл для поставщика и потребителя вчера сегодня и завтра. Другими словами, корректно сформулированное ОО дает возможность всем людям, участвующим в трансакции, использовать и понимать термин всегда и каждый раз однозначно. Это становится особенно важно тогда, когда вы собираете данные. Каждый член команды может иметь разные соображения, что является дефектом. Но когда вы установили критерий того, что является приемлемым и процедуру теста для различения того, что приемлемо, от того, что дефектно, все члены команды могут определить, что является дефектом, и что — нет. Работоспособность или действенность операционального определения проверяется только практикой его применения, и если оно помогает людям в достижении единого понимания терминов, связанных с качеством — оно работает, если нет — то не работает [10]. Показатели качества и их критерии приведены в приложении.

Из ее вида можно сделать вывод о соответствии модели прецедентов на рисунке и составе действий в таблице. Это говорит о полноте формулировки требований и критериев качества в терминах операциональных определений.

3.5Выводы по главе.

По результатам проведенного анализа были сделаны следующие выводы:

в качестве инструмента реализации программы была выбрана среда VisualStudio и языке C#;анализ функциональности программного обеспечения позволил сформулировать требования, предьявляемые к нему;

на основе требований сформулирована модель прецедентов и составлена таблица операциональных определений;

разработанная программная реализация удовлетворяет заявленным требованиям и обеспечивает корректное решение тестовых задач.

ЗАКЛЮЧЕНИЕ

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

Это делает необходимым применение отдельной группы методов, в основе которых лежит симплекс-метод.На основе анализа симплекс-метода в среде VisualStudio на языке C# был разработан модуль решения задачи линейного программирования, обладающий интерактивными функциями работы. Приведено подробное описание компонентов и возможностей созданного программного обеспечения. Программный продукт имеет перспективы развития. В частности, он может быть перенесен на платформу ASP.NET, что позволит применять его на корпоративном уровне.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Таха Х.

Введение

в исследование операций.

Пер. с англ. М.: ИД Вильямс, 2001.

Вентцель Е. С. Исследование операций.— М.: Советское радио, 1972 (около 35 п. л.). Вагнер Г. Основы исследования операций.— М.: Мир, 1972 (в трех томах, общий объем около 80 п. л.).

Высшая математика. Математическое программирование. Учебник. Под ред. А. В. Кузнецова Минск, «Вышэйшая школа», 2001.

Аксентьев В. А. Исследование операций в экономике. Тюмень, ТГУ, 2007.

Гончаренко В. М. Элементы линейного и выпуклого программирования. Учебно-методическое пособие для бакалавров экономики и менеджмента. — М: Финакадемия, кафедра «Прикладная математика», 2010.

Якупов Р. Т., Гарайшина И. Р. Выпуклые функции.

Выпуклое программирование: методические указания по решению задач / Р. Т. Якупов, И. Р. Гарайшина; филиал Кемеровского государственного университета в г. Анжеро-Судженске. — Анжеро-Судженск, 2012.

— 37 с. Лесин В. В., Лисовец Ю. П. Математическое программирование: Учебное пособие / МИЭТ. М., 1988. 116 с. Гасс С.

Линейное программирование. Физматгиз, 1961.

Азарьева В.В., Павловская И. В., Рябинина Е. А., Ященко В. В. 075 Основы менеджмента качества: учеб. пособие/ под ред. В. В. Ященко. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2011. 152 с.

Показать весь текст

Список литературы

  1. Х. Введение в исследование операций. Пер. с англ. М.: ИД Вильямс, 2001.
  2. Е. С. Исследование операций.— М.: Советское радио, 1972 (около 35 п. л.).
  3. Г. Основы исследования операций.— М.: Мир, 1972 (в трех томах, общий объем около 80 п. л.)
  4. Высшая математика. Математическое программирование. Учебник. Под ред. А. В. Кузнецова Минск, «Вышэйшая школа», 2001.
  5. В.А. Исследование операций в экономике. Тюмень, ТГУ, 2007.
  6. В.М. Элементы линейного и выпуклого программирования. Учебно-методическое пособие для бакалавров экономики и менеджмента. — М: Финакадемия, кафедра «Прикладная математика», 2010.
  7. Р. Т., Гарайшина И. Р. Выпуклые функции. Выпуклое программирование: методические указания по решению задач / Р. Т. Якупов, И. Р. Гарайшина; филиал Кемеровского государственного университета в г. Анжеро-Судженске. — Анжеро-Судженск, 2012. — 37 с.
  8. В.В., Лисовец Ю. П. Математическое программирование: Учебное пособие / МИЭТ. М., 1988. 116 с.
  9. С. Линейное программирование. Физматгиз, 1961.
  10. В.В., Павловская И. В., Рябинина Е. А., Ященко В. В. Основы менеджмента качества: учеб. пособие/ под ред. В. В. Ященко. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2011. 152 с.
  11. Н.А., Чернов А. В. Классификация частично формализованных и формальных моделей и методов верификации программного обеспечения // Инженерный Вестник Дона. 2010. № 4. C. 129−134.
  12. В.В. Методы верификации программного обеспечения. 2008. 117 с. // Единое окно доступа к информационным ресурсам: интернет-портал. Режим доступа: http://window.edu.ru/resource/168/56 168 (дата обращения 18.06.2017).
  13. КарповЮ.Г. MODEL CHECKING. Верификация параллельных и распределенных программных систем. СПб.: БХВ-Петербург, 2010. 560с.
  14. Pasareanu C.S., Visser W. A survey of new trends in symbolic execution for software testing and analysis // International Journal on Software Tools for Technology Transfer. 2009. Vol.11, no. 2. P. 339−353. DOI: 10.1007/s10009−009−0118−1.
  15. Boyer R.S., Elspas B., Levitt K.N. SELECT — a formal system for testing and debugging programs by symbolic execution // Proceedings of the International Conference on Reliable Наукаиобразование. МГТУим. Н. Э. Баумана 248 Software, Los Angeles, California, 1975. ACM New York, NY, USA, 1975. P. 234−254. DOI: 10.1145/800 027.808445
Заполнить форму текущей работой
Купить готовую работу

ИЛИ