Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГТК-УМК-2008.doc
Скачиваний:
16
Добавлен:
23.11.2019
Размер:
687.62 Кб
Скачать

3.3. Задания на лабораторную работу и методические указания к её выполнению

  1. Задание на лабораторную работу

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

Транспортная сеть города и расстояния между соседними пунктами известны, рис. 6. Требуется определить кратчайшее расстояние и путь следования от пункта Аi последовательно до пунктов Аj

Рис.6. Транспортная сеть города и расстояния между пунктами (км)

Номер начального пункта iопределяется последней цифрой шифра студента (если последняя цифра шифра 9, принимается i1=8, если последняя цифра шифра 0, принимается i=1). Номера конечных пунктов j принимаются по табл. 1 по предпоследней цифре шифра студента.

Таблица 1

Номера конечных пунктов j транспортной сети

Показатель

Предпоследняя цифра шифра студента (варианты)

1

2

3

4

5

6

7

8

9

0

Номер конечного пункта маршрута

1

1

1

1

1

1

1

1

1

1

--,,--

2

3

3

2

2

4

2

2

4

3

--,,--

3

4

4

6

4

5

7

5

5

4

--,,--

8

5

7

7

6

6

8

8

7

6

--,,--

5

8

8

3

8

8

5

4

8

7

--,,--

7

7

5

8

5

7

3

7

2

2

Например, если две последние цифры шифра студента 79, то i=8 j=1,2,7,8,5,3 (табл. 1, вариант 7). Если две последние цифры 58, то i=8, j=1,2,4,6,8,5 (табл.1, вариант 5).

Основные требования по оформлению лабораторной работы следующие:

- пишется на одной стороне стандартных листов формата А4, все листы, начиная с титульного, нумеруются. Листы должны быть сброшинрованы;

- схема и таблицы выполняются на отдельных листах, сноски и пояснения делаются внизу под схемой и таблицей;

-разделы должны иметь сквозную нумерацию, оглавление в лабораторной работе необязательно;

- лабораторная работа выполняется по вариантам. Работа, выполненная не по варианту, к защите не принимается и не засчитывается.

2. Математическая постановка задачи о кратчайшем пути

и метод её решения

Пусть задана транспортная сеть, состоящая из пунктов А1, А2…, Аi…, Аm и дорог, соединяющих эти пункты между собой. Длины участков дороги между каждой парой соседних пунктов Аi Аj известны и равны ljj. Если два соседних пункта Аi и Аj непосредственно не соединены между собой участком дороги, то принимаем ljj= ∞. Из начального пункта А1 в конечный пункт Аm можно попасть по большому числу маршрутов, проходящих через разные промежуточные пункты. Требуется найти среди этих маршрутов путь наименьшей протяженности [13].

Переведём задачу на формальный язык. Обозначим каждый участок сети между двумя соседними пунктами Аi и Аj числом xij= 1, если он является звеном выбранного маршрута движения из Аi в Аm и xij=0, если он не входит в этот маршрут. Тогда задача отыскания кратчайшего пути из Аi в Аm сводится к выбору чисел xij (i, j = 1, 2, …, m), при которых достигает минимума линейная форма

m n

∑ ∑ ijxij (1)

i=1 j=1

при условии

m

∑ (xij - xji) = 0, i =2, 3, …, m -1; (2)

j=1

m

∑ (xij - xji) = 1; (3)

j=1

m

∑ (xmj – xjm) = -1; (4)

j=1

0≤ Xij ≤ 1, i, j = 1,2……………m (5)

Линейная форма (1) определяет длину маршрута между начальным и конечным пунктами. Условия (2) означают, что для любого пункта маршрута Аi, исключая начальный и конечный, число дорог, входящих в этот пункт, равно числу дорог, выходящих из него. Поскольку lji>0 для всех I и j, условия (2) вместе с требованием минимизации линейной формы (1) означают, что из каждого пункта Аi (i=2, 3, …, m -1) выходит не более одной дороги. Условия (3)_ фиксируют тот факт, что количество дорог, выходящих из начального пункта маршрута Аi превышает на единицу число дорог, входящих в этот пункт. Аналогично условия (4) указывают на то, что в последний пункт Аm входит на одну дорогу больше, чем выходит. Условия (3) и (4) вместе с условиями (2) и требованием минимизации линейной формы (1) означают, что в каждый пункт маршрута входит ровно одна дорога и из каждого пункта маршрута исходит ровно одна дорога. Наконец, условия (5) требуют, чтобы все xij были равны нулю или единице. В целом соотношения (1)-(5) представляют собой определение кратчайшего пути на сети дорог между двумя заданными пунктами.

Параметры lji при необходимости могут означать не только расстояния, но и продолжительности проезда по участкам сети или стоимости пробега автомобиля.

Поскольку условия задачи записаны в виде линейных уравнений и неравенства, а критерий показателя качества решения выражается линейно, сформулированная задача является задачей линейного программирования. Рассмотрим процесс решения этой задачи с помощью метода потенциалов.

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

Таблица 2

Пункт

Вспомо-

гатель-

ные

Пункт

А1

А2

Аj

Аm

с трока

столбец

υ1

υ2

υj

υm

А1

u1

l11

l12

l1j

l1m

А2

u2

l21

l22

l2j

l2m

Аi

ui

li1

li2

lij

lim

Аm

um

lm1

lm2

lmj

lmm

заносят расстояния lji от каждого пункта Аi ((i=1, 2, …, m ) до всех соседних с ним пунктов Аi ((i=1, 2, …, m ). После этого для каждого пункта Аi и Аj рассчитывают индексы ui и υj следующим образом. Индекс ui принимают равным нулю (ui =0). Затем по порядку, начиная с первой строки таблицы рассматривают клетки с заполненными lji . Если для некоторой заполненной клетки (I, j) индекс ui уже известен, а υj - ещё нет, то определяют υj по формуле

υj= ui+ lji . (6)

Если при определении очередного υj в i-м столбце имеется более одной клетки с записанными lji и известными ui , то принимают

υj = min (ui+ lj) . (7)

Найденные значения υj записывают в соответствующие клетки вспомогательной строки, а также в клетки вспомогательного столбца, исходя из правила: u1= υ1, u2= υ2, … um= υm. После определения всех индексов υj и ui проверяют оптимальность данного решения, сравнивая все lji с их разностями (υj- ui). Если для всех заполненных клеток соблюдается условие

lij ≥υj- υj (8)

то решение оптимально и каждое найденное число υj дает кратчайшее расстояние от пункта А1 до соответствующего пункта Аi, до соответствующего пункта Аj (i=1,2,…m). При наличии хотя бы одной клетки с величиной lijj- ui, решение неоптимально и вычисления необходимо продолжить.

Предположим, что в клетке Аi n Аj n нарушено условие оптимальности (8), т.е.

li njn< υ i n- ui n.

В этих условиях необходимо изменить решение следующим образом. Индекс υ j n заменяют индексом υ` i n величину которого определяют по формуле

υ i n= υ i n+ li njn.

На каждой итерации корректируют индексы υj у всех клеток с lij< υj- ui после чего решение снова проверяют на оптимальность. Вычисления повторяют до тех пор, пока в таблице не будет выполнено условие оптимальности (8).

При определении кратчайших расстояний от пункта А2 до всех остальных принимают u2=0, после чего находят все индексы и выполняют все описанные выше вычисления. При определении кратчайших расстояний от пункта А3 до всех остальных принимают u3=0 и т.д.