Автор работы: Пользователь скрыл имя, 10 Ноября 2011 в 11:33, дипломная работа
С оптимизацией человек сталкивается постоянно в своей жизни, порой даже не замечая этого. Он выбирает, на каких станциях метро нам лучше пересесть в другой поезд, чтобы добраться до места назначения быстрее и с меньшим числом пересадок. Казалось бы, простая задача, с которой каждый справляется с большим или меньшим успехом. Но даже это простой пример показывает, как неоднозначен выбор. Приходиться проводить оптимизацию по двум критериям – время и количество пересадок. А если таких критериев не 2, а несколько десятков, причём один критерий зависит от определённого количества других, то тут уже не так просто справиться с задачей, найти лучшее сочетание значений этих критериев. Не помогает даже большой опыт человека в области, в которой решается задача оптимизации.
ВВЕДЕНИЕ 3
1. ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ 7
1.1. История появления эволюционных алгоритмов 7
1.2. Общие сведения о ГА 9
1.3. Модели генетических алгоритмов 13
1.4. Другие пути решения задач оптимизации 17
1.5. Применение генетических алгоритмов 21
1.6. Постановка задачи 24
2. ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ ЗАДАЧ СОСТАВЛЕНИЯ УЧЕБНЫХ ПЛАНОВ 25
2.1. Учебные планы нового поколения. Общие сведения 25
2.2. Формирование рабочих учебных планов 27
2.3. Формирование учебных планов на основе генетических алгоритмов 31
2.4. Соответствие терминов биологии и предметной области 34
3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ ГЕНЕРАЦИИ УЧЕБНЫХ ПЛАНОВ 36
3.1. Выбор языка программирования. Pascal ABC 36
3.2. Функциональная схема работы программы 38
3.3. Описание fitness-функции 42
3.4. Генерация вариативных наборов 44
3.5. Описание констант и переменных программы 46
3.6. Описание функций программы 47
3.7. Результат работы программы 49
ЗАКЛЮЧЕНИЕ 51
Список используемой литературы 52
end
else begin
b3:=num_weeks*2;
p3:=num_weeks;
b4:=num_weeks*3;
p4:=num_weeks*2;
end;
end;
42,51,54 : begin
b1:=num_weeks*2;
p1:=num_weeks;
b2:=num_weeks*2;
p2:=num_weeks*2;
if v[1].h_laborat=num_weeks then
begin
b3:=num_weeks*3;
p3:=num_weeks*2;
end
else begin
b3:=num_weeks*3;
p3:=num_weeks;
end;
b4:=0; p4:=0;
end; end;
N:=n_v; j:=0;
for i:=1 to N do
begin
CopyDisc(v[i],v[N+i+j]);
v[N+i+j].number:=N+i+j; inc(n_v);
v[N+i+j].h_lection:=b1;
v[N+i+j].h_practical:=p1; inc(j);
CopyDisc(v[i],v[N+i+j]);
v[N+i+j].number:=N+i+j;
inc(n_v);
v[N+i+j].h_lection:=b2;
v[N+i+j].h_practical:=p2;
writeln (N+i+j,'-', v[N+i+j].h_lection,' ',v[N+i+j].h_practical);
if b3<>0 then
begin
inc(j);
CopyDisc(v[i],v[N+i+j]);
v[N+i+j].number:=N+i+j; inc(n_v);
v[N+i+j].h_lection:=b3;
v[N+i+j].h_practical:=p3;
end;
if b4<>0 then
begin
inc(j);
CopyDisc(v[i],v[N+i+j]);
v[N+i+j].number:=N+i+j; inc(n_v);
v[N+i+j].h_lection:=b4;
v[N+i+j].h_practical:=p4;
end;
end;
end;
{если лек и лаб+прак }
if (v[1].h_laborat<>0)and(v[1].h_
begin
if (v[1].h_lection=num_weeks) and (v[1].h_laborat=num_weeks) and (v[1].h_practical=num_weeks) then
begin
b1:=num_weeks*2;
l1:=num_weeks;
p1:=num_weeks;
b2:=0; l2:=0; p2:=0;
b3:=0; l3:=0; p3:=0;
end;
if (v[1].h_lection=num_weeks*2) and (v[1].h_laborat=num_weeks)
and (v[1].h_practical=num_weeks) then
begin
b1:=num_weeks;
l1:=num_weeks;
p1:=num_weeks;
b2:=num_weeks*3;
l2:=num_weeks;
p2:=num_weeks;
b3:=0; l3:=0; p3:=0;
end;
if (v[1].h_lection=num_weeks*3) and (v[1].h_laborat=num_weeks)
and (v[1].h_practical=num_weeks) then
begin
b1:=num_weeks*2;
l1:=num_weeks;
p1:=num_weeks;
b2:=0; l2:=0; p2:=0;
b3:=0; l3:=0; p3:=0;
end;
if (v[1].h_lection=num_weeks*3) and (v[1].h_laborat=num_weeks*2)
and (v[1].h_practical=num_weeks) then
begin
b1:=num_weeks*2;
l1:=num_weeks;
p1:=num_weeks;
b2:=num_weeks*3; l2:=num_weeks; p2:=num_weeks;
b3:=num_weeks*3; l3:=num_weeks; p3:=num_weeks*2;
end;
if (v[1].h_lection=num_weeks*3) and (v[1].h_laborat=num_weeks)
and (v[1].h_practical=num_weeks*2) then
begin
b1:=num_weeks*2;
l1:=num_weeks;
p1:=num_weeks;
b2:=num_weeks*3;
l2:=num_weeks;
p2:=num_weeks;
b3:=num_weeks*3; l3:=num_weeks*2; p3:=num_weeks;
end;
N:=n_v; j:=0;
for i:=1 to N do
begin
CopyDisc(v[i],v[N+i+j]);
v[N+i+j].number:=N+i+j; inc(n_v);
v[N+i+j].h_lection:=b1;
v[N+i+j].h_laborat:=l1;
v[N+i+j].h_practical:=p1;
if b2<>0 then
begin
inc(j);
CopyDisc(v[i],v[N+i+j]);
v[N+i+j].number:=N+i+j;
v[N+i+j].h_lection:=b2;
v[N+i+j].h_laborat:=l2; v[N+i+j].h_practical:=p2;
end;
if b3<>0 then
begin
inc(j);
CopyDisc(v[i],v[N+i+j]);
v[N+i+j].number:=N+i+j; inc(n_v);
v[N+i+j].h_lection:=b3;
v[N+i+j].h_laborat:=l3;
v[N+i+j].h_practical:=p3;
end;
end;
end;
end;
При количестве 36 часов
1 1 Интелектуальные_системы СД.Ф. 36 18 18 140 54 54 5 TRUE TRUE FALSE FALSE TRUE FALSE .
1 2 Интелектуальные_системы СД.Ф. 36 18 18 140 54 54 5 TRUE FALSE FALSE FALSE TRUE FALSE .
1 3 Интелектуальные_системы СД.Ф. 36 18 18 104 54 54 4 FALSE TRUE FALSE FALSE TRUE FALSE .
1 4 Интелектуальные_системы СД.Ф. 36 18 18 140 54 54 5 TRUE TRUE TRUE FALSE FALSE FALSE .
1 5 Интелектуальные_системы СД.Ф. 36 18 18 140 54 54 5 TRUE TRUE FALSE TRUE FALSE FALSE .
1 6 Интелектуальные_системы СД.Ф. 36 18 18 140 54 54 5 TRUE TRUE FALSE FALSE FALSE TRUE .
1 7 Интелектуальные_системы СД.Ф. 36 18 18 140 54 54 5 TRUE FALSE TRUE FALSE FALSE FALSE .
1 8 Интелектуальные_системы СД.Ф. 36 18 18 140 54 54 5 TRUE FALSE FALSE TRUE FALSE FALSE .
1 9 Интелектуальные_системы СД.Ф. 36 18 18 140 54 54 5 TRUE FALSE FALSE FALSE FALSE TRUE .
1 10 Интелектуальные_системы СД.Ф. 36 18 18 104 54 54 4 FALSE TRUE TRUE FALSE FALSE FALSE .
1 11 Интелектуальные_системы СД.Ф. 36 18 18 104 54 54 4 FALSE TRUE FALSE TRUE FALSE FALSE .
1 12 Интелектуальные_системы СД.Ф. 36 18 18 104 54 54 4 FALSE TRUE FALSE FALSE FALSE TRUE .
1 13 Интелектуальные_системы СД.Ф. 18 18 18 140 54 54 5 TRUE TRUE FALSE FALSE TRUE FALSE .
1 14 Интелектуальные_системы СД.Ф. 54 18 18 140 54 54 5 TRUE TRUE FALSE FALSE TRUE FALSE .
1 15 Интелектуальные_системы СД.Ф. 18 18 18 140 54 54 5 TRUE FALSE FALSE FALSE TRUE FALSE .
1 16 Интелектуальные_системы СД.Ф. 54 18 18 140 54 54 5 TRUE FALSE FALSE FALSE TRUE FALSE .
1 17 Интелектуальные_системы СД.Ф. 18 18 18 104 54 54 4 FALSE TRUE FALSE FALSE TRUE FALSE .
1 18 Интелектуальные_системы СД.Ф. 54 18 18 104 54 54 4 FALSE TRUE FALSE FALSE TRUE FALSE .
1 19 Интелектуальные_системы СД.Ф. 18 18 18 140 54 54 5 TRUE TRUE TRUE FALSE FALSE FALSE .
1 20 Интелектуальные_системы СД.Ф. 54 18 18 140 54 54 5 TRUE TRUE TRUE FALSE FALSE FALSE .
1 21 Интелектуальные_системы СД.Ф. 18 18 18 140 54 54 5 TRUE TRUE FALSE TRUE FALSE FALSE .
1 22 Интелектуальные_системы СД.Ф. 54 18 18 140 54 54 5 TRUE TRUE FALSE TRUE FALSE FALSE .
1 23 Интелектуальные_системы СД.Ф. 18 18 18 140 54 54 5 TRUE TRUE FALSE FALSE FALSE TRUE .
1 24 Интелектуальные_системы СД.Ф. 54 18 18 140 54 54 5 TRUE TRUE FALSE FALSE FALSE TRUE .
1 25 Интелектуальные_системы СД.Ф. 18 18 18 140 54 54 5 TRUE FALSE TRUE FALSE FALSE FALSE .
1 26 Интелектуальные_системы СД.Ф. 54 18 18 140 54 54 5 TRUE FALSE TRUE FALSE FALSE FALSE .
1 27 Интелектуальные_системы СД.Ф. 18 18 18 140 54 54 5 TRUE FALSE FALSE TRUE FALSE FALSE .
1 28 Интелектуальные_системы СД.Ф. 54 18 18 140 54 54 5 TRUE FALSE FALSE TRUE FALSE FALSE .
1 29 Интелектуальные_системы СД.Ф. 18 18 18 140 54 54 5 TRUE FALSE FALSE FALSE FALSE TRUE .
1 30 Интелектуальные_системы СД.Ф. 54 18 18 140 54 54 5 TRUE FALSE FALSE FALSE FALSE TRUE .
1 31 Интелектуальные_системы СД.Ф. 18 18 18 104 54 54 4 FALSE TRUE TRUE FALSE FALSE FALSE .
1 32 Интелектуальные_системы СД.Ф. 54 18 18 104 54 54 4 FALSE TRUE TRUE FALSE FALSE FALSE .
1 33 Интелектуальные_системы СД.Ф. 18 18 18 104 54 54 4 FALSE TRUE FALSE TRUE FALSE FALSE .
1 34 Интелектуальные_системы СД.Ф. 54 18 18 104 54 54 4 FALSE TRUE FALSE TRUE FALSE FALSE .
1 35 Интелектуальные_системы СД.Ф. 18 18 18 104 54 54 4 FALSE TRUE FALSE FALSE FALSE TRUE .
1 36 Интелектуальные_системы СД.Ф. 54 18 18 104 54 54 4 FALSE TRUE FALSE FALSE FALSE TRUE .
1 37 Интелектуальные_системы СД.Ф. 36 18 18 140 54 81 5 TRUE TRUE FALSE FALSE TRUE FALSE .
1 38 Интелектуальные_системы СД.Ф. 36 18 18 140 54 108 5 TRUE TRUE FALSE FALSE TRUE FALSE .
1 39 Интелектуальные_системы СД.Ф. 36 18 18 140 54 135 5 TRUE TRUE FALSE FALSE TRUE FALSE .
1 40 Интелектуальные_системы СД.Ф. 36 18 18 140 54 162 5 TRUE TRUE FALSE FALSE TRUE FALSE .
1 41 Интелектуальные_системы СД.Ф. 36 18 18 140 54 81 5 TRUE FALSE FALSE FALSE TRUE FALSE .
1 42 Интелектуальные_системы СД.Ф. 36 18 18 140 54 108 5 TRUE FALSE FALSE FALSE TRUE FALSE .
1 43 Интелектуальные_системы СД.Ф. 36 18 18 140 54 135 5 TRUE FALSE FALSE FALSE TRUE FALSE .
1 44 Интелектуальные_системы СД.Ф. 36 18 18 140 54 162 5 TRUE FALSE FALSE FALSE TRUE FALSE .
1 45 Интелектуальные_системы СД.Ф. 36 18 18 104 54 81 4 FALSE TRUE FALSE FALSE TRUE FALSE .
1 46 Интелектуальные_системы СД.Ф. 36 18 18 104 54 108 4 FALSE TRUE FALSE FALSE TRUE FALSE .
1 47 Интелектуальные_системы СД.Ф. 36 18 18 104 54 135 4 FALSE TRUE FALSE FALSE TRUE FALSE .
1 48 Интелектуальные_системы СД.Ф. 36 18 18 104 54 162 4 FALSE TRUE FALSE FALSE TRUE FALSE .
1 49 Интелектуальные_системы СД.Ф. 36 18 18 140 54 81 5 TRUE TRUE TRUE FALSE FALSE FALSE .
1 50 Интелектуальные_системы СД.Ф. 36 18 18 140 54 108 5 TRUE TRUE TRUE FALSE FALSE FALSE .
1 51 Интелектуальные_системы СД.Ф. 36 18 18 140 54 135 5 TRUE TRUE TRUE FALSE FALSE FALSE .
1 52 Интелектуальные_системы СД.Ф. 36 18 18 140 54 162 5 TRUE TRUE TRUE FALSE FALSE FALSE .
1 53 Интелектуальные_системы СД.Ф. 36 18 18 140 54 81 5 TRUE TRUE FALSE TRUE FALSE FALSE .
1 54 Интелектуальные_системы СД.Ф. 36 18 18 140 54 108 5 TRUE TRUE FALSE TRUE FALSE FALSE .
1 55 Интелектуальные_системы СД.Ф. 36 18 18 140 54 135 5 TRUE TRUE FALSE TRUE FALSE FALSE .
1 56 Интелектуальные_системы СД.Ф. 36 18 18 140 54 162 5 TRUE TRUE FALSE TRUE FALSE FALSE .
Информация о работе Составление учебных планов на основе генетических алгоритмов