
- •Лабораторная работа № 4. Моделирование процессов оптимального планирования
- •1. Постановка задач оптимального планирования
- •2. Линейное программирование
- •3. Общая формулировка и существование
- •Определение линейного программирования
- •4. Использование средства Поиск решения табличного процессора Excel для решения задач линейного программирования
- •1. Решите с использованием надстройки тп Excel Поиск решения:
3. Общая формулировка и существование
решения задач линейного программирования
В реальных задачах линейного программирования может быть очень много плановых показателей. В любом случае, однако, требуется найти наиболее выгодный вариант в определенной экономической ситуации. С чисто математической стороны требуется найти значения нескольких неизвестных так, чтобы:
1)эти значения были неотрицательны;
2) эти значения удовлетворяли системе линейных уравнений или линейных неравенств;
3) при этих значениях некоторая линейная функция имела минимум (или максимум).
Определение линейного программирования
Линейное программирование — это математическая дисциплина, изучающая методы нахождения экстремального значения линейной функции нескольких переменных при условии, что последние удовлетворяют конечному числу линейных уравнений и неравенств.
Запишем это с помощью формул. Дана система линейных уравнений и неравенств:
-
(3)
и линейная функция
-
(4)
Требуется найти такое неотрицательное решение
-
(5)
системы (3), чтобы функция f принимала наименьшее (или наибольшее) значение. Условия (3) называют ограничениями данной задачи, а функцию f — целевой функцией (или линейной формой).
Заметим, что ограничения в виде неравенств всегда можно свести к ограничениям в виде уравнений (способом введения добавочных переменных). Так, для неравенства
-
(6)
введя добавочную переменную xn+1, получим:
-
(7)
Потребовав
его неотрицательность наряду с
неотрицательностью остальных
переменных, получаем, что условие
превращает (7) в (6). Введя по отдельной
дополнительной переменной для каждого
из неравенств, получим систему
уравнений, равносильную исходной системе
неравенств.
Методы линейного программирования позволяют находить экстремумы линейной функции нескольких переменных при условии, что последние удовлетворяют конечному числу линейных уравнений и неравенств.
Задача линейного программирования может иметь:
единственное решение,
бесконечное множество решений, соответствующих одному и тому же (оптимальному) значению линейной функции;
не иметь решения по одной из двух причин: несовместности системы ограничений или неограниченности линейной функции.
4. Использование средства Поиск решения табличного процессора Excel для решения задач линейного программирования
Решение задач оптимального планирования небольшого объема возможно без использования компьютера (и даже весьма полезно для того, чтобы детально разобраться в методах решения).
Однако практически важные задачи чаще всего содержат большое число переменных и ограничений, поэтому «ручное» решение становится практически невозможным. Следует либо самостоятельно составить программу для компьютера на одном из языков программирования высокого уровня, либо прибегнуть к использованию готовой программы. Такая программа, в частности, содержится в табличном процессоре Excel.
Средство, в состав которого входит программа оптимизации, называется Поиск решения. Соответствующая команда находится в меню Сервис. Поиск решения - одно из самых мощных средств ТП Excel.
Рассмотрим решение задачи оптимизации на примере работы станции технического обслуживания по выполнению ТО-1 и ТО-2: системы ограничений (1) и целевой функции (2).
Вначале подготовим таблицу для решения задачи оптимального планирования. В режиме отображения формул таблица показана на рис.2
Рис.2 . Таблица, подготовленная для
расчета оптимального плана
Ячейки В5 и С5 зарезервированы, соответственно, для значений х (план по выполнению ТО-1) и у (план по выполнению ТО-2). Ниже в электронной таблице представлена система неравенств (1), определяющая ограничения на искомые решения. Неравенства разделены на левую часть (столбец В) и правую часть (столбец D). Знаки неравенств в столбце С записаны исключительно в целях иллюстрации, программа ими пользоваться для работы не будет. Целевая функция (2) занесена в ячейку В15.
Теперь вызовем программу оптимизации и сообщим ей, где расположены данные. Для этого выполним команду Сервис- Поиск решения. На экране появится соответствующая форма (рис.3).
Рис. 3. Начальное состояние формы Поиск решения
Выполним следующие действия:
введем адрес ячейки с целевой функцией (В15)
установим флажок максимальнoму значению, т.е. сообщим программе, что нас интересует нахождение максимума целевой функции;
в поле Изменяя ячейки введем $В5:$С5, т.е. сообщим, какое место в таблице отведено под значения переменных - плановых показателей;
в поле Ограничения надо ввести информацию о неравенствах-ограничениях, которые имеют вид: $B10<=$D10; $B11<=$D11; $B12>=$D12; $B13>=$D13.
Ограничения вводятся следующим образом:
щелкнуть на кнопке Добавить;
в появившемся диалоговом окне Добавление ограничения ввести ссылку на ячейку В10, выбрать из меню знак неравенства <= и ввести ссылку на ячейку D10;
снова щелкнуть на кнопке Добавить и аналогично ввести второе ограничение $B11<=$D11 и т. д.;
в конце щелкнуть на кнопке ОК;
закрыть диалоговое окно Добавление ограничения. Перед нами снова форма Поиск решения (рис.4):
Рис. 4. Форма Поиск решения после ввода информации
теперь надо дать последние указания: задача является линейной (это многократно облегчит программе ее решение). Для этого щелкнем на кнопке Параметры, появится форма Параметры поиска решения (рис.5);
Рис. 5. Форма Параметры поиска решения
установим флажок Линейная модель. Заметим, что было бы разумно вместо ввода двух последних ограничений, указывающих явно на неотрицательность значений переменных, установить флажок Неотрицательные значения. Остальная информация в форме Параметры поиска решения служебная, устанавливаемые по умолчанию значения нас устраивают, и вникать в их смысл не будем. Щелкнем на кнопке ОК, что возвратит нас на форму Поиск решения;
мы ввели всю информацию. Щелкнем на кнопке Выполнить - в ячейках В5 и С5 появится оптимальное решение (числа 120 и 20), а также в ячейке В15 появится число 200 - максимальное значение целевой функции. Результат проиллюстрирован на рис. 6.
Рис. 6. Результат решения задачи
Кроме того, на экране появится еще одна форма: Результаты поиска решения (рис. 7).
Рис.7. Форма Результаты поиска решения
На первом этапе освоения возможностей программы на эту форму можно не обращать внимания (хотя в принципе в ней может оказаться очень полезная информация).
Итак, в результате применения инструмента Поиск решения станции технического обслуживания нужно выполнять 120 ТО-1 и 20 ТО-2. Эти плановые показатели соответствуют положению точки В на рис.1. В этой точке значение целевой функции f(120,20) = 200.
Полученная электронная таблица и настроенная на нее сервисная функция Поиск решения являются средством, с помощью которого можно решать задачу оптимального планирования при меняющихся условиях. Например, может измениться длина рабочего дня. Тогда надо ввести новое значение в ячейку D10, и оптимальный план автоматически пересчитается. Так же может измениться допустимое суммарное число ремонтов в ячейке D11.
Задание к лабораторной работе.