Автор работы: Пользователь скрыл имя, 18 Сентября 2013 в 14:31, курсовая работа
В современных условиях развития каждое предприятие стремится с наименьшими затратами функционировать в сложившихся условиях с целью получения высоких доходов. Экономико-математические задачи о назначениях позволяют найти оптимальный вариант размещения одного кандидата на выполнение одной работы таким образом, чтобы минимизировать суммарные затраты по выполнению комплекса работ группой исполнителей. Также возможны некоторые модификации задачи о назначениях: во-первых, она иногда формулируется как задача максимизации (например, суммарного дохода от назначения всех исполнителей на работы); во-вторых, штатный состав организации может быть представлен большим количеством исполнителей, нежели количество работ, на которые должны быть назначены или, наоборот, большее количество работы, при недостаточном количестве исполнителей для ее выполнения; в-третьих, выполнение какой-либо работы по каким-либо причинам запрещается исполнять какому-либо работнику. В такой постановке данная задача относится к классу комбинаторных, решение которых путем прямого перебора невозможно при достаточно больших n, так как число вариантов назначений составляет n!.
1 Введение. 3
2 Анализ и постановка задачи 5
3 Разработка алгоритма 7
3.1 Кодирование решения 8
3.2 Генерация начальной популяции 9
3.3 Оператор кроссинговера 9
3.4 Оператор мутации 10
4 Разработка программного продукта 12
5 Экспериментальное исследование результатов 13
6 Заключение. 16
7 Список использованной литературы 17
Рисунок 3 Графовое решение
Для анализа работы алгоритма необходимо исполнить несколько серий экспериментов отличающихся размером начальной популяции и количеством генерации.
Таблица 1
Результаты экспериментальных исследований
Вероятность |
Результат – ЦФ на итерации |
Лучшее значение ЦФ | |||
Кроссинговера |
Мутации |
10 |
20 |
50 | |
0.5 |
0.5 |
525 |
721 |
515 |
587 |
0.7 |
0.5 |
784 |
758 |
665 |
735,6 |
0.5 |
0.7 |
800 |
764 |
575 |
713 |
0.7 |
0.7 |
778 |
761 |
634 |
724,3 |
0.9 |
0.9 |
641 |
743 |
726 |
703,3 |
Анализируя полученные результаты можно прийти к выводу, что наилучшими значениями вероятностей оказались {0.5, 0.5}.
Допустим, количество групп людей и рабочих мест 100, мощность начальной популяции - 100, количество итераций – 50.
Таблица 2
Результаты экспериментальных исследований
Вероятность |
Результат – ЦФ на итерации |
Среднее значение | |||
Кроссинговера |
Мутации |
10 |
20 |
50 | |
0.5 |
0.5 |
754 |
658 |
725 |
712,3333 |
0.7 |
0.5 |
721 |
752 |
712 |
728,3333 |
0.5 |
0.7 |
698 |
525 |
614 |
612,3333 |
0.7 |
0.7 |
745 |
652 |
744 |
713,6667 |
0.9 |
0.9 |
698 |
740 |
721 |
719,6667 |
При таком наборе начальных условий достаточно хороший результат был получен и при вероятностях {0.5,0.7}.
Допустим, количество групп людей и рабочих мест 150, мощность начальной популяции - 2000, количество итераций – 50.
Таблица 3
Результаты экспериментальных исследований
Вероятность |
Результат – ЦФ на итерации |
Среднее значение | |||
Кроссинговера |
Мутации |
10 |
20 |
50 | |
0.5 |
0.5 |
4521 |
4152 |
5424 |
4699 |
0.7 |
0.5 |
3698 |
4165 |
2888 |
3583,667 |
0.5 |
0.7 |
3254 |
2547 |
2145 |
2648,667 |
0.7 |
0.7 |
3989 |
5844 |
2999 |
4277,333 |
0.9 |
0.9 |
3678 |
2989 |
2664 |
3110,333 |
При таком наборе начальных условий достаточно хороший результат был получен и при вероятностях {0.5,0.7}.
После проведения опытов, один из них я представила в виде графика зависимости значения ЦФ от итерации.
Рисунок 4
Перед выполнением данной
курсовой работы ставились задачи исследования
генетического алгоритма, подтверждение
рациональности его использования
и решение практической задачи. Рассматриваемая
задача в курсовой работе – задача
о назначениях. Она может быть
решена многими традиционными
В проекте был реализован простой генетический алгоритм, решающий данную задачу и улучшающий ее решение. Работа была основана на выполнении цикла лабораторных работ, и является логически завершенным проектом. Выполнение алгоритма основано на использовании операторов кроссинговера, мутации, селекции для поиска оптимального решения.
Таким образом, основываясь на экспериментальные данные, можно сделать вывод ГА работает оптимально с большим объемом данных, показывает необходимые результаты быстро и точно. И в завершении работы стоит отметить перспективность использования таких алгоритмов. Они могут позволить быстро и качественно оптимизировать решения из-за основных отличий и преимуществ перед традиционными алгоритмами.