42068

Определение кратчайшего пути между вершинами ориентированного графа с циклами

Лабораторная работа

Информатика, кибернетика и программирование

Длины дуг могут определять различные характеристики: расстояние стоимость время пропускную способность и т. Определить наикратчайший путь между вершиной 1 и вершиной 7 на графе с циклами представленном на рис. Рис. Матрица транспортных расходов соответствующая данному графу представлена на рис.

Русский

2013-10-27

2.43 MB

64 чел.

Лабораторная работа 3_2. Определение кратчайшего пути между вершинами ориентированного графа с циклами.

Сеть (граф) состоит из множества вершин (узлов) и множества дуг (ребер), соединяющих вершины. Длины дуг могут определять различные характеристики: расстояние, стоимость, время, пропускную способность и т.д. С помощью сетевых моделей можно поставить и решить большое число практически важных задач ИО. Такие задачи можно сформулировать решить как задачи линейного программирования. Но, учитывая их специфику, разработаны более эффективные методы решения.

Пример. Определить наикратчайший путь между вершиной 1 и вершиной 7 на графе с циклами, представленном на рис.1.

Рис.1

Для решения задачи в процедуре EXCEL «Поиск решения», представим ее как транспортную задачу с промежуточными пунктами. Будем считать, что транспортные расходы при перевозке одной единицы груза равны (в условных единицах) расстояниям между вершинами. Одна единица груза отправляется из вершины 1 (исходный пункт) и должна прибыть в вершину 7 (пункт назначения). Вершины 2, 3, 4, 5, 6 рассматриваются как промежуточные пункты, которые являются одновременно и исходными пунктами и пунктами назначения.

Требуется определить такую последовательность вершин, по которым должна перемещаться единица груза, отправленная из вершины 1, при которой стоимость транспортных расходов будет минимальна и груз попадет в вершину 7.

Так как транспортные расходы при перемещении груза из одной вершины в другую равны расстоянию между вершинами, то последовательность вершин, при которой транспортные расходы будут минимальными, определяет наикратчайший путь из вершину 1 в вершину 7. Матрица транспортных расходов, соответствующая данному графу, представлена на рис.2.


Исходные

пункты

Пункты назначения

Количество груза

2

3

4

5

6

7

отправ. из пункта

1

2

4

4

3

М

М

1

2

0

М

3

М

2

М

0

3

М

0

5

9

М

М

0

4

5

4

0

5

14

М

0

5

М

4

3

0

4

25

0

6

6

М

13

6

0

4

0

Колич. груза прибыв.в пункт

0

0

0

0

0

1

Рис.2

Буквой М обозначается случай, когда между соответствующими вершинами нет пути. В качестве М берут число, значительно большее самого большего пути. В данной задаче наибольший путь между 5-й и 7-ой вершинами, поэтому можно взять, например, М=50. Для промежуточных пунктов 2, 3, 4, 5, 6 должны быть предусмотрены буферные емкости В. Буферная емкость должна быть не меньшей, чем количество груза, которое перемещается в сети, описываемой графом. В данной задаче В=1. После введения буферных емкостей в первый столбец и нижнюю строку таблицы и замены М=50, получим транспортную задачу, представляющую задачу о назначениях (Рис.3).

Исходные

Пункты назначения

Количество груза

пункты

2

3

4

5

6

7

отправ. из пункта

1

2

4

4

3

50

50

1

2

0

50

3

50

2

50

1

3

50

0

5

9

50

50

1

4

5

4

0

5

14

50

1

5

50

4

3

0

4

25

1

6

6

50

13

6

0

4

1

Колич. груза прибыв.в пункт

1

1

1

1

1

1

Рис.3

Последовательные преобразования матрицы транспортных расходов показаны на рис.4а, 4б, 4в.

2

3

4

5

6

7

2

3

4

5

6

7

1

2

4

4

3

50

50

0

2

2

1

48

48

2

0

50

3

50

2

50

0

50

3

50

2

50

3

50

0

5

9

50

50

50

0

5

9

50

50

4

5

4

0

5

14

50

5

4

0

5

14

50

5

50

4

3

0

4

25

50

4

3

0

4

25

6

6

50

13

6

0

4

6

50

13

6

0

4

Рис. 4а

Рис. 4б

2

3

4

5

6

7

2

3

4

5

6

7

1

0

2

2

1

48

44

0

1

1

0

47

43

2

0

50

3

50

2

46

0

49

2

49

1

45

3

50

0

5

9

50

46

51

0

5

9

50

46

4

5

4

0

5

14

46

6

4

0

5

14

46

5

50

4

3

0

4

21

51

4

3

0

4

21

6

6

50

13

6

0

0

6

50

13

6

0

0

Рис. 4в

Рис.5

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

На рис.6 приведены окончательные результаты преобразования и результаты допустимого выбора из множества нулей.

0

0

0

0

46

42

0

48

1

48

0

44

52

0

5

10

50

46

7

4

0

6

14

46

51

3

2

0

3

20

8

50

13

7

0

0

Рис.6

Перенеся эти результаты на исходную таблицу (рис.2), получим новую таблицу (рис.7).

Исход.

Пункты назначения

Количество груза

пункты

2

3

4

5

6

7

отправ. из пункта

1

2

4

4

3

М

М

1

2

0

М

3

М

2

М

0

3

М

0

5

9

М

М

0

4

5

4

0

5

14

М

0

5

М

4

3

0

4

25

0

6

6

М

13

6

0

4

0

Колич. груза прибыв.в пункт

0

0

0

0

0

1

Рис.7

Наикратчайший путь из вершины 1 в вершину 7 определяется следующей траекторией:

