Параллельный алгоритм построения остова многогранного конуса
Второй Международный научно-практический семинар Высокопроизводительные Параллельные Вычисления на Кластерных Системах. Параллельный алгоритм построения остова многогранного конуса. Золотых Н.Ю. Земскова Е.Л. Агафонов Е.А ННГУ им. Лобачевского, Н.Новгород. 2002 г. Определения.
Параллельный алгоритм построения остова многогранного конуса
E N D
Presentation Transcript
Второй Международный научно-практический семинар Высокопроизводительные Параллельные Вычисления на Кластерных Системах Параллельный алгоритм построения остова многогранного конуса Золотых Н.Ю. Земскова Е.Л. Агафонов Е.А ННГУ им. Лобачевского, Н.Новгород 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 Параллельный алгоритм построения остова многогранного конуса