Динамическое программирование. Классические задачи динамического программирования. Функциональное уравнение Беллмана. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Динамическое программирование. Классические задачи динамического программирования. Функциональное уравнение Беллмана.



 

Ответы МО практика

1. Сформулировать алгоритм и произвести расчет двух итераций нахождения точки экстремума функции f(x) = 2x (3 - x) + 4 ® max; L0 = [-2, 6]; l0 = 0.7; l0 > e ³ l0/2 методами дихотомии и золотого сечения.

 

 

2. Сформулировать алгоритм и произвести расчет двух итераций нахождения точки экстремума функции f(x) = 2 + x (5 + 3x) ® min; L0 = [-2, 3]; l0 = 0.4; l0 > e ³ l0/2 методами дихотомии и Фибоначчи.

 

3. Сформулировать алгоритм и произвести расчет двух итераций нахождения точки экстремума функции f(х)=x2+2х ® min; L0 = [-3, 5]; e ≤ 0,2 методами дихотомии и золотого сечения.

 

4. Сформулировать алгоритм и произвести расчет двух итераций нахождения точки экстремума функции f(х)=x2+2х ® min; L0 = [-3, 5]; e ≤ 0,2 методами дихотомии и Фибоначчи.

 

10. Сформулировать алгоритм и произвести расчет двух итераций для нахождения экстремума (| min |) целевой функции f (x) = x 12 – 4 x 1 + 2 х 22 + 2 х 2, используя метод пропорционального градиентного поиска, начиная с точки Х0 = (1, 0).

 

11. Сформулировать алгоритм и произвести расчет двух итераций для нахождения экстремума (| min |) целевой функции f (x) = x 12 – 4 x 1 + 2 х 22 + 2 х 2, используя метод наискорейшего подъема (спуска), начиная с точки Х0 = (1, 0).

 

15. Построить двойственную задачу и осуществить расчет двух шагов решения:

4 x 1 + x 2 + x 3 + 2 x 4 + x 5 ® max

4 x 1 + x 2 - x 3 - x 4 + x 5 ³ 9

x 1 + x 2 - x 3 + x 4 - 6 x 5 = 10

- x 1 - x 3 + 5 x 5 £ 1

x 1, x 2, x 3, x 4, x 5 ³ 0

 

 

Так как исходная задача на максимизацию, то приведем все неравенства системы ограничений к виду £ для чего обе части первого неравенства умножим на (-1) Получим:

 

-4 x 1 - x 2 + x 3 + x 4 - x 5 £ -9

x 1 + x 2 - x 3 + x 4 - 6 x 5 = 10

- x 1 - x 3 + 5 x 5 £ 1

Составим расширенную матрицу системы

 

-4 -1     -1 -9
    -1   -6  
-1   -1      
          F

 

 

Транспонируем матрицу

 

-4   -1  
-1      
  -1 -1  
       
-1 -6    
-9     Z

 

Сформулируем двойственную задачу:

 

Z=9y1+10y2+y3 min

 

4y1+y2-y3 ³ 4

y1+y2 ³ 1

-y1-y2-y3 ³ 1

-y1+y2 ³ 2

y1-6y2+5y3 ³ 1

y1<=0 y2><0 y3>=0

 

4y1+y2-y3+y4 = 4

y1+y2 +y5 = 1

-y1-y2-y3 +y6 = 1

-y1+y2 +y7= 2

y1-6y2+5y3 +y8= 1

 

 

y4=4; y5=1; y6=1; y7=2; y8=1 первое допустимое решение

 

Составим симплекс таблицу

 

 

Базис Своб Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y4 -4 -4 -1            
Y5 -1 -1 -1            
Y6 -1                
Y7 -2   -1            
Y8 -1 -1   -5          
Z   -9 -10 -1          

 

.

-4 минимальный свободный элемент

-9/-4

Y4 в свободные, y1 в базис

 

Составим симплекс таблицу

 

 

