
2426
.pdfОдновременно с заменой значения элемента массива Vdlin при выполнении условия
Lтек<Vdlin(i+1,j2,k2,l2,m2) |
(3.140) |
рассчитывается Rodтек – код текущей вершины-родителя si1 для вер-
шины-преемника sj1. |
|
помощи |
|
Кодирование вершины-родителя осуществляется при |
|||
4-разрядного целого числа в десятичной системе счисления: |
|
||
Rodтек=1000∙((j–j2)+2)+100∙((k–k2)+2)+10∙((l–l2)+2)+ |
(3.141) |
||
|
+((m–m2)+2). |
||
Если условие (3.140) выполняется, то происходит замена верши- |
|||
ны-родителя для вершины-преемника sj1: |
|
||
ìRodтек |
|
||
ï |
при Lтек <Vdlin(i +1,j2,k2,l2,m2); |
||
Vrod(i +1,j2,k2,l2,m2) = íï |
|||
|
(3.142) |
||
ïVrod(i +1,j2,k2,l2,m2) |
|
îпри Lтек ³Vdlin(i +1,j2,k2,l2,m2).
5.4.Данный пункт алгоритма выполняется, если вершина-
преемник sj1 еще ни разу не просматривалась, что формализуется условием ï
Vfront(i+1,j2,k2,l2,m2)=0. (3.143)
По (3.141) рассчитывается Rodтек – код текущей вершиныродителя si1 для вершины-преемника sj1, который заносится в элемент массива Vrod:
Vrod(i+1,j2,k2,l2,m2)=Rodтек. (3.144)
По (3.138) рассчитывается стоимость перемещения Lтек от начальной вершины до вершины-преемника sj1=(i+1,j2,k2,l2,m2) через текущую вершину si1=(i,j,k,l,m) , которая заносится в элемент массива
Vdlin:
Vdlin(i+1,j2,k2,l2,m2)=Lтек. (3.145)
В элементе массива Vfront с индексами (i+1,j2,k2,l2,m2) сохраняется информация о том, что вершина-преемник sj1 уже просматрива-
150
лась, т.е. выполняется присваивание данному элементу единичного значения по (3.137).
5.5. Данный пункт выполняется после того, как завершились вложенные циклы по (j,k,l,m), на текущей итерации цикла по i, т.е. после того, как все возможные вершины-преемники для всех вершин со значением индекса i были посещены. Перед увеличением значения i на единицу выполняется следующая последовательность действий.
Используя вложенные циклы по j,k,l,m, где j [1; jmax]; k [1; kmax]; l [1; lmax]; m [1; mmax], для каждого сочетания индексов (i+1), j, k, l, m проверяется выполнение условия
Vfront(i+1,j,k,l,m)=1. (3.146)
При выполнении данного условия вершины следующего за текущим ряда с одинаковыми значениями координаты x [с индексом (i+1)] закрываются, т.е. соответствующая вершина помечается как пройденная и закрытая:
Vfront(i+1,j,k,l,m)=2. (3.147)
Таким образом, помечаются не все вершины ряда с индексом (i+1), а только свободные и при этом просмотренные на текущей итерации цикла i. Вершины, занятые препятствиями, а также не вошедшие в множество проверяемых вершин в массиве Vfront, остаются непомеченными как закрытые (сохраняются старые значения соответствующих элементов). Это позволяет исключить их из рассмотрения как вершины-родители на следующей итерации цикла i.
Множество проверяемых вершин на каждой итерации i формируется в пространстве состояний объекта-груза, представляющем собой равномерную решетку линейных (x, y, z) и угловых (γ, ω) координат, по принципу развертывания-свертывания дерева поиска. Дерево поиска развертывается из единственной начальной вершины sнач по принципу рассмотрения всех возможных вершин-преемников для множества вершин, рассмотренных на предыдущей итерации i [координаты x, по условиям (3.133), (3.146), (3.147)], и свертывается в единственную конечную вершину sкон по граничным условиям (3.135). Двухмерная иллюстрация развертывания-свертывания дерева поиска (движения фронта волны) приведена на рис. 3.35.
6. После завершения всех вложенных циклов по i, j, k, l, m (прохождения фронта волны) происходит восстановление найденной оп-
151
тимальной по значению целевой функции траектории по кодам вер- шин-родителей.
6.1. В качестве первой вершины-преемника назначается sкон, для которой из массива Vrod восстанавливается код вершины-родителя:
Rodтек=Vrod(imax,jкон,kкон,lкон,mкон), |
(3.148) |
где |
|
jкон= yк0/ l ; kкон= zк0/ l ; lкон= (γк0–γmin)/ |
u ; |
mкон= (ωк0–ωmin)/ u . |
(3.149) |
6.2. Восстанавливаются индексы вершины-родителя si1=(i,j,k,l,m)
по коду Rodтек и индексам вершины-преемника sj1=(i2,j2,k2,l2,m2). При рассмотрении конечной вершины, с которой начинается восста-
новление траектории, i2=imax; j2=jкон; k2=kкон; l2=lкон; m2=mкон. В символах программирования с использованием операции получения це-
лочисленного остатка от деления (%) зависимости выглядят следующим образом:
dm=Rodтек % 10; Rodтек= Rodтек – dm; |
|
dl=(Rodтек % 100)/10; Rodтек= Rodтек – dl∙10; |
|
dk=(Rodтек % 1000)/100; Rodтек= Rodтек – dk∙100; |
|
dj=Rodтек % 1000; |
(3.150) |
dj= dj–2; dk= dk–2; dl= dl–2; dm=dm–2; |
|
i=i2–1; j=j2+dj; k=k2+dk; l=l2+dl; m=m2+dm. |
(3.151) |
С использованием традиционной математической формы записи выражения (3.150) будут иметь следующий вид:
dm=(Rodтек – Rodтек/10 ∙10); Rodтек= Rodтек – dm; dl=(Rodтек – Rodтек/100 ∙100)/10; Rodтек= Rodтек – dl∙10; dk=(Rodтек – Rodтек/1000 ∙1000)/100; Rodтек= Rodтек – dk∙100;
dj= Rodтек/1000 . |
(3.152) |
После восстановления индексов i,j,k,l,m пересчитывается код |
|
Rodтек по (3.148) с подстановкой значений индексов |
|
i2=i; j2=j; k2=k; l2= l; m2=m. |
(3.153) |
Последовательность действий пункта 6.2 алгоритма выполняется в цикле imax раз. В результате формируется траектория S* из точек вида (3.50) с использованием зависимостей (3.100).
152

