В процессе решения задач линейного программирования (далее — ЗЛП) часто возникает ситуация, когда пользователь не может решить задачу обычным симплекс-методом (то есть в системе ограничений присутствует не только условие вида «», но и условия видов «» и «=»). Такую задачу, где необходимо будет вводить искусственные переменные, можно будет решить методом больших штрафов. Данная статья посвящена обучению пользователя этому методу посредством интерактивного пошагового решения.
Ключевые слова: метод больших штрафов, симплекс-метод
Для того чтобы приступить к интерактивному пошаговому решению задач методом больших штрафов, необходимо изучить теорию по данному методу, а также иметь знания и навыки решения ЗЛП симплекс-методом.
Интерактивное решение задачи данным методом было решено реализовывать следующими средствами: JavaScript (объектно-ориентированный (прототипный) язык программирования) и HTML (язык гипертекстовой разметки). Данные средства являются наиболее простыми и понятными в реализации пошагового решения задачи.
Решение любой задачи начинается с её постановки. Математическая постановка выглядит следующим образом:
Целевая функция (далее ЦФ):
Ограничения:
Так как постановка задачи представляется в текстовом виде, а также в виде формул, реализовывать её достаточно только средствами HTML. Кнопку, чтобы приступить к самому решению задачи, для проверки правильности ответа и для перехода к следующему шагу задачи, также можно реализовать средствами HTML. Но, для того, чтобы при нажатии кнопки, программа выдавала пользователю сообщение о верности его ответа, и перемещала на следующий шаг, данное средство уже не поможет. Эта функция будет реализована с помощью языка программирования — JavaScript. На рисунке 1 представлена данная реализация.
Рис. 1. Фрагмент интерактивного решения задачи, реализованный средствами JavaScript и HTML
Интерактивное обучение данному методу осуществляется с непосредственным взаимодействием пользователя. Пользователь, имеющий навыки в решении задач симплекс-методом и изучивший теорию по методу, которому посвящена данная статья, может приступать к практическому изучению метода посредством пошагового решения задач и прохождения обобщающего теста. Обучение методу производится с помощью трех различных способов ввода данных пользователем:
1) Ввод данных вручную (рисунок 2)
2) Выбор одного варианта (рисунок 3)
3) Выбор одного или нескольких вариантов (рисунок 4)
Рис. 2. Ввод данных вручную
Рис. 3. Выбор одного варианта
Рис. 4. Выбор одного или нескольких вариантов
На рисунках 2 и 4 представлены способы пошагового решения задачи. Ввод данных вручную необходим для заполнения симплекс-таблиц, для ввода значений базисных и небазисных переменных, а также для ввода конечного ответа для задачи. Выбор одного или нескольких ответов необходим для выбора из имеющихся вариантов — верного (верных — в случае, если верных вариантов несколько). А на рисунке 3 представлен один из вопросов обобщающего теста, в котором только один вариант является верным.
После успешного решения первой задачи пользователю будет предоставлена возможность решить еще одна задачу (для закрепления навыков), а далее, предоставлен доступ к прохождению обобщающего теста по данной теме, который покажет уровень полученных знаний в следствие интерактивного изучения данного метода.
Таким образом, в данной статье было описано и реализовано интерактивное обучение пользователей «Методу больших штрафов», которое поможет им получить практические навыки в решении задач данным методом и закрепить изученный материал прохождением теста.
Литература:
- Таха Х. А. Введение в исследование операций 6-е издание. Пер. с англ. — Москва: Издательский дом «Вильямс», 2005. – 912 с.
- Зайченко Ю. П. Исследование операций: Учеб. пособие для студентов вузов. — 2-е изд., перераб. и доп.— Киев: Вища школа. Головное изд-во, 1979. 392 с.
- Б. Хеник. HTML и CSS. Путь к совершенству (HTML and CSS: The Good Parts), 2010. — 362 c.
- Дэвид Флэнаган — «JavaScript. Подробное руководство (JavaScript. The Definitive Guide)», Издательство: Символ-Плюс, 2008 г., 992 с.