Студопедия — Реалізація програми, що реалізує розв’язання задачі комівояжера за допомогою генетичного алгоритму
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Реалізація програми, що реалізує розв’язання задачі комівояжера за допомогою генетичного алгоритму






 

4.1 Проектування алгоритму програмного модуля

Схему генетичного алгоритму схематично можна представити таким чином:

1. Згенерувати випадковим чином набір початкових рішень, який називається популяцією, розміру P. Популяція є множиною бітових рядків для генетичного алгоритму і множиною символьних рядків для еволюційних алгоритмів. Кожен рядок представлений у закодованому вигляді одним з можливих рішень задачі (в загальному випадку далеко не оптимальним) і називається хромосомою. Хромосоми еволюціонують протягом множини ітерацій, які носять назву поколінь (або генерацій).

2. Вичислити цільову функцію для кожного рядку (кожної хромосоми) популяції. На кожній ітерації кожна хромосома оцінюється за допомогою деякої міри відповідності, яку називають функцією пристосованості.

3. Виконати операцію селекції. Нова генерація формується шляхом вибору деяких батьків і нащадків згідно значенням функції пристосованості і знищення інших для залишення постійним розміру популяції.

4. Виконати операцію схрещування.

5. Виконати операцію мутації. Для створення нової генерації нові хромосоми, що називаються нащадками, формуються або шляхом схрещування двох батьківських хромосом з попередньої генерації, або шляхом випадкової зміни (мутації або інверсії) однієї хромосоми.

6. Якщо критерії зупинки не досягнуто, перейти до кроку 2, інакше закінчити роботу.

Загальна схема генетичного алгоритму наведена на рисунку 4.1 [7].

 

Рисунок 4.1 – Схема генетичного алгоритму

Хромосоми з більшим значенням функції відповідності мають більше шансів вижити (бути відібраними для нової генерації). Після декількох ітерацій алгоритм збігається до кращої хромосоми, яка є або оптимальним, або близьким до оптимального рішенням.

Основна частина програми складається з кількох основних функцій, які виконуються циклічно стільки разів, скільки вказано ітерацій.

Отже алгоритм роботи програми наступний:

1. Генерація матриці вартостей проїзду між містами.

2. Отримання кількості ітерацій роботи програми n.

3. Генерація початкової популяції турів.

4. Визначення вартостей турів.

5. Сортування турів по вартості.

6. Схрещування.

7. Сортування турів по вартості.

8. Мутація.

9. Сортування турів по вартості.

10. Додавання до лічильника одиниці k = k + 1.

11. Перевірка лічильника; якщо k = n – п.6, інакше п.12.

12. Виведення результату.

 

4.2 Розробка програми розв'язку задачі комівояжера

Генетичний алгоритм, який використовується в даній роботі для розв’язання задачі комівояжера, має наступну схематичну структуру (рис 4.2).

Слід зауважити, що кожний структурний елемент схеми реалізований у вигляді окремої функції або ряду функцій, серед яких є основні та додаткові.

Наведемо приклади основних функцій, які реалізовані в даному програмному модулі:

 

Рисунок 4.2 – Схема генетичного алгоритму

- функція, яка генерує матрицю вартостей проїзду між містами. При цьому враховується, що вартість переїзду з міста 1 в місто 2 дорівнює вартості переїзду з міста 2 в місто 1;

- функція, яка сортує маршрути популяції за зростанням їх вартості. В результаті її роботи найкращий на дану ітерацію тур займає перше місце в множині можливих варіантів турів;

- функція, яка виконує випадкову зміну випадкової кількості генів в заданій кількості хромосом початкової популяції;

- функція, що виконує схрещування двох випадково вибраних хромосом у випадковій точці. Принцип роботи функції простий: нова хромосома формується до

точки розриву з елементів батьківської хромосоми 1, а після з елементів батьківської хромосоми 2. Інша дочірня хромосома формується аналогічним чином;

- функція перевірки хромосом на можливість схрещування у випадковій точці. Дві випадкові хромосоми до та після точки розриву можуть містити однакові елементи, що недопустимо при формуванні туру (кожне місто слід відвідати лише один раз).

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

 








Дата добавления: 2015-09-15; просмотров: 471. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия