Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Пример (задача 3_1)

Пять булочных небольшого городка обслуживает хлебобулочный комбинат, который, арендуя пять автомобилей, ежедневно поставляет в каждую булочную заказанную продукцию, причем объем продукции всегда соответствует максимальной загрузке автомобиля (таким образом, использование одного авто для попутной доставки в несколько булочных исключается). Специалист отдела логистики лично проехал между всеми этими объектами и занес в таблицу реальное расстояние между i-й и j-й булочными (если между ними есть дорога): т. о. были учтена дорожная ситуация. Найти оптимальный путь от комбината к каждой из булочных. Критерий: минимизация расходов на транспортировку, соответствующих пройденному расстоянию. Рассчитать минимально возможные ежедневные расходы комбината на транспорт, если учитывается только эксплуатации груженого автотранспорта (от комбината до булочной).

В составленной специалистом таблице под №6 указан сам хлебобулочный комбинат.

1

2

3

4

5

6

1

0

5

4

12

1

нет

2

5

0

3

10

6

13

3

4

3

0

6

13

22

4

1

8

8

0

6

12

5

4

9

3

8

0

10

6

нет

13

24

14

20

0


Пример решения задачи 3.1

Инициализация:

(i=6, metka[6]=1):

№элемента

1

2

3

4

5

6

Массив Metka

0

0

0

0

0

1

Массив Pred_num

6

6

6

6

6

6

Массив Curr_dist

нет

13

24

14

20

0

Общий шаг:

Запускаем цикл от 1 до 5.

1.  Возьмем наиболее близкую к нужной и еще неотмеченную вершину, это вершина №2 (j=2)

НЕ нашли? Не то? Что вы ищете?

1.1.Пометим ее как рассмотренную metka[2]:=1

1.2.В цикле по k от 1 до 6 сравним d[i,j]+d[j,k] и d[i,k], т. е. в данном случае curr_dist[2]+d[2,k] и curr_dist[k] (иными словами здесь сравнивается кратчайший из известных путей 2 от вершины 6 через вершину №2 к остальным вершинам и прямой путь от вершины №6 к остальным, т. е. на первом шаге тот, что был первоначально записан в матрице D)

при k=1: curr_dist[2]+d[2,1]=13+5=18, curr_dist[1]=¥, 18<¥ Þ 18 Þ curr_dist[1]:=18, pred_num[1]:=2

при k=2: curr_dist [2]+d[2,2]=13+0=13, curr_dist [2]=13 Þ никаких изменений

при k=3: curr_dist [2]+d[2,3] =13+3=16, curr_dist [3]=24, 16<24 Þ curr_dist[3]:=16, pred_num [3]:=2

при k=4: curr_dist [2]+d[2,4] =13+10=23, curr_dist [4]=14 Þ никаких изменений

при k=5: curr_dist [2]+d[2,5] =13+6=19, curr_dist [5]=20, 19<20 Þ curr_dist[5]:=17, pred_num [5]:=2

при k=6: curr_dist [2]+d[2,6] =13+13=26, curr_dist [6]=0 Þ никаких изменений

№элемента

1

2

3

4

5

6

Массив Metka

0

1

0

0

0

1

Массив Pred_num

2

6

2

6

2

6

Массив Curr_dist

18

13

16

14

17

0

2.  Возьмем наименьшую из неотмеченных вершин, это №4 (j=4)

2.1.Пометим ее как рассмотренную metka[4]:=1

2.2.В цикле по k от 1 до 6 сравним curr_dist[4]+d[4,k] и curr_dist[k] (иными словами здесь сравниваются наименьшие из известных путей от вершины 6 через вершину №4 к остальным вершинам и наиболее короткий известный путь от №6 к остальным)

при k=1: curr_dist [4]+d[4,1] =14+1=15, curr_dist [1]=18 Þ curr_dist [1]:=15, pred_num [1]:=4

при k=2: curr_dist [4]+d[4,2] =14+8=22, curr_dist [2]=13 Þ никаких изменений

при k=3: curr_dist [4]+d[4,3] =14+8=22, curr_dist [3]=16 Þ никаких изменений

при k=4: curr_dist [4]+d[4,4] =14+0=14, curr_dist [4]=14 Þ никаких изменений

при k=5: curr_dist [4]+d[4,5] =14+6=20, curr_dist [5]=17 Þ никаких изменений