Базис Своб Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y1     0,25 -0,25 -0,25        
Y5     -0,75 -0,25 -0,25        
Y6 -2   0,75 1,25 0,25        
Y7 -3   -1,25 0,25 0,25        
Y8     6,25 -5,25 -0,25        
Z     -7,75 -3,25 -2,25        

 

 

Y7 мин своб элемент

 

Y7 в свободные

Y2 в базис

 

Базис Своб Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8
Y1 0,4     -0,2 -0,2     0,2  
Y5 1,8     -0,4 -0,4     -0,6  
Y6 -3,8     1,4 0,4     0,6  
Y2 2,4     -0,2 -0,2     -0,8  
Y8 -15     -4          
Z 27,6     -4,8 -3,8     -6,2  

16. Сформулировать алгоритм и осуществить расчет (не более 2-х итераций) решения транспортной задачи методом потенциалов. Исходный опорный план - методом северо-западного угла. Вектор поставок - (10, 3, 7); Вектор потребления - (1, 8, 7, 4); Матрица стоимости:

 

 

Методом северо-западного угла найти начальный план перевозок в транспортной задаче, заданной матрицей перевозок (табл. 4.2).Таблица 4.2
Пункты B1 B2 B3 B4 Запасы
А1 1 7 3 8 10
А2 3 4 2 2 3
А3 5 6 9 10 7
Потребности 1 8 7 4 20

Решение:

Начинаем вычисления по формуле (4.6) с северо-западного угла, т. е. с удовлетворения потребностей первого потребителя В1 за счет запасов первого поставщика А1: х11 =min[10,1]=1. Потребности в пункте В1 удовлетворены и, следовательно, х21 = х31 =0 (ставим точки, табл. 4.3). Первый столбец выбывает из рассмотрения. Остаток груза в пункте А1 составит (10–1)=9.Таблица 4.3
Пункты B1 B2 B3 B4 Запасы
А1 11 78 31 8• 10
А2 3• 4• 23 2• 3
А3 5• 6• 93 104 7
Потребности 1 8 7 4 20
Продолжаем заполнение таблицы с текущего северо-западного угла. Удовлетворены потребности В2 и исчерпаны запасы А1. Это случай вырождения: выбывают первая строка и второй столбец: х13 = х14 = х22 = х32= 0. Базисный нуль ставим в клетку (2,2) с наименьшей стоимостью. В остальных клетках выбываемых из дальнейшего рассмотрения столбца и строки ставим точки (табл. 4.4).Исчерпаны запасы А2: х24 =0 (ставим точку). Из рассмотрения выбывает вторая строка Осталось заполнить последнюю клетку: х44 =4; Проверяем правильность решения: число заполненных (базисных) клеток табл. 4.6 равно 6, что соответствует рангу системы ограничений: m+n- 1=3+4-1=6. Выписываем начальный план перевозок: х11 =1, х12 =8, х13 =1, х14 =0, х21 =0, х22 =0, х23 =3, х24 =0, х31 =0, х32 =0, х33 =3, х34 =4.Подсчитаем суммарную стоимость перевозок: f =1∙1+7∙8+3∙1+2∙3+9∙3+10∙4=133. 21. Находим потенциалы, составляя для каждой базисной клетки уравнение αi + βj = cij. Полагаем β3 =0. Тогда для базисных клеток (1,3), (2,3) и (3,3) имеем: α1 + β3 =3, α2 + β3 =2, α3 + β3 =9, откуда α1 =3, α2 =2, α3 =9.Далее для базисных клеток (1,3), (2,1) и (3,2) имеем: α1 + β1 =1, β1 =1 – α1 =1 – 3= -2; α1 + β2 =4, β2 =7 – α2 =7–3= 4; α3 + β4 =2, β4 =10 – α3 =10–9= 1. 31. Для каждой свободной клетки вычисляем относительные оценки:∆ij= cij –(αi + βj)= cijαiβj14==8–(3+1)=4, ∆21==3–(2–2)=3, ∆22==4–(2+4)=-2, ∆24=2–(2+1)=-1,∆31==5–(9-2)=-2, ∆32=6–(9+4)= -7.

