ных систем, для которых не удается найти аналитическое решение обратной задачи о положении.
Список литературы
1. Хапкина И.К. Разработка алгоритмов управления роботами на основе численного решения обратной задачи кинематики // Известия ТулГУ. Проблемы специального машиностроения. Вып. 6. Т. 1. 2003. С. 356 - 360.
2. Сингх Н., Ши А.А. Жесткое контурное управление робототехническими системами //Конструирование и технология машиностроения. 1986. №1. С. 136-147.
I.K. Xapkina
POSITION SPEED CONTROL ALGORITHMS HANDLING ROBOT
The problem of controlling a robot manipulation, working with moving parts or equipment is study. It is proposed kinematic position control algorithm with the controls on the velocity vector.
Key words: algorithm, control, signals, speed, Jacobian.
Получено 20.01.12
УДК 517.8
В.А. Фатуев, д-р техн. наук, проф., зав. кафедрой, (4872) 36-97-83, [email protected] (Россия, Тула, ТулГУ),
В.А. Ковешников, канд. техн. наук, доц., 8-903-697-15-36,
1<рщ 1953 @yandex.ru (Россия, Тула, ТулГУ)
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ УНИВЕРСАЛЬНОГО СЛУЧАЙНО-ГЕНЕТИЧЕСКОГО АЛГОРИТМА НАКОПИТЕЛЬНОГО ТИПА
Решается задача разработки нового подхода, позволяющего обеспечить высокое качество решения задач параметрической оптимизации.
Ключевые слова: генетический алгоритм, кластеризация, Паретоанализ, параметрическая оптимизация, неопределенность.
Подавляющее большинство исследовательских техникоэкономических задач связано с улучшением качества функционирования систем, разрешением неопределенностей. Как известно, именно оптимизация является механизмом разрешения неопределенностей за счет многова-
риантного анализа соответствующих математических моделей. Многообразие языка математики и особенности объекта исследования приводят к построению сложных специфических моделей и, как следствие, проблемам управления по этим моделями, проблемам оптимизации.
Существует много оптимизационных методов, каждый из которых предназначен для решения определенного класса задач, имеет свои достоинства и недостатки. Поэтому идея разработки универсального высокоэффективного оптимизационного метода всегда привлекательна, хотя, может быть, и не совсем корректна.
В связи с этим была поставлена задача разработки нового подхода и соответствующего программного обеспечения, позволяющего обеспечить:
1) Универсальность - принципиальная возможность решения широкого класса задач:
- гладкие непрерывные оптимизационные задачи;
- целочисленные оптимизационные задачи;
- дискретные оптимизационные задачи;
- смешанные оптимизационные задачи (сочетание эффектов первых трех типов);
- в условиях частичной определенности модели;
- приемлемое решение NP- полных задач (переборных задач).
2) Возможность отыскания глобального решения.
3) Максимально возможное количество оптимизируемых переменных.
4) Минимальное количество обращений к модели (целевой функции).
5) Высокую точность оптимизации по параметрам и цели.
6) Малую вычислительную трудоемкость непосредственно оптимизационного алгоритма (временные затраты на реализацию вычислительных процедур).
Основная идея метода заключается в построении множества решений в соответствии с топологией задачи, учетом пространства поиска и значений целевой функции. Анализ этого множества позволяет выявить
наиболее перспективные решения, отсекая менее перспективные. В даль-
нейшем на основе специальных процедур смешивания выполняется генерация новых эффективных решений, пополняющих уже имеющийся массив решений с учетом сходимости процедуры.
Рассмотрим сначала процедуру статистического анализа модели, исследование процедуры пространства поиска по целевому назначению.
Формирование исходного множества решений рассматривается отдельно для непрерывных, целочисленных и дискретных переменных.
Непрерывные оптимизируемые величины образуются по уравнению
min | / max min\ . /1 \
Xi= Xi + t)i ( Xi - Xi ), l=nh n2, ...,nkl, (1)
где пк - номер непрерывной в заданно диапазоне оптимизируемом переменной; к1 - количество непрерывных оптимизируемых величин;
^г- - псевдослучайная величина, измеряющаяся в диапазоне [0-1].
Для целочисленных переменных задачи
хг=[хг]+1, =^1, т2,..., тк2, (2)
где тк - номер целочисленной оптимизируемой переменной; к2 - количество целочисленных оптимизируемых переменных.
Разумеется, т ф п, то есть переменная входит только в один блок, причем пк1+тк2=п, где п - общее количество оптимизируемых переменных.
Оптимизация дискретных переменных хг е (и/1^, и/2),..., и(\] выполняется на основе переменных по правилу г ^ и,, где /- целочисленное
значение, иг - дискретное значение г переменной по порядку в блоке дис-
кретных переменных, £ - количество дискретных значений переменной.
Далее необходимы анализ полученных решений х/, расчет модели, подсчет ограничений:
^а = ^а ( х ), а_ 1,а 0, (3)
где а0 - количество ограничений модели.
Формирование показателя нарушения ограничений
а 0
а =
^а*§а , (4)
где 8а =0, если Яа > 0 (ограничение не нарушено);
8а =1, если Яа <0 (ограничение нарушено).
При оптимизации в допустимой области, когда 8а =1, решение х
исключается из анализа, то есть х ^ х (-).
Решения, участвующие в дальнейшем анализе, образуют двухмерный массив-накопитель
_ Ух(Н, *2)= ^*(/1, (х , fx, £))= Ух(Н, (х1, х2,., хи, fx, £)), (5)
причем *2= ( х , fx, £}, /1=1,Мрор,
где Мрор - объем накопителя решений, ориентировочно Ырар= [10-100]; п - количество оптимизируемых переменных;
^, £ - значение целевой функции и показателя нарушения ограничений, соответствующих х .
Таким образом, подготовлены затравочный массив - накопитель, где сосредоточены характеристики множества решений, которые следует оценить на предмет привлекательности и которые, в сущности несут информацию необходимую для продолжения поиска, для генерации лучших решений.
Формально процедуру поиска можно представить как цепочку взаимно связанных событий типа
(уХ0)^ Р,!0)^ RVJ0)) ^ (Уа)^ Р,!')^ RVx(1)) ^ (у/>^ Р„т^ RF,(^I), (6) где і - количество итераций процедуры, индекс ноль в записи (например,
Т/ (0)ч
Ух ) соответствует исходному множеству решений, что напоминает разгон. Символ RVx указывает на множество решений, полученных в результате паретоанализа Ра.
В состоянии процесса оптимизации целесообразно оценить среднее
/ ср\ / шах\ / тіп\
(х, ), максимальное (х, ) и минимальное (х, ) значения переменных и
использовать эту информацию для генерации следующих решений.
Основная проблема оптимизации с ограничениями заключается в том, что выявление перспективных решений следует выполнять одновременно по двум показателям /х ^ тіп, s ^ тіп. Как известно, это проблема многокритериальности, не имеющая строгих решений и обычно в оптимизации переходящая в метод штрафных функций, основанный на линейной свертке критерия и показателя нарушенности ограничений. Компромиссы Паретто - один из подходов к разрешению этой проблемы. Смысл подхода заключается в исключении решений перекрываемых (лучших) по этим двум показателям и исключении тех решений, которые в этом смысле рассматривать не предоставляется возможным.
Паретоанализ при оптимизации с ограничениями выполняется на основе массива - накопителя решений У(іі, (х,/х, s)) по показателям/х (целевая функция) и 5 (мера нарушения ограничений).
Будем считать Ж=Ж(/(х), s(х ))=У(і1, (х Д х), s(х))),
Жі=Ж,(/(Хі), s(Xi))=W(fi,Si).
Основная задача паретоанализа заключается в построении упорядоченного множества, разбиении его на кластеры (подмножества) по правилу. Решение х, считается паретооптимальным, если не существует такого XkE -№, что
Л ^Л(xk) (7)
< — , (7) si ^s(xk)
причем одно из неравенств (7) является строгим.
Все решения х,є w, не перекрываемые в смысле (7), образуют кластер - подмножество ^1 , которое может содержать от 1 до N.ор кортежей Л,^,). В результате получаем два подмножества ^1 и ^1-, первое из которых является паретооптимальным, а второе - не паретооптимальным. Тогда исходное множество w следует понимать как объединение этих множеств, то есть
+ -
w= w1 и ^1 .
Повторяя процедуру уже для множества w1-, получаем
- + -
w1 = w2 и w2 ,
и так далее
- + -
Wm-1 = Wm U Wm ,
- +
wm wm+1 •
При этом все элементы подмножества wm паретооптимальны либо подмножество состоит из одного элемента; в этом случае процедура заканчивается.
Таким образом исходное множество w является объединением “m” отдельных кластеров-пареторешений разного уровня, то есть
w= w1+ U w2+ U.. u wm+. (8)
Решения первого кластера w1 перекрывают все решения нижеследующих кластеров и, следовательно, их можно в последующем не учитывать - отбросить. Это утверждение справедливо, когда число элементов первого кластера достаточно велико, чтобы процедура множественной генерации решений не выродилась вплоть до одного единственного решения. Поэтому целесообразно рассматривать процесс оптимизации на фоне первого кластера и на основе совокупности кластеров, предполагая возможность вырождения.
После решения задачи кластеризации необходимо обосновать эффективность решения в пределах кластера, здесь паретоанализ уже не применим. В связи с этим, можно предположить следующую процедуру построения обобщенной целевой функции или фитнесс-функции. Она должна учитывать как необходимость улучшения цели, так и ограничений поочередно, отдавая предпочтение оптимизации в одном, либо другом направлении. В перспективе, настроив процедуру, должна обеспечиваться сходимость в этих двух направлениях, иначе говоря, переход в допустимую область и нахождение там оптимума по цели.
Определяется минимальное значение целевой функции f(x) в массиве W среди всех допустимых решений (Si(x) > 0), то есть
amin=min f (Xj ) | Si > 0. (9)
i
При наличии допустимых решений в массиве w для решений не лучших по цели, чем amin строится фитнесс-функция вида:
f (Xj )
F(xl)=[(f(xl)- amm)+ 5(^]*Mb*r+S(Xj)+ ; (10)
J bar
f0, если L < L о (= 0,57)
5(0=I L L ,
[1, если L > L 0
Mbar= MbJ0) (=104),
где Mbar - некоторая достаточно большая величина, являющееся барьером и отодвигающая вниз решения, худшие, чем amin.
5(£) - случайная величина сигнатурного типа, переводящая при 5=1 лучшее допустимое решение в нижестоящий по значимости блок до-
пустимых решений w2. При этом лучшим по цели недопустимым решениям отдается предпочтение, они занимают в вышестоящем блоке w1 самое высокое место под номером 1 и объявляются лучшими (это обеспечивает движение к оптимуму через недопустимую область). При 5 =0 и тех же прочих условиях отдается предпочтение лучшему допустимому решению и оно попадает в блок w1 под номером 1 и объявляется лучшим (это дает продвижение к оптимуму в допустимой области).
При отсутствии допустимых решений оптимизация по цели временно не представляет интереса; необходимо приблизиться к допустимой области. Фитнесс-функция строится следующим образом
f (Xi )
F(Xi)=S(Xi)+ , (11)
fbar
где fbar (=102) - барьер, дающий превосходство ограничениям и определяющий направление оптимизационного случайного процесса; в случае равного отношения решений по ограничениям преимущество отдается решениям с лучшим значениям цели.
Определяется лучшее решение по фитнесс-функции F(x) согласно
* —* —
min F(xi) ^ iо, F( x.)=F , x = x0, (12)
1<i < Np0p в результате сортировки
Е(р1+1>р1>, то (81= 81+1, 81+1= 81, XI+1 = х1, х1 = х1+1 ) (13)
Исходный массив w меняет порядок, поэтому w ^ М. В массиве М решения расположены по убыванию привлекательности сформированной на текущий момент согласно (10) или (11), при этом лучшему решению соответствует номер 1. Некоторую часть решений (худшую) м2 целесообразно отсечь. Естественно, что
# Г , , Г
м = м и ^2 . (14)
Решение Х1 е м{ является лучшим, базовым, а другие также используются при генерации новых решений на очередной итерации.
Так как решения, входящие в массив являются наиболее перспективными, то они несут полезную информацию о соответствующем подпространстве поиска. То есть по решениям, входящим в можно судить о сходимости метода и диапазоне изменения переменных на очередной итерации для повышения эффективности оптимизации
ДI = х,тах - хгтт (15)
• V тт , тах
тт X ^ X , тах X ^ Х , 1=1, п, (16)
хе^1 хе^1
где п - количество оптимизируемых переменных.
Для включения новых перспективных решений в массив-накопитель целесообразно выстроить систему барьеров, отсечений, препятствующих вхождению сгенерированных решений в процедуру дальнейшего анализа.
Максимальный штраф Smax в поколении определяется в результате решения задачи:
max Si ^ S max, (17)
XGwj
Худшая цель:
max fi ^ f , (18)
xew|
Минимальный динамический штраф среди максимальных с учетом “k” итераций:
mln max fi(k) ^ f , (19)
k-1,2, .. XGWj
Худшая и лучшая цель в накопителе среди допустимых решений:
max fi ^ f^ (20)
Xiддо ew1
mln fi ^ fmn. (21)
Ъдоп^!
Таким образом, на основе исходного множества решений w строится усеченное множество wl, где элементы расположены в порядке ухудшения сверху-вниз по фитнесс-функции, а лучшим является решение под номером 1. Именно оно является базой для генерации новых решений в результате некоторого покоординатного объединения с нижестоящими ре-
шениями.
Сравнительный анализ с известными оптимизационными алгоритмами свидетельствует о явном преимуществе данного случайногенетического алгоритма. Он эффективно решает все типы оптимизационных задач размерностью до 500-та переменных, обеспечивает высокий уровень качества единовременно по всем перечисленным показателям, решает все перечисленные типы задач.
Характерно еще и то, что он дает устойчивые оптимальные решения в условиях частичной определенности модели (когда при некоторых значениях параметров модель объекта не существует, либо процесс в этом состоянии еще не описан, либо модель не реализуема с вычислительной точки зрения - деление на ноль, отрицательное подкоренное выражение, не определенные тригонометрические функции типа аrссоs, аг^ и т.п.)
К настоящему времени подготовлены три тематических сайта на русском и английском языках [1], где подробно рассмотрены все типы за-
116
дач, приводятся модели (тесты), соответствующие тексты программ, решения, дается сравнительный анализ, представлен раздел самостоятельного решения задач пользователей в различных технология и языках программирования: Рассмотрено около 70-ти тестов, хорошо известных в теории
параметрической оптимизации, это задачи: Griewangk, Schwefel, Askley, Helix, Леви, Растригина, Rosenbrock, Powel, Wood, Kowalik и др. [1,2,4,5,6]. При этом они рассматривались на разных уровнях по числу управляемых переменных:
1 - 5 переменных;
2 - 15 переменных;
3 - 50 переменных;
4 - 100 переменных;
5 - 500 переменных;
Каждый уровень это, по существу, целая эпоха в оптимизации.
Список литературы
1. Комплекс оптимизационных программ [Электронный ресурс] /
B.А. Ковешников [и др.] Режим доступа: http://www.genoptim.narod.ru/, http://www.genoptim.narod.ru/RUS, http://www.genoptim.narod.ru/ENG.
2. Батищев Д.И., Исаев С.А. Оптимизация многоэкстремальных функций с помощью генетических алгоритмов // Высокие технологии в технике, медицине и образовании. Воронеж: Изд-во ВГТУ, 1997. Ч. 3.
C. 23-34.
3. Симанков В.С., Частикова В.А. Генетические алгоритмы и поиск оптимальных решений // Автоматизация и современные технологии. 2003. № 6. С. 39-45.
4. Baeck T. Evolutionary Algorithms in Theory and Practice // New York: Oxford University Press. 1996. P. 138-159.
5. Clement R.P. Genetic Algorithms and Bus-Driver Scheduling // Presented at the 6th International Conference for Computer-Aided Transport Scheduling, Lisbon, Portugal. 1993. P. 25-37.
6. More J.J. Testing Unconstrained Optimization Software // ACM Trans. Meth. Software. 1981. P. 17-41.
V.A. Fatuev, V.A. Kovehnikov
MATHEMATICAL MODEL UNIVERSAL SLUCHAYNO-GENETICHESKOGO ALGORITHM OF ACCUMULATIVE TYPE
In article the problem of development of the new approach, allowing to provide high quality of the solution of problems of parametrical optimization is solved.
Key words: genetic algorithm, clustering, paretoanaliz, parametrical optimization, uncertainty.
Получено 20.01.12