120 likes | 423 Views
Второй Международный научно-практический семинар Высокопроизводительные Параллельные Вычисления на Кластерных Системах. Параллельный алгоритм построения остова многогранного конуса. Золотых Н.Ю. Земскова Е.Л. Агафонов Е.А ННГУ им. Лобачевского, Н.Новгород. 2002 г. Определения.
E N D
Второй Международный научно-практический семинар Высокопроизводительные Параллельные Вычисления на Кластерных Системах Параллельный алгоритм построения остова многогранного конуса Золотых Н.Ю. Земскова Е.Л. Агафонов Е.А ННГУ им. Лобачевского, Н.Новгород 2002 г.
Определения • Многогранный конус: • C(A) = {x Fn : Ax ≥0}, A Fmxn • Коническая оболочка: • Cone{r1,…,rs} = {α1r1+…+αsrs:α1≥0,…,αs≥0}, • r1, r2, … rs – векторы из Fn • r1, r2, … rs- остов конуса, если: • C(A) = Cone{r1,…,rs} • минимальная по включению Параллельный алгоритм построения остова многогранного конуса
Теорема Минковского Многогранный конус Коническая оболочка • Для любого многогранного конуса найдется порождающая его система векторов и, наоборот, коническая оболочка конечной системы векторов является многогранным конусом Параллельный алгоритм построения остова многогранного конуса
Алгоритм Моцкина-Бургера Многогранный конус Коническая оболочка Алгоритм Моцкина-Бургера • Алгоритм работает одинаково в обе стороны в силу теоремы Вейля: • C(A) = Cone (b1,b2,…bs) C(BT) = Cone (a1T,a2T,…,atT), где b1,b2,…bs – система столбцов матрицы B, a1,a2,…,at - система строк матрицы А Параллельный алгоритм построения остова многогранного конуса
Шаг алгоритма • Алгоритм итеративный • Предварительный шаг алгоритма: выделение в матрице А ранговой подсистемы и нахождение начального остова алгоритмом Гаусса • Общий шаг алгоритма: добавление нового ограничения к построенному остову Параллельный алгоритм построения остова многогранного конуса
Главный процессор(0) Добавление новых вершин Процессор #p Процессор #p-1 процессор #1 Нахождение ребер и вычисление новых вершин Нахождение ребер и вычисление новых вершин Нахождение ребер и вычисление новых вершин …… процессор #2 Нахождение ребер и вычисление новых вершин Параллельный вариант • На каждом итерационном шаге каждому процессору необходимо знать остов, полученный на предыдущем шаге Параллельный алгоритм построения остова многогранного конуса
Тестовая задача • Получение условий совместности 3-х индексной транспортной задачи: Число неизвестных:mnl Число уравнений: mn + ml + nl Число неравенств: mnl Параллельный алгоритм построения остова многогранного конуса
Тестовая задача • Условие совместности задачи {Ax=b, x≥0}, где A Fmxn,x Fn, b Fm {Ax=b, x≥0} имеет решение b Cone(a1,…,an) A=(a1,…,an) Параллельный алгоритм построения остова многогранного конуса
Результаты • 4x3x3: • 9 равенств, 717 неравенств для коэффициентов aij, bjk, cki (1995г.) • 4x4x3: • 10 равенств и 4948 неравенств для коэффициентов aij, bjk, cki • 4x4x4: • 11 равенств и 113740 неравенств для коэффициентов aij, bjk, cki Параллельный алгоритм построения остова многогранного конуса
Результаты(4x4x3) P – число процессоров T – время работы программы S(p) – ускорения на P процессорах E(p) – эффективность на P процессорах Параллельный алгоритм построения остова многогранного конуса
Результаты(4x4x4) • Время работы программы: • P=1 – 10ч 43 мин. • P=6 – 2ч. 4 мин. • Ускорение 5.25 • Эффективность 0,878 Параллельный алгоритм построения остова многогранного конуса
Контакты • Золотых Н.Ю. (доцент кафедры МЛиВА, ВМК ННГУ) • e-mail: zny@uic.nnov.ru • Web: http://www.uic.nnov.ru/~zny Параллельный алгоритм построения остова многогранного конуса