Автор работы: Пользователь скрыл имя, 28 Октября 2013 в 23:13, курсовая работа
Цели моей курсовой работы следующие:
сбор и анализ литературных источников по данной теме;
изучение особенностей создания и использования генетических алгоритмов;
моделирование работы генетического алгоритма на компьютере применимого к нахождению решений задач оптимизации.
ВВЕДЕНИЕ 3
1.1. ИСТОРИЯ 5
1.2 СИМВОЛЬНАЯ МОДЕЛЬ ПРОСТОГО ГА 6
1.3 ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ 7
ГЛАВА 2 АЛГОРИТМ РАБОТЫ 8
2.1. СХЕМА РАБОТЫ ГЕНЕТИЧЕСКОГО АЛГОРИТМА 8
2.2 ОТБОР 9
2.3 СКРЕЩИВАНИЕ 10
2.3 МУТАЦИЯ 11
2.4 КРИТЕРИИ ОСТАНОВА 12
ГЛАВА 3 ЧИСЛЕННЫЙ ЭКСПЕРИМЕНТ 13
3.1 МИНИМИЗАЦИЯ ФУНКЦИИ ШВЕФЕЛЯ 13
3.2 РЕШЕНИЕ ЗАДАЧИ О РАНЦЕ 16
ГЛАВА 4 РЕЗУЛЬТАТЫ ЧИСЛЕННОГО ЭКСПЕРИМЕНТА 21
4.1 МИНИМИЗАЦИЯ ФУНКЦИИ ШВЕФЕЛЯ 21
4.2 РЕШЕНИЕ ЗАДАЧИ О РАНЦЕ 22
ЗАКЛЮЧЕНИЕ 23
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 24
Найдем глобальный минимум ,в том случае когда все переменные в интервале (-500.0; 500.0). И будем искать его прямым перебором m значений функции для m значений каждого аргумента на заданных интервалах [3]:
Этап 1: поиск минимумов на первоначально заданной грубой сетке итерациями. На каждой итерации сетка сдвигается случайно в пределах начальных значений шага ячейки;
Этапы 2,3,...: на каждом этапе область определения уменьшается и строится всё более мелкая сетка. Область определения охватывает лишь точки с минимумами. Каждый этап - это такие же итерации, что и на первом этапе.
Этапы продолжаются,
пока модуль разницы между предыдущим
и очередным значением
Используя следующие начальные параметры (Рисунок 7):
Рисунок 7
Результаты полученных расчетов можно увидеть на рисунке 8, и соответствующий график минимумов представлен на рисунке 9.
Рисунок 8
Рисунок 9
Постановка задачи:
1929 год. В США великая
депрессия, введен сухой закон.
2. Решение задачи.
Решим данную задачу о ранце методом ветвей и границ.
Данная задача является задачей о ранце вида:
, (1)
где критерием является функция
, (2)
которая может быть устремлена и к максимуму, и к минимуму.
Для начала составим следующую математическую модель:
Пусть – j-тый город, откуда соответственно . При этом, если в j-тый город будет разгружаться алкогольная продукция, то , иначе . Другим ограничением будет являться суммарное расстояние до порта с грузом. Таким образом:
;
Целевой функцией или критерием будет являться максимальная благодарность сограждан:
.
Далее отбираем порты по приоритетности, т.е. в порядке убывания отношения :
(3); (2); (4); (1); (5).
После этого определяем начальный план следующим образом: пусть , поскольку отношение наибольшее, и следовательно продажа спиртного в Нью-Йорке даст наибольшую прибыль при наименьших затратах, которые зависят от расстояния. Вычитая из суммарного расстояния расстояние до порта мы получим расстояние, которое разделяется между остальными городами, т.е.:
, ;
Аналогично рассуждая, далее получаем:
, ;
, ;
В последнем случае оставшееся после других городов расстояние меньше 500 миль, поэтому будет дробным: , => .
Таким образом, начальный опорный план: .
Значение целевой функции: .
Но обязательно целое. Поэтому чтобы определить, чему все же равен : 0 или 1 вычислим следующие значения:
;– целая часть критерия
при существующем опорном
;– значение критерия при целочисленном опорном плане, т.е. .
Множество D, которому принадлежит имеет , . Разделим его на 2 подмножества, такие что:
;
- здесь .
- здесь .
1) Анализ множества D1.
Поскольку целевая функция и ограничения будут иметь вид:
Строим новый опорный план:
, ;
, ;
, ;
Т.к. , поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
, при .
2) Анализ множества D2.
Поскольку целевая функция и ограничения будут иметь вид:
=> .
Строим новый опорный план:
, ;
, ;
Т.к. , поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
, при .
3) Отсев неперспективного подмножества.
.
Так как и больше Rec, то оба подмножества можно считать перспективными, но поскольку , то далее мы будем исследовать подмножество D2. Разделим его на 2 подмножества, такие что:
;
- здесь .
- здесь .
4) Анализ множества D3.
Поскольку , целевая функция и ограничения будут иметь вид:
.
Строим новый опорный план:
, ;
, ;
Т.к. , поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
, при .
5) Анализ множества D4.
Поскольку , целевая функция и ограничения будут иметь вид:
=> .
Строим новый опорный план:
, ;
Т.к. , поэтому будет дробным: , => .
Таким образом, новый опорный план: .
;
, при .
6) Отсев неперспективного подмножества.
.
Так как и больше Rec, то оба подмножества можно считать перспективными, но поскольку , то далее мы будем исследовать подмножество D3. Разделим его на 2 подмножества, такие что:
;
- здесь .
- здесь .
7) Анализ множества D5.
Поскольку , , целевая функция и ограничения будут иметь вид:
.
Строим новый опорный план, очевидно: . При , ограничение выполняется всегда.
;
, при .
8) Анализ множества D6.
Поскольку , , целевая функция и ограничения будут иметь вид:
.
Ограничение несовместное, поскольку даже при оно не выполняется. Следовательно множество D6 не существует.
Таким образом, оптимальным планом данной задачи будет: , то есть алкоголь выгоднее всего поставлять в 3 города: Детройт, Вашингтон и Нью-Йорк. При этом прибыль составит 8700 долл.
ГЛАВА 4 РЕЗУЛЬТАТЫ ЧИСЛЕННОГО ЭКСПЕРИМЕНТА
4.1 МИНИМИЗАЦИЯ ФУНКЦИИ ШВЕФЕЛЯ
Нахождения минимума функции Швефеля с применением генетического алгоритма будем выполнять при следующих начальных условиях:
// Количество хромосом (неизвестных в функции Швефеля)
int chromosomesCount = 15;
// Максимальное количество поколений (итераций)
int maxGeneration = 10000;
// Максимальное количество
поколений (итераций) при постоянном
значении целевой функции.
int maxEqualGeneration = 300;
// Если на очередной
итерации целевая функция
меньшее ил равное minDelta, то считаем, что целевая функция не изменилась.
double minDelta = 1e-8;
// Максимальный размер популяции
int populationMaxSize = 100;
// Вероятность мутации
double mutationPossibility = 0.1;
// Вероятность скрещивания
double crossPossibility = 0.9;
// Интервал изменений хромосом
double chromoMinVal = -500;
double chromoMaxVal = 500;
При этом получим следующий результат (Рисунок 10):
Рисунок 10
4.2 РЕШЕНИЕ ЗАДАЧИ О РАНЦЕ
На следующем рисунке (Рисунок 11) приведено решение данной задачи с применением генетического алгоритма:
Рисунок 11
В данной программе были использованы следующие начальные данные :
// число особей в популяции
public static int populationCount = 200;
// максимальный вес, который может содержатьcя в рюкзаке
public static double maxWeightKnapsack = 1000;
// массив из элементов, положить в рюкзак
public static Item[] items = new Item[]{
new Item(250,2000),
new Item(300,3000),
new Item(500,2500),
new Item(100,3200),
new Item(600,1800) };
// вероятность (в процентах) мутации
public static double mutationLikelihood = 0.9;
// Число лиц, участвующих в турнире выбора
public static int tournamentParticipantsCount = 5;
// Число "поколений".
public static int maxIterations = 200;
ЗАКЛЮЧЕНИЕ
В ходе данной курсовой работы были рассмотрены основные понятия, история становления, область применения и некоторые особенности генетических алгоритмов.
Можно выделить следующие преимущества генетических алгоритмов:
1) Генетические алгоритмы
являются универсальным
2) ГА хорошо применимы
к задачам оптимизации в
3) Генетические алгоритмы имеют множество модификаций и сильно зависят от параметров. Зачастую небольшое изменение одного из них может привести к неожиданному улучшению результата
4) Они достаточно просты в реализации, но при этом могут быть использованы для широкого класса задач.
Однако генетический алгоритм не гарантирует обнаружения глобального решения за приемлемое время и что найденное решение будет оптимальным решением. Еще генетический алгоритм имеет ряд ограничений применимости.
На основе рассмотренных принципов и особенностей были построены генетические алгоритмы, позволяющий находить минимум целочисленной функции и находить оптимальное решение задачи о ранце.
Проведённые численные эксперименты
подтвердили способность
Таким образом, генетические
алгоритмы являются универсальным
и эффективным средством
http://ru.wikipedia.org/wiki/ Генетический_алгоритм #cite_note-book-0. – Дата доступа: 30.10.2012
Информация о работе Приминение генетического алгоритма при решения задач безусловной оптимизации