
- •Что такое оптимальное решение
- •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.1.2. Задача распределения ресурсов
если финансы, оборудование, сырье и даже людей полагать ресурсами, то значительное число задач в экономике можно рассматривать как задачи распределения ресурсов. достаточно часто математической моделью таких задач является задача линейного программирования.
рассмотрим следующий пример.
требуется определить, в каком количестве надо выпускать продукцию четырех типов прод1, прод2, прод3, прод4, для изготовления которой требуются ресурсы трех видов: трудовые, сырье, финансы. количество ресурса каждого вида, необходимое для выпуска единицы продукции данного типа, называется нормой расхода. нормы расхода, а также прибыль, получаемая от реализации единицы каждого типа продукции, приведены на рис. 3.1.6. там же приведено наличие располагаемого ресурса.
рис. 3.1.6
составим математическую модель, для чего введем следующие обозначения:
хj
— количество выпускаемой продукции
j-го типа,
;
bi
— количество располагаемого ресурса
i-го вида,
;
aij — норма расхода i-го ресурса для выпуска единицы продукции j-го типа;
cj — прибыль, получаемая от реализации единицы продукции j-го типа.
теперь приступим к составлению модели.
как видно из рис. 3.1.6, для выпуска единицы прод1 требуется 6 единиц сырья, значит, для выпуска всей продукции прод1 требуется 6х1 единиц сырья, где х1 — количество выпускаемой продукции прод1. с учетом того, что для других видов продукции зависимости аналогичны, ограничение по сырью будет иметь вид:
6х1+5х2+4х3+3х4 110.
в этом ограничении левая часть равна величине потребного ресурса, а правая показывает количество имеющегося ресурса.
аналогично можно составить ограничения для остальных ресурсов и написать зависимость для целевой функции. тогда математическая модель задачи будет иметь вид:
(3.1.8)
задачу, имеющую 4 переменных, представить на плоскости, как мы уже знаем, невозможно, поэтому познакомимся с аналитическим методом решения таких задач.
3.1.3. Основные положения симплекс-метода
для решения рассматриваемой задачи вернемся к теории.
идея аналитического решения таких задач заключается, как мы уже говорили, в последовательном переборе вершин, в одной из которых и находится оптимальное решение.
для аналитического решения задач линейного программирования разработан специальный алгоритм направленного перебора вершин. этот алгоритм обеспечивает переход от одной вершины к другой в таком направлении, при котором значение целевой функции от вершины к вершине улучшается.
в геометрии есть такое понятие "симплекс". симплексом тела в k-мерном пространстве называют совокупность k+1 его вершин. так, для плоскости при к = 2 симплексом будут три вершины треугольника, при к = 3 — четыре вершины четырехгранника и т. д. с учетом этого понятия аналитический метод решения задачи линейного программирования называют симплекс-методом. вычисления, обеспечивающие определение значения целевой функции и переменных в одной вершине, называются итерацией.
аналитическое решение задачи линейного программирования — дело весьма сложное, поэтому подробно описывать его не будем, а изложим лишь те его основные идеи, которые реализованы в Excel.
решение задачи с помощью симплекс-метода будем рассматривать на примере задачи, математическая модель которой имеет вид (3.1.8).
по сравнению с системой (3.1.8) в системе (3.1.9) введены дополнительные переменные уi и выполнен переход от системы неравенств к системе уравнений. следует подчеркнуть, что с точки зрения содержания величина уi равна величине неиспользованного ресурса.
(3.1.9)
систему (3.1.9) перепишем в следующем виде:
(3.1.10)
систему (3.1.10) можно представить в виде таблицы, приведенной на рис. 3.1.7.
рис. 3.1.7
таблица (рис. 3.1.7) называется симплекс-таблицей и является основной формой решения задачи линейного программирования. в этой таблице все переменные делятся на свободные и базисные. свободные переменные находятся в ячейках с3:F3, базисные — в ячейках а5:а7. если переменная свободная, то ее значение равно нулю. на рис. 3.1.7 все основные переменные свободные, следовательно,
х1 = х2 = х3 = х4 = 0.
значения базисных переменных приведены в ячейках в5:в7, следовательно,
у1 = 16; у2 = 110; у3 = 100.
действительно, если х1 = х2 = х3 = х4 = 0, т. е. продукция не выпускается, то величина y неиспользованного ресурса будет равна всему имеющемуся ресурсу, и прибыль при этом, естественно, будет равна 0 (в4 = 0).
как мы знаем, решения бывают допустимыми и оптимальными. каждое решение имеет свой признак. приведем (без доказательства, достаточно сложного) эти очень важные признаки, которые нам потребуются в дальнейшем.