Министерство образования и науки Российской Федерации ФГБОУ ВПО "Нижегородский государственный педагогический университет имени Козьмы Минина" Факультет естественных, математических и компьютерных наук Кафедра "Прикладная информатика и информационные технологии в образовании" Практическая работа №3 по дисциплине "Исследование операций и методы оптимизации" на тему: "Использование симплекс метода решение задач линейного программирование" Вариант 4 Выполнил: студент гр. ПИМ-13 Плесовских Г.А. Проверил: Ершов В.Н. Нижний Новгород 2015 Содержание Задание ....................................................................................................................... 3 Решение с использование метод искусственного базиса ...................................... 4 Решение в пакете Excel Поиск решение ................................................................. 12 2 Задание Найти оптимальный план x(x≥0) и оптимальные значение целевой функции f(x), используя процедуру симплекс метода и в пакете Excel (Поиск решения) min f(x)= - 8x1 - x2 + 5x3 4x1 - 4x2 - 12x3=8, 2x1 + 3x2 - 15x3≥10, 3x1 - x2 - 13x3≤12 , x1 ≥0; x2 ≥0; x3 ≥0. 3 Решение с использование метод искусственного базиса Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы. Определим минимальное значение целевой функции F(X) = - 8x1 - x2 + 5x3 при следующих условиях-ограничений. 4x1 - 4x2 - 12x3=8, 2x1 + 3x2 - 15x3≥10, 3x1 - x2 - 13x3≤12. Для построения первого опорного плана приведем систему неравенств к системе уравнений путем введения дополнительных переменных (переход к канонической форме). В 2-м неравенстве смысла (≥) вводим базисную переменную x 4 со знаком минус. В 3-м неравенстве смысла (≤) вводим базисную переменную x5. 4x1-4x2-12x3 + 0x4 + 0x5 = 8, 2x1 + 3x2-15x3-1x4 + 0x5 = 10, 3x1-1x2-13x3 + 0x4 + 1x5 = 12. Введем искусственные переменные x: в 1-м равенстве вводим переменную x6; в 2-м равенстве вводим переменную x7; 4x1-4x2-12x3 + 0x4 + 0x5 + 1x6 + 0x7 = 8, 2x1 + 3x2-15x3-1x4 + 0x5 + 0x6 + 1x7 = 10, 3x1-1x2-13x3 + 0x4 + 1x5 + 0x6 + 0x7 = 12. Для постановки задачи на минимум целевую функцию запишем так: F(X) = -8x1-1x2+5x3+Mx6+Mx7 → min За использование искусственных переменных, вводимых в целевую функцию, накладывается так называемый штраф величиной М, очень 4 большое положительное число, которое обычно не задается. Полученный базис называется искусственным, а метод решения называется методом искусственного базиса. Причем искусственные переменные не имеют отношения к содержанию поставленной задачи, однако они позволяют построить стартовую точку, а процесс оптимизации вынуждает эти переменные принимать нулевые значения и обеспечить допустимость оптимального решения. Из уравнений выражаем искусственные переменные: x6 = 8-4x1+4x2+12x3 x7 = 10-2x1-3x2+15x3+x4 которые, подставим в целевую функцию: F(X) = -8x1-x2 + 5x3 + M(8-4x1+4x2+12x3) + M(10-2x1-3x2+15x3+x4) → min или F(X) = (-8-6M)x1+(-1+M)x2+(5+27M)x3+(M)x4+(18M) → min Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид: 4 -4 -12 0 0 1 0 2 3 -15 -1 0 0 1 3 -1 -13 0 1 0 0 Базисные переменные это переменные, которые входят только в одно уравнение системы ограничений и притом с единичным коэффициентом. Экономический смысл дополнительных переменных: дополнительные переменные задачи ЛП обозначают излишки сырья, времени, других оптимального ресурсов, остающихся в производстве данного плана. Решим систему уравнений относительно базисных переменных: x6, x7, x5. 5 Полагая, что свободные переменные равны 0, получим первый опорный план: X1 = (0,0,0,0,12,8,10) Базисное решение называется допустимым, если оно неотрицательно. Базис B x1 x2 x3 x4 x5 x6 x7 x6 8 4 -4 -12 0 0 1 0 x7 10 2 3 -15 -1 0 0 1 x5 12 3 -1 -13 0 1 0 0 F(X0) 18M 8+6M 1-M -5-27M -M 0 0 0 Переходим к основному алгоритму симплекс-метода. Итерация №0. 1. Проверка критерия оптимальности. Текущий опорный план неоптимален, так как в индексной строке находятся положительные коэффициенты. 2. Определение новой базисной переменной. В качестве ведущего выберем столбец, соответствующий переменной x1, так как это наибольший коэффициент . 3. Определение новой свободной переменной. Вычислим значения Di по строкам как частное от деления: bi / ai1 и из них выберем наименьшее: min (8 : 4 , 10 : 2 , 12 : 3 ) = 2 Следовательно, 1-ая строка является ведущей. Разрешающий элемент равен (4) и находится на пересечении ведущего столбца и ведущей строки. Базис B x1 x2 x3 x4 x5 x6 x7 min x6 8 4 -4 -12 0 0 1 0 2 6 x7 10 2 3 -15 -1 0 0 1 5 x5 12 3 -1 -13 0 1 0 0 4 F(X1) 18M 8+6M 1-M -5-27M -M 0 0 0 0 4. Пересчет симплекс-таблицы. Формируем следующую часть симплексной таблицы. Вместо переменной x6 в план 1 войдет переменная x1. Строка, соответствующая переменной x1 в плане 1, получена в результате деления всех элементов строки x6 плана 0 на разрешающий элемент РЭ=4. На месте разрешающего элемента в плане 1 получаем 1. В остальных клетках столбца x1 плана 1 записываем нули. Таким образом, в новом плане 1 заполнены строка x1 и столбец x1. Все остальные элементы нового плана 1, включая элементы индексной строки, определяются по правилу прямоугольника. Для этого выбираем из старого плана четыре числа, которые расположены в вершинах прямоугольника и всегда включают разрешающий элемент РЭ. НЭ = СЭ - (А*В)/РЭ СТЭ - элемент старого плана, РЭ - разрешающий элемент (4), А и В элементы старого плана, образующие прямоугольник с элементами СТЭ и РЭ. Представим расчет каждого элемента в виде таблицы: B x1 x2 x3 x4 x5 x6 x7 8/4 4/ 4 -4/ 4 -12/ 4 0/ 4 0/ 4 1/ 4 0/ 4 10-(8*2)/4 2-(4 * 2)/4 3-(-4 * 2)/4 -15-(-12 * -1-(0 * 2)/4 2)/4 0-(0 * 2)/4 0-(1 * 2)/4 1-(0 * 2)/4 0-(0 * 3)/4 1-(0 * 3)/4 0-(1 * 3)/4 0-(0 * 3)/4 (-M)-(0 * (0)-(0 * (0)-(1 * (0)-(0 * (8+6M))/4 (8+6M))/4 (8+6M))/4 (8+6M))/4 12-(8 * 3)/4 3-(4 * 3)/4 -1-(-4 * -13-(-12 * 3)/4 3)/4 (0)-(8 * (8+6M)-(4 (1-M)-(-4 (8+6M))/4 *(8+6M))/4 *(8+6M))/4 (-5-27M)(-12 * (8+6M))/4 7 Получаем новую симплекс-таблицу: Базис B x1 x2 x3 x4 x5 x6 x7 x1 2 1 -1 -3 0 0 1 /4 0 x7 6 0 5 -9 -1 0 -1 /2 1 x5 6 0 2 -4 0 1 -3 /4 0 F(X1) -16+6M 0 9+5M 19-9M -M 0 -2-11/2M 0 Итерация №1. 1. Проверка критерия оптимальности. Текущий опорный план неоптимален, так как в индексной строке находятся положительные коэффициенты. 2. Определение новой базисной переменной. В качестве ведущего выберем столбец, соответствующий переменной x2, так как это наибольший коэффициент . 3. Определение новой свободной переменной. Вычислим значения Di по строкам как частное от деления: bi / ai2 и из них выберем наименьшее: min (- , 6 : 5 , 6 : 2 ) = 11/5 Следовательно, 2-ая строка является ведущей. Разрешающий элемент равен (5) и находится на пересечении ведущего столбца и ведущей строки. Базис B x1 x2 x3 x4 x5 x6 x7 min x1 2 1 -1 -3 0 0 1 /4 0 - x7 6 0 5 -9 -1 0 -1 /2 1 11/5 x5 6 0 2 -4 0 1 -3 /4 0 3 F(X2) -16+6M 0 9+5M 19-9M -M 0 -2-11/2M 0 0 8 4. Пересчет симплекс-таблицы. Формируем следующую часть симплексной таблицы. Вместо переменной x7 в план 2 войдет переменная x2. Строка, соответствующая переменной x2 в плане 2, получена в результате деления всех элементов строки x7 плана 1 на разрешающий элемент РЭ=5 На месте разрешающего элемента в плане 2 получаем 1. В остальных клетках столбца x2 плана 2 записываем нули. Таким образом, в новом плане 2 заполнены строка x2 и столбец x2. Все остальные элементы нового плана 2, включая элементы индексной строки, определяются по правилу прямоугольника. Представим расчет каждого элемента в виде таблицы: B x1 x2 x3 x4 x5 x6 x7 2-(6*(- 1-(0 * ( - -1-(5*( - -3-(-9*(- 0-(-1 *( - 0-(0 * ( - 1 /4-(-1/2 *( - 0-(1*( - 1))/5 1))/5 1))/5 1))/5 1))/5 1))/5 1))/5 1))/5 6/5 0/5 5/ 5 -9/5 -1/5 0 /5 -1 /2/ 5 1/5 6-(6 * 0-(0 * 2-(5 * 2)/5 -4-(-9 * 2)/5 0-(-1 * 1-(0* 2)/5 -3 /4-(-1/2 *2)/5 0-(1* 2)/5 2)/5 2)/5 (0)-(6 * (0)-(0 * (9+5M)-(5 (19-9M)-(- (-M)-(-1* (0)-(0* (-2-11/2M)-(- (0)-(1* (9+5M))/ (9+5M))/ *(9+5M))/ 9*(9+5M))/ (9+5M))/ (9+5M))/ 1 /2*(9+5M))/ (9+5M))/ 5 5 5 5 5 5 5 5 2)/5 Получаем новую симплекс-таблицу: Базис B x1 x2 x3 x4 x5 x6 x7 x1 31/5 1 0 -44/5 -1 /5 0 3 /20 1 /5 x2 11/5 0 1 -14/5 -1 /5 0 -1 1 /5 x5 33/5 0 0 -2 /5 2 /5 1 -11 F(X2) -264/5 0 0 351/5 14/5 0 /10 /20 -2 -11/10-M -14/5-M /5 9 Итерация №2. 1. Проверка критерия оптимальности. Текущий опорный план неоптимален, так как в индексной строке находятся положительные коэффициенты. 2. Определение новой базисной переменной. В качестве ведущего выберем столбец, соответствующий переменной x4, так как это наибольший коэффициент . 3. Определение новой свободной переменной. Вычислим значения Di по строкам как частное от деления: bi / ai4 и из них выберем наименьшее: min (- , - , 33/5 : 2/5 ) = 9 Следовательно, 3-ая строка является ведущей. Разрешающий элемент равен (2/5) и находится на пересечении ведущего столбца и ведущей строки. Базис B x1 x2 x3 x4 x5 x6 x7 min x1 31/5 1 0 -44/5 -1 /5 0 3 /20 1 /5 - x2 11/5 0 1 -14/5 -1 /5 0 -1 1 /5 - x5 33/5 0 0 -2 2 /5 1 -11 -2 /5 9 F(X3) -264/5 0 0 351/5 14/5 0 -11/10-M -14/5-M 0 /5 /10 /20 4. Пересчет симплекс-таблицы. Формируем следующую часть симплексной таблицы. Вместо переменной x5 в план 3 войдет переменная x4. Строка, соответствующая переменной x4 в плане 3, получена в результате деления всех элементов строки x5 плана 2 на разрешающий элемент РЭ=2/5 На месте разрешающего элемента в плане 3 получаем 1. В остальных клетках столбца x4 плана 3 записываем нули. Таким образом, в новом плане 3 заполнены строка x4 и столбец x4. Все остальные элементы нового плана 3, включая элементы индексной 10 строки, определяются по правилу прямоугольника. Представим расчет каждого элемента в виде таблицы: B x1 x2 x3 x4 31/5-(33/5 * 1-(0 * ( - 0-(0 * ( - -44/5-(-2/5 * -1 ( -1/5))/2/5 1 1 /5))/2/5 ( -1/5))/2/5 11/5-(33/5 * 0-(0 * ( - 1-(0 * ( - -14/5-(-2/5 * ( -1/5))/2/5 1 /5))/2/5 1 /5))/2/5 33/5 / 2/5 0 / 2/5 0 / 2/5 (0)-(0 * (0)-(0 * (14/5))/2/5 (14/5))/2/5 (-14/5-M)(33/5 * 4 2 (1 /5))/ /5 /5))/2/5 x5 x6 x7 3 1 /5-(2/5 * (- 0-(1 *( - 1 /5))/2/5 1 /5-(2/5 * ( 0-(1 * ( - (-1/5))/2/5 -1 /5))/2/5 1 /5))/2/5 ( -1/5))/2/5 1 -2 2 /5 / 2/5 1 / 2/5 -11 -2 (351/5)-(-2/5 (14/5)-(2/5 (0)-(1 * * (14/5))/2/5 * (14/5))/2/5 (14/5))/2/5 /5 / 2/5 -1 /20-(-11/20 * /5))/2/5 /5-(-2/5 * ( - ( -1/5))/2/5 -1 /10-(-11/20 * /20 / 2/5 (-11/10-M)-(11 1 /5))/2/5 1 /5-(-2/5 * ( /5))/2/5 /5 / 2/5 (-14/5-M)-(- /20 * 2 2 4 4 /5 * (1 /5))/ /5 (1 /5))/2/5 Получаем новую симплекс-таблицу: Базис B x1 x2 x3 x4 x5 x6 x7 x1 5 1 0 -5 0 1 /2 -1 /8 0 x2 3 0 1 -2 0 1 /2 -3 /8 0 x4 9 0 0 -1 1 21/2 -13/8 -1 F(X3) -43 0 0 37 0 -41/2 13/8-M -M Окончательный вариант симплекс-таблицы: Базис B x1 x2 x3 x4 x5 x6 x7 x1 5 1 0 -5 0 1 /2 -1 /8 0 x2 3 0 1 -2 0 1 /2 -3 /8 0 x4 9 0 0 -1 1 21/2 -13/8 -1 F(X4) -43 0 0 37 0 -41/2 13/8-M -M Последняя строка содержит положительные элементы. Пространство допустимых решений неограниченно. Решения не существует. 11 Решение в пакете Excel (Поиск решения) Решение задачи. Подставляем пример min f(x)= - 8x1 - x2 + 5x3 4x1 - 4x2 - 12x3=8, 2x1 + 3x2 - 15x3≥10, 3x1 - x2 - 13x3≤12 , x1 ≥0; x2 ≥0; x3 ≥0. Вбиваем сумму производных (Значение; Коэфв Цф), так же это действие делаем в Ограничения левой части "Сумму производных (Значение; Вид(1,2,3))" 12 Затем вбиваем в поиске решение: целевую ячейку $F$6 Выполняем команду Поиск решения вид поиска (минимальное значение) в поле, изменяя ячейки: $B$3:$D$3 Поле должно иметь следующее содержание: 1. $B$3:$D$3>=0 2. $F$9=$H$9 3. $F$10>=$H$10 4. $F$11<=$H$11 13 И получаем решение 14