41. Проанализируем относительные оценки. Среди оценок имеется одна отрицательная: ∆32=–7. Поэтому данный план не является оптимальным. Его можно улучшить перераспределением поставок.

51. Для клетки (3,1) построим означенный цикл.Таблица 4.14
Пункты B1 B2 B3 B4 Запасы αi
А1 11 78 31 8• 10 α1 =3
А2 3• 4• 23 2• 3 α2 =2
А3 5•
+
+
6•
93 104 7 α3 =9
Потребности 1 8 7 4 20  
βj β1 =–2 β2 =4 β3 =0 β4 =1    
61. Находим число θ, равное наименьшему из чисел, стоящих в отрицательных вершинах цикла: θ=min[8,3]=3. Выполним сдвиг по циклу на число θ=3: числа, стоящие в положительных вершинах цикла, увеличиваются на 3, а числа, стоящие в отрицательных вершинах, уменьшаются на 3. Результат сдвига (новый план перевозок) представлен в табл.
Пункты B1 B2 B3 B4 Запасы
А1 11 75 34 8• 10
А2 3• 4• 23 2• 3
А3 5• 63 9• 104 7
Потребности 1 8 7 4 20
Чтобы проверить план на оптимальность, переходим к шагу 2 второй итерации.

 

22. Находим потенциалы, составляя для каждой базисной клетки уравнение αi + βj = cij. Полагаем α1 =0. Тогда для базисных клеток (1,1), (1,2) и (1,3) имеем: α1 + β1 =1, α1 + β2 =7, α1 + β3 =3, откуда β 1 =1, β 2 =7, β 3 =3.Далее для базисных клеток (1,3), (2,1) и (3,2) имеем: α2 + β3 =2, α2 =2 – β3 =2 – 3= -1; α3 + β2 =6, α3 =6 – β2 =6–7= -1; α3 + β4 =10, β4 =10 – α3 =10+1= 11. 32. Для свободных клеток вычисляем относительные оценки:∆14==8–(11)=-3, ∆21==3–(1-1)=3, ∆22==4–(7-1)=-2, ∆24==2–(11-1)=-8,∆31==5–(1-1)=5, ∆33=9–(3-1)= 7.

42. Условие окончания ∆ij>0 не выполнено: ∆24= –8.

 

52. Для клетки (2,2) построим означенный цикл (табл. 4.16).
Пункты B1 B2 B3 B4 Запасы αi
А1 11 75
+
+
34
8• 10 α1 =0
А2 3• 4• 23 2• 3 α2 =-1
А3 5• 63 9• 104 7 α3 =-1
Потребности 1 8 7 4 20  
βj β1 =1 β2 =7 β3 =3 β4 =11    
62. Находим число θ, равное наименьшему из чисел, стоящих в отрицательных вершинах цикла: θ=min[5,4]=4. Выполним сдвиг по циклу на число θ=4. Результат сдвига (новый план перевозок) представлен в табл. 4.17.Таблица 4.17
Пункты B1 B2 B3 B4 Запасы α
А1 11 71 34 84 10 0
А2 3• 4• 23 2• 3 -1
А3 5• 67 9• 10• 7 -1
Потребности 1 8 7 4 20  
β 1 7 3 8    
Чтобы проверить план на оптимальность, переходим к шагу 2 третьей итерации. 23. Находим потенциалы, полагая α1 =0. α1 + β1 =1, α1 + β2 =7, α1 + β3 =3, α1 + β4 =8: β1 =1, β2 =7, β3 =3, β4 =8; α2 + β3 =2: α2 =-1; α3 + β2 =6: α3 =-1; 33. Вычисляем относительные оценки для свободных клеток:∆21=3, ∆22=-2, ∆24=-5, ∆31=5, ∆33=7, ∆34=3.Условие окончания ∆ij>0 не выполнено: ∆24= –8. Рассчитываем минимальные затраты на транспортировку продукции:

f =1∙1+7∙1+3∙4+8∙4+3∙2+7∙6=100.

Этот план не является максимально оптимальным, но является оптимальнее предыдущих.

 

 

17. Сформулировать алгоритм и осуществить расчет (не более 2-х итераций) решения транспортной задачи методом потенциалов. Исходный опорный план - методом Фогеля. Вектор поставок - (10, 10, 20); Вектор потребления - (10, 8, 2, 20); Матрица стоимостей:

 

 

Штраф — это разность между двумя наименьшими стоимостями в текущей строке(столбце).

Находим в таблице значение максимального штрафа. Это значение 5. Далее находим столбцы и строки, в которых штраф принимает найденное значение. После этого в полученном множестве строк и столбцов находим элемент с наименьшей стоимостью.

 

 

Пункты B1 B2 B3 B4 Запасы Штр.
А1 8• 1• 3• 3• 10 2
А2 2• 7• 2• 6• 10 0
А3 4• 6• 5• 8• 20 1
Потребности 10 8 2 20 40  
Штрафы 2 5 1 3    

 

Сравним значения а1 и b2 Т.к. b2<=a1, то получим X1,2=b2=8

A1=a1-X1,2=10-8=2

Вычеркиваем столбец 2 (потребителя B2 исключаем из рассмотрения)

Найдем штрафы.

 

 

Пункты B1 B2 B3 B4 Запасы Штр.
А1 8• 8 3• 3• 2 0
А2 2• 2• 6• 10 0
А3 4• 5• 8• 20 1
Потребности 10 0 2 20    
Штрафы 2   1 3    

Сравним значения а1 и b4 Т.к. a1<=b4, то получим X1,2=a1=2

 

B4=b4-X1,4=20-2=18 a1=0

Вычеркиваем строку 1 (производителя a1 исключаем из рассмотрения)

Найдем штрафы.

 

 

Пункты B1 B2 B3 B4 Запасы Штр.
А1 8 2 0  
А2 2• 2• 6• 10 0
А3 4• 5• 8• 20 1
Потребности 10 0 2 18    
Штрафы 2   3 2    

 

Сравним значения а2 и b3 Т.к. b3<=a2, то получим X1,2=b3=2

 

A2=a2-X2,3=10-2=8 b3=0

Вычеркиваем столбец 3 (потребителя b3 исключаем из рассмотрения)

Найдем штрафы.

 

Пункты B1 B2 B3 B4 Запасы Штр.
А1 8 2 0  
А2 2• 2 6• 8 0
А3 4• 8• 20 1
Потребности 10 0 0 18    
Штрафы 2     2    

 

 

Сравним значения а2 и b1 Т.к. a2<=b1, то получим X1,2=a2=8

 

B1=b1-X2,1=10-8=2 a2=0

Вычеркиваем строку 2 (производителя a2 исключаем из рассмотрения)

Найдем штрафы.

 

Пункты B1 B2 B3 B4 Запасы Штр.
А1 8 2 0  
А2 8 2 0  
А3 4• 8• 20  
Потребности 2 0 0 18    
Штрафы            

 

Поскольку в таблице осталась одна невычеркнутая строка, то перенесём значения из соответствующих Bj в оставшиеся незаполненные клетки таблицы, при этом значение a3 станет равным 0.

 

 

Пункты B1 B2 B3 B4 Запасы Штр.
А1 8 2 0  
А2 8 2 0  
А3 2 18 0  
Потребности 0 0 0 0    
Штрафы            

 

Все строки и столбцы таблицы вычеркнуты. Значит, получено допустимое базисное решение. Решение является базисным. Среди заполненных клеток нет нулевых элементов, это значит, что решение является невырожденным.

 

Суммарные затраты данного решения F=186.

 

Пункты B1 B2 B3 B4 Запасы
А1 8• 18 3• 32 10
А2 28 7• 22 6• 10
А3 42 6• 5• 818 20
Потребности 10 8 2 20 40

 

Решение методом потенциалов.

 

 

21. Находим потенциалы, составляя для каждой базисной клетки уравнение αi + βj = cij. Полагаем β1 =0. Тогда для базисных клеток (2,1) и (3,1) имеем: Α2 + β1 =3, α3 + β1 =2, откуда α2 =2, α3 =4Далее для базисных клеток (1,3), (2,1) и (3,2) имеем: Α2 + β3 =2, β3 =2 – α2 =2–2= 0. Α3 + β4 =8, β4 =8 – α3 =8–4= 4. α1 + β4 =3, α1 =3 – β4 =3–4= -1; α1 + β2 =1, β2 =1 – α1 =1 +1= 2; 31. Для каждой свободной клетки вычисляем относительные оценки:∆ij= cij –(αi + βj)= cijαiβj11==8–(0-1)=9, ∆13==3–(0-1)=4, ∆22==7–(2+2)=3, ∆24=6–(4+2)=0,∆32==6–(2-4)=8, ∆33=5–(0+4)= 4.

41. Проанализируем относительные оценки. Среди оценок нет отрицательных. Поэтому данный план является оптимальным.

Минимальные затраты на транспортировку продукции:

f =186.

 

 

18. Сформулировать алгоритм и произвести расчет двух итераций для нахождения экстремума (|max|) целевой функции f(x) = 3x13 – x1 – х23 – 3х22 – 1, используя метод пропорционального градиентного поиска, начиная с точки Х0 = (0, 0).

Решение:

Начальный этап. Зададим координаты начальной точки x (0) =(0;0). Выражение для градиента функции в произвольной точке gradf(x1,x2)= (9x12-1;-3x22-6x2)., начальный шаг h0 =1, дробление шага 0,5

Присваиваем k =0.

Значение функции в начальной точке f( x(0) )=f (0;0)=-1. Присваиваем k =0.

Основной этап:

Шаг 10. gradf( x (0))= (-1;0).

Шаг 20. Критерия останова нет. | gradf( x (k)) |=1, переходим к шагу 30.

Шаг 30. Значение шага h0 =1.

Шаг 40. Вычисляем координаты следующей точки:

x (1)= x (0)–h0*gradf( x (0)) =(0;0)-1*(-1:0)=(1;0).

Значение функции в точке x (1) f( x(1) ) = f (0,5;0)=1.

Шаг 50. Проверяем выполнение условия f( x(1) )> f( x(0) ).

Условие для k =0 выполнено (1>-1), поэтому не уменьшаем (дробим) шаг

Шаг 11. В точке x (1) =(0,5;0) вычисляем градиент:

gradf( x (1) = (-0,44;0)

и его длину | gradf( x (1)) |≈0,44.

Шаг 21. Критерия останова нет:.

переходим к шагу 3.

Шаг 31. Значение шага h1 = h0= 1.

Шаг 41. Вычисляем координаты следующей точки:

x (2)= x (1)–h1*gradf( x (1)) =(1; 0) –1*(-0,44;0))=(1,44;0).

Значение функции f( x(2) ) = f (1,44;0)≈6,51.

Шаг 51. Проверяем выполнение условия f( x(2) )< f( x(1) ).

Условие для k =1 выполнено (6,51<1), Присваиваем k:=k+1 =2 и переходим к шагу 12.

Готово. Данная задача не выполняется нормальным образом при дроблении шага. Например возьмем начальный шаг 0,5. Тогда значение функции будет не удовлетворять условию и придется дробить шаг. При 0,25 будет также и т.д. При шаге равном единице условие всегда будет удовлетворяться без дробления, но(!) при следующем шаге значение градиента будет 17,6. И при дроблении никогда не будет выполняться условие для продолжения действий. При шаге равном 0,5, но дроблению равном 2 также не будет выполняться условие, т.к. функция бесконечно растет.

 

19. Сформулировать алгоритм и произвести расчет двух итераций для нахождения экстремума (| max |) целевой функции f (x) = 3 x 13x 1х 23 – 3 х 22 – 1, используя метод наискорейшего подъема (спуска), начиная с точки Х0 = (0, 0).

Решение:

