КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Практическое занятие №3
«Решение задач симплекс – методом» Цель: научиться решать задачи симплекс - методом. Задача: решить задачу согласно своему варианту. Ход роботы:
Рассмотрим простой пример решения задачи с помощью симплекс-метода для запоминания последовательности действий. Задача 1: Некая компания производит большие и маленькие скамейки. Каждая скамейка должна быть построена и отполирована. На стройку маленькой скамейки уходит 2 часа, на полировку 3 часа. На постройку большой уходит 4 часа, на полировку 3 часа. Строительных цех работает 100 часов в неделю, а полировочный – 90 часов. Прибыль, получаемая с маленькой скамейки, составляет 5$, а с большой - 7$. Сколько скамеек каждого вида должна производить компания для максимизации прибыли? Пусть фирма производит х маленьких и y больших скамеек. Тогда для решение задачи необходимо найти x и y, что: 5x+7y=>max 2x+4y<=100 3x+3y<=90 x, y >=0 (А.39) Введем переменные S1, S2>=0, тогда задача примет канонический вид: 5x+7y+0S1+0S2=>max 2x+4y+1S1+0S2=100 3x+3y+0S1+1S2=90 x,y S1, S1 >=0 (А.40) Рассмотрим решение этой задачи, используя симплекс таблицу А.2. Данное решение подходит для всех случаев, когда правая часть уравнений ограничений неотрицательна. Если правая часть уравнений ограничений, после приведения задачи к каноническому виду, содержит отрицательные числа, то используйте вариант решения, разобранный во втором примере.
Таблица А.2 - Решение задачи 1
Рассмотрим пошаговое решение задачи.
1 шаг. В строке Cj выписываем коэффициенты целевой функции при переменных x,y, S1, S2. В строках 1,2 – коэффициенты при соответствующих переменных из уравнений ограничений RHS(столбец right hand side), в строках 1, 2 пишем числа 100 и 90 из правой части неравенств ограничений. Переменные, образующие единичную матрицу будем называть базисным, в данном случае S1 и S2. 2 шаг.Заполняем столбец CB строки 1, 2 коэффициентами целевой функции при базисных переменных, то есть 0 при S1 в строке 1(перечисление строки 1и столбца S1) и 0 при S2 в строке 2. 3 шаг. Заполняем строку 3 (Zj) путем перемножения каждого элемента столбца CB на соответствующие элементы строк 1,2 и сложением. То есть первый элемент строки Zj получается как: 0*2+0*3=0. В данном случае все элементы строки получаются равными 0. Аналогично получается 0 в столбце RHS. 4 шаг. Строка 4 (Cj – Zj) получается почленным вычитанием элементов строки 3 (Zj) из элементов строки Cj (всегда из верхней строки на всех шагах). 5 шаг. Ищем в строке 4 (Cj – Zj) максимальный строгоположительный элемент. Ему соответствует ведущий столбец. В данном случае, в строке 4 выбираем элемент 7, следовательно, ведущим будет столбец y (строки 1,2). 6 шаг. Ищем в ведущем столбце минимально положительное число из формулы (RHS/ведущий столбец). То есть, в данном случае, выбираем между 100/4=25 и 90/3=30. Найдя такое число, определяем ведущую строку, у меня строка 1. Пересечение ведущих столбца и строки дает нам ведущий элемент, в моем случае 4. 7 шаг. Формируем строки 5,6 путем деления ведущих строки на ведущий элемент и формирования единичного столбца на месте ведущего. Не забываем RHS. Далее следуем на шаг 2. Итерация продолжается до тех пор, пока в строке (Cj – Zj) не останется положительных элементов (в случае, что оптимальное решение задачи существует). Тогда в строке Zj (у нас строка 11) в RHS – столбце получаем значение целевой функции в оптимальной точке (x,y)=(10,20). Значения 10 и 20 получаем из RHS в строках 9, 10. Задача 2. Рассмотрим более общий случай: 4х1 + 15х2 + 12х3 + 2х4 -> min 2х2 + 3х3 + х4 >= 1 х1 + 3х2 + х3 - х4 >= 0 х1, х2, х3, х4 >=0 (А.41)
Приведем задачу в следующий вид: -4х1 - 15х2 - 12х3 - 2х4 -> max -2х2 - 3х3 - х4 <= -1 -х1 - 3х2 - х3 + х4 <= 0 х1, х2, х3, х4 >=0 (А.42) Введем переменные S1, S2 >= 0, тогда задача примет стандартный (канонический) вид: -4х1 - 15х2 - 12х3 - 2х4 -> max 0х1 - 2х2 - 3х3 - х4 + 1S1 + 0S2 = -1 -х1 - 3х2 - х3 + х4 + 0S1 + 1S2 = 0 х1, х2, х3, х4, S1, S2 >=0 (А.43)
Теперь необходимо составить симплекс – таблицу А.3.
Таблица А.3 - Решение задачи 2
Рассмотрим пошаговое решение данной задачи.
1 шаг. В строке Cj выписываем коэффициенты целевой функции при переменных х1, х2, х3, х4, S1, S2. В строках 1,2 - коэффициенты при соответствующих переменных из уравнений ограничений. В столбце RHS, в строках 1, 2 пишем числа -1 и 0 из правой части уравнений ограничений. Переменные, образующие единичную матрицу (выделена бежевым) будем называть базисными, в данном случае S1 и S2. 2 шаг. Заполняем столбец CB строки 1, 2 коэффициентами целевой функции при базисных переменных, то есть 0 при S1 в строке 1 (пересечение строки 1 и столбца S1) и 0 при S2 в строке 2. 3 шаг. Заполняем строку 3 (Zj) путем перемножения каждого элемента столбца CB на соответствующие элементы строк 1, 2 и сложением. То есть первый элемент строки Zj получается как: 0*0 + 0*(-1) = 0. Второй как 0*(-2)+0*(-3). В данном случае все элементы строки получаются равными 0. Аналогично получается 0 в столбце RHS. 4 шаг. Строка 4 (Cj – Zj) получается почленным вычитанием элементов строки 3 (Zj) из элементов строки Cj (всегда из верхней строки на всех шагах). 5 шаг. Смотрим на элементы RHS выше строки Zj (у нас на строки 1 и 2). Если все элементы RHS неотрицательные, то идем на шаг 5". Если есть хоть один отрицательный элемент, идем на шаг 5'. 5' шаг. В каждой строке 1 и 2 вычисляем соотношения RHS/x, где x пробегает значения той же строки, что и RHS, столбцы x1, x2, x3, x4, S1, S2. Мы ищем минимальный строгоположительный элемент среди получившихся чисел (то есть мы можем вычислять RHS/x только для х того же знака, что и RHS). В нашем случае: Строка 1: - столбец х2: (-1)/(-2)=0,5; - столбец x3: (-1)/(-3)=0,3333(3); - столбец x4: (-1)/(-1)=1; Строка 2 - все соотношения равны нулю. Минимальный строгоположительный элемент получился в столбце x3. Этот элемент назовем ведущим, у нас - 3. В таблице он выделен зеленым цветом. Строка и столбец содержащие этот элемент называются ведущими. Идем на шаг 7. 7 шаг. Формируем строки 5 и 6 путем деления ведущей строки на ведущий элемент и формирования единичного столбца на месте ведущего. Не забываем RHS. Сделаем совместно еще одну итерацию. На предыдущем шаге мы заполнили строки 5, 6. Далее выполняем последовательно шаг 2, шаг 3 и шаг 4, получаем новую строку (Cj – Zj), у нас строка 8. Идем на шаг 5 - на второй итерации у нас RHS в строках 5, 6 >0, значит идем на шаг 5". 5" шаг. Ищем в строке 8 (Cj – Zj) максимальный строгоположительный элемент. Если такой есть, то ему соответствует ведущий столбец (у нас x4). Идем на шаг 6. Если в (Cj – Zj) нет строгоположительных элементов, то идем в конец. 6 шаг. Ищем в ведущем столбце минимально положительное число из формулы (RHS/ведущий столбец). То есть, в данном случае, выбираем между 0,33/0,33=1 и 0,33/1,33=0,25. Найдя такое число, определяем ведущую строку, у нас строка 6. Пересечение ведущих столбца и строки дает нам ведущий элемент, в нашем случае 1,33 (выделен зеленым). Идем на шаг 7. Конец: итерации продолжаются до тех пор (в случае, что оптимальное решение задачи существует), пока на шаге 5' или на шагах 5" и 6 мы не сможем отыскать положительного ведущего элемента. В нашем примере: мы сформировали строки 9, 10, 11. RHS (строки 9, 10) неотрицательна, следовательно, идем на шаг 5". Число 3,50 - максимальный строгоположительный элемент (столбец S1), но положительного ведущего элемента в этой строке нет. Тогда в строке Zj (у нас строка 11) в RHS - столбце получим значение целевой функции в оптимальной точке (x3, x4) = (0,25; 0,25) равное -3,5. Значения 0,25 и 0,25 получаем из RHS в строках 9, 10. Литература: 1 Таха, Хемди А. Введение в исследование операций, 7-е издание.: Пер. с англ. — М.: Издательский дом "Вильяме". 2005. — 912 с. 2 Моисеев Н.Н. Математические задачи системного анализа. — М.: Наука, 1981. — 488 с. 3 Анфилатов В.С. Системный анализ в управлении: Учебное пособие / Под ред. А.А. Емельянова. — М.: Финансы и статистика, 2002. — 368 с.
Дата добавления: 2017-02-01; Просмотров: 230; Нарушение авторских прав?; Мы поможем в написании вашей работы! |