Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ВЫБОР ОПТИМАЛЬНОГО МАРШРУТА

.doc
Скачиваний:
10
Добавлен:
17.11.2019
Размер:
710.14 Кб
Скачать

15

ВЫБОР ОПТИМАЛЬНОГО МАРШРУТА

Враховуючи те, що круїз е круговим, в якості методу оптимізації обираємо методи рішення «задачі комівояжера».

Постановка завдання задачі комівояжера полягає в наступному.

Мається 8 портів, відстані між ними (табл.1) задані у вигляді матриці

C = (cij), де i.j = ( 1…n ). В таблиці 1 кожному порту призначено номер від одиниці до восьми.

Таблиця 1 Відстані між портами лінії

Порти виходу

Порти заходу

Одесса (1)

Афины(2)

Неаполь

(3)

Барселона

(4)

Валлетта

(5)

Алек-я

(6)

Хайфа

(7)

Стамбул

(8)

Одеса (1)

652

1314

1800

1204

1077

1184

298

Афіни (2)

652

737

1323

626

519

285

354

Неаполь (3)

1314

737

558

325

999

1270

971

Барселона (4)

1800

1323

558

671

1472

1750

1487

Валлетта (5)

1204

626

325

671

818

1033

860

Александрія (6)

1077

519

999

1472

818

235

733

Хайфа (7)

1184

285

1270

1750

1033

235

247

Стамбул (8)

298

354

971

1467

860

733

247

Кожне значення cij є відстанями між вихідним портом i та портом заходу j, тому їх величини не можуть мати від’ємного значення, тому cij 0, .

В загальному випадку cij cji ( наприклад коли cji - є вартість проїзду з міста j в місто i, яке не дорівнює переїзду з міста i в місто j ). Така задача вважається несиметричною. Враховуючи особливості роботи морського транспорту та географічне розташування портів круїзу, наша задача має симетричний характер, тобто cij = cji.

Треба знайти найратчайший замкнутий маршрут, який проходить через кожен порт тільки один раз с поверненням в перший базовий порт і який мінімізує сумарну пройдену відстань.

Математична постанова завдання може бути представлена в наступному вигляді:

; (1)

(2)

(3)

Xij (4)

Визначення!!!

Приведення матриці С може бути здійснено наступним чином:

Крок1-Приведення по строкам. По кожній строчці і знайдемо найменший елемент min Cij = ai. Тоді при переході до приведеної матриці . Ця операція потребує , на наш погляд, пояснень. Здавалось би логічним . виключати найбілішу відстань згідно з умовами постанови задачі, але у такому випадку всі останні елементи строчки будуть мати від’ємні значення, що порушує обмеження (4). Обрані значення ai відображаються у заключному стовбці приведеної матриці табл.2.

Крок 2. У кожному стовбці j, який не має нульових елементів знаходимо найменше значення Cij= bj, яке відображаємо у заключній строчці bj приведеної матриці ,табл..3.

Тоді Результати першого кроку відображено в табл..2

Порти виходу

ИСХОДНАЯ ТАБЛИЦА

Одесса (1)

Афины(2)

Неаполь

(3)

Барселона

(4)

Валлетта

(5)

Алек-я

(6)

Хайфа

(7)

Стамбул

(8)

Одеса (1)

652

1314

1800

1204

1077

1184

2 98

Афіни (2)

652

737

1323

626

519

2 85

354

Неаполь (3)

1314

737

558

3 25

999

1270

971

Барселона (4)

1800

1323

5 58

671

1472

1750

1487

Валлетта (5)

1204

626

325

671

818

1033

860

Александрія (6)

1077

519

999

1472

818

235

733

Хайфа (7)

1184

285

1270

1750

1033

235

247

Стамбул (8)

298

354

971

1467

860

733

247

Табл.2

Матриця, приведена по рядках (строках)

1

2

3

4

5

6

7

8

ai

1

354

1016

1502

906

779

886

0

298

2

367

452

1038

341

234

0

69

285

3

989

412

233

0

674

945

646

325

4

1242

765

0

113

914

1192

909

558

5

879

301

0

346

493

708

535

325

6

842

284

764

1237

583

0

498

235

7

949

5 0

1035

1515

798

0

12

235

8

5 1

107

724

1220

613

486

0

247

bj

2508

Результати кроку 2 відображено в табл.3, яка представляє першу приведену матрицю G0.

Табл.3 Приведена матриця G0

1

2

3

4

5

6

7

8

ai

1

304

1016

1269

906

779

886

0 - 316

298

2

316

452

805

341

234

0 - 69

69

285

3

938

362

0 - 113

0-113

674

945

646

325

4

1191

715

0-113

113

914

1192

909

558

5

828

251

0-113

113

493

708

535

325

6

791

234

764

1004

583

0-234

498

235

7

898

0 - 57

1035

1282

798

0-234

12

235

8

0-316

57

724

987

613

486

0 - 0

247

bj

51

50

0

233

0

0

0

0

2842

Згідно з теоремою Ейлера, яка стверджує, що коли ми відраховуємо любу константу із усіх елементів строки чи стовпця матриці Сij, ми залишаємо мінімальний тур мінімальним.

На пересечінні ітогової строки i та стовбця j знаходиться величина, яка має назву – «сума приводящих констант», яка дорівнює:

(4)

Дані, наведені у таблиці 3, визначимо як матрицю G0, що визначає нову задачу комівояжера, яка в якості оптимального варіанту має ту саму послідовність портів.

Між величинами L , існує наступне співвідношення.

L= + S (5)

Таким чином, L , що визначає S як нижню межу цільової функції задачі комівояжера.

Знаходимо ступені кожного з нулів повністю приведеної матриці.

Для цього для кожної клітки з нульовим елементом по відповідним строчці та стовбцю знаходимо мінімальні значення Сij. Сума цих елементів визначить ступінь нулю, яка записана через дефіс поряд з нулем праворуч.

Клітка з максимальною ступеню нуля визначить дугу, згідно з якою буде виконуватись подальше гілкування.

Визначаємо максимальний ступінь нуля. Вона рівна 316 і відповідає кліткам (1-8) і (8-1). Обираємо клітку (1-8). Таким чином, претендентом на включення в гамільтонов контур є дуга (1-8).

Розбиваємо безліч всіх гамільтонових контурів на дві підмножини: G1 і G2. Матрицю з дугою (1-8) одержуємо шляхом викреслювання рядка 1 і стовпця 8 (табл.4). Щоб не допускати утворення негамільтонового контуру (зациклювання), замінюємо елемент (8-1) на знак « ».

Таблиця 4 Матриця G1 (включає дугу 1-8- исчезли 1-я строка и 8 столбец)

1

2

3

4

5

6

7

2

316

452

805

341

234

0

3

938

362

0

0

674

945

4

1191

715

0

113

914

1192

5

828

251

0

113

493

708

6

791

234

764

1004

583

0

7

898

0

1035

1282

798

0

8

57

724

987

613

486

0

Підмножина G2, навпаки, виключає дугу (1-8). Для цього замінюємо елемент (1-8) в таблиці 3 на знак « ». Матриця G2 відображена в таблиці 5.

Графічно це показано на рис.1.

Таблиця 5 Матриця G2 (виключає дугу 1-8)

1

2

3

4

5

6

7

8

1

304

1016

1269

906

779

886

2

316

452

805

341

234

0

69

3

938

362

0

0

674

945

646

4

1191

715

0

113

914

1192

909

5

828

251

0

113

493

708

535

6

791

234

764

1004

583

0

498

7

898

0

1035

1282

798

0

12

8

0

57

724

987

613

486

0