при k=6: curr_dist [4]+d[4,6] =14+12=26, curr_dist [6]=0 Þ никаких изменений

№элемента

1

2

3

4

5

6

Массив Metka

0

1

0

1

0

1

Массив Pred_num

4

6

2

6

2

6

Массив Curr_dist

15

13

16

14

17

0

3.  Возьмем неотмеченную вершину, теперь это вершина №1 (j=1)

3.1.Пометим ее как рассмотренную metka[1]:=1

3.2.В цикле по k от 1 до 6 сравним curr_dist [1]+d[1,k] и curr_dist [k] (иными словами здесь сравниваются наименьшие из известных путей от вершины 6 через вершину №1 к остальным вершинам и наиболее короткий известный путь от №6 к остальным)

при k=1: curr_dist [1]+d[1,1] =15+0=15, curr_dist [1]=15 Þ никаких изменений

при k=2: curr_dist [1]+d[1,2] =15+5=20, curr_dist [2]=13 Þ никаких изменений

при k=3: curr_dist [1]+d[1,3] =15+4=19, curr_dist [3]=16 Þ никаких изменений

при k=4: curr_dist [1]+d[1,4] =15+12=27, curr_dist[4]=14 Þ никаких изменений

при k=5: curr_dist [1]+d[1,5] =15+1=16, curr_dist [5]=17 Þ curr_dist [5]:=16, pred_num [5]:=1

при k=6: curr_dist [1]+d[1,6] =15+¥=¥, curr_dist [6]=0 Þ никаких изменений

№элемента

1

2

3

4

5

6

Массив Metka

1

1

0

1

0

1

Массив Pred_num

4

6

2

6

1

6

Массив Curr_dist

15

13

16

14

16

0

4.  Возьмем неотмеченную вершину, например №5 (j=5)

4.1.Пометим ее как рассмотренную metka[5]:=1

4.2.В цикле по k от 1 до 6 сравним curr_dist [5]+d[5,k] и curr_dist [k] (иными словами здесь сравниваются наименьшие из известных путей от вершины 6 через вершину №5 к остальным вершинам и наиболее короткий известный путь от №6 к остальным)

при k=1: curr_dist [5]+d[5,1] =16+4=20, curr_dist [1]=15 Þ никаких изменений

при k=2: curr_dist [5]+d[5,2] =16+9=25, curr_dist [2]=13 Þ никаких изменений

при k=3: curr_dist [5]+d[5,3] =16+3 =19, curr_dist [3]=16 Þ никаких изменений

при k=4: curr_dist [5]+d[5,4] =16+8=24, curr_dist [4]=14 Þ никаких изменений

при k=5: curr_dist [5]+d[5,5] =16+0=16, curr_dist [5]=16 Þ никаких изменений

при k=6: curr_dist [5]+d[5,6] =16+¥=¥, curr_dist [6]=0 Þ никаких изменений

№элемента

1

2

3

4

5

6

Массив Metka

1

1

0

1

1

1

Массив Pred_num

4

6

2

6

1

6

Массив Curr_dist

15

13

16

14

16

0

5.  Возьмем последнюю вершину №3 (j=3)

5.1.Пометим ее как рассмотренную metka[3]:=1

5.2. Очевидно, что поскольку в массиве curr_dist путей больше 16 не осталось, тогда как curr_dist[3]=16, то дальнейшее улучшение результата невозможно.

№элемента

1

2

3

4

5

6

Массив Metka

1

1

1

1

1

1

Массив Pred_num

4

6

2

6

1

6

Массив Curr_dist

15

13

16

14

16

0

Вывод:

Путь от 6 до 1: pred_num[1]=4, pred_num[4]=6, pred_num[6]=0. Длина=curr_dist[1]=15. Сам путь (6,4,1).

Путь от 6 до 2: pred_num[2]=6, pred_num[6]=0. Длина=curr_dist[2]=13. Сам путь (6,2).

Путь от 6 до 3: pred_num[3]=2, pred_num[2]=6, pred_num[6]=0. Длина=curr_dist[3]=16. Сам путь (6,2,3).

Путь от 6 до 4: pred_num[4]=6, pred_num[6]=0. Длина=curr_dist[4]=14. Сам путь (6,4).

Путь от 6 до 5: pred_num[5]=1, pred_num[1]=4, pred_num[4]=6, pred_num[6]=0. Длина=curr_dist[5]=16. Сам путь (6,4,1,5).