Пуск |
1 |
2 |
|
|
|
Ввод исходных данных: sнач=(xн0, yн0, zн0, γн0, ωн0); |
sкон=(xк0, yк0, zк0, γк0, ωк0); |
|
{ Rig }; imax; jmax; kmax; lmax; mmax; [YПР]; cγω; |
u; δopt; lзап_г; lзап_в |
3
Построение массива гиперповерхности [Ymin] по методике раздела 3.4
i4
i=1; i≤imax; i=i+1
j5
j=1; j≤jmax; j=j+1
|
|
6 |
|
|
y=j∙Δl |
7 |
|
|
|
||
|
k |
|
|
|
|
|
|
k=1; k≤kmax; k=k+1 |
|
|
l |
|
8 |
||
|
|
|
|
||
|
l=1; l≤lmax; l=l+1 |
|
|
||
|
m |
|
9 |
||
|
|
|
|
||
|
m=1;m≤mmax;m=m+1 |
||||
Нет |
|
|
10 |
Да |
|
|
y<min(j,k,l,m) |
|
|
||
|
11 |
|
12 |
||
|
|
|
|
|
|
Vfront(i,j,k,l,m)=0 |
|
Vfront(i,j,k,l,m)=–1 |
|||
|
|
|
|
|
13 |
|
Vrod(i,j,k,l,m)=0 |
|
|||
|
|
14 |
|||
|
|
|
|
|
|
|
Vdlin(i,j,k,l,m)=∞ |
|
|||
|
|
|
|||
|
m |
|
15 |
||
|
|
|
|
||
|
l |
|
16 |
||
|
|
|
|
k 17
18
j
i 19
|
|
20 |
jнач= yн0/ l ; kнач= zн0/ l |
; lнач= (γн0–γmin)/ u ; |
|
mнач= (ωн0–ωmin)/ u ; |
|
|
Vfront(1,jнач,kнач,lнач,mнач)=2; |
|
|
Vdlin(1,jнач,kнач,lнач,mнач)=0 |
|
|
i |
21 |
|
i=1; i≤(imax–1); i=i+1 |
22 |
|
|
|
jдmin=i–(imax–jmax); jдmax=(imax+jmax)–i; kдmin=i–(imax–kmax); kдmax=(imax+kmax)–i; lдmin=i–(imax–lmax); lдmax=(imax+lmax)–i; mдmin=i–(imax–mmax); mдmax=(imax+mmax)–i;
|
|
j |
23 |
|
|
|
j=max(1; jдmin); |
|
|
|
|
j≤min(jдmax; jmax); |
|
|
|
|
j=j+1 |
|
|
|
|
k |
24 |
|
|
|
|
|
|
|
|
k=max(1; kдmin); |
|
|
|
|
k≤min(kдmax; kmax); |
|
|
|
|
k=k+1 |
|
|
|
|
l |
25 |
|
|
|
l=max(1; lдmin); |
|
|
|
|
l≤min(lдmax; lmax); |
|
|
|
|
l=l+1 |
|
|
|
|
m |
26 |
|
|
|
m=max(1; mдmin); |
|
|
|
|
m≤min(mдmax; mmax); |
|
|
|
|
m=m+1 |
|
|
2 |
Нет |
27 |
Да |
1 |
|
Vfront(i,j,k,l,m)=2 |
|
Рис. 3.36. Блок-схема модифицированного волнового алгоритма для пяти учитываемых обобщенных координат груза (начало)
153

