Перейти на главную страницу
В работе излагается метод решения задачи покрытия на основе роевого интеллекта [10]. Используется компактное символьное представления решения задачи покрытия. Это позволило организовать пространство решений, использующее неупорядоченные лингвистические шкалы, в рамках которого организован поисковый процесс, базирующийся на моделировании адаптивного поведения роя частиц.
Пусть задана функциональная схема S = {si | i=1,2,…,w}, состоящая из элементов si и множество E ={ei|i=1,2,…,n} типов элементов, образующих покрываемую функциональную схему. Количественный состав схемы по типам элементов опишем вектором B = {bi | i=1,2,…,n}, где bi – число элементов типа ei , входящих в состав схемы. Кроме того, задан набор покрывающих ячеек H = {hj | j=1,2,…,m}. Каждая ячейка имеет свой набор элементов из E. Элементы внутри ячейки между собой не соединены. Количественный состав ячеек выразим с помощью матрицы A = ||aij||nm , где aij – число элементов типа ei в ячейке типа hi. Вектор C = {cj | j=1,2,…,m} конкретизирует для каждой ячейки hj её стоимость cj. Схема считается покрытой ячейками из набора H, если каждый элемент функциональной схемы реализуется элементами из состава выбранных ячеек. Построим математическую модель. Введём целочисленную переменную xj, определяющую число ячеек типа hj, входящих в покрывающий набор. Тогда задача покрытия формулируется следующим образом:
минимизировать
, (1)
при ограничениях F
то F определяет общее число элементов покрывающего набора ячеек.
Введём матрицу P, которая отражает граничные требования по количественному составу элементов, покрываемых ячейками каждого типа, P =||pij||nm, где pij – минимальное число элементов типа ei, которое обязательно должно быть покрыто ячейками типа hj, pij 0, pij – целое число. При этом для реализации полного покрытия всех элементов в соответствии с требованиями матрицы P необходимо выполнение ограничений:
A= |
Типы элементов |
Типы покрывающих ячеек | ||||
h1 |
h2 |
h3 |
h4 |
h5 | ||
e1 |
2 |
3 |
1 |
2 |
2 | |
e2 |
2 |
2 |
3 |
2 |
1 | |
e3 |
3 |
1 |
1 |
2 |
2 |
Рис. 1. Матрица A, описывающая количественный состав ячеек
Матрица P однозначно соответствует покрывающему набору ячеек, который формируется следующим образом. Сначала строится матрица D = ||dij||nm. Элемент матрицы dij – целое число, которое определяется как большее целое от pij/aij и фактически равно минимальному числу ячеек типа hj , необходимых для покрытия pij элементов типа ei. Затем в пределах каждого j–го столбца матрицы D находится максимальное число djmax, ( i) [djmax dij]. Оно является минимальным числом xj = djmax ячеек типа hj, гарантированно обеспечивающих покрытие р1j элементов типа e1 , р2j элементов типа e2 ,…, рnj элементов типа en, в соответствии с требованиями матрицы P. Причём, кроме элементов типа ei , для которых dij = djmax , остальные типы элементов могут быть покрыты с избытком.
P = |
Типы элементов |
Типы покрывающих ячеек |
bi= pij | ||||
h1 |
h2 |
h3 |
h4 |
h5 |
| ||
e1 |
2 |
3 |
3 |
1 |
1 |
b1 = 10 | |
e2 |
4 |
4 |
8 |
5 |
9 |
b2 = 30 | |
e3 |
2 |
6 |
5 |
1 |
6 |
b3 = 20 |
Рис. 2. Матрица P
Общее число ячеек Nя в покрывающем наборе и общее число Ni элементов типа ei , входящее в состав покрывающего набора ячеек определяются по формулам: Nя=∑xj ; Ni=∑xj ∙aij .
D = |
Типы элементов |
Типы покрывающих ячеек | ||||
h1 |
h2 |
h3 |
h4 |
h5 | ||
e1 |
1 |
1 |
3 |
1 |
1 | |
e2 |
2 |
2 |
3 |
3 |
9 | |
e3 |
1 |
6 |
5 |
1 |
3 | |
| ||||||
X = |
xj |
х1 |
x2 |
x3 |
x4 |
x5 |
25 |
2 |
6 |
5 |
3 |
9 | |
|
В каноническом методе роя частиц [10], использующем метрические шкалы, новая позиция частицы k определяется как
где vk(t+1) – скорость перемещения частицы k из позиции xk(t) в позицию xk(t+1). Начальное состояние определяется, как xk(0), vk(0). Приведенная формула представлена в векторной форме. Для отдельного измерения i пространства поиска формула примет вид
где xki(t) – позиция частицы k в измерении i, vki(t+1) – скорость частицы k в измерении i.
Введем обозначения:
В работе в отличии от стандартной парадигмы метода роя частиц вместо метрической (числовой ) шкалы используется неупорядоченная лингвистическая шкала.
В нашем случае позиция xk(t) соответствует решению, задаваемому матрицей Pk(t). Число n осей в пространстве решений равно числу строк Pki(t) в матрице Pk(t). Точками отсчета на каждой оси i являются значения лингвистической переменной xki(t) неупорядоченные друг относительно друга. Значением xki(t) является набор значений элементов pkij(t) в i-ой строке Pki(t) матрицы Pk(t) для которых выполняется ограничение (2). Позиция xk(t), то есть матрица Pk(t) является решением, а скорость vi(t+1) рассматривается как средство изменения решения. В отличие от канонического метода роя частиц, в нашем случае скорость vk(t+1) не может быть представленной в виде аналитического выражения. В качестве скорости vk(t+1) выступает процедура перемещения, суть которой заключается в изменения значений элементов в строках Pki(t) матрицы Pk(t) с соблюдением ограничений (2). Частица k перемещается в новую позицию c новыми значениями лингвистических переменных xki(t).
Пусть «центром притяжения» частицы k, размещенной в позиции xk(t) (решение Pk(t)), является позиция xc(t) (решение Pc(t)).
Рассмотрим работу процедуры перемещения, приводящую к модификации позиции xki(t) частицы k в измерении i. Введем характеристику, отражающую степень различия между строками Pki(t) и Pсi(t). Для этого для каждой пары элементов pkij(t) и pcij(t) рассчитывается величина δkcij(t) = pkij(t) – pcij(t). Подсчитывается число αkci(t) положительных и число βkci(t) отрицательных значений величины δkcij(t).
Если αkci(t) < βkci(t), то значения всех αkci(t) элементов pkij(t), для которых величина δkcij(t) положительна, уменьшаются на единицу, а значения случайно выбранных αkci(t) элементов pkij(t), для которых δkcij(t) отрицательна, увеличиваются на единицу.
Если αkci(t) > βkci(t), то для значения всех βkci(t) элементов pkij(t), для которых величина δkcij(t) отрицательна, увеличиваются на единицу, а значения случайно выбранных βkci(t) элементов pkij(t), для которых δkcij(t) положительна, уменьшаются на единицу.
При таком подходе суммарное значение элементов строки Pki(t+1) не изменится.
Локальная цель перемещения частицы k – достижение ею наилучшей позиции. Глобальная цель роя частиц – формирование решения задачи покрытия с наилучшим значением целевой функции.
Пример работы процедуры перемещения. Пусть Pki(t) = <2, 4, 3, 5, 3, 6, 3>, Pci(t) = <1, 6, 3, 2, 3, 7, 4>. Рассчитываем значения δkcij(t) = pkij(t) – pcij(t). δkci(t) = <+1, –2, 0, +3, 0, –1, –1>. Число αkci(t) = 2, а число βkci(t) = 3. Имеем αkci(t) < βkci(t). Тогда в соответствии с вышеприведенным правилом значения 1-ого и 4-ого элементов строки Pki(t) уменьшаем на единицу, а значения случайно выбранных 6-ого и 7-ого элементов строки Pki(t) увеличиваем на единицу. В результате получаем Pki(t+1) = <1, 4, 3, 4, 3, 7, 4>.
По аналогии с каноническим методом роя частиц позицию x*k(t) будем называть когнитивным центром притяжения, а позицию x*(t) социальным центром притяжения. Когнитивный центр выступает в роли индивидуальной памяти о наиболее оптимальных позициях данной частицы. Благодаря социальному центру частица имеет возможность передвигаться в оптимальные позиции, найденные соседними частицами.
Для учета одновременного тяготения частицы k к позициям x*(t) и x*k(t) формируется центр притяжения xck(t) этой частицы. Среди позиций x*(t) и x*k(t) определяется худшая – xbk(t) и лучшая – xgk(t). Формирование xck(t) осуществляется путем применения модифицированной процедуры перемещения к частице в худшей позиции xbk(t) для перемещения из нее в направлении к лучшей xgk(t). После определения центра притяжения xck(t) частица k с помощью процедуры перемещения перемещается в направлении xck(t) из позиции xk(t) в позицию xk(t+1).
Схема работы роевого алгоритма покрытия включает следующие шаги:
1. В соответствии с постановкой задачи покрытия и исходными данными формируется структура матрицы Pk. Формируется пространство решений, каждая ось которого соответствует строке Pk.
2. Создается исходная «случайная» популяция частиц, t = 0. Для каждой частицы случайным образом задается начальная позиция xk(0). С этой целью формируется матрица Pk(0). В каждую i-ю строку матрицы заносятся случайные значения элементов pkij(0), с соблюдением ограничения (2).
3. Шаги 4-10 итерационно повторяются заданное число раз.
4. Рассчитывается целевая функция fк(t) для каждой частицы.
5. Определяются лучшая позиция роя x*(t) на шаге t и значение целевой функции f*(t) в этой позиции.
6. Для каждой частицы определяются лучшая позиции x*k(t), которую она посещала с начала первой итерации, и значение целевой функции f*k(t) в этой позиции.
7. Для каждой частицы определяется центр притяжения xci(t) этой частицы.
8. Рассчитываются новые позиции частиц в пространстве решений. С помощью процедуры перемещения каждая частица перемещается из позиции xk(t) в позицию xk(t+1).
9. t = t + 1.
10.Запоминается лучшее решение, найденное роем к моменту t.
По аналогии с эволюционными стратегиями, рой можно трактовать как популяцию, а частицу – как индивида (хромосому). Это дает возможность построения гибридной структуры поиска решения, основанную на сочетании генетического поиска с методами роевого интеллекта. Связующим звеном такого подхода является структура данных, описывающая в виде хромосомы решение задачи. Если в качестве частицы используется хромосома, то число параметров, определяющих положение частицы в пространстве решений должно быть равно числу генов в хромосоме. В работе предлагается подход к построению структур и принципов кодирования хромосом, обеспечивающих их гомологичность и возможность одновременного использования в генетическом алгоритме, и в алгоритме на основе роя частиц [6]. Первый и наиболее простой подход к гибридизации заключается в следующем. С начала поиск решения осуществляется генетическим алгоритмом. После этого дальнейший поиск решения осуществляется роевым алгоритмом.
При втором подходе метод роя частиц используется в процессе генетического поиска и играет роль аналогичную генетическим операторам.
Для анализа точности получаемых решений был синтезирован ряд примеров с априори известным оптимальным значением целевой функции. Исследованию подвергались примеры, содержащие до 1000 элементов. В среднем 70 итераций достаточно для нахождения лучшего решения. Вероятность получения оптимального решения составила 0.9, а оценки локально оптимальных решений, отличались от глобального оптимума в среднем на 1%. Сравнение с известными алгоритмами [2,3] показало, что при меньшем времени работы у полученных с помощью гибридного алгоритма решений значения целевой функции лучше (меньше) в среднем на 6%.
Выводы
На основе сравнительного анализа существующих подходов и методов для решения задачи покрытия использованы мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта, позволяющие работать с задачами покрытия большой размерности и получать качественные результаты за приемлемое время.
В работе в отличие от стандартной парадигмы метода роя частиц, вместо метрической (числовой) шкалы, используется неупорядоченная лингвистическая шкала. Впервые разработан метод перемещения частиц в пространстве поиска, связанный с матричным представлением позиций (решений). Отметим, что процедура перемещения фактически является оператором (назовем его роевым) с помощью которого изменяется текущее решение. Это дает возможность построения гибридной структуры поиска решения, основанную на сочетании генетического поиска [6] с методами роевого интеллекта. Связующим звеном такого подхода является структура данных, описывающая в виде хромосомы решение задачи.
Разработанный алгоритм покрытия имеют универсальный характер и может быть использован для решения широкого круга задач линейного целочисленного программирования.
Список литературы
Cordone R., Ferrandi F., Sciuto D., Calvo R.W. An Efficient Heuristic Approach to Solve the Unate Covering Problem // IEEE Transactions on computer-aided design of integrated circuits and systems, vol.120, No.12, December 2001 , pp. 1377–1387.
Engelbrecht A.P. Fundamentals of Computational Swarm Intelligence. John Wiley & Sons, Chichester, UK, 2005.
Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Поисковая адаптация: теория и практика. М.: Физматлит, 2006.
Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Решение задачи покрытия на основе эволюционного моделирования //Теория и системы управления. 2009, № 1, С. 101–116.
Курейчик В.В., Полупанова Е.Е. Эволюционная оптимизация на основе алгоритма колонии пчел // Известия ЮФУ. Изд-во ТТИ ЮФУ, 2009. №12. С.41–46.
Курейчик В.М. Модифицированные генетические операторы // Известия ЮФУ. Изд-во ТТИ ЮФУ, 2009. №12. С. 7–15.
Poli R. Analysis of the publications on the applications of particle swarm optimisation // Journal of Artificial Evolution and Applications, Article ID 685175, 10 pages, 2008.
Это позволило организовать пространство решений, в рамках которого организован поисковый процесс, базирующийся на моделировании адаптивного поведения роя частиц. По сравнению с сущ
08 10 2014
1 стр.
С. И. Гинкул, А. Н. Лебедев, Ю. В. Подобед, Ю. М. Сапронова // Научные труды Донецкого национального технического университета. Серия «Металлургия». Вып. 12 (177) – Донецк, ООО «Ци
10 10 2014
1 стр.
Михаил Субханкулов
13 09 2014
3 стр.
Анциферов М. Б., к м н. Галстян Г. Р., к м н. Миленькая Т. М., к м н. Смирнова Н. Б., к м н. Токмакова А. Ю., к м н. Шестакова М. В., к м н. Лебедев Н. Б
10 09 2014
3 стр.
14 10 2014
18 стр.
10 09 2014
1 стр.
Готфрид Лейбниц Ада Лавлейс Чарльз Бэббидж Герман Холлерит Сергей Лебедев
12 10 2014
1 стр.
Положение о порядке приёма, перевода и отчисления обучающихся моу сош п. Новопокровка (далее Положение) разработано на основе следующих правовых актов
11 09 2014
1 стр.