Содержание
1. Метод золотого сечения…………………………………………….2
2. Практическая часть………………………………………………….3
2.1 Решение транспортной задачи………………………………....3
2.2 Линейное и целочисленное программирование…………………....7
2.3 Нелинейное программирование……………………………………12
2.4 Динамическое программирование. Матричные игры…………….16
Метод золотого сечения
Золотым сечением отрезка называется деление его на две неравные части так, что отношение длины всего отрезка к длине большей части равно отношению длины большей части к длине меньшей части отрезка. Рассмотрим отрезок единичной длины и две точки x и xна нем, каждая из которых делит отрезок в отношении золотого сечения.
Тогда , откуда и положительное значение . Величина 1-.
Таким образом, в методе золотого сечения координаты точек экстремума на единичном интервале определяются следующим образом: x; x. Если F(х) задается на априорном интервале [a,b] то точки эксперимента вычисляются по формулам x= a+(b- a); x= a+(b- a) и равно отстоят от концов отрезка. В точках эксперимента вычисляется значение функции F(x).
Точки эксперимента на любой итерации равноудалены от границ интервала, и на каждом следующем шаге процедуры поиска должно вычисляться только одно значение функции в получаемой точке. После каждого шага текущий интервал сокращается в раз. После проведения N испытаний апостериорный интервал неопределенности определяется выражением . Поиск заканчивается, когда длина интервала неопределенности становится соизмеримой с точностью решения задачи. Анализ метода Фибоначчи и метода золотого сечения показывает, что, начиная с некоторого числа значения экспериментов N, , следовательно, точки испытаний на первом шаге практически одинаковы в обоих методах. Так, при N = 5 отношение , а =0,382.
Решение транспортной задачи
Пусть имеется 4 пункта производства некоторого однородного продукта (например, угля) и 5 пунктов его потребления. Известны запасы А продукта в каждом пункте-поставщике i=1…4, спрос В в каждом пункте-потребителе j=1…5 и расходы С на перевозку единицы продукции из пункта i в пункт j. Суммарный запас равен суммарному спросу. Требуется составить план перевозок продукции, при котором запасы каждого поставщика были бы вывезены, спрос каждого потребителя был бы удовлетворен и общие транспортные расходы были бы минимальными. Условие транспортной задачи дано в таблице С1.
Для решения этой задачи будем использовать пять различных методов: метод северо-западного угла, метод минимального элемента, метод двойного предпочтения, метод потенциалов, венгерский метод.
1 |
2 |
3 |
4 |
5 |
А |
|
1 |
21 |
19 |
11 |
12 |
12 |
24 |
2 |
26 |
29 |
14 |
1 |
26 |
12 |
3 |
39 |
1 |
22 |
8 |
25 |
18 |
4 |
53 |
23 |
40 |
26 |
28 |
16 |
В |
11 |
13 |
26 |
10 |
10 |
70 |
2. Решение транспортной задачи
11 |
13 |
0 |
0 |
0 |
24 |
0 |
0 |
12 |
0 |
0 |
12 |
0 |
0 |
14 |
4 |
0 |
18 |
0 |
0 |
0 |
6 |
10 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
Матрица расстановок А1
11*21+13*19+12*14+14*22+4*8+
+6*26+10*28=1422
Метод минимального элемента
11 |
0 |
13 |
0 |
0 |
24 |
0 |
0 |
12 |
0 |
0 |
12 |
0 |
13 |
1 |
4 |
0 |
18 |
0 |
0 |
0 |
6 |
10 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
Матрица расстановок А2
11*21+13*11+12*14+13*1
+1*22+4*8+6*26+10*28=1045
0 |
0 |
24 |
0 |
0 |
24 |
0 |
0 |
2 |
10 |
0 |
12 |
11 |
0 |
0 |
0 |
7 |
18 |
0 |
13 |
0 |
0 |
3 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
Матрица расстановок А3
24*11+2*14+10*1+11*39+
+7*25+ +13*23+3*28=1289
Если матрица А1 (опорный план) является оптимальной, то ей соответствует система m+n чисел U и V, удовлетворяющая условиям:
U+V=C для X>0
U+V<=C для X=0
i=1…m, j=1…n
Числа U и V называют потенциалами соответственно поставщиков и потребителей, С – это стоимость перевозки единицы груза занятой клетки в i-й строке и j-м столбце.
Итерации продолжать до тех пор, пока во всех незанятых клетках не будет выполняться условие U+V<=C.
///////// |
V1=21 |
V2=19 |
V3=22 |
V4=8 |
V5=10 |
/////// |
U1=0 |
11 |
13 |
|
|
|
24 |
U2=-8 |
|
|
12 |
|
|
12 |
U3=0 |
|
|
14 |
4 |
|
18 |
U4=18 |
|
|
|
6 |
10 |
16 |
///////// |
11 |
13 |
26 |
10 |
10 |
70 |
11*21+13*19+12*14+14*22+4*8+6*26+10*28=1422
Условию С>=U+V не удовлетворяют 3
нулевые клетки.
1 итерация
Из клетки U1V2 взяли 13 единиц и перенесли их в клетку U3V2. Для сохранения баланса, мы из клетки U3V3 взяли 13 единиц и перетащили в клетку U1V3, после чего получили следующую таблицу:
///////// |
V1=21 |
V2=-10 |
V3=11 |
V4=-3 |
V5=-11 |
///////// |
U1=0 |
11 |
|
13 |
|
|
24 |
U2=3 |
|
|
12 |
|
|
12 |
U3=11 |
|
13 |
1 |
4 |
|
18 |
U4=29 |
|
|
|
6 |
10 |
16 |
///////// |
11 |
13 |
26 |
10 |
10 |
70 |
11*21+13*11+12*14+13*1+1*22+4*8+6*26+10*28=1045
Условию C>=U+V удовлетворяют все незанятые клетки.
Венгерский метод
Нижняя строка и правый столбец – это невязки. В Q показываются все невязки по строкам и столбцам. Минимальное значение невязки показывает насколько может уменьшиться сумма невязок после первой итерации. Сущность метода заключается в том, чтобы в конечном итоге сумму невязок свести к нулю. Продолжать итерации до тех пор, пока не будет достигнута цель метода.
С1 С2
21 |
19 |
11 |
12 |
12 |
24 |
26 |
29 |
14 |
1 |
26 |
12 |
39 |
1 |
22 |
8 |
25 |
18 |
53 |
23 |
40 |
26 |
28 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
0 |
19 |
0 |
12 |
0 |
24 |
26 |
29 |
14 |
0 |
26 |
12 |
39 |
0 |
22 |
8 |
25 |
18 |
53 |
23 |
40 |
26 |
28 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
Из матрицы стоимости С2 формируем матрицу расстановок Х0. В новой матрице вместо чисел ставим нули, а свободные клетки заполняем методом северо-западного угла.
Получим:
11 |
0 |
3 |
0 |
10 |
24 |
0 |
0 |
0 |
0 |
10 |
0 |
12 |
2 |
0 |
13 |
0 |
0 |
0 |
18 |
5 |
0 |
0 |
0 |
0 |
0 |
16 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
//// |
0 |
0 |
23 |
0 |
0 |
//// |
23 |
Q=(23;2;5;16)=min=2
1 итерация
В получившейся матрице С2 ищем минимальный элемент по строкам и столбцам. Это 14 (2;3) и заменяем его на ноль. Из столбца и строки минимального элемента вычитаем это число, а к остальным элементам матрицы добавляем его. Получили новую матрицу С3:
С2 С3
0 |
19 |
0 |
12 |
0 |
24 |
26 |
29 |
14 |
0 |
26 |
12 |
39 |
0 |
22 |
8 |
25 |
18 |
53 |
23 |
40 |
26 |
28 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
0 |
33 |
0 |
26 |
0 |
24 |
12 |
15 |
0 |
0 |
12 |
12 |
53 |
0 |
8 |
0 |
39 |
18 |
67 |
37 |
26 |
40 |
42 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
Из матрицы С3 формируем матрицу Х1. В новой матрице вместо чисел ставим нули, а свободные клетки заполняем методом северо-западного угла. Получим:
Х1
11 |
0 |
3 |
0 |
10 |
24 |
0 |
0 |
0 |
2 |
10 |
0 |
12 |
0 |
0 |
13 |
0 |
0 |
0 |
18 |
5 |
0 |
0 |
0 |
0 |
0 |
16 |
16 |
11 |
13 |
26 |
10 |
10 |
70 |
//// |
0 |
0 |
21 |
0 |
0 |
//// |
21 |
Q=(21;5;16)=min=5
2 итерация
В получившейся матрице С3 ищем минимальный элемент по строкам
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.