
Симплекс метод.pptx
- Количество слайдов: 24
Симплекс-метод решения задачи линейного программирования Автор: Козьминых В. Г. Нижний Новгород 2013 г.
Свойства задач линейного программирования 1) Задача линейного программирования имеет оптимальное решение, если область допустимых решений не пуста и ограничена в направлении оптимума. 2) Если задача линейного программирования имеет оптимальное решение, тогда хотя бы одна из вершин выпуклого многогранника в n-мерном пространстве, образующего область допустимых решений, соответствует оптимальному решению. n число переменных задачи линейного программирования
Общий вид канонической задачи линейного программирования 1. F=с1 x 1+с2 x 2+с3 x 3+. . . +сnxn max/min 2. a 11 x 1+a 12 x 2+a 13 x 3+. . . +a 1 nxn=b 1 a 21 x 1+a 22 x 2+a 23 x 3+. . . +a 2 nxn=b 2 a 31 x 1+a 32 x 2+a 33 x 3+. . . +a 3 nxn=b 3. . . . am 1 x 1+am 2 x 2+am 3 x 3+. . . +amnxn=bm x 1 0; x 2 0; x 3 0; . . . ; xn 0
Допустимое решение канонической задачи линейного программирования называется опорным решением, если векторы условий задачи, соответствующие ненулевым координатам допустимого решения, образуют линейно независимую систему векторов. 1. F=3 x 1+4 x 2 max 2. x 1+x 2+x 3+x 4 =3 2 x 1+2 x 2 -x 3+x 4=2 x 1 0; x 2 0; x 3 0; x 4 0 Проверим решения x 1(0; 0; 1/2; 5/2) ДР, ОР x 2(1; 0; 1; 1) ДР, ОР x 3(1; -1; 1/2; 5/2) ДР, ОР x 4(1; 0; 1; 1) ДР, ОР
Свойства опорных решений канонической задачи линейного программирования 1) Если множество допустимых решений канонической задачи линейного программирования не пусто, то задача имеет опорные решения. 2) Опорные решения соответствуют вершинам выпуклого многогранника в n-мерном пространстве, образующего область допустимых решений. 3) Каноническая задача линейного программирования имеет конечное число различных опорных решений (либо не имеет их вовсе).
Общая идея симплекс-метода решения задачи линейного программирования состоит: 1) в умение находить начальный опорный план; 2) в наличие признака оптимальности опорного плана; 3) в умение переходить к лучшему опорному плану.
Будем решать симплекс-методом каноническую задачу линейного программирования на максимум 1. F=20 x 1+30 x 2 max 2. 25 x 1+35 x 2+x 3+x 4 =190 15 x 1+45 x 2+3 x 3 -x 4=210 x 1 0; x 2 0; x 3 0; x 4 0
1. F=20 x 1+30 x 2 max 2. 25 x 1+35 x 2+x 3+x 4 =190 15 x 1+45 x 2+3 x 3 -x 4=210 x 1 0; x 2 0; x 3 0; x 4 0 Запишем задачу в симплекс таблицу. Пусть начальный базис А 3 А 4 Базис 20 30 0 0 Ci 0 x 1 x 2 x 3 x 4 b 0 35 1 190 1 x 3 25 0 45 -1 210 3 x 4 15
Базис Ci 0 xi 0 0 x 3 0 x 4 Стр. оц. 20 0 3 b x 1 x 2 x 3 x 4 25 5 1 1 190 3 15 5 3 -1 210 4
Найдем опорное решение При нахождении опорного решения разрешаем неизвестные x 3 x 4 - при этом, 1 должны находиться на пересечении соответствующих неизвестных Базис Ci 0 xi 0 0 x 3 0 x 4 Стр. оц. 20 30 0 b x 1 x 2 x 3 x 4 25 35 1 190 1 15 45 -1 210 3 Iн=Iст 25 35 1 190 1 -60 0 -4 -360 IIн=IIст+Iн (-3) 10 20 0 100 Iн=Iст+IIн (-1) 1 15 1 90 IIн=IIст (-¼) 0 1 2 3 4 ? ? ?
Базис Ci 0 xi 0 0 x 3 0 x 4 Стр. оц. 20 30 0 0 b x 1 x 2 x 3 x 4 10 20 1 0 100 15 15 0 1 90 1 2 3 4 F Получили опорное решение x 3, 4(0; 0; 90; 100) F 3, 4=0 Строим строку оценок вместе со значением F строка со знаком минус и 0 1 строка C 10 -20 2 2 строка C 0 + 0 1 2 3 4 F 0 -20 -30 0 0 0
Ci 0 0 0 Базис 20 30 0 xi 0 x 1 x 2 x 3 10 20 1 x 3 15 15 0 x 4 Стр. оц. -20 -30 0 0 b x 4 0 100 1 90 0 0 Свойства оценок базиса 1. Если для данного опорного решения, все оценки базиса 1 2 3. . . n неотрицательны, тогда найденное опорное решение является оптимальным. 2. Если для данного опорного решения существует хотя бы одна оценка k < 0, такая что все элементы столбца Xk <0 отрицательные, тогда данная задача не имеет оптимального решения так как целевая функция неограниченна в направлении оптимума.
Базис Ci 0 xi 0 0 x 3 0 x 4 Стр. оц. 20 30 0 x 1 x 2 x 3 10 20 1 15 15 0 -20 -10 0 0 b x 4 0 100 1 90 0 0 100: 10=10 90: 15=6 min Новый базис x 3 x 1 Свойства оценок базиса (продолжение) 3. Если для данного опорного решения существует хотя бы одна оценка k< 0, а среди элементов столбца xk есть положительные элементы, тогда базис которому соответствует лучшее опорное решение мы получим заменив вектор условий задачи Ak на вектор Ak для которых отношение bj/akj>0 минимально.
Базис 20 30 0 Ci 0 x 1 x 2 x 3 0 10 20 1 x 3 20 15 15 0 x 1 0 x 3 0 1 20 x 1 1 0 Стр. оц. 0 b x 4 0 100 1 90
Базис Ci 0 xi 0 0 x 3 20 x 1 Стр. оц. 20 30 0 0 b x 1 x 2 x 3 x 4 10 20 1 0 100 15 0 1 90 0 1 -10/15 40 Iн=Iст+IIн (-10) 1 1 0 1/15 6 IIн=IIн 1/15 20/ 0 -10 0 120 15 Получили опорное решение x 3, 1(6; 0; 40; 0) F 3, 1=120 + -20 0 -30 0 20 -10 0 0 0 20/ 15 0 0 120
Базис Ci 0 xi 0 0 x 3 20 x 1 Стр. оц. 20 30 0 0 b x 1 x 2 x 3 x 4 0 10 1 -10/15 40 1/ 1 1 0 6 15 20/ 0 -10 0 120 15 Новый базис x 2 x 1 40: 10=4 min 6: 1=6
Базис 20 30 0 0 Ci 0 b xi 0 x 1 x 2 x 3 x 4 -10 30 0 10 1 /15 40 x 2 20 1 1 0 1/15 6 x 1 0 x 2 0 1 20 x 1 1 0 Стр. оц.
Базис 20 30 0 0 Ci 0 x 1 x 2 x 3 x 4 b 30 x 2 0 10 -10/15 1 40 1 20 x 1 1 1 0 /15 6 -1/ Iн=Iст 1/10 30 x 2 0 1 1/10 4 15 2/ 20 x 1 1 0 -1/10 Iн=IIст+Iн (-1) 2 I 15 2/ Стр. оц. 0 0 1 160 3 Получили опорное решение x 2, 1(2; 4; 0; 0) F 2, 1=160 -20 -30 0 0 30 3 -2 120 + 40/ 20 20 -2 40 15 2/ 1 0 1 160 3
Базис Ci 0 x 1 x 2 30 x 2 0 1 b x 3 x 4 1/ 4 -1 10 15 x 1 Стр. оц. 1 0 -1/ 0 0 1 20 20 30 0 0 2 /15 2 10 2/ 3 160 Выполняется первое свойство оценок базиса Ответ: xopt(4; 2; 0; 0); Fopt=160 Ответ: x 1 opt=4 ед. ; x 2 opt= 2 ед. ; x 3 opt= 0 ед. ; x 4 opt= 0 ед. ) fopt=160
Решение задачи линейного программирования в MS Excel
Спасибо за внимание!