|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
|
j2 |
|
28 |
|
Вычисление Li1,j1 (СВД) между вершинами |
||||||||||||
|
|
|
|
si1=(i,j,k,l,m) и sj1=(i+1,j2,k2,l2,m2) по (3.18) |
|||||||||||||
|
j2=(j–1); j2≤(j+1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
|
||||
|
j2=j2+1 |
|
|
|
|
|
|
|
Lтек=Vdlin(i, j, k, l, m)+Li1,j1 |
|
|
|
|
|
|
||
|
k2 |
29 |
|
Нет |
35 |
|
|
|
Да |
||||||||
|
|
|
|
|
|
|
|||||||||||
|
k2=(k–1); k2≤(k+1); |
|
|
|
|
|
|
|
Lтек<Vdlin(i+1,j2,k2,l2,m2) |
|
|
|
|
|
|
||
|
k2=k2+1 |
|
|
|
|
|
|
|
36 |
|
|
|
|
|
|
|
|
|
l2 |
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Vdlin(i+1, j2, k2, l2, m2)=Lтек |
||||||||
|
l2=(l–1); l2≤(l+1); |
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
|
|
l2=l2+1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
|
|
|
|
Rodтек=1000∙((j–j2)+2)+ |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
m2 |
|
|
|
|
+100∙((k–k2)+2)+10∙((l–l2)+2)+((m–m2)+2) |
|||||||||||
|
|
|
|
|
|
||||||||||||
|
m2=(m–1); m2≤(m+1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m2=m2+1 |
|
|
|
|
|
|
|
Vrod(i+1, j2, k2, l2, m2)=Rodтек |
||||||||
Нет |
32 |
|
Да |
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Vfront(i+1,j2,k2,l2,m2)=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Нет |
39 |
Да |
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
|
|
|
|
|
|
Rodтек=1000∙((j–j2)+2)+ |
|
|
|
|
|
|
||||||
|
Vfront(i+1,j2,k2,l2,m2)=0 |
|
|
|
|
+100∙((k–k2)+2)+10∙((l–l2)+2)+((m–m2)+2) |
|
||||||||||
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
46 |
|
|
|
Vrod(i+1, j2, k2, l2, m2)=Rodтек |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m2 |
|
|
|
Вычисление Li1,j1 (СВД) между вершинами |
||||||||||||
|
|
47 |
|
si1=(i,j,k,l,m) и sj1=(i+1,j2,k2,l2,m2) по (3.18) |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
43 |
|
|||||
|
l2 |
|
|
|
|
|
|
|
Lтек=Vdlin(i, j, k, l, m)+Li1,j1 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
48 |
|
|
|
|
|
Vdlin(i+1, j2, k2, l2, m2)=Lтек |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
|
||
|
|
|
|
|
|
|
|
|
Vfront(i+1,j2,k2,l2,m2)=1 |
|
|
|
|
|
|||
|
k2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
49 |
|
|
|
|
|
|
m |
50 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
j2 |
|
|
|
|
|
|
|
|
l |
51 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
52 |
|
|
j |
53 |
|
|
3 |
|
Рис. 3.36. Блок-схема модифицированного волнового алгоритма для пяти учитываемых обобщенных координат груза (продолжение)
154

3
54
j
j=1; j≤jmax; j=j+1
k 55 k=1; k≤kmax; k=k+1
l 56 l=1; l≤lmax; l=l+1
m |
57 |
m=1;m≤mmax;m=m+1 |
|
Нет |
58 Да |
Vfront(i+1,j,k,l,m)=1
Vfront(i+1,j,k,l,m)=2 59
|
|
60 |
|
m |
|||
|
|||
l |
61 |
||
|
|||
k |
62 |
||
|
|||
j |
63 |
||
|
i 64
65
jкон=yк0/ l
; kкон=
zк0/ l
; lкон=
(γк0–γmin)/ u
; mкон=
(ωк0–ωmin)/ u
i2=imax; j2=jкон; k2=kкон; l2=lкон; m2=mкон
66 Rodтек=Vrod(i2,j2,k2,l2,m2) 67
i |
68 |
i=(imax–1); i≥1; i=i–1 |
69 |
|
dm=Rodтек%10;Rodтек=Rodтек–dm; dl=(Rodтек%100)/10;Rodтек=Rodтек–dl∙10; dk=(Rodтек%1000)/100;
Rodтек=Rodтек–dk∙100;dj=Rodтек%1000
70dj= dj–2; dk= dk–2; dl= dl–2; dm=dm–2
71j=j2+dj; k=k2+dk; l=l2+dl; m=m2+dm
72 |
|
p=i; xp=i∙Δl; yp=j∙Δl; zp=k∙Δl; |
|
||
γp=(l–0,5∙lmax)∙Δu; ωp=(m–0,5∙mmax)∙Δu |
|
||||
|
|
||||
73 |
|
|
|
||
|
i2=i; j2=j; k2=k; l2= l; m2=m |
|
|||
|
|
|
|
|
74 |
|
|
Rodтек=Vrod(i2,j2,k2,l2,m2) |
|
||
|
|
|
|
||
|
|
i |
75 |
|
|
|
|
|
|
|
76
Дискретная локальная оптимизация найденной траектории по методике раздела 3.5
Вывод резуль- |
77 |
78 |
|
Останов |
|
татов: S*, L* |
|
Рис. 3.36. Блок-схема модифицированного волнового алгоритма для пяти учитываемых обобщенных координат груза (окончание)
7.Выполняется локальная оптимизация траектории S* по методике, изложенной в разделе 3.5.
8.Определяется значение целевой функции L* оптимизированной траектории S* по (3.19).
9.Вывод результатов: L*, S*. Окончание работы алгоритма.
Блок-схема модифицированного волнового алгоритма перемещения груза, положение которого определяют 3 линейные и 2 угловые обобщенные координаты, приведена на рис. 3.36.
155
Вычислительные реализации модифицированного волнового алгоритма и описанной методики на его основе в средах Microsoft Visual C++ и MATLAB показали работоспособность и эффективность алгоритма для решения поставленной задачи.
3.11. Сравнительный анализ алгоритмических и программных реализаций методик планирования траектории
Необходимо провести сравнение разработанных алгоритмов и методик на их основе по принятым в монографии критериям оценки эффективности. Для этого было проведено несколько серий вычислительных экспериментов.
Наиболее часто при работе ГПК на строительных площадках, в цехах и складских помещениях встречаются препятствия в виде стен, перекрытий, стеллажей, контейнеров, столбов и свай, которые могут быть описаны в форме параллелепипедов различных размеров [88].
Методом эталонных тестов производилось сравнение разработанных методик поиска оптимальной траектории объекта на основе: 1
– направленного волнового алгоритма; 2 – алгоритма роевого интеллекта; 3 – генетического подхода; 4 – алгоритма декомпозиции линейных и угловых координат; 5 – алгоритма вероятностной дорожной карты; 6 – распараллеленного алгоритма роевого интеллекта; 7 – распараллеленного алгоритма декомпозиции линейных и угловых координат. Для этого были проведены несколько серий вычислительных экспериментов, моделирующих процесс поиска оптимальной по значению целевой функции траектории объекта-груза в среде с полидистантными поверхностями, построенными вокруг реальных поверхностей препятствий.
Исходные поверхности препятствий формировались случайным образом из сочетания нескольких параллелепипедов, каждый из которых имел случайные размеры. Для всех экспериментов рассматривалось рабочее пространство в виде куба с размерами 10×10×10 УЛЕ (см. рис. 3.1). Линейные координаты начальной и конечной точек положения условного центра груза (начала локальной системы координат груза OgХgYgZg) принимались постоянными для всех экспериментов. Начальная точка имела линейные координаты (УЛЕ): [xн0; yн0; zн0]=[0; 2; 5], конечная – [xк0; yк0; zк0]=[10; 2; 5]. Начальные и конечные значения угловых координат также принимали постоянные нулевые значения (рад): [γн0; ωн0]=[0; 0]; [γк0; ωк0]=[0; 0].
156

Количество разбиений каждой траектории на кусочно-линейные участки принималось равным imax=20. Соответственно максимальные значения индексов остальных координат груза при поиске траектории принимались равными jmax=20; kmax=20; lmax=5; mmax=17.
Сочетание линейных и угловых координат груза позволяет представить область перемещений груза в виде гиперкуба с размерами равномерной сетки индексов (РСИ) 20×20×20×5×17.
В то же время для задания исходной поверхности препятствий, построения полидистантных поверхностей вокруг препятствий и для проведения дискретной локальной оптимизации найденных траекторий использовалось более подробное описание рабочей области в трехмерном пространстве в виде куба с размерами (РСИ) 100×100×100. То есть использовался иерархический подход, при котором задание исходной поверхности и локальная оптимизация траектории проводились с более мелким шагом описания препятствий (0,1 УЛЕ), а собственно поиск траектории с использованием разработанных методик – с более крупным шагом описания препятствий (0,5 УЛЕ). Это позволило более точно провести локальную оптимизацию.
Пуск |
1 |
|
3 |
|
|
||||
2 |
|
|
i1=0 |
|
|
4 |
|||
|
|
|
|
|
|||||
Ввод исходных данных: |
|
|
i |
|
|||||
|
|
|
|
||||||
|
|
|
|
|
|||||
YЭ01; kм |
|
|
i=1;i≤jmax;i=i+kм |
|
|||||
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
i1=i1+1 |
|
|||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
k1=0 |
|
|
7 |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
k |
|
|||
|
|
|
|
|
|
|
|||
|
|
|
k=1;k≤kmax;k=k+kм |
|
|||||
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
k1=k1+1 |
9 |
|||
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
12 |
YЭ05(i1,k1)=YЭ01(i,k) |
||||||
|
|
|
|||||||
Вывод результатов: |
|
|
k |
|
10 |
||||
|
|
|
|
||||||
YЭ05 |
|
|
|
|
|
|
|
|
11 |
|
13 |
|
|
|
i |
|
|||
Останов |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Рис. 3.37. Блок-схема алгоритма редукции полидистантной поверхности вокруг препятствий
Применение иерархического подхода вызвано большой размерностью задачи, сложность которой экспоненциально возрастает при
157

уменьшении шага дискретизации координат. Переход от исходного к укрупненному описанию линейных координат выполнялся методом редукции [164]. Использовался коэффициент масштабирования kм линейных координат, значение которого принималось равным kм=5. Алгоритм перехода от полидистантной поверхности YЭ01, описанной с мелким шагом, к поверхности YЭ05 с крупным шагом приведен на рис. 3.37.
Для методик, использующих элементы вероятностного выбора (на основе алгоритмов 2, 3 и 5), предварительно были проведены несколько серий экспериментов, по 1200 независимых экспериментов для каждого сочетания значений варьируемых параметров, на рабочей области с одинаковым детерминированным расположением препятствий, описываемым следующими условиями на РСИ 100×100×100 (в качестве примера, рис. 3.38):
Yпр(i,k)=2,5 УЛЕ – при (29≤i≤31) |
(20≤k≤80); |
|
Yпр(i,k)=8,0 УЛЕ – при (49≤i≤51) |
(50≤k≤100); |
|
Yпр(i,k)=8,0 УЛЕ – при (79≤i≤81) |
(1≤k≤50); |
|
Yпр(i,k)=0,0 УЛЕ – в остальных случаях. |
(3.154) |
Y0 Z0
X0
Рис. 3.38. Рабочая область тестового примера с детерминированным расположением препятствий
Груз в форме цилиндра с габаритными размерами (габаритный диаметр 0,5 УЛЕ и высота 2,0 УЛЕ), был представлен в виде набора точек (cг=12) на поверхности объемного тела с координатами в УЛЕ:
158

{ Rig }={[0,25;0;1;1]; [0,25;0;0;1]; [0,25;0;–1;1]; [–0,25;0;1;1];
[–0,25;0;0;1]; [–0,25;0;–1;1]; [0;0,25;1;1]; [0;0,25;0;1]; [0;0,25;–1;1]; [0;–0,25;1;1]; [0;–0,25;0;1]; [0;–0,25;–1;1]}. (3.155)
Проведение вычислительных экспериментов на тестовом примере с детерминированным расположением препятствий позволило обосновать рациональные значения основных внутренних параметров соответствующих алгоритмов с элементами вероятностного выбора для решения поставленной задачи и для последующего сравнения с детерминированными алгоритмами.
Результаты экспериментов на тестовом примере с детерминированным расположением препятствий приведены ниже. Для оценки алгоритмов в данных сериях экспериментов использовались 6 частных показателей: 1) математическое ожидание значений целевой функции неоптимизированной найденной траектории L *н; 2) математическое ожидание значений целевой функции той же траектории, оптимизированной при помощи методики дискретной локальной оптимизации L *; 3) медиана значений целевой функции неоптимизированной траектории Me(L*н); 4) медиана значений целевой функции оптимизированной траектории Me(L*); 5) стандартное отклонение значений целевой функции неоптимизированной траектории σ(L*н); 6) стандартное отклонение значений целевой функции оптимизированной траектории σ(L*). Показатели по дискретному ряду вычисляются по следующим зависимостям [5, 18, 19, 24, 38, 70, 131]:
|
|
* = |
1 |
ne |
(L* ) |
|
|
|
L |
× å |
, |
(3.156) |
|||
|
|
||||||
|
н |
ne |
i=1 |
н i |
|
|
|
|
|
|
|
|
|
где L*н – значение целевой функции неоптимизированной траектории для данного эксперимента; ne – число независимых экспериментов.
|
|
* = |
1 |
ne |
(L* ) |
|
|
|
L |
× å |
, |
(3.157) |
|||
|
ne |
||||||
|
|
|
i=1 |
i |
|
|
где L* – значение целевой функции оптимизированной траектории для данного эксперимента; ne – число независимых экспериментов.
Me(L* |
)= |
1 ×((L* |
) |
+ (L* |
) |
), |
(3.158) |
|
н |
|
2 |
н |
(ne 2) |
н |
(ne 2)+1 |
|
|
|
|
|
|
|
|
|
|
где вектор значений отдельных экспериментов {(L*н)i}ine=1 предварительно отсортирован по возрастанию; количество ne – четное.
159