Разработка электронного учебного методического комплекса по изучению раздела "Симплексный метод решения задачи линейного программирования" дисциплины "Математические методы" - Дипломная работа
Особенности задач линейного программирования. Симплексный метод решения задач линейного программирования. Обоснование выбора языка, инструментария программирования, перечень идентификаторов и блок-схема алгоритма. Логическая схема работы программы.
Аннотация к работе
годы интенсивнейшего изучения методов линейного программирования, которые лежат в основе алгоритмов решения задач целочисленного, стохастического и не линейного программирования. При изучении системы недостаточно пользоваться методом их расчленения на элементы с последующим изучением этих элементов в отдельности. Сложность системы определяется количеством входящих в нее элементов, связями между этими элементами, а также взаимоотношениями между системой и средой. Потенциальная возможность математического моделирования любых экономических объектов и процессов не означает, ее успешной осуществимости при данном уровне экономических и математических знаний, имеющейся конкретной информации и вычислительной техники. Особенностью задач линейного программирования является то, что экстремума целевая функция достигает на границе области допустимых решений.Дана линейная функция вида при ограничениях Требуется найти решение , которое удовлетворяет ограничениям, при которых функция будет принимать максимальное или минимальное значение. Для данного типа задачи необходимо разработать программу, позволяющую: 1. Выдавать справочную информацию по теории решения задачи;Заметим, что пересечение оптимальной гиперплоскости и многогранника будет содержать хотя бы одну вершину, причем, их будет более одной, если пересечение содержит ребро или k-мерную грань. Принцип симплекс-метода состоит в том, что выбирается одна из вершин многогранника, после чего начинается движение по его ребрам от вершины к вершине в сторону увеличения значения функционала. Когда переход по ребру из текущей вершины в другую вершину с более высоким значением функционала невозможен, считается, что оптимальное значение c найдено. Последовательность вычислений симплекс-методом можно разделить на две основные фазы: 1. нахождение исходной вершины множества допустимых решений, 2. последовательный переход от одной вершины к другой, ведущий к оптимизации значения целевой функции. На каждом шаге мы будем менять множества простых и непростых векторов (двигаться по ребрам), и матрица будет иметь следующий вид: где CB - коэффициенты вектора c соответствующие простым переменным (переменным xs соответствуют 0), B - столбцы , соответствующие простым переменным.Программа для решения задач Симплекс - методом и система тестового контроля знаний студентов написана на языке программирования С и отлажена в среде Borland C Builder 6.0. Поддерживает разные парадигмы программирования , но в сравнении с его предшественником - языком Си , - наибольшее внимание уделено поддержке-объектноориентированного и обобщенного программирования . Это дает возможность замерять или рассчитывать время реакции программы на внешнее событие. Это упрощает (достаточно объявить переменную) и делает более надежным освобождение ресурсов (память, файлы, семафоры и т. п.), а также позволяет гарантированно выполнять переходы состояний программы, не обязательно связанные с освобождением ресурсов (например, запись в журнал). Объявление константности дает программисту, читающему текст программы дополнительное представление о правильном использовании классов и функций, а также может являться подсказкой для оптимизации.Label1 Метка, содержащая текст «f=». Label2 Метка, содержащая текст «Количество коэффициентов:». Название Описание i Переменная целочисленного типа, используется в качестве счетчика цикла. j Переменная целочисленного типа, используется в качестве счетчика цикла. Err Переменная строкового типа, используется для формирования текста информации об ошибке ввода данных. err1 Переменная строкового типа, используется для формирования текста информации об ошибке ввода данных. err2 Переменная строкового типа, используется для формирования текста информации об ошибке ввода данных. e1 Переменная целочисленного типа, используется для идентификации ошибок ввода данных. e2 Переменная целочисленного типа, используется для идентификации ошибок ввода данных. convert Переменная вещественного типа, используется для хранения преобразования преобразованных данных. POLSTLB Переменная целочисленного типа, используется для поиска положительных элементов в столбце, соответствующем минимальному отрицательному значению нижней строки. k Переменная целочисленного типа, используемая в качестве счетчика отношений элементов столбца «План» и положительных элементов столбца, соответствующему минимальному отрицательному значению нижней строки.Блок-схема модуля регистрацииПосле запуска модуля Symplex, перед пользователем открывается главное окно программы, в котором содержатся элементы управления (Рис. В случае если введены не все исходные данные, то программа выдаст сообщение об этом (Рис. Если же все данные введены верно, то программа выдаст сообщение о том, что найден оптимальный план, либо сообщение о том, что задача не имеет решения (Рис. При ее нажатии появляется форма с отчетом (Рис. Модуль ETEST может быть запущен независимо от модуля Symplex, а может быть вызван из модуля Symplex через меню Опции / Пройти тестирование (Рис.
План
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ПОСТАНОВКА ЗАДАЧИ
2. ОПИСАНИЕ СИМПЛЕКСНОГО МЕТОДА РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГОПРОГРАММИРОВАНИЯ
3. ОБОСНОВАНИЕ ВЫБОРА ЯЗЫКА ПРОГРАММИРВОАНИЯ
4. ПЕРЕЧЕНЬ ИДЕНТИФИКАТОРОВ
5. БЛОК-СХЕМА АЛГОРИТМА
5.1 Блок - схема модуля Symplex
5.2 Блок - схема модуля ETEST
6. ЛОГИЧЕСКАЯ СХЕМА РАБОТЫ ПРОГРАММЫ
7. ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ
8. ПРОВЕРКА СЧЕТА ПО ПРОГРАММЕ
9. ТЕХНИКА БЕЗОПАСНОСТИ И НАУЧНАЯ ОРГАНИЗАЦИЯ ТРУДА