Результат выполнения лабораторной работы
T 1. m
function y=t1(x)
y=-(cos((x-0.5))/abs(x));
end
Main.m
clc, clear, close all
N =8;
nvars = 1; % число переменных x
Xmin(1) = -10;
Xmax(1) = 10;
PIR = [Xmin(1);Xmax(1)];
options = gaoptimset;
options = gaoptimset(options,'PopInitRange', PIR);
options = gaoptimset(options,'PopInitRange', []);
options = gaoptimset(options,'PopulationSize', 100);
options = gaoptimset(options,'EliteCount', 5);
options = gaoptimset(options,'CrossoverFraction', 0.8);
options = gaoptimset(options,'ParetoFraction', 0.05);
options = gaoptimset(options,'MigrationDirection', 'both');
options = gaoptimset(options,'MigrationInterval', 1);
options = gaoptimset(options,'MigrationFraction', 1);
options = gaoptimset(options,'Generations',1);
options = gaoptimset(options,'TimeLimit', 400);
options = gaoptimset(options,'StallGenLimit', 50);
options = gaoptimset(options,'StallTimeLimit', 600);
options = gaoptimset(options,'TolFun', 1e-6);
options = gaoptimset(options,'TolCon', 1e-6);
options = gaoptimset(options,'InitialPopulation', []);
options = gaoptimset(options,'InitialScores', []);
options = gaoptimset(options,'InitialPenalty', []);
options = gaoptimset(options,'PenaltyFactor', []);
options = gaoptimset(options,'DistanceMeasureFcn', []);
options = gaoptimset(options,'HybridFcn', []);
options = gaoptimset(options,'Display', 'iter');
options = gaoptimset(options,'PlotFcns', { @gaplotbestf });
options = gaoptimset(options,'PlotInterval', 1);
for k=1:1:N
[X(k,:),Fval(k)]=ga(@t1,nvars,[],[],[],[],Xmin(1),Xmax(1),[],options);
end
X3=(-10:0.01:10);
F=-(cos(X3-0.5)./abs(X3));
plot(X3,F,X,Fval,'ok')
Generations=1
f(x)= -53.4311
X = -0.1566
Generations=5
F(x)= -478.8461
X=-0.0614
Generations=10
X = -0.0155
F ( x )= -1.7783 e +03
Вывод: Чем больше поколений и особей в популяции, тем больше требуется времени для нахождения результата. С большим количеством поколений результат все ближе к реальному.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего образования
|
|
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 43 |
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
Проф., доктор тех. наук | Скобцов Ю.А. | |||
должность, уч. степень, звание | подпись, дата | инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №2 |
Оптимизация многомерных функций с помощью ГА |
по дисциплине: ЭВОЛЮЦИОННАЯ МЕТОДОЛОГИЯ В ПРОГРАММНОЙ ИНЖЕНЕРИИ |
РАБОТУ ВЫПОЛНИЛ(А)
СТУДЕНТ(КА) ГР. | Z7430m | А.С. Хромцова | |||
номер группы | подпись, дата | инициалы, фамилия | |||
Студенческий билет № | 2017/2649 |
Санкт-Петербург 2019
Общие сведения
При работе с оптимизационными задачами в непрерывных пространствах вполне естественно представлять гены напрямую вещественными числами. В этом случае хромосома есть вектор вещественных чисел. Их точность будет определяться исключительно разрядной сеткой той ЭВМ, на которой реализуется real-coded алгоритм. Длина хромосомы будет совпадать с длиной вектора-решения оптимизационной задачи, иначе говоря, каждый ген будет отвечать за одну переменную. Генотип объекта становится идентичным его фенотипу. Вышесказанное определяет список основных преимуществ real-coded алгоритмов:
|
|
1. Использование непрерывных генов делает возможным поиск в
больших пространствах (даже в неизвестных), что трудно делать в случае
двоичных генов, когда увеличение пространства поиска сокращает точ-
ность решения при неизменной длине хромосомы.
2. Одной из важных черт непрерывных ГА является их способность к
локальной настройке решений.
3. Использование RGA для представления решений удобно, поскольку
близко к постановке большинства прикладных задач. Кроме того, отсут-
ствие операций кодирования/декодирования, которые необходимы в BGA,
повышает скорость работы алгоритма.
Появление новых особей в популяции канонического ГА обеспечивают несколько биологических операторов: отбор, скрещивание и мутация. В качестве операторов отбора особей в родительскую пару здесь подходят любые известные из BGA: рулетка, турнирный, случайный. Однако операторы скрещивания и мутации в классических реализациях работают с битовыми строками. Необходимы реализации, учитывающие специфику realcoded алгоритмов.
|
|
Также рекомендуется использовать стратегию элитизма – лучшая особь сохраняется отдельно и не стирается при смене эпох, принимая при этом участие в отборе и рекомбинации
Цель работы
Модификация представления хромосомы и операторов рекомбинации ГА для оптимизации многомерных функций. Графическое отображение результатов оптимизации.
Дата добавления: 2019-03-09; просмотров: 429; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!