6. XSL Transformations (XSLT) Versionl .0 // W3C Recommendation. URL:http://www.w3.org/TR/xslt - (дата обращения: 11.10.2010).
7. XML Schema. W3C Recommendation. URL: http://www.w3.org/TR/xmlschema-0/ - (дата обращения: 11.10.2010).
8. Mathematical Markup Language (MathML). Version 2.0 (Second Edition)// W3C Recommendation. URL: http://www.w3.org/TR/MathML/ (дата обращения: 11.10.2010).
9. Курганская О.В. Организация контроля исходных данных для решения задач порождения и контроля экономико-математических моделей ТЭК России. Иркутск: ИСЭМ СО РАН, 2010. Ч. III. С. 115-120.
10. Kurganskaya O.V. Generation and verifying of fuel-energy complex mathematical models// Proceedings of the 12th International Conference "Cоmputer Science and Information Technologies", 2010. Уфа, УГАТУ, 2010. С. 51-54.
УДК 621.87 : 621.865.8 : 51.74
АЛГОРИТМ ПОИСКА ОПТИМАЛЬНОЙ ТРАЕКТОРИИ ПЕРЕМЕЩЕНИЯ ГРУЗА В ПРОСТРАНСТВЕ С ПРЕПЯТСТВИЯМИ С УЧЕТОМ УГЛОВОЙ ОРИЕНТАЦИИ НА ОСНОВЕ ГЕНЕТИЧЕСКОГО ПОДХОДА
В.С.Щербаков1, М.С.Корытов2
Сибирская государственная автомобильно-дорожная академия, 644080, г. Омск, пр. Мира, 5.
Описывается модификация генетического алгоритма, позволяющая осуществлять поиск оптимальной траектории перемещения грузоподъемной машиной груза произвольной формы в трехмерном пространстве с произвольными препятствиями, заданными в дискретном виде, с учетом угловой ориентации груза. Предлагаемая модификация отличается от традиционных реализаций генетических алгоритмов тем, что рассматривает линейные и угловые координаты груза в качестве вещественных генов. Под препятствиями понимаются не только собственно физические препятствия, но и определенная свободная область запрещенного для движения груза пространства, примыкающая к физическим препятствиям. Ил. 2. Библиогр. 6 назв.
Ключевые слова: генетический алгоритм; поиск оптимальной траектории; угловые координаты.
ALGORITHM TO SEARCH AN OPTIMAL TRAJECTORY OF LOAD TRAVEL IN THE SPACE WITH OBSTACLES TAKING INTO ACCOUNT THE ANGULAR ORIENTATION ON THE BASIS OF A GENETIC APPROACH V.S. Shcherbakov, M.S. Korytov
Siberian State Automobile and Road Academy, 5, Mir Av., Omsk, 644080.
The article describes a modification of the genetic algorithm that allows to search for the optimal travel trajectory of the arbitrary shape load by a hoisting apparatus in a three-dimensional space with arbitrary obstacles, given in a discrete form, taking into account the angular orientation of the load. The proposed modification differs from traditional implementations of genetic algorithms in considering linear and angular coordinates of the load as the real genes. Under the obstacles the authors understand not only physical barriers, but also a definite free area of the space forbidden for load movement, and adjacent to physical barriers. 2 figures. 6 sources.
Key words: genetic algorithm; search for optimal trajectory; angular coordinates.
Предлагаемая методика отличается от традиционных реализаций генетических алгоритмов (ГА) тем, что рассматриваются линейные и угловые координаты груза (вещественные гены), перемещаемого грузоподъемной машиной в трехмерном пространстве. Производится проверка возможности перемещений груза из начальной точки траектории в конечную с учетом препятствий произвольной формы, заданных дискретно в виде набора точек на равномерной решетке.
Это обуславливает ряд отличий в терминологии предлагаемой методики от терминологии традиционных реализаций ГА, работающих с битовыми строками [1]. Индивидуумы (наборы хромосом) - траектории груза, описываемые как последовательные наборы координат узловых точек груза в пространстве его линейных и угловых координат. Популяция индивидуумов представляет собой набор траекторий, удовлетворяющих ограничениям на непересечение с препятствиями и на предельные значения линейных и
1Щербаков Виталий Сергеевич, доктор технических наук, профессор, декан факультета нефтегазовой и строительной техники, тел.: (3812) 650455, e-mail: [email protected]
Shcherbakov Vitaly, Doctor of technical sciences, Professor, Dean of the faculty of Oil and Gas and Structural Engineering, tel.: (3812) 650455, e-mail: [email protected]
Корытов Михаил Сергеевич, кандидат технических наук, доцент кафедры конструкционных материалов и специальных технологий, тел.: (3812) 650318, e-mail: [email protected]
Korytov Mikhail, Candidate of technical sciences, Associate Professor of the Department of Constructive Materials and Specific Technologies, tel.: (3812) 650318, e-mail: [email protected]
угловых координат груза. Под препятствиями понимаются не только собственно физические препятствия, но и определенная свободная область запрещенного для движения груза пространства, примыкающая к физическим препятствиям. Предлагается модифицированный алгоритм для поиска кратчайшего пути перемещения грузоподъемной машиной груза в пространстве его линейных и угловых координат с учетом препятствий. В качестве примера рассматриваются 5 координат, определяющих положение груза в пространстве: 3 линейных координаты и 2 угла поворота груза. Данное сочетание координат описывает довольно распространенный частный случай положения груза в форме цилиндра.
Постановка задачи. Заданы линейные и угловые координаты груза в начальной sнaч и в конечной sкон точках траектории груза в пространстве:
: (хн 0'
У.
н0 н0
s„
Гн0'®
(хк 0' У к 0' Z к 0' У к 0' ® к 0 )
н0 )-
ко?.? к0' к 0'/ к 0' к 0)
где хн0, ун0, zH0 - линейные координаты точки начала локальной прямоугольной системы координат груза XgYgZg в неподвижной прямоугольной системе координат X0Y0Z0, связанной с рабочей областью перемещений, соответствующие начальному положению груза; хк0, ук0, zK0 - линейные координаты, соответствующие конечному положению груза; yh0, а>н0 - координаты углов поворота груза вокруг осей Xg, Yg в начальной точке; ук0, тк0 - угловые координаты, соответствующие конечному положению груза в пространстве.
Ось Х0 неподвижной системы координат направлена параллельно линии, соединяющей две точки в пространстве: начальную sHm и конечную sooH точки траектории. Это позволяет упростить расчет и уменьшить объем вычислений.
Линейные и угловые координаты груза заданы на равномерной сетке: i е [1;imax]; j е [l;jm]; k е [l;kmax]; l е [l;lmx]; m е [l;mmax]. Индексы i, j, k соответствуют
линейным перемещениям точки начала локальной системы координат груза соответственно вдоль осей Х0, Y0, Z0, а индексы l, m - двум углам поворота груза y0 ,т0 вокруг собственных осей соответственно. Задан Aumap - шаг дискретности угловых координат Y и т .
В локальной системе координат груза XgYgZg заданы координаты габаритных точек (,Rg) , ig е[1;сг ]
на поверхности объемного тела груза, определяющие его форму. Координаты точек заданы векторами вида
(Rg) =[ xg
yg
1] , где х, yt, zt - координа-
ты точки в локальной системе координат груза. В неподвижной системе координат Х070задана
дискретная матрица высот препятствий Ynp (i,k), где i, k - индексы координат x0, y0 соответственно:
i 6[!; imax ] ; k 6[!; Kaz ] ■
В качестве целевой функции (функции приспособленности в терминах ГА) может использоваться любой интегральный критерий оптимальности на основе координат груза в точках его траектории.
В качестве примера использовано среднее взвешенное значение длин линейных и угловых перемещений L ■ В случае дискретного представления траектории среднее взвешенное Lv между двумя точками
траектории i и j может быть представлено в виде [2]:
Lj = - x)) +(y -yj)) +(z- zj)) +
-Yj)2 +(i -®j)2.
Полное выражение целевой функции отдельной траектории S для дискретного представления имеет вид [2]:
L = £ (V(Х - Х-1 )2 + (y, - y-i )2 + (z, - z-i )2 +
i= 2
+>, V(y-Y-i )2 + (,-®,-i )2)'
(1)
где imax - число точек отдельной дискретной траектории.
Необходимо найти траекторию S* с минимальным значением L* целевой функции L, представляющую собой траекторию перемещения из sHm в
: lL = min {Lq}, q е[1;с],
где {Lq} - множество значений целевой функции рассматриваемого в ГА множества {Sq}, представляющего собой дискретные траектории перемещения из s в s в виде смежных точекs , s2, s3, ...,
нач кон ^ нач 1 2 1 3 1 1
s s
(, max-1) 1 кон '
Описание алгоритма перемещения груза, положение которого определяют три линейные и две угловые обобщенные координаты. Основными параметрами алгоритма являются: максимальное число итераций алгоритма G, размер множества траекторий C, количество наилучших отбираемых траекторий E для рекомбинации, количество отбираемых траекторий M для случайных изменений [1].
Предлагаемый алгоритм поиска оптимальной траектории заключается в следующей последовательности шагов:
1. Заданы численные значения исходных данных:
s = (х „,y z „,r ,,,a .) ;
нач V н0 ' У н0 ' н0 ' ' н0 ' н0/' !'кон = (Хк0 ' Ук0 ' 0 ' Ук0 ' 0 ) ; {Rig } ; imax ; Jmax ; kmax ; lmax ;
mmax ; [YUP ]; G; C ; E ; M ; ^ ; .
2. Определяется шаг дискретности линейных ко-
°рдинат: Мтср = (x^- xH0)l imax .
3. Определяются максимальные и минимальные предельные значения угловых координат Ymax, ymin, со ,а.:
max ' min
Y = y 0 + (0.5• l •Дм );
/ max / н0 V max map' '
y ■ = y n -(0.5• l •Дм );
min 0 max map
с =an + (0.5• m •Дм );
max 0 max map
с
= С0-(0-5 • mmax -l^map ) .
4. Строится эквидистантная поверхность вокруг реальной поверхности препятствий по методике [3]. В результате формируется дискретная матрица высот [Уэ ] того же размера, что и исходная матрица препятствий [Упр]. Исходным параметром при построении [Уэ ] кроме исходной поверхности [Упр] будет
эквидистантный радиус К.
5. С использованием метода однородных координат [4] формируется 4-мерный массив [Ы,] линейных
смещений габаритных точек поверхности объемного тела груза в зависимости от всевозможных сочетаний угловых координат у и т на дискретной равномерной сетке относительно нулевых значений угловых координат.
Данный массив размером (4-сг • ¡тш- штах) может быть представлен как 3-мерный массив векторов ) , смещения точек вида:
((*) =[ X ^ 1]Г , , е[1; ( -¡та* ■ ттах )) ,
определяемых как (К«) = (Ат)к -(^) , где (Ат)к -
матрица вращения с заложенными в нее значениями угловых координат у и т; ig е[1;ег ];
к е[1; (сайтах )] .
Массив [Ы,«] имеет индексы (ik, ig, I, т ), определяющие соответственно: ik =1,2,3 - смещения габаритной точки вдоль осей Х0, У0, г0 неподвижной системы координат; ig е[1;сг ] - номер габаритной точки; 1 ¡тах] - координату У; т е[1;ттх] - координату т .
6. Исходя из условия непересечения груза с препятствиями, строится гиперповерхность минимальных возможных значений вертикальных координат [УШп]
точки начала локальной системы координат груза ХУ1 в неподвижной системе координат Х0У0с
учетом значений линейных координат х и г , а также его угловых координат у и т .
Для этого с использованием вложенных циклов по I, к, I, т, определяющих х, г, у, т соответственно, рассматриваются всевозможные сочетания координат груза х, г, у и т на дискретной равномерной сетке, а для каждого сочетания указанных координат -
последовательно все габаритные точки (Rg) ,
(ig е[1;c ]). С использованием массива Ms(ik, ig, l, m) линейных смещений габаритных точек в зависимости от значений угловых координат определяются значения индексов ix и iz линейных координат x и z текущей габаритной точки на равномерной сетке с учетом смещений:
ix = • Кар + M l1, ig, L m)) / Almap \;
Liz = (k • Almap + Ms (3, ig, l, m)) / Almap \ . (2)
Значения индексов ix и iz, вычисленных по (2), проверяются на выполнение условия невыхода за границы диапазонов заданной сетки ix е[1;imax];
iz е [1;kmax] соответственно и при необходимости корректируются.
По индексам ix и iz, полученным для различных габаритных точек груза при одних и тех же значениях координат, формируется одномерный вектор Yc высот точки начала координат груза, элементы которого определяются по зависимости
Yc (ig ) = Y3 (ix,iz) - Ms (2, ig, l, m).
Отдельный элемент массива гиперповерхности [Ymi„] определится как минимальный элемент вектора
Yc: Ymi„ (i,k,l, m) = min(Yc (ig)), ig е [Uc ].
7. Генерируется случайным образом начальное множество траекторий. Для создания отдельной траектории при помощи генератора случайных чисел создается (imax-2) точек траектории с координатами:
Sp = (xp , Ур , zp Yp ,0p X P е[2; (max -1); x = p • Al ; y = j • Al ; z = k • Al ;
p с map' J p J p map' p p map >
Yp = (lp "°-5 • lmax )• AUmap ;
®p = (mp - • mmax ) • AUmap (3)
jp = Rmd • jmax \ ; kp = LRand • kmax \ ;
lp = LRand • lmax J ; mp = [Rand • mmax \ , (4)
где Rand - случайное число в интервале [0;1] с равномерным законом распределения.
Значения (xp , yp, zp, yp ,ю ), полученные для каждого значения p , должны удовлетворять условию непересечения груза с эквидистантной поверхностью [Y3 ], что через массив гиперповерхности [Ymin ] описывается следующим условием:
y > Y . (p, k , l , m ). (5)
У p min у p у p у p J \/
При выполнении этого условия значение p увеличивается на 1, в противном случае генерация отдельной точки траектории по (3), (4) повторяется.
Первая (p = 1) и последняя (p = imax) точки траектории будут совпадать с начальной и конечной задан-
ными точками: Si = ShQ4 =( Хн0, Ун0= );
Simax = S«0H = ( 0 = У* 0= zK 0,YK 0,тк 0). Отдельная траектория S компонуется как последовательность точек S = {sp}, p е[1;imax]. Получается множество из C
возможных траекторий: {Sq}, q е[1;С].
8. Оптимизируется начальное множество траекторий путем локальной оптимизации отдельных траекторий {Sq} при выполнении условия непересечения
груза с эквидистантной поверхностью вокруг препятствий.
9. Определяется множество значений целевой функции {Lq} для каждой траектории множества
{Sq } по (1).
10. Инициализируется значение переменной g счетчика итераций ГА: g = 1. Дальнейшие пункты алгоритма (пп. 11-16) выполняются многократно в итерационном цикле g е [l;G].
11. Отбираются траектории из множества {Sq} по возрастанию значений целевой функции Lq . После
сортировки L < L2 <... < LC_l < LC ; L = Ll; S* = Sl.
12. Осуществляется подбор траекторий для рекомбинации. Используется наиболее распространенный, простой для алгоритмической реализации и универсальный оператор отбора - панмиксия с предварительной селекцией и отбором усечения (Truncation selection) на определенном отрезке траекторий множества с наименьшим значением функции приспособленности [1], например, [l;C/2]. В данном примере
количество отбираемых для рекомбинации траекторий из исходного полного множества траекторий E = C /2. Значение E может быть задано произвольно в пределах E е[2;C/2].
Селекция состоит в том, что для рекомбинации траектории выбираются в соответствии с порогом [l;E]. Порог определяет, какое число траекторий,
начиная с самой первой (самой оптимальной), будет принимать участие в рекомбинации. Такой подход обеспечивает более быструю сходимость алгоритма [1, 6].
Каждому члену промежуточного множества траекторий, отобранных для рекомбинации {Sr},
r е[^E], сопоставляется случайное целое число dr на отрезке [l;E], которое будет номером второй траектории из этого же промежуточного множества, принимающей участие в рекомбинации: dr = Rand • E ].
13. Дискретная рекомбинация (Discrete recombination) траекторий промежуточного множества {Sr} осуществляется путем случайного обмена точками траектории по оригинальной модели, заимствующей некоторые специфические свойства модели
генитор (Genitor) [5, 6]. Исследования, проведенные рядом зарубежных авторов, показали, что поиск гиперплоскостей при использовании генитора происходит лучше, а сходимость быстрее, чем у классического ГА [5, 6].
В предлагаемой модели, так же как в модели ге-нитор, из пары случайных исходных траекторий синтезируется только одна новая траектория. Эта новая траектория заменяет не одну из исходных, а одну из худших по значению целевой функции траекторий. Отличие предлагаемой модели от модели генитор заключается в том, что при гениторе на каждом шаге ГА в множестве обновляется только одна траектория, а в предлагаемой модели для ускорения сходимости на каждом шаге обновляется (C - E) неоптимальных траекторий исходного множества [5, 6].
Введены обозначения: ap - точка первой исходной траектории, отобранной для рекомбинации, с номером r из промежуточного множества, ap = sp, где(sp е Sr); bp - точка второй исходной траектории с номером dr из промежуточного множества, bp = sp, где(sp е Sd ); cp - точка вновь полученной траектории с номером Er из полного множества траекторий, cp = sp, где(sp е SEr); Er = E + r .
Рекомбинации подвергаются все точки отобранных в {Sr} исходных траекторий, кроме первой и последней: p е[2; (imx -1)]. Выбор исходной траектории, точка с номером p которой переходит в новую
траекторию, определялся случайным образом с равной вероятностью:
ср =
bp при Rand > 0.5; ap при Rand < 0.5.
Траектория, полученная в результате рекомбинации траектории с номером r с траекторией с номером dr, занимает в исходном множестве место траектории с номером Er , не участвующей в рекомбинации.
14. Осуществляется отбор части траекторий полного множества для случайных изменений. Отбор членов промежуточного множества {Sev}, v е[2;M]
для случайных изменений производится способом случайной выборки среди всех членов полного множества, за исключением самой первой оптимальной траектории (S* = Sj), по закону равномерного распределения. Номер ev каждой траектории из полного множества, входящей в промежуточное множество {Sev}, подвергаемое случайным изменениям, определяется по зависимости
ev = 1 + Rand • M], v e [2;M].
С
3
Д1тар= (хк0 хн0)/\тах; Утах~ "1тах^Дитар); Ут\п=Ун0 (0.5^тах'Дитарр);
Штах=Шн0+(0.5ттахЛитС1р); Шт,п=Шн0-(0.5ттахДитар)-
Построение эквидистантной поверхности [УЭ] вокруг реальной поверхности препятствий
[УПР] по методике [3]
1=0
:1т
У к =(1-0.5^1тахУДитар
^ :ттах /
Л
Шк =(т-0.5ттахУДитар
Задание матрицы (Ат)к со значениями углов Ук, шк
1с
1=1+1 з:
1 [1; (сг'1тах'
ттах)]
1Е
МБ(1к, \д, I, т)= (л,; 1ке [1; 3]
<
<
\х=1(\Д1тар+Мз(1, \д, I, т))/Мта^; /*=1(ЬД1тар+Мз(3, \д, I, т))/Д1таpJ.
Коррекция \х, ¡1 + -
Ус( \д)=Уэ( ¡х, \г)-Мв(2, \д, 1,т) |-
Ут\п( \,к,1,т)=т\п(Ус( \д))
Б= нач~ (хн0, Ун0, ?н0, Ун0, Шн0)
р=2 Ц4=
1р=^Напд1тах^ кр=^апс1ктах^; 1р= \-Иапс1^1тах^ тр=1иапФттахЪ хр=рЛ1тар; Ур= 1рЛ1тар-; Ер=крД1тар'; Ур=(1р-0.5^тах)Дитар-; Шр=(тр-0.5ттах)Дитар
Рис. 1. Блок-схема модифицированного алгоритма (см.также с.19)
Локальная оптимизация траекторий {Sq}, qe [1; С]
Определение множества значений функции приспособленности {Ья} множества траекторий по (1)
Сортировка траекторий {Sq} по возрастанию
* *
Lq. Выделение S , L
ev=1+ RandM 1 +
p=2
jp=\-Randjmaxh kp=ÎRandkmaxh lp=\-Rand^maxb mp=\-Randmmaxh xmp=p^Almap-; ymp=jpûlmap'; zmp=km^Almap'; ymp=(lp-0.5•lmaxYAumap; vmp=(mp-0.5mmaxYàumap
>
Рис. 1. Окончание
15. Осуществляется случайное изменение траекторий промежуточного множества {Sgv} путем вставки сформированных случайным образом по (3), (4) с проверкой условия (5) точек траектории на место исходных точек:
Sp = Smp , Р е[2; (Lax -1)],
где smp =(xmp,ymp,zmp,ymp,mmp) - сформированная случайным образом по (3), (4) с проверкой выполнения условия (5) точка траектории.
16. Осуществляется переход к следующей итерации алгоритма: g = g +1, g е[1;G]. Если выполняется
условие завершения работы алгоритма (g > G), осуществляется переход к п. 17, в противном случае - к п. 11.
17. Выполняется локальная оптимизация лучшей траектории S*. При этом траектория обновляется.
18. Определяется уточненное значение целевой
функции L оптимизированной лучшей траектории S *
по (1)- . .
19. Вывод результатов: L, S *. Окончание работы алгоритма.
Блок-схема модифицированного алгоритма приведена на рис. 1.
Выводы. Вычислительные реализации описанной методики на основе модифицированного алгоритма в средах Microsoft Visual C++ и MATLAB показали ее работоспособность и эффективность. Примеры найденной траектории S* (точки начала координат системы груза) и этой же траектории после заключительной локальной оптимизации с указанием положений осей груза в форме цилиндра приведены на рис. 2, а и 2, б соответственно. Груз в форме цилиндра в рассматриваемом примере имел габаритный диаметр 0,5 условных единиц и высоту 2 условные единицы. Траектория после локальной оптимизации на рис. 2, б совпадает с глобальным минимумом заданной целе-
10
10
Рис. 2. Примеры найденной модифицированным алгоритмом траектории: а - до локальной оптимизации; б -
после локальной оптимизации
вой функции. Значение целевой функции, определяемой по (1), в результате локальной оптимизации несколько уменьшается: до оптимизации I = 22,36 ,
после оптимизации L* = 14,3 . Время поиска приведенной в качестве примера траектории составило менее 1 с на ПК средней производительности (AMD Athlon 64 X2 Dual Core Processor 5600+ 2.90 GHz) при числе полного множества траекторий C = 5° и числе
итераций алгоритма О = 100 .
Модифицированный алгоритм позволяет находить оптимальную траекторию перемещения груза с учетом его пространственной формы при произвольной форме дискретно заданных препятствий. Применение модифицированного алгоритма возможно в системах автоматического управления грузоподъемными машинами при перемещении грузов в трехмерном пространстве с препятствиями.
Библиографический список
1. Панченко Т.В. Генетические алгоритмы: учебно-методическое пособие / под ред. Ю. Ю. Тарасевича. Астрахань: Астраханский гос. ун-т, 2007. 87 с.
2. Джини К. Средние величины. М.: Статистика, 1970. 447 с.
3. Корытов М.С. Методика построения эквидистантных поверхностей в задаче поиска пути перемещения груза автокраном // Вестник Брянского государственного технического университета, 2009. № 2 (22). С. 65-69.
4. Щербаков В.С., Корытов М.С. Статическая и динамиче-
ская устойчивость фронтальных погрузчиков: монография. Омск: Изд-во СибАДИ, 1998. 100 с.
5. Syswerda G. A study reproduction in generational and steady-state genetic algorithms // Foundations of genetic algorithms, Morgan Kaufmann, 1991. Р. 94-101.
6. Whitley D. The genitor algorithm and selection pressure: why rank-based allocation of reproduction is best // The third int'l conf. on genetic algorithms, 1989. Р. 110-115.