вающиеся тела проникают друг в друга (d > 0), а также имеют скорости и ускорения, направленные на увеличение глубины проникновения.
Указанная ранее функция моделирует неупругий удар, что допустимо при столкновении волос с объектами.
При реализации описанной модели применялись технологии OpenMP и NVidia CUDA. При вычислениях c использованием CPU Intel Core i7-860 (4x2.80GHz) и GPU NVidia GTX470 для моделирования 2025 волос, состоящих из 10 сегментов каждый, потребовалось 100 мс на каждый шаг моделирования (шаг моделирования 0,01 с), что равно 0,4 с на один кадр анимации.
Разработанная система позволяет моделировать динамику длинных прямых волос с учетом столкновений с объектами. Время моделирования 2000 волос в 10 раз превышает необходимое для интерактивного моделирования, но при этом остается допустимым для использования при создании анимационных фильмов.
При дальнейшем развитии работы особое внимание следует уделить проблеме столкновений волос с объектами, заменив функции штрафа вычислением контактных сил и импульсов.
Работа выполнена в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технического комплекса России на 2007-2013 гг.», госконтракт № 07.524.12.4009.
СПИСОК ЛИТЕРАТУРЫ
1. Selle, A. A mass spring model for hair simulation [Text] /A. Selle, M. Lentine, R. Fedkiw //ACM Transactions on Graphics. -2008. -Vol. 27. -№ 1.
2. Hadap, S. Modelling dynamic hair as a continuum [Электронный ресурс] / S. Hadap, N. Magnenat-Thalmann // Computer Graphics Forum. Proc. of Eurographics'01. -2001. -Vol. 20. -№ 3. -P. 329-338.
3. Chang, J.T. A practical model for hair mutual interactions [Text] / J.T. Chang, J. Jin, Y. Yu // In ACM SIGGRAPH Symp. on Computer Animation. -2002. -P. 73-80.
4. Bertails, F. Predicting natural hair shapes by solving the statics of flexible rods [Text] / F. Bertails, B. Audoly, B. Querleux [et al.] // In Eurographics (short papers), 2005.
5. Van der Vorst, H.A. Bi-CGSTAB: A Fast and Smoothly Converging Variant of Bi-CG for the Solution of Nonsymmetric Linear Systems [Электронный ресурс] / H.A. Van der Vorst // SIAM J. on Scientific and Statistical Computing. -1992. -№13 (2). -P. 631-644.
6. Hadap, S. Oriented strands: dynamics of stiff multi-body system [Электронный ресурс] / S. Hadap // In Proc. of the 2006 ACM SIGGRAPH/Eurographics Symp. on Computer animation - SCA '06.
7. Темам, Р. Уравнения Навье-Стокса. Теория и численный анализ [Текст] / Р. Темам; 2-е изд. -М.: Мир, 1981. -408 с.
8. Featherstone, R. Rigid Body Dynamics Algorithms [Text] / R. Featherstone. -New York: Springer, 2008.
УДК 681.3.06(075.8)
И.Г.Черноруцкий
ИНТЕРАКТИВНЫЕ ПРОЦЕДУРЫ МНОГОКРИТЕРИАЛЬНОГО ВЫБОРА
Выбор наилучшего решения из множества допустимых вариантов предполагает наличие некоторого правила для сравнения возможных альтернатив. Наиболее часто такое правило задается некоторым «целевым» функционалом, отображающим множество альтернатив во множество вещественных чисел. В этом случае задача решается методами скалярной оптимизации, а наилучшее решение отождествляется с экстремумом целевого функционала. Построение целевого функционала может быть сопряжено с серьезными затруднениями. На практике неред-
ко оказывается более естественным задавать не один, а несколько «частных» целевых функционалов в качестве критериев оценки выбираемых вариантов. Эти функционалы достигают своих экстремумов в различных точках, и задача поиска экстремума целевого функционала должна быть заменена на поиск нового объекта, принимаемого за решение соответствующей многокритериальной задачи выбора.
Итак, решаются задачи вида (х) ^шш,(/ = 1, ..., т), X сRп.
хеХ
(Для определенности будем говорить о минимизации, а не максимизации. Эти задачи легко сводятся друг к другу).
Функции являются вещественными функционалами и отображают множество Х во множество вещественных чисел Я. В качестве формального решения сформулированной задачи обычно выступает множество Парето: множество «эффективных» точек, не доминируемых по бинарному отношению Парето. Рассматриваются множества Парето как в пространстве альтернатив Х, так и в т-мерном пространстве векторных оценокОни обозначаются соответственно Р(Х) и Р(/). Понятно, что Р( X) с X, Р( /) = / (Р( X)).
Рассматриваемая проблема заключается в том, что множество Парето оказывается достаточно обширным и содержит слишком много элементов. Тогда как на практике выбор часто должен ограничиваться одним элементом или небольшим количеством «наилучших» или «приемлемых» решений. Существуют различные классы методов «сужения» множества Парето и все они основаны на привлечении дополнительной субъективной информации о характеристиках искомого решения. При отсутствии такой явно или неявно используемой информации ничего кроме множества Парето в качестве объективного решения указать невозможно.
В данной работе строится интерактивная процедура решения сформулированной многокритериальной задачи выбора, приводящая к желаемому результату на основе ряда естественных предположений о конкретной системе предпочтений ЛПР - лица, принимающего решение. В отличие от традиционных методов, в излагаемом подходе «интеллектуальная нагрузка» на ЛПР существенно снижена.
Классификация методов выбора в условиях многокритериальное™
В представленных далее методах решения многокритериальных задач речь идет не о построении множеств Парето и их аппроксимаций (что тоже является проблемой), а о получении относительно небольшого числа элементов множества альтернатив, которые могут быть восприняты ЛПР как приемлемые решения.
Методы многокритериального выбора на основе дополнительной информации пользователя (ЛПР) можно условно разделить на три класса: методы непосредственной скаляризации, методы
теории полезности и поисковые методы многокритериального выбора.
К процедурам непосредственной скаляриза-ции относятся наиболее распространенные «инженерные» методы свертки («скаляризации») векторного критерия оптимальности. Методы основаны на предположении, что вся необходимая информация для выделения единственного решения может быть извлечена из исходной постановки задачи. Здесь в первую очередь можно указать методы линейной свертки, максиминной свертки, свертки Джоффриона, метод «главного критерия», метод идеальной точки, раличные принципы «справедливого компромисса» и т. д. Выбор одного из этих методов осуществляется ЛПР и тем самым в задачу вносится необходимый субъективизм. В результате исходная многокритериальная задача с помощью соответствующих мотиваций сводится к задаче скалярной оптимизации. Обсуждение и критика подобных процедур хорошо известны и выходят за рамки данной статьи.
В процедурах теории полезности делается предположение, что система предпочтений ЛПР описывается некоторым функционалом или функцией «полезности» или «потерь» и(х). (Иногда, в детерминированных случаях, которые здесь и рассматриваются, принято говорить о функциях «ценности», а не о функциях полезности). Функционал и(х) принимает вещественные значения и его максимум или минимум на Х отражают представление пользователя о «наилучшем» варианте. Методами скалярной оптимизации непосредственно воспользоваться не удается, т. к. предполагается, что функционал полезности в явном виде не задан. Однако предполагается, что все утверждения пользователя в процессе диалога о качестве и сравнительной оценке различных вариантов из Х соответствуют этому функционалу. Иначе говоря, ЛПР «неосознанно» во всех своих суждениях руководствуется «своим» функционалом полезности и(х). Функционал и(х) при этом должен быть определенным образом «согласован» с исходной многокритериальной постановкой задачи. В противном случае задача многокритериальной оптимизации и задача максимизации полезности (или минимизации потерь) не имели бы друг к другу никакого отношения.
При реализации процедур теории полезности используются различные предположения о структуре функционала и(х). Например, в теории полез-
ности показывается, что функционал полезности будет иметь аддитивную структуру, если частные критерии / . взаимонезависимы по предпочтению (см., например, [1]). В результате применения методов теории полезности (в процессе диалога с ЛПР) строится в явном виде функционал и(х). Это построение выполняется с учетом ответов пользователя на целый ряд непростых вопросов. Известно, что «интеллектуальность» и трудоемкость такого диалога оказывается чрезвычайно высокой для ЛПР. Вопросы к ЛПР оказываются сложными и далекими от соответствующей предметной области. Эта трудоемкость оказывается излишне высокой. Действительно, явное построение функционала и(х) позволяет не только выбрать наилучшую альтернативу (что и требуется), но и упорядочить все элементы множества альтернатив по предпочтению. Проделывается по существу «лишняя» работа.
Поисковые процедуры многокритериальной оптимизации лишены этого недостатка. Функционал и(х) не строится, хотя по-прежнему предполагается его существование. От пользователя соответствующей программной системы выбора требуется отвечать на более простые вопросы. Предпочтения пользователя выявляются непосредственно в процессе исследования множества исходных вариантов. Подобный подход известен давно и связан с работами многих исследователей. Общая идея приписывается А. Джоффриону и сводится к реализации некоторого выбранного алгоритма нелинейного программирования в пространстве альтернатив Х [2]. При этом предполагается, что поступающая в процессе диалога информация от пользователя обеспечивает реализацию тех шагов применяемого алгоритма оптимизации, которые в обычных условиях требуют явного задания и(х).
Наиболее часто в качестве теперь уже классической поисковой процедуры многокритериальной оптимизации выступает хорошо известный из литературы алгоритм Фрэнка-Вулфа на основе градиентного метода наискорейшего спуска (МНС). Однако он имеет два очень крупных недостатка. Во-первых, сам по себе МНС неэффективен по причине низкой скорости сходимости. Во-вторых, его реализация в алгоритме Фрэнка-Вулфа затруднена из-за необходимости определять направление наиболее сильного убывания (или возрастания) функционала и(х), а также необходимости осуществлять одномерную оптими-
зацию вдоль заданного направления для определения оптимальной величины шага продвижения. Непосредственно ничего сделать не удается т. к. функционал u(x) по-прежнему неизвестен. Для реализации алгоритма на основе диалога с ЛПР необходимо строить кривые безразличия, коэффициенты замещения и другие аналогичные объекты. Эти процедуры оказываются слишком трудоемкими и ненадежными.
Существуют алгоритмы, реализующие различные варианты диалоговых методов поиска оптимума u(x) нулевого порядка, оказывающиеся существенно эффективнее методов Фрэнка-Вулфа (ВФ-методов) и не требующие вычисления производных и осуществления одномерного поиска. Эти методы, как и ВФ-метод, реализуются в пространстве альтернатив Х
Обсуждаемый в данной статье подход к решению проблемы многокритериальной оптимизации поисковыми методами также основан на применении прямых методов поиска, но не в пространстве альтернатив Х, а в конечномерных пространствах весовых коэффициентов используемых сверток. Как далее показано, это приводит к целому ряду преимуществ при решении задач мнококритери-ального выбора вариантов.
Поисковые методы многокритериальной оптимизации
Перейдем к рассмотрению поисковых методов многокритериальной оптимизации. Как уже указывалось, рассматриваемые методы основаны на гипотезе о существовании некоторого «функционала потерь» u(x), определенной на исходном множестве альтернатив Х:
u : X ^ R.
Основная задача состоит в выборе одного из элементов х* е Х, такого, что
x* = arg min u(x).
xeX
Это задача нелинейного программирования о поиске минимизатора. Отличие рассматриваемой ситуации от типовой задачи нелинейного программирования заключается в следующем. Здесь предполагается, что функционал u(x) описывает цель операции выбора, и предпочтения ЛПР устроены очень просто: чем меньше значение функционала потерь, тем лучше. Главное предположение состоит в том, что, как уже говорилось, функционал u(x) считается заранее неизвестным (в противном случае можно было бы просто вос-
пользоваться методами конечномерной скалярной оптимизации для выбора наилучшей альтернативы).
Далее от ЛПР, решающего многокритериальную задачу выбора, будет требоваться не оценка значений и(х) для конкретных хеХ (что невозможно), а только способность сравнения двух любых альтернатив по их векторным оценкам. Как будет ниже показано, этого оказывается достаточно, чтобы применить, например, такой метод поиска минимума нулевого порядка, как метод Нелдера-Мида (НМ-метод) [3]. При этом ЛПР выступает в качестве своеобразного измерительного устройства для получения необходимой для работы метода информации. Здесь, конечно, существуют свои трудности, связанные, например, с возможной противоречивостью ответов ЛПР, но они преодолимы, и мы в статье не будем на них останавливаться.
Прообразом НМ-метода явился симплексный метод Спендли, Хекста и Химсворта, основная идея которого состоит в следующем.
В пространстве поиска Я" строится равносторонний многогранник (регулярный симплекс) с количеством вершин равным " + 1 (для " = 2 это будет равносторонний треугольник). Далее выясняется, какая из вершин симплекса является наихудшей в смысле значения функционала и(х). Для этого можно вычислить и(х) во всех вершинах (если функционал и(х) задан аналитически или алгоритмически). Но можно производить попарные сравнения вершин, пользуясь категориями «больше», «меньше», «равно», как указывалось ранее.
Найденная наихудшая вершина заменяется на новую вершину, которая является отражением
наихудшей вершины относительно центра тяжести оставшихся вершин. Получается новый симплекс, где вся процедура повторяется. В результате симплекс передвигается по пространству поиска в сторону искомого минимизатора функционала и(х) (рис. 1).
В таких процедурах принимаются специальные меры, предотвращающие циклы (циклические движения), а также используются правила уменьшения размера симплекса.
Описанный метод испытывает определенные трудности в связи с отсутствием механизма ускорения поиска в перспективных направлениях, а также в связи с продвижением вдоль искривленных оврагов и хребтов функционала и(х). В НМ-методе внесены соответствующие усовершенствования. Симплекс получает возможность изменять свою форму, вытягиваться, сжиматься и, таким образом, не будет оставаться симплексом. Поэтому для него используется более подходящее название - деформируемый многогранник, а сам метод часто называется методом деформируемого многогранника.
Основные операции НМ-метода:
1. Отражение. Проектирование худшей вершины X через центр тяжести хс оставшихся вершин (рис. 2): х = Xе + а(х - Х), а > 0. Здесь хс не вершина, а точка центра тяжести вершин 2, 3.
2. Растяжение. Если значение функционала и(х) в точке X оказывается лучше, чем в лучшей вершине из списка {1, 2, 3}, то выполняется растяжение в у раз (у > 1 — коэффициент растяжения) и точка X заменяется на точку Ху .
3. Сжатие. Если в отраженной вершине хг значение функционала и(х) хуже, чем во всех других вершинах (кроме хн), то производится сжатие
Рис. 1. Симплексный метод
7
9
5
xh 1
Xе
--------в---э------ß-------------о
Рис. 2. Операция отражения
(с коэффициентом 0 < ß < 1) и точка X заменяется на точку Xß.
4. Редукция. Если в отраженной вершине значение функционала u(x) хуже, чем в точке xh, то весь многогранник сжимается в два раза относительно лучшей вершины X (рис. 3).
5. В остальных случаях операции 2-4 не производятся, а сам процесс продолжается для нового многогранника {2, 3, X}.
6. Окончание процесса производится, когда выполняется условие приблизительного равенства значений функционала в вершинах текущего многогранника и в центре тяжести многогранника без учета худшей вершины. Могут использоваться и другие условия окончания процесса.
Формулировка НМ-метода закончена.
При реализации адаптивной процедуры выбора на основе НМ-метода решается следующая основная задача:
f(x) ^ min, (i = 1, ..., m), X с Rn.
xeX
Здесь Х — множество альтернатив; fX) - множество допустимых оценок.
Будем предполагать, что функционал u(x) «согласован» с векторным отображением f = fj, ..., fm) в том смысле, что V arg min u(x) e P(X).
xeX
Из теории многокритериальной оптимизации известно, что при предположении о выпуклости множества f(X) найдутся такие весовые коэффи-
Новый редуцированный многогранник
циенты а* > 0, i = 1, ..., m; Ха,* = 1, что линейная
i=1 т функция («линейная свертка») J(x) = V а* f (x)
i=1
ч Ж
достигает своего минимума в искомой точке х , т. к. последняя по предположению о согласованности является точкой Парето. Поэтому вместо поиска х* достаточно определить соответствующие весовые коэффициенты а*.
Согласно этой основной идее процесс выбора будет протекать следующим образом.
Каждому а = (ар ..., ат) будет соответствовать точка x(o)eP(X), полученная как решение задачи минимизации линейной свертки
т
J(x) = V а f (x) ^ min любым методом скаляр-
i xeX
i=1
ной оптимизации. Векторная оценка fixfa)) будет одновременно оценкой а. А далее во множестве
A = а = j(а„..., ат) | а, > 0, Jа, = 1 j, A с Rm
реализуется НМ-метод, позволяющий последовательно находить
* * / *\ J* JY *\
а ^ х = х(а ) ^j = f(x ).
Реализация НМ-метода не вызывает затруднений. Видно, что при выполнении операций растяжения, сжатия и редукции (шаги 2-4) нет необходимости производить фактическое вычисление значений неизвестного функционала u(x). Достаточно производить операции сравнения точек а в пространстве поиска по их векторным оценкам.
В отличие от возможного «прямого» подхода, когда процедура НМ-метода реализуется непосредственно во множестве X с Rn, мы здесь работаем в пространстве весовых коэффициентов Rm, причем, как правило, m<<n. При этом необходимо решать вспомогательные оптимизационные задачи в пространстве Rn при минимизации функционала линейной свертки J(x) для каждого пробного а. Но эти задачи решаются не в режиме диалога с ЛПР и поэтому могут быть решены с меньшими временными затратами. Наиболее
u(xr) > u(xh)
Рис. 3. Операция редукции
r
x
Y
трудоемкая «диалоговая» часть процедуры выбора реализуется в пространстве Ят существенно меньшей размерности и в этом главный выигрыш построенной «косвенной» процедуры.
Предлагаемый «косвенный» подход оказывается реализуемым и в случае, если Х является множеством (конечным или бесконечным) объектов произвольной природы, т. е. требование X с Я" является в данном случае непринципиальным. Важно лишь, чтобы для каждого из элементов хеХ можно было вычислить соответствующую векторную оценку Дх).
Если абстрактные объекты из Х являются не-параметризованными (т. е. с ними не ассоциируются какие-либо числовые векторы), то обычно множество Х оказывается конечным и вспомогательные задачи минимизации ^х) решаются простым перебором вариантов. При этом диалоговый НМ-метод по-прежнему реализуется в числовом непрерывном пространстве весовых коэффициентов Ят, как это и было описано выше.
Дополнительное преимущество рассмотренной косвенной реализации по сравнению с прямой реализацией НМ-метода во множестве X с Я"
СПИСОК Л
1. Кини, Р.Л. Принятие решений при многих критериях: предпочтения и замещения [Текст] / Р. Л. Кини, Х. Райфа. -М.: Радио связь, 1981. -560 с.
2. Джоффрион, А. Решение задач оптимизации при многих критериях на основе человеко-машинных процедур [Текст] / А. Джоффрион, Дж. Дайер, А. Файн-берг // В кн.: Вопросы анализа и процедуры принятия
заключается в том, что здесь мы осуществляем выбор строго в пределах множества Парето и поэтому гарантируется эффективность получаемых решений.
Вместо линейной свертки J(x) для некоторых задач целесообразно использовать более эффективную свертку Джоффриона, реализующую принцип лексикографического упорядочения и не требующую свойства выпуклости множества достижимости ДХ). Вместо НМ-метода можно использовать более простые прямые методы типа методов циклического покоординатного спуска с настройкой шагов без реализации процедур одномерной оптимизации [4].
Построена диалоговая процедура многокритериальной оптимизации для общего случая нелинейного целевого функционала, описывающего систему предпочтений ЛПР при решении многокритериальных задач и не заданного в явном виде. По своим вычислительным и диалоговым параметрам построенная процедура превосходит традиционные диалоговые методы оптимизации.
ГЕРАТУРЬ1
решений. -М.: Мир, 1976. -С. 116-127.
3. Nelder, N. A simplex method for function minimization [Text] / N. Nelder, R. Mead // Computer J. -1965. -№ 7. -P. 140-148.
4. Черноруцкий, И.Г. Методы оптимизации. Компьютерные технологии [Текст] / И.Г. Черноруцкий. -СПб.: БХВ-Петербург, 2011. -384 с.
УДК 519.2
А.В. Титов
МЕТОДИЧЕСКИЕ ПОЛОЖЕНИЯ ОЦЕНИВАНИЯ ВЕРОЯТНОСТНЫХ ХАРАКТЕРИСТИК ПРОЦЕССОВ ФУНКЦИОНИРОВАНИЯ ОРГАНИЗАЦИОННО-ТЕХНИЧЕСКИХ СИСТЕМ
При событийном подходе к описанию процессов функционирования организационно-технических систем рассматриваются хронологические последовательности (потоки) событий, связанных с изменением состояния системы [3]. События целесообразно разделять на классы в
соответствии с их содержательным смыслом, периодичностью, последствиями и т. п. Например, следует различать такие события, как поступление задания на выполнение работы заданным элементом системы, начало выполнения работы, окончание выполнения работы, начало взаимо-