лекция- колесо рулетки с элитизмом и без
Работа добавлена на сайт samzan.net: 2015-07-05
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
Оглавление
1. Исследуемая функция 2
2. Построение графика функции 2
3. Параметры популяции 2
4. Выполнение генетического алгоритма 3
5. Функция fminbnd 9
6. Вывод 9
Исследуемая функция
Программный код соответствующего М-файла, описывающего функцию:
function y = bulokhoff(x)
y= -(pi*x*sin(10*pi*x)-1.2*(x^2));
Построение графика функции
x = 1: 0.001: 2;
y = -(pi.*x.*sin(10*pi*x)-1.2*(x.^2));
plot(x,y);
Параметры популяции
Численность популяции: варьируется (20, 100, 500).
Селекция: колесо рулетки с элитизмом и без.
Скрещивание: двухточечное.
Выполнение генетического алгоритма
Опыт 1:
- Численность популяции: 20.
- Метод селекции: колесо рулетки с элитизмом.
- Число элитных осыбей: 1.
- Скрещивание: двухточечное.
- Найденное значение функции: -2.05199 в точке.
- Достигается в точке: 1.25.
- Число итераций: 22.
Опыт 2:
- Численность популяции: 100.
- Метод селекции: колесо рулетки с элитизмом.
- Число элитных осыбей: 5.
- Скрещивание: двухточечное.
- Найденное значение функции: -2.05199 в точке.
- Достигается в точке: 1.25.
- Число итераций: 24.
Опыт 3:
- Численность популяции: 500.
- Метод селекции: колесо рулетки с элитизмом.
- Число элитных осыбей: 24.
- Скрещивание: двухточечное.
- Найденное значение функции: -2.05199 в точке.
- Достигается в точке: 1.25.
- Число итераций: 11.
Опыт 4:
- Численность популяции: 20.
- Метод селекции: колесо рулетки.
- Скрещивание: двухточечное.
- Найденное значение функции: -2.05199 в точке.
- Достигается в точке: 1.25.
- Число итераций: 11.
Опыт 5:
- Численность популяции: 100.
- Метод селекции: колесо рулетки.
- Скрещивание: двухточечное.
- Найденное значение функции: -2.05199 в точке.
- Достигается в точке: 1.25.
- Число итераций: 21.
Опыт 6:
- Численность популяции: 500.
- Метод селекции: колесо рулетки.
- Скрещивание: двухточечное.
- Найденное значение функции: -2.05199 в точке.
- Достигается в точке: 1.25.
- Число итераций: 6.
Функция fminbnd
function f = myfun1(x)
f = -(pi*x*sin(10*pi*x)-1.2*(x^2));
x = fminbnd(@myfun1,1,2)
x = 1.6498
Вывод
Большая численность популяции влияет на время выполнения алгоритма, число итераций при этом уменьшается.