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

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). При наличии хотя бы одной клетки с величиной lij <υj- 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 и т.д.