1 2 6 7

Длина наикратчайшего пути равна: 2+2+4=8.

II. Решение задачи в процедуре EXCEL  «Поиск решения»

1) Ввод данных. Переносим данные задачи в EXCEL. Результаты заполнения таблицы EXCEL можно увидеть на рис.8:

Рис.8

В ячейках B4:G9 введены длины путей из исходных пунктов в пункты назначения.

Ячейки B12:G17 являются изменяемыми ячейками для нашей процедуры.

В ячейках B18:G18 находятся суммы значений соответствующих столбцов изменяемых ячеек.

в ячейке B18 находится сумма ячеек B12:B17;

в С18 находится сумма ячеек С12:С17;

в D18 находится сумма ячеек D12:D17;

в E18 находится сумма ячеек E12:E17;

в F18 находится сумма ячеек F12:F17;

в G18 находится сумма ячеек G12:G17.

В ячейках H12:H17 находятся суммы значений соответствующих строк изменяемых ячеек.

в ячейке H12 находится сумма ячеек B12 : G12;

в H13 находится сумма ячеек B13:G13;

в H14 находится сумма ячеек B14:G14;

в H15 находится сумма ячеек B15:G15;

в H16 находится сумма ячеек B16:G16;

в H17 находится сумма ячеек B17:G17.

Целевая функция заносится в ячейку I3 и вычисляется по формуле «СУММПРОИЗВ (B4:G9 ; B12:G17)».

2) Заполнение окна процедуры «Поиск решения». 

целевая функция : I3;

значение целевой функции : min;

изменяемые ячейки: B12:G17;

ограничения задачи :

B18:G18 = 1 и H12:H17 = 1;

B12 : G17  0 (ячейки должны иметь положительные значения).

В окне «Параметры» установить «Линейная модель», что соответствует решению задачи симплекс-методом. Результаты заполнения окна показаны на рис.9:

Рис.9

  1.  Выполнив процедуру «Поиск решения» в первоначальной таблице (рис. 8) получим следующие результаты (рис.10):

Рис. 10

Путь минимальной длины:1 2 6 7, длина = 8. Эти результаты совпадают с решением данной задачи преобразованием матрицы транспортных расходов, приведенным выше.

Контрольные упражнения.  Задания.

  1.  Представить задачу об определении кратчайшего пути как транспортную с промежуточными пунктами.  Составить матрицу задачи и решить ее как транспортную, используя  процедуру поиска решения Excel/
  2.  Рассмотреть задачу из п.1 как задачу о назначениях и решить ее, используя преобразование матрицы стоимости.


Варианты

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15


 

А также другие работы, которые могут Вас заинтересовать

51550. Дослідження роботи напівпровідникових діодів 84 KB
  Перед початком роботи необхідно: перевірити наявність та надійність захисного заземлення устаткування; перевірити стан електричного шнура та вилки; перевірити справність вимикачів та інших органів управління ПЕОМ;
51552. В рідній школі – рідне слово 430 KB
  Вірші українських поетів. Для їх проведення складені картки для вчителя і для учнів Вірші для вчителя Вірші для учнів де розміщені уривки з різних віршів відповідно розділам і тематики підручника. Етапи роботи Пропонуємо учням ознайомитися з карткою віршів. Особливо добре зустрічають учні знайомі вірші які вони читали чи вчили раніше.
51554. Сценарий нового года для 5-11 классов 67 KB
  Галя: да ничего а где Маша Саша: она пошла папу и Николая Олександровича искать. после этого идет погода потихоньку все уходят первыми уходят Коля и Петр потом Маша и Саша остаются только Галя и Таня они с удивлением смотрят погоду Погода: Я Дмитрий Джуджула и прогноз погоды на завтра я расскажу вам какими будут температура и ветер внимательно послушайте что вам следует что бы у вас самих не было высокой температуры и ветров:1 гидрамикробинзофикат калия если у вас сильный кашель температура сорок и вам за семьдесят то...
51556. Программные средства учебного назначения и тенденции их развития 55.5 KB
  Демонстрационные программы предназначены для обучения теоретическому материалу. Контролирующие программы Эти программы можно использовать в любой дисциплине при сходном рубежном или итоговом контроле знаний. Обучающие программы Программы данного типа особенно эффективны когда изучаемый материал можно разбить на небольшие порции поддающихся контролю. Профессиональные программы Эти программы применяются для предоставления учащимся самостоятельной уч.
51557. Створення блогу в Інтернеті 38 KB
  Зареєструйте власну безкоштовну поштову скриньку на сервері служби Gmаil. Для цього з порталу пошукової системи Google клацніть мишою на верхній панелі Google на надпис Gmаil або знайдіть в Інтернеті цю саму стартову сторінку поштової служби Gmil . Для цього посиланням Зареєструватися в Gmаil створіть свій аккаунт обліковий запис. На стартовій сторінці Gmаil буде вікно в яке треба ввести свої дані: Імя Андрій Прізвище Колос Імя скриньки на сервері gmil.
51558. У чому виявляється милосердя 13.67 MB
  Мета уроку. Навчити учнів пояснювати поняття милосердя альтруїзм егоїзм; наводити приклади милосердя у вчинках висловлювати власне розуміння милосердя та співчуття характеризувати прояви егоїзму у власній поведінці та поведінці інших; формувати навички проявів альтруїзму; розвивати потреби гуманістичної спрямованості; виховувати гуманізм. Засоби мультимедіа вислови про милосердя ілюстрації до теми. Проблемні питання запис на дошці: Що таке милосердя Кого називають альтруїстом а кого ―...