Описание и принцип работы электронного средства учебного назначения "Решение задач линейного программирования симплекс-методом"

Автор: Хакимова Т.В.

Журнал: Теория и практика современной науки @modern-j

Рубрика: Основной раздел

Статья в выпуске: 3 (21), 2017 года.

Бесплатный доступ

В данной статье описывается принцип работы электронного средства учебного назначения «Решение задач линейного программирования симплекс-методом».

Линейное программирование, математические методы, симплекс-метод

Короткий адрес: https://sciup.org/140271078

IDR: 140271078

Description and operation of the electronic means of educational appointment "Solving linear programming problems by the simplex method"

This article describes the principle of the educational purpose of the electronic means of "solving linear programming problems by the simplex method."

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

В качестве основной среды разработки электронного средства учебного назначения по теме «Решение задач линейного программирования    симплекс-методом»    использовалась    среда программирования Borland Delphi 7.0. В качестве основного языка программирования в Delphi применяется Object Pascal. Это объектноориентированный язык программирования, позволяющий организовать современный подход к построению программ и систем разного уровня сложности. Следующий важный аспект применения Delphi заключается в широком использовании технологии быстрой разработки приложений (RAD). Это позволяет разрабатывать приложения в несколько раз быстрее более традиционных способов разработки.

При запуске программного продукта появляется форма авторизации (рис. 1), реализованная с помощью события OnClick на кнопке «ОК» (Button1) и ComboBox, в которой необходимо выбрать пользователя. При входе под пользователем типа «Преподаватель», программа динамически создает текстовое поле Edit1, метку Label1, где необходимо ввести пароль. Пользователю «Студент» пароль вводить не нужно.

Рисунок 1 – Форма «Авторизации»

Пользователь «Студент». После входа в программу появляется форма, на которой расположены кнопки: «Теоретический материал»,

«Построение математической модели задач линейного программирования», «Симплекс-метод решения ЗЛП», «Задачи линейного программирования», калькулятор – «Решение задач», а также кнопки «Сменить пользователя» и «Выход» (рис. 2).

Рисунок 2 – Главная форма для пользователя «Студент»

Для просмотра теоретического материала (рис 3.) необходимо нажать на соответствующую кнопку. При этом форма увеличится и появится компонент отображения текста RichView.

Рисунок 3 – Форма представления теоретического материала

Для того чтобы перейти к решению задач необходимо нажать кнопку «Решение задач». Появляется форма регистрации (рис. 4). Компоненты, используемые при создании: DBLookupComboBox, ComboBox, Button. Данная форма необходима для сохранения в базу данных информации о студенте (группа, ФИО студента и номер решаемой задачи), который решает задачу.

Рисунок 4 – Форма регистрации при решении задач студентами

После регистрации появляется «Калькулятор» (рис. 5). На данной форме организовано главное меню (MainMenu), панель с кнопками (ToolBar), таблица для отображения решений (StringGrid) и список, в котором хранятся все итерации задачи (ListBox).

Рисунок 5 – Главная форма «Калькулятор»

Структура главного меню: «Файл» (Новая задача, Новая симплекс-таблица, Сохранить симплекс-таблицу, Загрузить таблицу, Закрыть все),

«Операции» (Пересчитать вручную, Экспорт в Excel), «Справка» (Справка, О программе). Рассмотрим каждый пункт:

«Новая задача» выводит диалоговое окно, для ввода данных новой ЗЛП (рис. 6). Необходимо задать количество уравнений (SpinEdit) и количество ограничений (SpinEdit). После чего на основе введенных данных динамически создаются компоненты следующей формы (StringGrid, SpinEdit). На данной форме необходимо ввести: коэффициенты ограничений, свободные члены и коэффициенты целевой функции. После этого приложение само приводит задачу к каноническому виду, и записывает ее в форме исходной симплекс-таблицы (рис. 6).

Рисунок 6 – Форма ввода исходных данных

«Новая симплекс-таблица» обнуляет все значения программы, и создает новую симплекс-таблицу. Для этого также необходимо ввести количество ограничений и переменных (рис. 7). После того как сформирована таблица, необходимо ее заполнить.

Рисунок 7 – Форма составления математической модели

«Загрузить таблицу» открывает диалоговое окно, в котором необходимо выбрать файл с готовой симплекс-таблицей, для дальнейшего решения (рис. 8).

Рисунок 8 – Форма выбора директории

«Сохранить симплекс-таблицу» открывает диалоговое окно, в котором необходимо ввести имя файла, для сохранения таблицы.

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

«Экспорт в Excel». Экспорт всех таблиц, полученных в ходе решения задачи, в MS Excel. И сохранение сформированного документа в папку проекта, а также сохранение ссылки на документ в базу данных.

При нажатии кнопки «Сменить пользователя», мы возвращаемся на форму авторизации.

Пользователь «Преподаватель». После входа в приложение под пользователем «Преподаватель» и ввода пароля появляется форма, на которой находятся: GroupBox с кнопками («Работы студентов», «Теоретический материал», «Калькулятор», «Сменить пользователя») и панель (Panel1), на которой организован интерфейс для работы с базой данных (рис. 9).

Рисунок 9 – Главная форма для пользователя «Преподаватель»

При нажатии кнопки «Работы студентов», появляется панель, на которой расположены: DBLookupComboBox, для выбора группы, DBGrid1 – отображает фамилию, имя, отчество студента и номер задачи (ссылка на документ MS Excel, содержащий решение задачи), а также DBNavigator – управляет данными, находящимися в таблице (добавление, удаление, редактирование записей) (рис. 10).

Рисунок 10 – Форма просмотра результатов решения задач

При нажатии кнопки «Калькулятор» появляется та же форма, что и для пользователя «Студент», только добавляется два пункта в меню: «Решить задачу», «Пересчитать симплекс-таблицу».

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

Рисунок 11 – Форма вывода подробного отчета решения задачи

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

Преподаватель может просмотреть весь теоретический материал, форма организована также как и для пользователя «Студент».

Уровень хранения реализован с помощью MS Access 2007 [1]. База данных состоит из связанных таблиц: «Список групп», «Список задач», «Список студентов», «Список решенных задач» (рис. 12).

Рисунок 12 – Схема данных

Для подключения приложения к базе данных используем технологию доступа ADO и компоненты: ADOConnection, ADOTable, DataSourse.

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

Список литературы Описание и принцип работы электронного средства учебного назначения "Решение задач линейного программирования симплекс-методом"

  • Харитонова, И.А. Microsoft Access 2003: учебный курс / И.А. Харитонова. - СПб, 2000. - 157с.