
- •Задачи линейного программирования
- •3.1. Методы решения задач
- •3.1.1. Постановка задачи
- •3.1.2. Задача распределения ресурсов
- •3.1.3. Основные положения симплекс-метода
- •Признак 1
- •Признак 2
- •3.2. Методы анализа задач
- •3.2.1. Если решения нет
- •3.2.2. Двойственность в задачах линейного программирования
- •3.2.3. Анализ оптимального решения
- •Анализ влияния изменения cj
- •Анализ влияния изменения bi
- •3.2.4. Вариантный анализ
- •Первая постановка
- •Вторая постановка
- •3.3. Решение задач линейного программирования с помощью Excel
- •3.3.1. Блок-схема решения задачи
- •3.3.2. Ввод условий задачи
- •3.3.3. Решение задачи
- •Максимальное время
- •Предельное число итераций
- •3.3.4. Графическое представление результатов решения
- •3.3.5. Преодоление несовместности
- •3.3.6. Устранение неограниченности целевой функции
- •3.4. Анализ задач линейного программирования в Excel
- •3.4.1. Анализ оптимального решения
- •Отчет по результатам
- •Отчет по устойчивости
- •Отчет по пределам
- •3.4.2. Параметрический анализ
- •2.2. Сервис, Поиск решения...
- •3.4.3. Решение по нескольким целевым функциям
- •3.4.4. Решения по заказу
- •3.4.5. Решение задач при условных исходных данных
- •3.5. Список алгоритмов
3.3.3. Решение задачи
Решение задачи производится сразу же после ввода данных по алг. 3.3.2, когда на экране находится диалоговое окно Поиск решения (рис. 3.3.7).
Алгоритм 3.3.3. Решение задачи линейного программирования
Параметры...
На экране: диалоговое окно Параметры поиска решения (рис. 3.3.9).
Рис. 3.3.9
С помощью команд, находящихся в этом диалоговом окне, можно вводить условия для решения задач оптимизации всех классов. С наиболее важными командами, применимыми при решении конкретных задач, мы будем знакомиться по мере необходимости. Вместе с тем, команды, используемые по умолчанию, подходят для решения большей части практических задач.
Начнем знакомство с командами, которые могут вводиться при решении задач всех классов.
Максимальное время
Служит для назначения времени в секундах, выделяемого на поиск решения задачи. В поле можно ввести время, не превышающее 32767 с (более 9 часов!). Значение 100, используемое по умолчанию, подходит для решения большинства задач.
Предельное число итераций
Служит для назначения числа итераций. Используемое по умолчанию значение 100 подходит для решения большинства задач.
После этих пояснений продолжим решение задачи.
Установить флажок Линейная модель, что обеспечивает применение симплекс-метода.
ОК.
На экране: знакомое уже диалоговое окно Поиск решения (рис. 3.3.7).
Выполнить.
На экране: диалоговое окно Результаты поиска решения. Решение найдено (рис. 3.3.10) и результат оптимального решения задачи приведены в таблице (рис. 3.3.11).
Рис. 3.3.10
Рис. 3.3.11
На рис. 3.3.11 видно, что в оптимальном решении
Прод1 = В3 = 10,
Прод2 = С3 = 0,
Прод3 = D3 = 6,
Прод4 = Е3 = 0.
При этом максимальная прибыль будет составлять F6 = 1320, а количество использованных ресурсов равно
трудовых = F9 =16,
сырья = F10 = 84,
финансов = F11 = 100.
Таково оптимальное решение рассматриваемой задачи распределения ресурсов. Однако решение задачи находится не всегда. Если условия задачи несовместны, на экране появляется диалоговое окно (рис. 3.3.12).
Рис. 3.3.12
Необходимые действия в этом случае рассматриваются в 3.3.5.
Если целевая функция не ограничена, то на экране появится диалоговое окно (рис. 3.3.13).
Рис. 3.3.13
Необходимые действия в этом случае рассматриваются в 3.3.6.
3.3.4. Графическое представление результатов решения
Важным фактором, помогающим принять решение, является наглядное представление полученного результата.
Результат решения задачи, приведенный на рис. 3.3.11, был принят в качестве исходных данных при рассмотрении алгоритмов построения диаграмм различных типов в главе 2, разделе 2.2.
Диаграммы, построенные по этим данным, представлены на рис. 2.2.8, 2.2.9, 2.2.13, 2.2.14, 2.2.16. После получения оптимального решения рассмотренной задачи мы настоятельно рекомендуем внимательно посмотреть эти построенные диаграммы. Приведенные диаграммы убедительнее всяких слов доказывают преимущества наглядного представления результатов оптимального решения.
3.3.5. Преодоление несовместности
Как уже говорилось, достаточно часто при решении задач распределения ресурсов условия задачи оказываются несовместными. Мы обещали сказать, что же следует делать в таких случаях. Для этого рассмотрим следующий пример. В задаче, которую мы решали, было получено оптимальное решение Прод1 = 10, Прод3 = 6. При этом трудовые ресурсы и финансы были использованы полностью. Для получения несовместности в учебных целях, изменим условия задачи, сохранив значения переменных, которые мы получили в оптимальном решении Прод1 = 10, Прод3 = 6. Дополнительно еще назначим Прод2 = 5.
Очевидно, что для выпуска такого количества продукции располагаемых ресурсов будет недостаточно. Посмотрим, как решать такие несовместные задачи с помощью Excel. Прежде всего введем изменение условий задачи.
Алгоритм 3.3.4. Изменение условий задачи
Вызвать исходную таблицу (рис. 3.3.5).
По алг. 3.3.2 вызвать диалоговое окно Поиск решения.
Изменить граничные условия для Прод1:
В окне Ограничения курсор на строку $B$3>=$B$4.
Изменить...
На экране: диалоговое окно Изменить ограничение.
Ввести изменение: $B$3=10.
ОК.
Аналогично ввести значение для Прод3: D3=6.
Ввести дополнительное условие для Прод2:
Добавить.
Ввести: С3=5.
ОК.
На этом ввод изменений закончен.
Решить задачу.
На экране: диалоговое окно рис. 3.3.12.
Появление этого диалогового окна — признак несовместного решения. Что же делать в таких случаях? Обратимся к математической модели. Рассматриваемая задача имеет модель:
(3.3.1)
Для выяснения причин несовместности введем дополнительные необходимые ресурсы ti и запишем систему в виде:
(3.3.2)
Такая постановка задачи дает возможность определить минимальное значение дополнительных необходимых ресурсов t1, t2, t3.
Для ввода условий задачи систему (3.3.2) запишем в виде:
(3.3.3)
Чтобы ввести эту систему, откорректируем таблицу для ввода данных (рис. 3.3.4) и сделаем ее такой, как на рис. 3.3.14 (данные) и рис. 3.3.15 (формулы).
Рис. 3.3.14 отличается от рис. 3.3.4 следующим:
введены столбцы F:H для переменных t1, t2, t3;
в ячейках F9:H11 введены — 1;
в ячейке I6 зависимость для прибыли сохранена;
в ячейку I4 введена зависимость для новой целевой функции, которая минимизируется.
Рис. 3.3.14
Рис. 3.3.15
На основании рассмотренного можно записать следующий алгоритм.
Алгоритм 3.3.5. Преодоление несовместности
Откорректировать таблицу ввода условий задачи (рис. 3.3.4), как это показано на рис. 3.3.14.
Ввести для новых переменных t1, t2, t3 столбцы F:H.
В ячейках F9:H1 ввести коэффициенты 1, с которыми эти переменные входят в ограничения.
Ввести новую целевую функцию в ячейку I4, которую следует минимизировать.
Заметим, что формула старой целевой функции осталась без изменений.
Сервис, Поиск решения...
Установить целевую ячейку I4 равной минимальному значению.
В окно Изменяя ячейки ввести В3:Н3.
В окно Ограничения ввести ограничения и граничные условия:
B3 = 10 E3 >= 0 I9 <= K9
C3 = 5 F3 >= 0 I10 <= K10
D3 = 6 G3 >= 0 I11 <= K11
H3 >= 0
Выполнить.
На экране: результат решения, показанный на рис. 3.3.16.
Рис. 3.3.16
Из этого рисунка видно, что искомый дополнительный потребный ресурс равен t1 = 5, t2 = 0, t3 = 30. Это значит, что для заданного выпуска продукции необходимо иметь всего следующее количество ресурсов:
трудовые 16+5=21,
сырье 110+0=110,
финансы 100+30=130.
При этом будет получена прибыль, равная 1670.
Трудно переоценить полезность такого подхода при возникновении несовместности. Если в реальных условиях ресурсы увеличить нет возможности, то следует назначить граничные условия хj 0, как это делалось в исходной задаче, тогда будет получено решение, которое определяется имеющимися ресурсами.