Результат выполнения лабораторной работы



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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!