4. Хабалаева И.А. Специфика применения принципа разделения властей во французской судебной системе//Черные дыры в Российском законодательстве. 2011. № 2. С. 27-29.
УДК 378.14
Хакимова Т.В. студент
научный руководитель: Голубничий А.А.
старший преподаватель Хакасский государственный университет им. Н.Ф. Катанова
Россия, г. Абакан
ОПИСАНИЕ И ПРИНЦИП РАБОТЫ ЭЛЕКТРОННОГО СРЕДСТВА УЧЕБНОГО НАЗНАЧЕНИЯ «РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ СИМПЛЕКС-МЕТОДОМ»
Аннотация: В данной статье описывается принцип работы электронного средства учебного назначения «Решение задач линейного программирования симплекс-методом».
Ключевые слова: Линейное программирование, математические методы, симплекс-метод, Borland Delphi 7, MS Access
Khakimova T. V. student
Katanov Khakass State University Russia, Abakan Scientific supervisor: Golubnichiy A.A.
senior lecturer Katanov Khakass State University Russia, Abakan
DESCRIPTION AND OPERATION OF THE ELECTRONIC MEANS OF EDUCATIONAL APPOINTMENT "SOLVING LINEAR
PROGRAMMING PROBLEMS BY THE SIMPLEX METHOD"
Abstract: This article describes the principle of the educational purpose of the electronic means of "solving linear programming problems by the simplex method."
Keywords: Linear programming, mathematical methods, the simplex method, Borland Delphi 7, MS Access
В качестве основной среды разработки электронного средства учебного назначения по теме «Решение задач линейного программирования симплекс-методом» использовалась среда программирования Borland Delphi 7.0. В качестве основного языка программирования в Delphi применяется Object Pascal. Это объектно-ориентированный язык программирования, позволяющий организовать современный подход к построению программ и систем разного уровня сложности. Следующий важный аспект применения Delphi заключается в широком использовании технологии быстрой
разработки приложений (RAD). Это позволяет разрабатывать приложения в несколько раз быстрее более традиционных способов разработки.
При запуске программного продукта появляется форма авторизации (рис. 1), реализованная с помощью события OnClick на кнопке «ОК» (Buttonl) и ComboBox, в которой необходимо выбрать пользователя. При входе под пользователем типа «Преподаватель», программа динамически создает текстовое поле Editl, метку Labell, где необходимо ввести пароль. Пользователю «Студент» пароль вводить не нужно.
Рисунок 1 - Форма «Авторизации» Пользователь «Студент». После входа в программу появляется форма, на которой расположены кнопки: «Теоретический материал», «Построение математической модели задач линейного программирования», «Симплекс-метод решения ЗЛП», «Задачи линейного программирования», калькулятор - «Решение задач», а также кнопки «Сменить пользователя» и «Выход» (рис. 2).
Рисунок 2 - Главная форма для пользователя «Студент» Для просмотра теоретического материала (рис 3.) необходимо нажать на соответствующую кнопку. При этом форма увеличится и появится компонент отображения текста RichView.
I Симплекс-метод
ТЕОРЕТИЧЕСКИМ МАТЕРИАЛ
ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОМ МОДЕЛИ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
СИМПЛЕКС - МЕТОД РЕШЕНИЯ ЗЛП
ЗАДАЧИ ЛИНЕИНОГО ПРОГРАММИРОВАНИЯ
РЕШЕНИЕ ЗАДАЧ
СМЕНИТЬ ПОЛЬЗОВАТЕЛЯ
ВЫХОД
ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОМ МОДЕЛИ ЗАДАЧ ЛИНЕИНОГО ПРОГРАММИРОВАНИЯ
Определения 1. Линейное программирование - это раздел математики, в котором изучаются методы исследования и нахождения экстремальных значений некоторой линейной функции, на аргументы которой наложены линейные ограничения.
Линейное программирование (ЛИ) является наиболее простым и лучше всего изученным разделом математического программирования. Этот раздел занимается разработкой методов решения задач на нахождение наибольших и наименьших значений, для которых методы математического анализа применить нельзя. К их числу относятся задачи на рациональное использование сырья и оборудования, на составление оптимального плана перевозок, работы транспорта и др.
Характерные черты задач ЛП:
1) показатель оптимальности Ь(Х) представляет собой линейную функцию от элементов решения . Она называется целевой.
2) система ограничений отражает ограничения, налагаемые на возможные решения. Они имеют вид линейных равенств или неравенств.
Определение 2. Сов окупи ость соотношений, содержащих целевую функцию и ограничения на ее аргументы, называется математической моделью задачи ЛП.
Общая форма записи.модели задачи ЛП
Рисунок 3 - Форма представления теоретического материала Для того чтобы перейти к решению задач необходимо нажать кнопку «Решение задач». Появляется форма регистрации (рис. 4). Компоненты, используемые при создании: DBLookupComboBox, ComboBox, Button. Данная форма необходима для сохранения в базу данных информации о студенте (группа, ФИО студента и номер решаемой задачи), который решает задачу.
Рисунок 4 - Форма регистрации при решении задач студентами После регистрации появляется «Калькулятор» (рис. 5). На данной форме организовано главное меню (МатМепи), панель с кнопками (ТооШаг), таблица для отображения решений (StrmgGrid) и список, в котором хранятся все итерации задачи (ListBox).
Рисунок 5 - Главная форма «Калькулятор» Структура главного меню: «Файл» (Новая задача, Новая симплекс-таблица, Сохранить симплекс-таблицу, Загрузить таблицу, Закрыть все), «Операции» (Пересчитать вручную, Экспорт в Excel), «Справка» (Справка, О программе). Рассмотрим каждый пункт:
«Новая задача» выводит диалоговое окно, для ввода данных новой ЗЛП (рис. 6). Необходимо задать количество уравнений (SpinEdit) и количество ограничений (SpinEdit). После чего на основе введенных данных динамически создаются компоненты следующей формы (StringGrid, SpinEdit). На данной форме необходимо ввести: коэффициенты ограничений, свободные члены и коэффициенты целевой функции. После этого приложение само приводит задачу к каноническому виду, и записывает ее в форме исходной симплекс-таблицы (рис. 6).
Рисунок 6 - Форма ввода исходных данных «Новая симплекс-таблица» обнуляет все значения программы, и создает новую симплекс-таблицу. Для этого также необходимо ввести количество ограничений и переменных (рис. 7). После того как сформирована таблица, необходимо ее заполнить.
Рисунок 7 - Форма составления математической модели «Загрузить таблицу» открывает диалоговое окно, в котором необходимо выбрать файл с готовой симплекс-таблицей, для дальнейшего решения (рис. 8).
Рисунок 8 - Форма выбора директории
«Сохранить симплекс-таблицу» открывает диалоговое окно, в котором необходимо ввести имя файла, для сохранения таблицы.
«Пересчитать вручную» открывает форму, в которой необходимо выбрать из списка (SpinEdit) ведущую строку и ведущий столбец. При нажатии кнопки «Пересчитать», текущая симплекс-таблица сохраняется в список (ListBox).
«Экспорт в Excel». Экспорт всех таблиц, полученных в ходе решения задачи, в MS Excel. И сохранение сформированного документа в папку проекта, а также сохранение ссылки на документ в базу данных.
При нажатии кнопки «Сменить пользователя», мы возвращаемся на форму авторизации.
Пользователь «Преподаватель». После входа в приложение под пользователем «Преподаватель» и ввода пароля появляется форма, на которой находятся: GroupBox с кнопками («Работы студентов», «Теоретический материал», «Калькулятор», «Сменить пользователя») и панель (Panell), на которой организован интерфейс для работы с базой данных (рис. 9).
Рисунок 9 - Главная форма для пользователя «Преподаватель» При нажатии кнопки «Работы студентов», появляется панель, на которой расположены: DBLookupComboBox, для выбора группы, DBGridl -отображает фамилию, имя, отчество студента и номер задачи (ссылка на документ MS Excel, содержащий решение задачи), а также DBNavigator -управляет данными, находящимися в таблице (добавление, удаление, редактирование записей) (рис. 10).
Рисунок 10 - Форма просмотра результатов решения задач При нажатии кнопки «Калькулятор» появляется та же форма, что и для пользователя «Студент», только добавляется два пункта в меню: «Решить задачу», «Пересчитать симплекс-таблицу».
«Решить симплекс задачу». В этом режиме программа сама выбирает разрешающий столбец и строку, которые обеспечивают максимальное возрастание или уменьшение целевой функции. А также автоматически пересчитывает все таблицы и выводит подробный отчет решения задачи, и сохраняет все симплекс-таблицы в список (ListBox) (рис. 11).
Задача решена.
xl = О х2 = 7 хЗ = 5 х4 = О
Значение целевой функции: Fmax = 5S7 0
Рисунок 11 - Форма вывода подробного отчета решения задачи «Пересчитать симплекс-таблицу». В пошаговом режиме каждая пересчитанная таблица выводится на экран. Этот режим удобен для просмотра промежуточных результатов решения задачи. Разрешающий столбец и строку, в данном режиме, программа также выбирает сама.
Преподаватель может просмотреть весь теоретический материал, форма организована также как и для пользователя «Студент».
Уровень хранения реализован с помощью MS Access 2007 [1]. База данных состоит из связанных таблиц: «Список групп», «Список задач», «Список студентов», «Список решенных задач» (рис. 12).
Рисунок 12 - Схема данных Для подключения приложения к базе данных используем технологию доступа ADO и компоненты: ADOConnection, ADOTable, DataSourse.
Разработанный программный продукт удобен для использования, как студентом, так и преподавателем. Процесс работы с данным ПО является простым и интуитивно понятным, и должен способствовать развитию умений студентов по решению задач линейного программирования и облегчит работу преподавателя, по проверке знаний.
Использованные источники: 1. Харитонова, И.А. Microsoft Access 2003: учебный курс / И.А. Харитонова. - СПб, 2000. - 157с.