Начальный этап. Зададим координаты начальной точки x (0) =(0;0). Выражение для градиента функции в произвольной точке gradf(x1,x2)= (9x12-1;-3x22-6x2) (см. пример 1).

Присваиваем k =0.

Основной этап:

Шаг 10. В точке х( 0) значение функции f(x( 0))=-1, gradf( x (0))= (-1;0).

Шаг 20. Критерия останова нет. | gradf( x (k)) |=1, переходим к шагу 30.

Шаг 30. Определяем величину шага h0, для чего определим функцию φ(h0). = f ((0;0) -h0* (-1;0))= f (h0;0) =

3 h0 3-h0-1.

Найдем минимум функции φ(h0) по h0:

Отсюда h0@ 0,33.

// это не понял Так как то найденное значение шага обеспечивает минимум функции φ(h0) по h0.

Шаг 40. Определяем координаты точки x (1):

x (1)= x (0)–h0*gradf( x (0)) = (0;0) –0,33*(-1;0)=(0,33;0).

Присваиваем k:=k+1= 1 и переходим к шагу 11.

Шаг 11. В точке x (1)= (0,33;0) значение функции

f(x( 1)) @-1,22,

значение градиента gradf( x (1))= (0,49;0).

Шаг 21. Критерия останова нет. | gradf( x (k)) |=0,49, переходим к шагу 30.

Шаг 31. Определяем величину шага h1, для чего определим функцию φ (h1). = f ((0,33;0)– h1* (0,49;0))=

= f( 0,33-0,49 h1;0) =

=3(0,33-0,49h1)3-(0,33-0,49h1)-1.

Найдем минимум функции φ(h1) по h1:

Отсюда h1@ 1,35.

Шаг 41. Определяем координаты точки x (2):

x (2)= x (1)–h1*gradf( x (1)) = (0,33;0)–1,35*(0,49;0)@(-0,33;0).

Присваиваем k:=k+ 1 = 2 и переходим к шагу 12.

Шаг 12. В точке x (2) = (-0,33;0) значение функции f(x( 2)) @-0,77,

 

20. Сформулировать алгоритм и решить задачу о назначениях венгерским методом (не более 2-х итераций). Матрица эффективности:

Исходная матрица имеет вид:

         
         
         
         
         


Шаг №1.
1. Проводим редукцию матрицы по строкам. В связи с этим во вновь полученной матрице в каждой строке будет как минимум один ноль.

           
           
           
           
           


Затем такую же операцию редукции проводим по столбцам, для чего в каждом столбце находим минимальный элемент.

         
         
         
         
         
         


После вычитания минимальных элементов получаем полностью редуцированную матрицу.
2. Методом проб и ошибок проводим поиск допустимого решения, для которого все назначения имеют нулевую стоимость.
Фиксируем нулевое значение в клетке (1, 5). Другие нули в строке 1 и столбце 5 вычеркиваем.
Фиксируем нулевое значение в клетке (2, 1). Другие нули в строке 2 и столбце 1 вычеркиваем.
Фиксируем нулевое значение в клетке (3, 2). Другие нули в строке 3 и столбце 2 вычеркиваем.
Фиксируем нулевое значение в клетке (4, 3). Другие нули в строке 4 и столбце 3 вычеркиваем.
Фиксируем нулевое значение в клетке (5, 4). Другие нули в строке 5 и столбце 4 вычеркиваем.
В итоге получаем следующую матрицу:

        [0]
[0]   [-0-]    
  [0]      
    [0]    
  [-0-]   [0]  


Количество найденных нулей равно k = 5. В результате получаем эквивалентную матрицу Сэ:

         
         
         
         
         


4. Методом проб и ошибок определяем матрицу назначения Х, которая позволяет по аналогично расположенным элементам исходной матрицы (в квадратах) вычислить минимальную стоимость назначения.

        [0]
[0]   [-0-]    
  [0]      
    [0]    
  [-0-]   [0]  


Cmin = 3 + 3 + 2 + 2 + 5 = 15

 

 

