
- •Что такое оптимальное решение
- •1.1. Типовые задачи оптимизации
- •1.1.1. Откуда появились вопросы
- •1.1.2. Основные методы решения задач
- •1.2. Классификация задач оптимизации
- •1.2.1. Пример математической модели
- •1.2.2. Общий случай задачи оптимизации
- •1.2.3. Классификация математических моделей
- •1.3. Последовательность работ при принятии оптимальных решений
- •1.3.1. Основные этапы работ
- •1.3.2. Анализ решаемых задач
- •Типовые работы при оптимизации
- •2.1. Работа с электронной таблицей
- •2.1.1. Основные положения
- •Блок назначения команд
- •Блок ввода команд
- •2.1.2. Панели инструментов
- •Закрыть.
- •2.1.3. Ввод и форматирование данных
- •Формат, ячейки...
- •Сервис, параметры...
- •2.1.4. Основные задачи копирования и переноса
- •2.1.5. Некоторые дополнительные процедуры
- •Защита файлов
- •Файл, сохранить как...
- •Параметры...
- •Файл, сохранить как...
- •Параметры...
- •Сервис, защита.
- •Комментарии
- •Вставка, примечание...
- •Вставка, примечание...
- •Вставка, примечание...
- •Вставка, примечание...
- •Запись...
- •Вставка, примечание...
- •2.2. Построение диаграмм
- •2.2.1. Основные положения
- •2.2.2. Создание встроенных диаграмм
- •2.2.3. Работа с выделенными диаграммами
- •Вставка, метки значений...
- •2.2.4. Построение диаграмм с рисунками
- •2.3. Работа с базами данных
- •2.3.1. Основные положения
- •Данные, сортировка...
- •Данные, сортировка...
- •Параметры...
- •Правка, копировать...
- •Правка, специальная вставка...
- •2.3.2. Поиск
- •Условие...
- •2.3.3. Функции базы данных
- •2.4. Список алгоритмов
- •Задачи линейного программирования
- •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. Сервис, поиск решения...
- •2.3. Выполнить.
- •2.4. Сохранить сценарий...
- •4.1. Сервис, сценарии...
- •4.2. Отчет...
- •3.4.3. Решение по нескольким целевым функциям
- •3.4.4. Решения по заказу
- •Сервис, поиск решения...
- •Выполнить.
- •3.4.5. Решение задач при условных исходных данных
- •3.5. Список алгоритмов
3.2.4. Вариантный анализ
для задач распределения ресурсов наибольший интерес представляет решение двух задач вариантного анализа:
параметрического анализа, в ходе которого решаются задачи при различных значениях одного из параметров;
поиска решений по нескольким целевым функциям.
при решении задач распределения ресурсов по нескольким целевым функциям возможна одна из двух постановок задачи: при заданных ресурсах максимизировать получаемый результат; либо при заданном результате минимизировать используемые ресурсы.
если обозначить Q — ресурсы, R — результат их применения, то при заданных зависимостях результата R = f1(xj) и требуемых ресурсов Q = f2(xj) от количества выпускаемой продукции эти постановки могут быть записаны так:
Первая постановка
(3.2.19)
Вторая постановка
(3.2.20)
решение задачи распределения ресурсов в этих двух постановках рассмотрим на примере задачи, приведенной на рис. 3.2.10.
рис. 3.2.10
этот пример отличается от рассмотренного ранее (рис. 3.1.6) введением граничных условий на переменные и изменением некоторых норм расхода. для отличия от предыдущей задачи здесь присвоены имена вид1, вид2, вид3, вид4 типам выпускаемой продукции. в решаемой задаче ограничения и граничные условия имеют вид:
(3.2.21)
будем решать эту задачу в двух приведенных выше постановках.
в первой постановке — максимизация результата — целевая функция будет иметь вид:
F1 = 60x1+70x2+120x3+130x4 max (3.2.22)
для решения задачи во второй постановке — минимизация используемых ресурсов — введем в (3.2.21) дополнительные переменные у1, у2, у3.
(3.2.23)
переменные у1, у2, у3 показывают величину неиспользованного ресурса. значит, если мы хотим минимизировать используемый ресурс, то нужно максимизировать неиспользованный ресурс, тогда во второй постановке целевая функция будет
F2 = y1+ y2 + y3 ®max. (3.2.24)
в этой постановке, как и при любой минимизации, должен быть задан минимально допустимый результат. в качестве такого заданного результата принимаем нижние значения граничных условий для переменных, приведенные на рис. 3.2.10 и в (3.2.21).
решение этих задач проведем в разделе 3.4.3 после ознакомления с поиском оптимальных решений в Excel.
3.3. Решение задач линейного программирования с помощью Excel
3.3.1. Блок-схема решения задачи
последовательность необходимых работ, выполняемых при решении задач линейного программирования с помощью Excel, приведена на блок-схеме (рис. 3.3.1).
рис. 3.3.1
подробное описание этих работ и составляет содержание данной главы.
3.3.2. Ввод условий задачи
ввод условий задачи состоит из следующих основных шагов:
создание формы для ввода условий задачи.
ввод исходных данных.
ввод зависимостей из математической модели.
назначение целевой функции.
ввод ограничений и граничных условий.
последовательность работ рассмотрим на примере задачи распределения ресурсов, исходные данные которой приведены на рис. 3.1.6, а математическая модель имеет вид (3.1.8).
алгоритм 3.3.1. ввод данных для решения задачи линейного программирования
для задачи, приведенной на рис. 3.1.6, сделать форму для ввода условий задачи (рис. 3.3.2).
рис. 3.3.2
весь текст на рис. 3.3.2 (и в дальнейшем) является комментарием и на решение задачи не влияет.
рис. 3.3.3
ввести исходные данные в форму (рис. 3.3.2).
необходимые исходные данные приведены на рис. 3.1.6.
переход от рис. 3.1.6 к рис. 3.3.2 показан на рис. 3.3.3.
ввести зависимости из математической модели (3.1.8).
для наглядности (но не обязательно!) можно перейти к режиму представления формул (алг. 2.1.12). при этом ввод данных приводится на рис. 3.3.4, а режим представления формул на рис 3.3.5.
рис. 3.3.4
рис. 3.3.5
3.1. ввести зависимость для целевой функции:
курсор в F6.
курсор на кнопку мастер функций.
м1.
на экране: диалоговое окно мастер функций шаг 1 из 2.
курсор в окно категория на категорию математические.
м1.
курсор в окно функции на суммпроизв.
M1.
далее.
на экране: диалоговое окно (рис. 3.3.6).
рис. 3.3.6
в массив 1 ввести в$3:E$3.
заметим, что во все диалоговые окна адреса ячеек удобно вводить не с клавиатуры, а протаскивая мышь по ячейкам, чьи адреса следует ввести.
в массив 2 ввести в6:е6.
готово.
на экране: рис. 3.3.4, рис. 3.3.5 (в F6 введены значения целевой функции).
3.2. ввести зависимости для левых частей ограничений:
курсор в F6.
копировать в буфер.
курсор в F9.
вставить из буфера.
на экране: в F9 введена функция, как это показано на рис. 3.3.5.
скопировать F9 в F10:F11.
на экране: в F10:F11 введены функции, как это показано на рис. 3.3.5.
на этом ввод данных в таблицы (рис. 3.3.4, рис. 3.3.5) закончен.
алгоритм 3.3.2. работа в диалоговом окне поиск решения