- •Mатематика, ч.2 методы оптимизации
- •1. Информация о дисциплине
- •1.1. Предисловие
- •1.2. Содержание дисциплины и виды учебной работы
- •1.2.1. Объем дисциплины и виды учебной работы
- •1.2.2. Перечень видов практических занятий и контроля:
- •2.2.2. Тематический план дисциплины
- •2.2.3. Тематический план дисциплины
- •2.3. Структурно-логическая схема дисциплины
- •2.4. Временной график изучения дисциплины
- •2.5. Практический блок
- •2.5.1. Практические занятия
- •2.5.1.1. Практические занятия (очная/очно-заочная формы обучения)
- •2.5.1.2. Практические занятия (заочная формы обучения)
- •2.5.2. Лабораторные работы (для всех форм обучения)
- •Балльно-рейтинговая система
- •3. Информационные ресурсы дисциплины
- •3.1. Библиографический список
- •3.2. Опорный конспект лекций введение
- •Раздел 1. Линейное программирование. Основные понятия
- •Стандартная и каноническая формы задачи линейного программирования
- •Пример 1.1.1
- •Пример 1.1.2
- •Пример 1.1.3
- •1.2. Двойственная задача
- •Пример 1.2.1
- •1.3. Базисные решения.
- •Пример 1.3.1
- •Раздел 2. Решение прямой задачи линейного программирования симплекс-методом
- •2.1. Теоремы двойственности. Алгоритм симплекс-метода
- •Пример 2.1.1
- •2.2. Анализ оптимальной симплекс-таблицы
- •2.3. Интервалы устойчивости. Ценность ресурсов
- •Пример 2.3.1
- •Пример 2.3.2
- •Пример 2.3.3
- •Раздел 3. Решение транспортной задачи. Матричные игры
- •3.1. Математическая постановка транспортной задачи
- •Пример 3.1.1
- •3.2. Матричные игры. Основные понятия
- •Пример 3.2.1
- •3.3. Решение матричных игр в смешанных стратегиях
- •Пример 3.3.1
- •3.4. Решение матричных игр симплекс-методом
- •Пример 4.3.1
- •Раздел 4. Целочисленное и нелинейное программирование
- •4.1. Задача о назначениях
- •Пример 4.1.1
- •4.2. Нелинейное программирование
- •Пример 4.2.1
- •Раздел 5. Производственные функции
- •5.1. Свойства производственных функций
- •Примеры производственных функций.
- •Пример 5.1.1
- •Пример 5.1.2
- •Пример 5.1.3
- •Пример 5.1.4
- •Пример 5.1.5
- •5.2. Характеристики производственных функций
- •Пример 5.2.1
- •Пример 5.2.2
- •Пример 5.2.3
- •5.3. Модель фирмы
- •Пример 5.3.1
- •Геометрическая иллюстрация оптимального решения
- •5.4. Функции спроса на ресурсы и функция предложения продукции
- •Пример 5.4.1
- •Вопросы для самопроверки
- •Раздел 6. Модели потребителького спроса
- •6.1. Функции полезности
- •2. Неоклассическая мультипликативная функция
- •3. Логарифмическая функция
- •Пример 6.1.1
- •Пример 6.1.2
- •Пример 6.1.3
- •6.2. Кривые безразличия
- •Пример 6.2.1
- •Пример 6.2.2
- •Пример 6.2.3
- •Вопросы для самопроверки
- •6.3. Задача потребительского выбора
- •Пример 6.3.1
- •Пример 6.3.2
- •Вопросы для самопроверки
- •6.4. Влияние на спрос цен товаров и дохода потребителя.
- •Пример 6.4.1
- •Пример 6.4.2
- •Вопросы для самопроверки
- •6.5. Уравнение Слуцкого
- •Пример 6.5.3
- •3.3. Технические и программные средства обеспечения дисциплины
- •Порядок выполнения работы
- •3.1. Выполнение задания 1
- •Пример 1.1.1
- •Решение
- •3.3.1. Построение начального базисного плана
- •3.2. Выполнение задания 2
- •Работа 2. Решение транспортной задачи и матричной игры
- •1. Цель работы
- •2. Основные теоретические положения
- •Порядок выполнения работы
- •3.1. Выполнение задания 1
- •Решение
- •3.1.1. Заполнение исходных данных
- •3.2. Выполнение задания 2 Пример
- •Решение
- •3.5. Глоссарий
- •4. Блок контроля освоения дисциплины
- •4.1. Методические указания к выполнению контрольной работы
- •4.1.1. Задание на контрольную работу
- •Варианты заданий 1 и 2
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •4.1.2. Методические указания к выполнению контрольной работы Пример задания 1
- •Записать стандартную и каноническую формы
- •Графическое решение задачи
- •Пример задания 2. Двойственная задача
- •Найти оптимальное решение двойственной задачи
- •Пример задания 3
- •Решение
- •Пример задания 4
- •1. Вычислим равновесный спрос при заданных ценах и доходе
- •4.2. Тесты текущего контроля (по разделам) Тест № 1
- •Тест № 2
- •Тест № 3
- •Тест № 4
- •Тест № 5
- •Тест № 6
- •4.3. Итоговый тест
- •4.4. Вопросы к экзамену
- •Содержание
Порядок выполнения работы
Задание 1. Найти оптимальное решение задачи распределения ресурсов, используя алгоритм симплекс-метода.
Задание 2. Найти оптимальное решение той же задачи распределения ресурсов, используя надстройку Поиск решения.
3.1. Выполнение задания 1
Рассмотрим реализацию алгоритма симплекс-метода на примере.
Пример 1.1.1
Для производства двух видов продукции фирма использует два вида ресурсов: ресурс 1 – сырье, ресурс 2 – время изготовления продукции на оборудовании. Запасы ресурсов ограничены: в день может быть использовано не более 1 000 кг сырья и суммарное время работы оборудования не превосходит 25 часов. Нормы затрат каждого ресурса на единицу каждого продукта и рыночные цены заданы в табл. 1.1.1
Таблица 1.1.1
-
Ресурс
Нормы затрат на ед. продукции
Запас ресурса
продукт 1
продукт 2
сырье
a11 =5
a12 =10
b1=1000
время изготовления
a21 =0,1
a22 =0,3
b2=25
цена за ед. продукции
c1=40
c2 =100
Требуется найти план выпуска продукции, который обеспечивает максимальную стоимость реализации (выручку).
Обозначим:
x1– план выпуска продукции 1,
x2– план выпуска продукции 2,
s1 – остаток от производства ресурса 1,
s2 – остаток от производства ресурса 2.
Запишем каноническую форму задачи:
найти план x1, x2, s1, s2, который дает максимальную выручку
(1.1.10)
при ограничениях:
, (1.1.11)
, (1.1.12)
.
Решение
3.3.1. Построение начального базисного плана
Пусть в начальном базисном плане
x1,x2– свободные переменные (т.е.x1=x2=0), а
s1=1000 иs2=25 базисные переменные.
В симплекс-методе удобно использовать симплекс-таблицы.
Рассмотрим построение первой симплекс-таблицы для выбранного начального базисного решения. В ячейки С7:С8 введем числовые значения 1 000 и 25 базисных переменныхs1иs2. Остальные столбцы состоят из коэффициентов перед переменнымиxjв левых частях ограничений (1.1.11), (1.1.12). Последняя строка симплекс-таблицы состоит из значений целевой функцииZ = 0 и коэффициентов целевой функцииZ.
Переход от одного базисного плана к другому сопровождается преобразованием симплексных таблиц. Такой переход называется итерацией.
3.3.2. Итерация 1. Каждая итерация состоит из нескольких действий.
1) Проверка критерия оптимальности. Если в последней строке симплекс-таблицы нет отрицательных значений, то получено оптимальное решение. В нашем примере значения, расположенные в последней строке симплекс-таблицы в столбцах переменных x1 и x2 отрицательны. Поэтому эта таблица не определяет оптимального плана.
2) Определение новой базисной переменной. Отрицательные значения в последней строке показывают, что производства обоих продуктов являются прибыльными и единица первого продукта увеличивает выручку на 40, а единица второго продукта – на 100. Поэтому следует вводить в базис одну из переменных x1 или x2. Выберем x2 в качестве новой базисной переменной, т.е. вводим в базис производство второго продукта. Соответствующий переменной x2 столбец назовем ведущим столбцом (в таблице этот столбец выделен).
3) Определение новой свободной переменной. Для определения новой свободной переменной составим отношения столбца значений базисных переменных (второго столбца) к положительным элементам ведущего столбца и найдем среди них минимальное значение.
В ячейку G7 введем формулу =B7/D7 и ячейку G8 введем формулу =B8/D8.
Так как минимальное значение достигается в ячейку G8, то базисная переменная s2 переходит в свободные. Вторую строку назовем ведущей (в таблице эта строка выделена). Число на пересечении ведущей строки и ведущего столбца назовем ведущим элементом.
4) Пересчет симплекс-таблицы. Теперь для нового базиса s1, x2 составим новую симплекс-таблицу. Ее можно получить из старой симплекс-таблицы следующим образом.
Все элементы ведущей (второй) строки, разделенные на ведущий элемент 0,3, образуют вторую строку новой таблицы. Например, элементу второй строки 25 первой симплекс- таблицы будет соответствовать элемент второй строки новой симплекс- таблицы.
• Для пересчета этого элемента в ячейку B14 введем формулу =B8/$D8$
и скопировать эту ячейку в C14:F14.
Остальные элементы новой таблицы получаются из соответствующих элементов старой таблицы. Каждому элементу соответствует один элемент в ведущей строке и один элемент в ведущем столбце. Используя эти элементы, формулы для пересчета можно сформулировать следующим образом:
новый элемент |
= старый элемент - |
(элемент ведущего столбца)·(элемент ведущей строки) |
ведущий элемент |
Приведем пример пересчета элемента 1 000 в первой строке. Заметим, что пересчитываемому элементу 1000 соответствуют элемент 10 ведущего столбца и элемент 25 в ведущей строке. Тогда элементу 1 000 соответствует элемент в новой таблице:
.
Для пересчета этого элемента в ячейку B13 введем формулу
=B7-B8*$D$7/$D8$ и скопировать эту ячейку в C13:F13.
Аналогично пересчитывается последняя строка. Например, первому элементу 0 последней строки соответствует элемент 25 в ведущей строке и элемент -100 в ведущем столбце. Тогда первый элемент последней строки новой таблицы будет равен:
.
Для пересчета этого элемента в ячейку B15 введем формулу
=B9-B8*$D$9/$D8$ и скопировать эту ячейку в C15:F15.
В результате пересчета получили новую симплекс-таблицу и переходим ко второй итерации.
Итерация 2
Критерий оптимальности. Значение, расположенное в последней строке симплекс-таблицы в столбце переменной x1, отрицательно. Поэтому эта таблица не определяет оптимального плана.
2) Определение новой базисной переменной. Отрицательное значение в последней строке показывает, что производство первого продукта является прибыльным и его единица увеличивает выручку на. Поэтому переменнуюx1 нужно вводить в базис. Соответствующий столбец будет ведущим.
3) Определение новой свободной переменной. Для определения новой свободной переменной составим отношения столбца значений базисных переменных (второго столбца) к положительным элементам ведущего столбца и найдем среди них минимальное:
.
В ячейку G13 введем формулу =B13/С13 и ячейку G8 введем формулу =B14/С14.
Так как минимальное значение достигается на первом отношении, то базисная переменная первой строки s1переходит в свободные. Таким образом,
x1иx2– базисные переменные, а
s1,s2– свободные переменные.
В симплекс- таблице выделены ведущий столбец (соответствующий переменной x1) и первая строка - ведущая строка. Теперь для нового базиса x1, x2 вычислим новую симплекс-таблицу.
4) Пересчет симплекс-таблицы. Все элементы ведущей (первой) строки, разделенные на ведущий элемент, образуют первую строку новой таблицы. Остальные элементы новой таблицы вычисляются, как и на первой итерации. Результаты пересчета приведены вB18:F21.
Итерация 3
Критерий оптимальности. Среди значений последней строки симплекс- таблицы нет отрицательных. Поэтому эта таблица определяет оптимальные планы прямой и двойственной задач. Ниже приведены результаты решения задачи в режиме формул.
Анализ оптимальной симплекс-таблицы
Значения во втором столбце определяют базисные переменные x1 = 100,x2 = 50. Все переменные, не входящие в первый столбец, являются свободными и поэтому равны 0:s1=0,s2=0. Значение целевой функции прямой задачиZ = 9 000 (в ячейкеB21).
Таким образом, оптимальный план прямой задачи
X*={x1=100,x2=50,s1=0,s2= 0}:
первый продукт производится в количестве 100 единиц (x1=100);
второй продукт производится в количестве 50 единиц (x2=50);
оба ресурса используются в производстве полностью (s1=s2=0).
В последней строке симплекс-таблицы значения 0 в столбцах x1 и x2 означают, что производства первого и второго продуктов рентабельны: Δ1=0, Δ2=0;
значение 4 в столбце s1означает, что теневая цена 1 кг сырья равна 4:y1=4;
значение 200 в столбце s2означает, что теневая цена работы 1 часа оборудования равна 200:y2=200.
Таким образом, оптимальное решение двойственной задачи:
Y* = { y1=4,y2=200, Δ1 =0, Δ2=0 }.