Методы оптимальных решений
Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы. Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты. Текущий опорный план неоптимален, так как в индексной строке находится отрицательный коэффициент. Текущий опорный план неоптимален, так как в индексной строке находится отрицательный коэффициент. Читать ещё >
Методы оптимальных решений (реферат, курсовая, диплом, контрольная)
Задача 1
Найти точки условного экстремума и экстремальные значения функции при условии .
Решение
Найдем экстремум функции F (X) =, используя функцию Лагранжа.
В качестве целевой функции, подлежащей оптимизации, в этой задаче выступает функция:
F (x, y, z) =.
Перепишем ограничения задачи в неявном виде:
ц (x, y, z) = ;
Составим вспомогательную функцию Лагранжа:
L (x, y z, л1, л2) = + л1() + л2().
Необходимым условием экстремума функции Лагранжа является равенство нулю ее частных производных по переменным и неопределенным множителям лi.
Составим систему:
- ?L/?x = 4x+2л1+3л2 = 0
- ?L/?y = 10y-л1-2л2 = 0
- ?L/?z = 6z+4л1+6л2 = 0
- ?L/?л =
- ?L/?л =
Решив данную систему, получаем:
Получили точку т. е.
<0.
Д<0 в точке функция имеет условный максимум.
.
Задача 2
Решить задачи квадратичного программирования.
z=32x1+120x2-4x12-15x22>max.
- 2x1+5x2?20
- 2x1-x2?8, xi?0
Решение
Найдем градиент функции.
.
В качестве X(0)=(4,2).
Дf (X(0))=(0,60)?0.¦f (X(k+1))?f (X(k)))¦?0,01.
1- итерация. Дf (X(0))=(0, 60).
Получили задачу линейного программирования. Решаем ее графически.
Z(0)=(0, 4), X(1) = X(0) + л0(Z(0)? X(0)) =.
=(4, 2) + л0((0, 4)? (4, 2)) = (4, 2) + л0(-4, 2).
x(1)1=4−4л0, x(1)2=2+2л0.
Подставляем полученные значения x(1)1 и x(1)2 в целевую функцию, получим.
f (л0) = 244+120л0? 124л20>max, f' = 120? 248л0= 0, л0=0,48.
Следовательно, X(1) =(2,08; 2,96), f (X(1))=273,03.
Проверим условие окончания ¦f (X(1))?f (X(0)))¦=¦273,03? 240¦= 33,03 > 0,1.
Условие не выполняется, следовательно, переходим к следующей итерации.
2-я итерация.
Дf (X(1))=(15,36; 31,2). F1(X) = 15,36x1+31,2x2> max.
Решая графически получили.
Z(1) =(5; 2), X(2) = X(1) + л1(Z(1)? X(1)) =.
= (2,08; 2,96) + л1((5; 2)? (2,08; 2,96)) = (2,08; 2,96) + л1(2,92; -0,96).
x(2)1=2,08+2,92л1, x(2)2=2,96−0,96л1.
Подставляем полученные значения x(2)1 и x(2)2 в целевую функцию, получим.
f (л1) = 273,0304 +14,8932л1 — 47,9296л21>max,.
f' = 14,8932 — 95,8592л1= 0, л1=0,155.
Следовательно, X(2) =(2,53; 2,81), f (X(2))=274,1873.
Проверим условие окончания ¦f (X(2))?f (X(1)))¦=¦274,1873 — 273,03¦= 1,1573 > 0,1.
Условие не выполняется, следовательно, переходим к следующей итерации.
3-я итерация.
Дf (X(2))=(11,76; 35,7). F2(X) = 11,76x1+35,7x2> max.
Решая графически получили.
Z(2) =(0; 4), X(3) = X(2) + л2(Z(2)? X(2)) =.
=(2,53; 2,81) + л2((0; 4)? (2,53; 2,81)) = (2,53; 2,81) + л2(-2,53; 1,19).
x(3)1=2,53−2,53л2, x(3)2=2,81+1,19л2.
Подставляем полученные значения x(3)1 и x(3)2 в целевую функцию, получим.
f (л2) = 274,1149 +12,7302л2 — 46,8451л22>max,.
f' = 12,7302 — 93,6902л2= 0, л2=0,136.
Следовательно, X(3) =(2,19; 2,97), f (X(3))=274,9798.
Проверим условие окончания.
¦f (X(3))?f (X(2)))¦=¦274,9798 — 274,1873¦= 0,7925 >0,1.
Условие не выполняется, следовательно, переходим к следующей итерации.
4-я итерация.
Дf (X(3))=(14,48; 30,9). F3(X) = 14,48x1+30,9x2> max.
Решая графически получили.
Z(3) =(5; 2), X(4) = X(3) + л3(Z(3)? X(3)) =.
=(2,19; 2,97) + л3((5; 2)? (2,19; 2,97)) = (2,19; 2,97) + л3(2,81; -0,97).
x(4)1=2,19+2,81л3, x(4)2=2,97−0,97л3.
Подставляем полученные значения x(4)1 и x(4)2 в целевую функцию, получим.
f (л3) = 274,9821 +10,7158л3 — 45,6979л23>max,.
f' = 10,7158 — 91,3958л3= 0, л3?0,117.
Следовательно, X(4) =(2,52; 2,86), f (X(4))=275,61.
Проверим условие окончания.
¦f (X(4))?f (X(3)))¦=¦275,61 — 274,9798¦= 0,6361 >0,1.
Условие не выполняется, следовательно, переходим к следующей итерации.
5-я итерация.
Дf (X(4))=(11,84; 34,2). F4(X) = 11,84x1+34,2x2> max.
Решая графически получили.
Z(4) =(0; 4), X(5) = X(4) + л4(Z(4)? X(4)) =.
=(2,52; 2,86) + л4((0; 4)? (2,52; 2,86)) = (2,52; 2,86) + л3(-2,52; 1,14).
x(5)1=2,52−2,52л4, x(5)2=2,86+1,14л4.
Подставляем полученные значения x(5)1 и x(5)2 в целевую функцию, получим.
f (л4) = 275,74 +9,1512л4 — 44,8956л24>max,.
f' = 9,1512 — 89,7912л4= 0, л4?0,102.
Следовательно, X(5) =(2,26; 2,98), f (X(5))=276,29.
Проверим условие окончания.
¦f (X(5))?f (X(4)))¦=¦ 276,29 — 275,61 ¦= 0,68 >0,1.
Условие не выполняется, следовательно, переходим к следующей итерации.
6-я итерация.
Дf (X(5))=(13,92; 30,6). F5(X) = 13,92x1+30,6x2> max.
Решая графически получили.
Z(5) =(5; 2), X(6) = X(5) + л5(Z(5)? X(5)) =.
=(2,26; 2,98) + л5((5; 2)? (2,26; 2,98)) = (2,26; 2,98) + л5(2,74; -0,98).
x(6)1=2,26+2,74л5, x(6)2=2,98−0,98л5.
Подставляем полученные значения x(4)1 и x(4)2 в целевую функцию, получим.
f (л5) = 275,87 +8,1528л5 — 39,2852л25>max,.
f' = 8,1528 — 78,5704л5= 0, л5?0,1.
Следовательно, X(6) =(2,54; 2,89), f (X(6))=276,282.
Проверим условие окончания.
¦f (X(4))?f (X(3)))¦=¦276,282 — 276,29¦= 0,08 <0,1.
Условие выполняется, следовательно, целевая функция достигает своего максимального значения в точке X*=X(6)=(2.54; 2.89) и равна f*=f (X(6))276.3.
Задача 3
Определить число взлетно-посадочных полос для самолетов с учетом требования, что вероятность ожидания должна быть меньше, чем 0.05. При этом интенсивность входного потока 27 самолетов в сутки, а интенсивность их обслуживания — 30 самолетов в сутки.
Решение
Имеем СМО с неограниченной очередью.
Исчисляем показатели обслуживания многоканальной СМО:
Интенсивность потока обслуживания:
30 самолетов / сут.;
интенсивность поступления заказов 27 самолетов / сут.
Интенсивность нагрузки.
Интенсивность нагрузки с=0,9 показывает степень согласованности входного и выходного потоков заявок канала обслуживания и определяет устойчивость системы массового обслуживания.
Поскольку 0,9<1, то процесс обслуживания будет стабилен.
Время обслуживания изделия.
Пусть число линий n=1, тогда.
вероятность, что полоса свободна (доля времени простоя полосы):
Следовательно, 10% в течение часа полоса будет не занята, время простоя равно tпр = 6 мин.
Вероятность того, что полоса занята обслуживанием:
p1 = с1/1! p0 = .
Вероятность образования очереди:
=> 0.05.
Пусть число полос n=2, тогда.
вероятность, что полоса свободна (доля времени простоя полос):
Вероятность того, что обслуживанием занята 1 полоса:
p1 = с1/1! p0 = ;
заняты 2 полосы:
p2 = с2/2! p0 =.
Вероятность образования очереди:
=> 0.05.
Пусть число полос n=3, тогда.
вероятность, что полоса свободна (доля времени простоя полосы):
Вероятность того, что обслуживанием занята 1 полоса:
p1 = с1/1! p0 = ;
заняты 2 полосы:
p2 = с2/2! p0 =.
заняты 3 полосы:
p3 = с3/3! p0 =.
Вероятность образования очереди:
=< 0.05.
Выполняется требование задачи. Поэтому необходимо иметь 3 независимые полосы.
Среднее число каналов, занятых обслуживанием.
nз = с = 0.9 канала.
Среднее число простаивающих каналов.
nпр = n — nз = 3 — 0.9 = 2.1 канала.
Коэффициент занятости каналов обслуживанием.
Следовательно, система на 30% занята обслуживанием.
Среднее число заявок, находящихся в очереди.
Среднее время простоя СМО (среднее время ожидания обслуживания заявки в очереди).
час.
Среднее число заявок в системе.
LCMO = p + Lож = 0.9 + 0.03 = 0.93 ед.
Среднее время пребывания заявки в СМО.
0.00 +0.03 = 0.03 час.
Задача 4
программирование матричный квадратичный экстремум Решить матричные игры, заданные следующими платежными матрицами, сведя их к парам двойственных задач линейного программирования:
Решение.
1. Проверяем, имеет ли платежная матрица седловую точку. Если да, то выписываем решение игры в чистых стратегиях.
Считаем, что игрок I выбирает свою стратегию так, чтобы получить максимальный свой выигрыш, а игрок II выбирает свою стратегию так, чтобы минимизировать выигрыш игрока I.
Игроки. | B1 | B2 | B3 | a = min (Ai). |
A1 | ||||
A2 | ||||
A3 | ||||
A4 | ||||
b = max (Bi). |
Находим гарантированный выигрыш, определяемый нижней ценой игры a = max (ai) = 5, которая указывает на максимальную чистую стратегию A1.
Верхняя цена игры b = min (bj) = 7.
Что свидетельствует об отсутствии седловой точки, так как a? b, тогда цена игры находится в пределах 5? y? 7. Находим решение игры в смешанных стратегиях. Объясняется это тем, что игроки не могут объявить противнику свои чистые стратегии: им следует скрывать свои действия. Игру можно решить, если позволить игрокам выбирать свои стратегии случайным образом (смешивать чистые стратегии).
2. Проверяем платежную матрицу на доминирующие строки и доминирующие столбцы.
В платежной матрице отсутствуют доминирующие строки.
В платежной матрице отсутствуют доминирующие столбцы.
Так как игроки выбирают свои чистые стратегии случайным образом, то выигрыш игрока I будет случайной величиной. В этом случае игрок I должен выбрать свои смешанные стратегии так, чтобы получить максимальный средний выигрыш.
Аналогично, игрок II должен выбрать свои смешанные стратегии так, чтобы минимизировать математическое ожидание игрока I.
3. Находим решение игры в смешанных стратегиях.
Математические модели пары двойственных задач линейного программирования можно записать так:
найти минимум функции F (x) при ограничениях:
- 6x1+10x2+13x3+7x4? 1
- 5x1+4x2+10x3+11x4? 1
- 7x1+7x2+4x3+5x4? 1
F (x) = x1+x2+x3+x4> min.
найти максимум функции Ф (y) при ограничениях:
- 6y1+5y2+7y3? 1
- 10y1+4y2+7y3? 1
- 13y1+10y2+4y3? 1
- 7y1+11y2+5y3? 1
Ф (y) = y1+y2+y3 > max.
Решаем эти системы симплексным методом.
Решим прямую задачу линейного программирования симплексным методом, с использованием симплексной таблицы.
Определим минимальное значение целевой функции F (X) = x1 + x2 + x3+x4 при следующих условиях-ограничениях.
- 6x1+10x2+13x3+7x4? 1
- 5x1+4x2+10x3+11x4? 1
- 7x1+7x2+4x3+5x4? 1
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).
- 6x1+10x2+13x3+7x4 — х5= 1
- 5x1+4x2+10x3+11x4 — х6 = 1
- 7x1+7x2+4x3+5x4 — х7 = 1
Умножим все строки на (-1) и будем искать первоначальный опорный план.
- -6x1-10x2-13x3-7x4 +х5= -1
- -5x1-4x2-10x3-11x4 +х6 = -1
- -7x1-7x2-4x3-5x4 +х7 = -1
Матрица коэффициентов A = a (ij) этой системы уравнений имеет вид:
Решим систему уравнений относительно базисных переменных:
x4, x5, x6,.
Полагая, что свободные переменные равны 0, получим первый опорный план:
X1 = (0,0,0, — 1, — 1, — 1).
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x4 | — 1. | — 6. | — 10. | — 13. | — 7. | |||
x6 | — 1. | — 5. | — 4. | — 10. | — 11. | |||
x7 | — 1. | — 7. | — 7. | — 4. | — 5. | |||
F (X0). |
План 0 в симплексной таблице является псевдопланом, поэтому определяем ведущие строку и столбец.
На пересечении ведущих строки и столбца находится разрешающий элемент (РЭ), равный (-13).
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x4 | — 1. | — 6. | — 10. | — 13. | — 7. | |||
x6 | — 1. | — 5. | — 4. | — 10. | — 11. | |||
x7 | — 1. | — 7. | — 7. | — 4. | — 5. | |||
F (X0). | ||||||||
и. | — 1/6. | — 1/10. | — 1/13. | — 1/7. | ; | ; | ; |
Выполняем преобразования симплексной таблицы методом Жордано-Гаусса.
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x3 | 1/3. | 6/13. | 10/13. | 7/13. | — 1/13. | |||
x6 | — 3/13. | — 5/13. | 48/13. | — 73/13. | — 10/13. | |||
x7 | — 9/13. | — 67/13. | — 51/13. | — 37/13. | — 4/13. | |||
F (X0). | — 1/13. | 7/13. | 3/13. | 6/13. | 1/13. |
План 1 в симплексной таблице является псевдопланом, поэтому определяем ведущие строку и столбец.
На пересечении ведущих строки и столбца находится разрешающий элемент (РЭ), равный (-4/13).
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x3 | 1/3. | 6/13. | 10/13. | 7/13. | — 1/13. | |||
x6 | — 3/13. | — 5/13. | 48/13. | — 73/13. | — 10/13. | |||
x7 | — 9/13. | — 67/13. | — 51/13. | — 37/13. | — 4/13. | |||
F (X0). | — 1/13. | 7/13. | 3/13. | 6/13. | 1/13. | |||
и. | — 7/67. | — 3/51. | ; | — 6/37. | — ¼. |
Выполняем преобразования симплексной таблицы методом Жордано-Гаусса.
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x3 | ¼. | 7/4. | 7/4. | 5/4. | — ¼. | |||
x6 | 3/2. | 25/2. | 27/2. | 3/2. | — 5/2. | |||
x5 | 9/4. | 67/4. | 51/4. | 37/4. | — 13/4. | |||
F (X1). | — ¼. | — ¾. | — ¾. | — ¼. | ¼. |
В базисном столбце все элементы положительные.
Переходим к основному алгоритму симплекс-метода.
Итерация № 0.
Текущий опорный план неоптимален, так как в индексной строке находятся отрицательные коэффициенты.
В качестве ведущего выберем столбец, соответствующий переменной x1, так как это наибольший коэффициент по модулю.
Вычислим значения Di по строкам как частное от деления: bi / ai1
и из них выберем наименьшее:
…
Следовательно, 2-ая строка является ведущей.
Разрешающий элемент равен (25/2) и находится на пересечении ведущего столбца и ведущей строки.
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min. |
x3 | ¼. | 7/4. | 7/4. | 5/4. | — ¼. | 1/7. | |||
x6 | 3/2. | 25/2. | 27/2. | 3/2. | — 5/2. | 3/25. | |||
x5 | 9/4. | 67/4. | 51/4. | 37/4. | — 13/4. | 9/67. | |||
F (X1). | — ¼. | — ¾. | — ¾. | — ¼. | ¼. |
Получаем новую симплекс-таблицу:
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x3 | 1/25. | — 7/50. | 26/25. | — 7/50. | 1/10. | |||
x1 | 3/25. | 27/25. | 3/25. | 2/25. | — 1/5. | |||
x5 | 6/25. | — 267/50. | 181/25. | — 67/50. | 1/10. | |||
F (X2). | — 4/25. | 3/50. | — 4/25. | 3/50. | 1/10. |
Итерация № 1.
Текущий опорный план неоптимален, так как в индексной строке находится отрицательный коэффициент.
В качестве ведущего выберем столбец, соответствующий переменной x4.
Вычислим значения Di по строкам как частное от деления: bi / ai1
и из них выберем наименьшее:
…
Следовательно, 3-я строка является ведущей.
Разрешающий элемент равен (181/25) и находится на пересечении ведущего столбца и ведущей строки.
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min. |
x3 | 1/25. | — 7/50. | 26/25. | — 7/50. | 1/10. | 1/26. | |||
x1 | 3/25. | 27/25. | 3/25. | 2/25. | — 1/5. | ||||
x5 | 6/25. | — 267/50. | 181/25. | — 67/50. | 1/10. | 6/181. | |||
F (X2). | — 4/25. | 3/50. | — 4/25. | 3/50. | 1/10. |
Получаем новую симплекс-таблицу:
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x3 | 1/181. | 227/362. | — 26/181. | 19/362. | 31/362. | |||
x1 | 21/181. | 423/362. | — 3/181. | 37/362. | — 73/362. | |||
x4 | 6/181. | — 267/362. | 25/181. | — 67/362. | 5/362. | |||
F (X3). | — 28/181. | — 21/362. | 4/181. | 11/362. | 37/362. |
Итерация № 2.
Текущий опорный план неоптимален, так как в индексной строке находится отрицательный коэффициент.
В качестве ведущего выберем столбец, соответствующий переменной x2.
Вычислим значения Di по строкам как частное от деления: bi / ai1
и из них выберем наименьшее:
…
Следовательно, 1-я строка является ведущей.
Разрешающий элемент равен (181/25) и находится на пересечении ведущего столбца и ведущей строки.
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min. |
x3 | 1/181. | 227/362. | — 26/181. | 19/362. | 31/362. | 2/227. | |||
x1 | 21/181. | 423/362. | — 3/181. | 37/362. | — 73/362. | 42/423. | |||
x4 | 6/181. | — 267/362. | 25/181. | — 67/362. | 5/362. | ||||
F (X3). | — 28/181. | — 21/362. | 4/181. | 11/362. | 37/362. |
Получаем новую симплекс-таблицу:
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x2 | 2/227. | 362/227. | — 52/227. | 19/227. | 31/227. | |||
x1 | 24/227. | — 429/227. | 57/227. | 1/227. | — 82/227. | |||
x4 | 9/227. | 267/227. | — 7/227. | — 28/227. | 26/227. | |||
F (X4). | — 35/227. | 21/227. | 2/227. | 8/227. | 25/227. |
Конец итераций: индексная строка не содержит отрицательных элементов — найден оптимальный план Окончательный вариант симплекс-таблицы:
Базис. | B. | x1 | x2 | x3 | x4 | x5 | x6 | x7 |
x2 | 2/227. | 362/227. | — 52/227. | 19/227. | 31/227. | |||
x1 | 24/227. | — 429/227. | 57/227. | 1/227. | — 82/227. | |||
x4 | 9/227. | 267/227. | — 7/227. | — 28/227. | 26/227. | |||
F (X4). | — 35/227. | 21/227. | 2/227. | 8/227. | 25/227. |
Оптимальный план можно записать так:
x2 = 2/227
x1 = 24/227
x4 = 9/227
F (X) = = 35/227
Цена игры будет равна g = 1/F (x), а вероятности применения стратегий игроков:
pi = g*xi; qi = g*yi.
Цена игры: g = 227/35
p1 = 227/35 * 24/227 = 24/35
p2 = 227/35 * 2/227 = 2/35
p3 = 0.
p4 = 227/35 * 9/227 = 9/35
Оптимальная смешанная стратегия игрока I:
P = (24/35; 2/35; 0; 9/35).
q1 = 227/35 * 2/227 = 2/35
q2 = 227/35 * 8/227 = 8/35
q3 = 227/35 * 25/227 = 5/7
Оптимальная смешанная стратегия игрока II:
Q = (2/35; 8/35; 5/7).
Цена игры: v=227/35
- 4. Проверим правильность решения игры с помощью критерия оптимальности стратегии.
- ?aijqj? v
- ?aijpi? v
M (P1; Q) = (6*24/35) + (10*2/35) + (13*0) + (7*9/35) = 227/35 v.
M (P2; Q) = (5*24/35) + (4*2/35) + (10*0) + (11*9/35) = 227/35 v.
M (P3; Q) = (7*24/35) + (7*2/35) + (4*0) + (5*9/35) = 227/35 v.
M (P; Q1) = (6*2/35) + (5*8/35) + (7*5/7) = 227/35? v.
M (P; Q2) = (10*2/35) + (4*8/35) + (7*5/7) = 227/35? v.
M (P; Q3) = (13*2/35) + (10*8/35) + (4*5/7)= 227/35? v.
M (P; Q3) = (7*2/35) + (11*8/35) + (5*5/7) = 227/35? v.