21. Сформулировать алгоритм и решить задачу о назначениях венгерским методом (не более 2-х итераций). Матрица эффективности:

         
         
         
         
         

 


Исходная матрица имеет вид:

         
         
         
         
         


Шаг №1.
1. Проводим редукцию матрицы по строкам. В связи с этим во вновь полученной матрице в каждой строке будет как минимум один ноль.

           
           
           
           
           


Затем такую же операцию редукции проводим по столбцам, для чего в каждом столбце находим минимальный элемент.

         
         
         
         
         
         


После вычитания минимальных элементов получаем полностью редуцированную матрицу.
2. Методом проб и ошибок проводим поиск допустимого решения, для которого все назначения имеют нулевую стоимость.
Фиксируем нулевое значение в клетке (1, 3). Другие нули в строке 1 и столбце 3 вычеркиваем. Для данной клетки вычеркиваем нули в клетках (4; 1).
Фиксируем нулевое значение в клетке (2, 2). Другие нули в строке 2 и столбце 2 вычеркиваем. Для данной клетки вычеркиваем нули в клетках (4; 1).
Фиксируем нулевое значение в клетке (3, 5). Другие нули в строке 3 и столбце 5 вычеркиваем. Для данной клетки вычеркиваем нули в клетках (4; 1).
Фиксируем нулевое значение в клетке (4, 4). Другие нули в строке 4 и столбце 4 вычеркиваем. Для данной клетки вычеркиваем нули в клетках (4; 1).
В итоге получаем следующую матрицу:

    [0]    
  [0]      
  [-0-]     [0]
[-0-]     [0]  
    [-0-]    


Поскольку расположение нулевых элементов в матрице не позволяет образовать систему из 5-х независимых нулей (в матрице их только 4), то решение недопустимое.
3. Проводим модификацию матрицы. Вычеркиваем строки и столбцы с возможно большим количеством нулевых элементов:
строку 3, столбец 3, строку 4, столбец 2
Получаем сокращенную матрицу (элементы выделены):

         
         
         
         
         


Минимальный элемент сокращенной матрицы (min(7, 2, 5, 4, 4, 4, 5, 2, 2) = 2) вычитаем из всех ее элементов:

         
         
         
         
         


Затем складываем минимальный элемент с элементами, расположенными на пересечениях вычеркнутых строк и столбцов:

         
         
         
         
         


Шаг №2.
1. Проводим редукцию матрицы по строкам. В связи с этим во вновь полученной матрице в каждой строке будет как минимум один ноль.
Затем такую же операцию редукции проводим по столбцам, для чего в каждом столбце находим минимальный элемент.
После вычитания минимальных элементов получаем полностью редуцированную матрицу.
2. Методом проб и ошибок проводим поиск допустимого решения, для которого все назначения имеют нулевую стоимость.
Фиксируем нулевое значение в клетке (1, 3). Другие нули в строке 1 и столбце 3 вычеркиваем.
Фиксируем нулевое значение в клетке (2, 2). Другие нули в строке 2 и столбце 2 вычеркиваем.
Фиксируем нулевое значение в клетке (3, 5). Другие нули в строке 3 и столбце 5 вычеркиваем.
Фиксируем нулевое значение в клетке (4, 1). Другие нули в строке 4 и столбце 1 вычеркиваем.
Фиксируем нулевое значение в клетке (5, 4). Другие нули в строке 5 и столбце 4 вычеркиваем.
В итоге получаем следующую матрицу:

    [0] [-0-]  
  [0]      
        [0]
[0]     [-0-]  
    [-0-] [0] [-0-]


Количество найденных нулей равно k = 5. В результате получаем эквивалентную матрицу Сэ:

         
         
         
         
         


4. Методом проб и ошибок определяем матрицу назначения Х, которая позволяет по аналогично расположенным элементам исходной матрицы (в квадратах) вычислить минимальную стоимость назначения.

    [0] [-0-]  
  [0]      
        [0]
[0]     [-0-]  
    [-0-] [0] [-0-]


Cmin = 1 + 2



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 672; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.193.207 (0.194 с.)