Научная статья на тему 'Подход к решению систем линейных алгебраических уравнений с интервальной неопределенностью в исходных данных'

Подход к решению систем линейных алгебраических уравнений с интервальной неопределенностью в исходных данных Текст научной статьи по специальности «Математика»

CC BY
773
101
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕРВАЛЬНАЯ СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ / ПСЕВДОРЕШЕНИЕ ИНТЕРВАЛЬНОЙ СИСТЕМЫ / ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ / ТОЧНЫЕ ВЫЧИСЛЕНИЯ / INTERVAL SET OF LINEAR EQUATIONS / PSEUDOSOLUTION OF INTERVAL EQUATION SET / LINEAR PROGRAMMING / EXACT COMTUTATIONS

Аннотация научной статьи по математике, автор научной работы — Панюков Анатолий Васильевич, Голодов Валентин Александрович

Рассматривается система линейных алгебраических уравнений с интервальной матрицей коэффициентов и интервальной правой частью. Для данных систем вводится понятие псевдорешения. Доказано существование псевдорешения для любых интервальных систем линейных уравнений, предложен способ поиска псевдорешения с помощью решения соответствующей задачи линейного программирования. Вследствие вырожденности полученной задачи для ее решения необходимо использовать вычисления, обеспечивающие точность, намного превышающую возможности стандартных типов данных языков программирования. Симплекс-метод в сочетании с безошибочными дробно-рациональными вычислениями дает решение задачи. Для реализации используется крупнозернистый параллелизм в распределенных системах на основе MPI. Для реализации безошибочных дробно-рациональных вычислений на GPU используется CUDA C.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Панюков Анатолий Васильевич, Голодов Валентин Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Approach to Solve the Set of Linear Algebraic Equations with Interval Uncertainty of Data Given

The set of linear algebraic equations with interval matrixes of coefficients and interval right part is considered in the paper. The pseudosolution for such systems is introduced. The existence of pseudosolution for all interval sets of algebraic linear equations is proved in the paper, the way for pseudosolution analysis is shown on the basis of the solution the corresponding linear programming problem. It is necessary to use computation guaranteeing sufficient accuracy over standard data types of programming languages because of obtained problem degeneracy. Simplex method coupled with accurate rational-fractional computation gives effective solution to the problem. Coarse-grained parallelism for distributed computer systems with MPI is the instrument of realization. CUDA C software engineering is applied for accurate rational-fractional calculations.

Текст научной работы на тему «Подход к решению систем линейных алгебраических уравнений с интервальной неопределенностью в исходных данных»

ПРОГРАММИРОВАНИЕ

УДК 004.457

ПОДХОД К РЕШЕНИЮ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ С ИНТЕРВАЛЬНОЙ НЕОПРЕДЕЛЕННОСТЬЮ В ИСХОДНЫХ ДАННЫХ

А. В. Панюков, В. А. Голодов

Рассматривается система линейных алгебраических уравнений с интервальной матрицей коэффициентов и интервальной правой частью. Для данных систем вводится понятие псевдорешения. Доказано существование псевдорешения для любых интервальных систем линейных уравнений, предложен способ поиска псевдорешения с помощью решения соответствующей задачи линейного программирования. Вследствие вырожденное™ полученной задачи для ее решения необходимо использовать вычисления, обеспечивающие точность, намного превышающую возможности стандартных типов данных языков программирования. Симплекс-метод в сочетании с безошибочными дробно-рациональными вычислениями дает решение задачи. Для реализации используется крупнозернистый параллелизм в распределенных системах на основе MPI. Для реализации безошибочных дробно-рациональных вычислений на GPU используется CUD А С.

Ключевые слова: интервальная система линейных уравнений, псевдорешение интервальной системы, линейное программирование, точные вычисления.

Введение

Система линейных алгебраических уравнений - это фундаментальный объект, который встречается при решении многих задач. Часто оказывается, что коэффициенты рассматриваемой системы не могут быть заданы точно, но известны интервалы, которым они принадлежат. В условиях такой интервальной неопределенности коэффициентов необходимо уточнение определения решения. В дальнейшем изложении будем использовать стандарт-путо нотацию, принятую в интервальном анализе [1].

В работах [1-5] систематизированы подходы к учету интервальной неопределенности и дана их классификация. В соответствии с данной классификацией, АЕ-решепием системы линейных алгебраических уравнений Ах = Ь, в которой элементы матриц А и Ь представляют интервалы ац = ,а], Ьц = [Ь], Ь], г,] = 1, 2,...,и, называют элементы допускового

множества

а" = ,аг]\1 Ьц = \Ы ,Ь]

I п

0ы(А, Ь) = ^ х : (Уг, ] = 1, 2,...,и) (Уа,] € ац) ( ^ а] Х] € Ь1

]=1

ЕЕ-решепием рассматриваемой системы уравнений называют точки объединенного множе-

СТВЕ1

0ипг(А, Ь) = ^х : (У г,] = 1, 2,...,и) (За] € ац) а]Х] € Ь1 108 Вестник ЮУрГУ. Серия «Математическое моделирование и программирование;

В работах [6, 7] доказано, что поиск ЕЕ-решенпя интервальной системы линейных уравнений является КР-трудттой задачей. С другой стороны, в соответствии с теоремой Ротта [8] любая точка допустимого множества АЕ-решений допускает представление в виде х = х+ — х-, где х+,х- являются решением системы неравенств

Следовательно, задача поиска АЕ-решенпй имеет полиномиальную сложность.

Методы оценки АЕ-решений для случаев 0^г(А, Ь) = 0 рассмотрены в работах [15] и др. Основным методом исследования допускового множества решений, развиваемым в Новосибирске [3-5], является «метод распознающего функционала:». В нем для принятия решения о разрешимости или неразрешимости задачи (т.е. о пустоте/пепустоте множества решений) необходимо поработать с некоторым специальным (негладким и вогнутым) функционалом, который назван «распознающим». При этом максимизация распознающего функционала, которую практически можно выполнять, например, с помощью различных методов негладкой оптимизации, разработанных в Институте кибернетики НАН Украины [9], дает достаточно содержательную информацию для возможной коррекции задачи. Разработанные С.П. Шарым и П.И. Стецтоком программы для исследования разрешимости интервальной линейной задачи о допусках (пустоты-пепустоты допускового множества решений), имеются в свободном доступе па сайте [10]. Программы реализованы в ЖТЬАВ’е

- интервальном расширении МАТЬАВ’а, а также в 1п148а - интервальном расширении БсПаЬ’а.

Во многих практических задачах система неравенств (1) оказывается плохо обусловленной или вообще несовместной. В этом случае по аналогии с работами [11, 12] разумным представляется введение понятия «псевдорешения».

Целью данной работы является изложение анонсированного в работе [13] понятия «псев-

»

ттия инструментальных программных средств их поиска.

1. Псевдорешение системы интервальных уравнений

Пусть дана система линейных алгебраических уравнений Ах = Ь, в которой элементы матриц А и Ь представляют интервалы ау = ,а3, Ьу = ,Ь^, г,] = 1, 2,...,и.

Для заданной системы уравнений построим параметризовснное семейство систем уравнений Ах = Ь(г) с модифицированной правой частью Ь(г) = [Ь — г |Ь| ,Ь + г |Ь|] ,г > 0.

Пусть г* = И {г : 0^1 (А, Ь(г)) = 0} Псевдорешением исходной системы Ах = Ь будем называть внутренние точки допустимого множества 0юг(А, Ь(г*)).

Корректность введенного определения подтверждает

Теорема 1. Для любой системы интервальных уравнений Ах = Ь при всех г > 1 множество 0ьаг (А, Ь(г)) = 0.

Доказательство. В соответствии с теоремой Рона условие 0^(А, Ь(г)) = 0 эквивалентно совместности системы линейных неравенств

п

п

3=1

3 = 1

п

(1)

n

aij x+ — aj xj

j=l ^

Л rf —

Y\aij x+ - aij x— < bi + z Щ , i = І, 2,...,n, (2)

х+,х- > 0. (3)

Полагая в (1) - (3) х+ = х- =0, получим

0 > Ьг — г\Ьг I, 0 < Ьг + г\Ьг\, г = 1, 2,...,и.

Таким образом, для всех г > 1 имеет место включение 0 € 0^г(А, Ь(г)). Теорема доказана.

2. Способ поиска псевдорешения

Ах = Ь

Теорема 2. Существует решение x+, x * € Rn, z* € R задачи линейного программирования

z ^ min , (4)

Х+, X-, z

n

^2 (&i:i x+ - aij x-) > bi - z\b\ i = 1,2,...,n, (5)

j=i n

^2 (aij x+ - aij x-) < bi + z\bi\, i = 1,2,...,n, (6)

j=i

x+,x-,z > 0, j = 1,2,...,n, (7)

при этом x* = x+ — x~* является псевдорешением системы Ax = b.

Доказательство. Сначала докажем существование оптимального решения x+ , x~ € Rn, z* € R задачи линейного пограммирования (4)-(7). Из теоремы 1 и теоремы Рона следует, что множество допустимых решений рассматриваемой задачи тте пусто. Задача, двойственная рассматриваемой, имеет вид

n

’ max,

Vli,V2i

У2ЬіУи -V ьіУ2і ^ тах, (8)

.Л .Л Уіі,У2і

і=1 і=1

п п

^ а^Уіі - ^ аіУ2і < 0, і = 1,2,...,п, (9)

і=1 і=1

пп

^2ajiУli + ^^іУ2і < 0, і = 1,2,...,п, (10)

і=1 і=1

пп

^2\Ьііу1і + ^2\~ьі\У2і < і, і = і,2,...,п, (и)

і=1 і=1

У1і,У2і > 0, і = 1,2,...,п. (12)

Легко заметить, ЧТО решение У1і = У2і = 0, і = 1, 2,...,п является допустимым решением

задачи (8)-(12). Таким образом, показано существование допустимых решений как у прямой,

так и двойственной задач линейного программирования (задачи (4)-(7) и (8)-(12)). Из теоремы двойственности в линейном программировании следует существование у этих задач оптимштьных решении.

Пусть x+ , x- , z* оптимальное решение задачи (4)-(7). Из теоремы Рона следует, что x* = x+ — решением системы Ax = b(z*). Из оптимальности

z* x*

Ax = b. Теорема доказана. □

Таким образом, введенное понятие «псевдорешение> интервальной системы линейных уравпетгай является вполне копструктртвпым и позволяет давать результаты при решении интервальных систем в том случае, когда пусковое множество Qtoi(A, b) допустимых решений пусто.

Однако, следует обратить внимание па высокую степень вырождеппост задач (4)-(7) и (8)—(12)), что будет приводить при использовании приближенных вычислений к зацикливанию симплекс-метода. Избежать зацикливания можно за счет использования вычислений без округления [14, 15]. В этом случае па каждой итерации симплекс-метода количество требуемых бит памяти не превосходит величины 4lm4 + O(lm3), где m - минимальная из размерностей задачи, l - число бит, достаточных для представления одного элемента матрицы исходных данных, при этом эффективность распараллеливания (т.е. отношение ускорения к числу процессоров) составляет в асимптотике величину, близкую к 100% [16].

3. Техника реализации

Итак, для успешной реализации изложенного способа поиска псевдорептеттия па компьютере понадобится несколько составляющих. С одной стороны необходимо обеспечить достаточную точность вычислений для преодоления зацикливания симплекс-метода. Подобная техника описана в [17]. Далее, для обеспечения эффективности всего алгоритма в целом, следует обеспечить достаточное быстродействие точных вычислений, а для использования параллельной архитектуры современных процессоров, произвести эффективную декомпозицию задачи линейного программирования па потоки.

3.1. Обеспечение необходимой точности

В рамках предыдущих исследований были созданы классы overlong pi rational, реализованные в объектно-ориентированной парадигме на языке С I I как библиотека классов Exact Computation [14]. Данные классы позволяют производить безошибочные дробтто-рациотталытые вычисления pi ршетот следутопще характерртстрткрт. Объекта*™ класса rational являются обыкновенные дроби p/q, где p, q - объекты класса overlong. Класс overlong предназначен для распшретшя логртческртх возможностей целочртслеппых вычртслетшй па компьютере. Объем памятрт, затшмаемый тэкршрт объекта*™, определяется зпачетшямрт представляемых чртсел, Pix дртапазоп огратшчеп только объемом адресуемой памятрт. Дртапазоп чисел, представляемых объектами класса overlong, расширен до (2-32*65535; 232*65535), а мрпшмальпый птаг дртскретртзацрш чртсел, представляемых объекта*™ класса rational, может достигать ^2-2097150). Для объектов классов overlong и rational определены все операторы, операцрш pi бршарпые отпоптетшя, ртспользуемые для стандартных чртсловых тртпов данных. Такртм образом, классы overlong pi rational дают потентщальпую возможность ртспользовать в программах пользователя безопшбочпое выполпетше основных арртфметртче-ckpix операцрш над полем рацргопальпых чртсел.

На сегодпяптттй день возможность ртспользоватгая безопшбочпых вычргслетшй представляет ртзвестпая бртблрготека GMP(The GNU Multiple Precision Arithmetic Library) [15]. Бртблрготека распространяется под лрщепзргей GNU LGPL, актуальная версрга бртблрготекрт GMP 5.1.1 доступна для загрузкрт с офрищалыгого сайта проекта. Программный код оптрт-мртзртровап под болыттршство существутопщх процессорных архрттектур, однако она не предо-

ставляет своим объектам возможность их использования в распределенных вычислениях. Для более полноценного использования современных процессорных архитектур классы overlong и rational хранят и оперируют числами по основанию 232, код операций оптимизирован для системы счисления по основанию степень двойки. Оптимизации применяются также при работе с памятью, поскольку в С I I пет автоматического сборщика мусора, то липшие перевыделеттия памяти приводят ее фрагментации pi стшжетшто быстродействрш прртложенрш в целом, краткое опртсатше современных реалртзатщй классов дано в [18]. Для облегчетшя сопровождетшя pi модртфрткацрш классов оператцш с памятью ршкапсутаровапы в отдельный класс MemHandle, а выполпетше базовых арртфметртческртх операцрш с даппымрт полностью прортзводрттся в рамках класса Arif Realization (см. фрагмент лртстршга 1). Тем

1 class overlongNM {

2 private:

3 static ArifRealization realization ;

4 private:

5 MemHandle mhandle ;

6 7 public: inline int32 sizeQ const {return leng;}//leng of number

8 public: inline int32 sign() const {return sgn;} //sign of number

9 10 // addition

11 template<typename Type>friend const overlongNM operator •

12 (const overlongNM &num,Type v)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

13 {overlongNM rez(num); return (rez =v);}

14 friend const overlongNM operator •

15 (const overlongNM&,const overlongNM&);

16 17

Листинг 1. Фрагмент класса overlong

самым объект класса overlong содержртт в себе объект TPina MemHandle, pi все действрш с

памятью прортсходят через рштерфейс MemHandle. Все арртфметртческрге оператцш с даппымр!

осуществляются вызовом соответствутопщх методов класса ArifRealization. Прршер реа-

лр1зацр1р1 метода add класса overlong представлен в лртстршге 2. Эта техтшка позволяет пол-

1 void overlongNM :: add ( const overlongNM& alpha , const overlongNM& beta){

2 d_t carry;

3 const overlongNM& a=(alpha . size ()>=beta . size ()) ? alpha: beta;

4 const overlongNM& b=(alpha . size ()>=beta . size ()) ? beta: alpha;

5 int32 LA=a .size() ,LB=b.size() ,sg=alpha.sgn,newleng;/ LA LB

6 //вызов базовой арифметической операции

7 ArifRealization :: add (a . mhandle . getptr () ,LA,b . mhandle . getptr () ,LB,

8 mhandle . providetmpptr (LA, 1) , newleng , carry );

9 mhandle . settmpasptr ();

10 if ( carry) mhandle . safesetvalue (LA, carry );

1 1 leng=newleng ;

12 sgn=sg ;

13 }

Листинг 2. Организация операции сложения

ностыо абстрагртроваться от реального места храпепрш данных (за это полностью отвечает

112 Вестник ЮУрГУ. Серия «Математическое моделирование и программирование»

реализация класса MemHandle) pi способа реалртзатцш арріфметріческріх оператцій (конкретная методріка вьіполпепрія операцрій над разрядамрт рттткапсулртровапа в Arif Realization).

3.2. Обеспечение необходимой производительности

Вьпттеопрісаппая техтіРіка разбріепрія класса overlong, па тррі частрі «рттттерфейс-память-арріфметріка», позволяет грібко Ріспользовать возможтіострі вьічріслрітєльпой срістємьі. Поскольку прорізводрітельтіость алгоррітма срімплєкс метода обеспечрівается, в том чріслє, за счет эффектртвттострт реалрізацрій классов overlong pi rational, пррі pix папрісапрірі учтена ВОЗМОЖНОСТЬ РІСПОЛЬЗОВаїІРІЯ современных гетерогенных ВЬІЧРІСЛРІТеЛЬПЬІХ сред с GPU уско-ррітелямрі Nvidia (возможность задействовать GPU от компатіРіРі AMD pi встроенные графрі-чєскріх ускоррітелей, папррімер, Intel HD Graphics дает язык OpenCL, однако эксперртметтты показалрі болыттуго трудоемкость процесса кодртроватгая пррі малом прріросте эффектртвтто-стрі). Алгоррітмьі параллельного вьіполпєпрія базовых арріфметріческріх оператцій, а также некоторые аспекты ріх реалрізатцш в гетерогенной среде опрісатіьі в [18J. Храпепріе операндов оргатіРізуется с учетом устройства, па котором прорізводятся вьічріслєпрія. Так, пррі тіалрі-чрірі в срістємє GPU Nvidia, все данные (разряды) чрісєл можно хратшть непосредственно па GPU, там же выполнять арртфметртческрте оператцш над чрісламрі, это стгажает до мрпшмума колрічєство пересылок данных по PCI іттріпє, остается лріітть скопртровать в основную память результаты вьічріслетірій. Для срістєм без GPU, вьічріслєпрія проводятся па процессоре, данные хранятся непосредственно в оператртвттой памятрі срістємьі.

3.3. Мелкозернистый параллелизм

Параллельные вьічріслєпрія па GPU требуют переработкрт алгоррттмов базовых арріфметріческріх оператцій с учетом спетцтфртческой архрттектуры устройства. Нріжє прріводятся лрі-стрітігрі некоторых оператцій для GPU Nvidia тіа распшрепртртрт языка С от Nvidia Corporation (CUDA С).

3.3.1. Сложение

Оператцш сложетгая длртттпых чрісєл па GPU осуществляется в несколько этапов: параллельное сложетше разрядов, сритхротгазатцга, параллельное распространетше переносов різ разрядов. Особенность архрттектуры GPU, а ртметтпо, вьіполтіетіРіе тірітєй блоками pi отсутствие синхронизации между блоками требует сохранения «иограничных> переносов во времетгом массртве (за это отвечает строка помер 16 в лрістрітігє 3 pi последующего распростра-ТІЄНРІЯ (DNumAdd_part2) (лрістрітіг 4). Установка параметров pi запуск кода па графртческом

ускоррттеле представлены тіа лрістрітігє о. Этот код выполняется па стороне CPU, рілрі, так называемой, стороне Host.

3.3.2. Умножение

Оператцш умпожеттртя одна різ наиболее затратных по времетш. Для вьіполпєпрія опе-ратціРі параллельного умтіожетіРія Ріспользуется быстрая разделяемая между тгатямя блока ___shared___память. В реаттазатцга существенно Ріспользуется особеттпострт архрттектуры

GPU Nvidia, а ртметтпо, полностью сртпхроппое выполттетше Рітіструктцій в рамках одного warp. Это ртзбавляет от ттеобходртмострт выполнять срітіхротірізатціто между тштямрт. Исходный код для вьіполпєпрія тіа GPU (kernel) представлен тіа лрістрітігє 6. Окончательное формрірова-тіріє результата прортсходртт последовательным проходом по массртву rez[] pi преобразоватшем 64-6ріттіого чрісла rez[j] в непосредственно разряд ответа pi разряд переноса. Этрт дєйствртя

_global__void DNumAdd_partl

(d_t *A, int32 LA,d_t *B, int32 LB, d_t *C,d_t *bGCarry, int32 *f){

3 int32 gId=blockDim . x* blockldx . x + threadldx.x; int64 tmp=0;

4 if (gld >= LA) return; //bound check if (gId>=LB) C[ gIdJ=A[ gld J:

e else {tmp=(int64 )A[ gld] • (int64 )BI gld ] ; C[ gId|=tmp&\'IAX_DIGrT;} _syncthreads ();// carry propagation in the block s int32 lld=threadldx .x • l,i=gld • l,gS=blockDim.x;

9 for (tmp»=BIT_IN_DIGIT;tmp && i LA: lid • • ,i • • ){

10 i f ( Hd==gS){ bGCarry [ blockldx . x]=tmp ; *f = l; return;} tmp • =( i n16 4) C [ i ]; C [ i J=tmp&MAX_DIGIT; imp HI I IN DIGIT;

} if (i==LA &fo tmp) {bGCarrvl Lcarry] = l:}

}

7

Листинг 3. Поразрядное сложение

_global__void DNumAdd_part2

(d_t *C, d_t *bGCarry, int32 gS, uint32 Lcarry , uint32 LA){ //carry propagation between blocks

int gld = blockDim . x*blockldx .x + threadldx .x , i=(gld + l)*gS ; if (gld >= Lcarry) return; uint 64 tmp=(uint 64) bGCarry [gld J; for (;tmp &fo i LA: i • • ){ tmp • =(uint64)C[ i J;

CI i J =tmp&MAX_DIGIT; tmp BIT IN DIGIT:

}

if (i^=LA &fo tmp) {bGCarry[ LcarryJ = l:}

}

Листинг 4. Параллельное распространение переносов

также выполняются на GPU, но в однопоточном режиме.

3.3.3. Деление

Поскольку стандартный алгоритм деления столбиком является абсолютно последовательным, для реализации в вычислительной системе с массовым параллелизмом, какой является GPU, эффективным является использование итеративных методов деления, выражающих результат через операцию умножения.

3.4. Крупнозернистый параллелизм

Применяемая техника параллельной реализации симплекс метода детально описана в [19]. В данном случае для разбиения задачи на потоки использовался механизм многопоточного програмировапня std::thread, предоставляемый стандартом С I I 0x11.

4. Вычислительный эксперимент

Вычислительный эксперимент проводился па компьютере с процессором Intel Core І7-950 3.06 ГГц, 6 Гб ОЗУ, GPU Nvidia 460(1гб GDDR5), под управлением ОС Win 7 х64, в качестве компилятора был выбран 64-разрядпый Visual С I I 2011. В качестве модельной

void ArifRealization :: add ( const d_t *A,int32 LA.

const d_t *B,int32 LB,d_t *C, int32 &NL,d_t &Carry){ int tPerBlock = 128,bPerGrid = (LA + tPerBlock - 1) / tPerBlock; d_t *bGCarry_d=NULL, * ansCarry_h=new d_t [ 1J; int32 *cF_d=NULL, *cF_h=new int32[lj;

cudaM alloc (( void **)&bGCarry_d, sizeof(d_t)*(bPerGrid + l)); cudaMemset (( void *)bGCarry_d , 0, sizeof (d_t) * ( bPerGrid+ 1)); cudaM alloc (( void **)&cF_d, sizeof(int32)); cudaMemset (( void *)cF_d, 0, sizeof (int32 ));

DNumAdd_partl «< bPerGrid , tPerBlock »>

(const_cast<d_t*>(A) , LA, const_cast<d_t*>(B) , LB, C, bGCarry_d ,CF_d) cudaMemcpy(cF_h,cF_d, sizeof(int32), cudaMemcpyDeviceToHost); if(*cF_h){ *

int gS=tPerBlock , LCarry=bPerGrid ;

bPerGrid = (bPerGrid + tPerBlock - 1) / tPerBlock;

DNumAdd_part2 <« bPerGrid , tPerBlock>x>

(d_buffC . bGC_d. gS. LCarry. LA):

}

cudaMemcpy (ansCarry_h ,&bGCarry_d [ bPerGrid J ,

sizeof (d_t) , cudaMemcpyDeviceToHost);

NL= (carry = *ansCarry_h)? LA+1: LA;

delete [J ansCarry_h : cudaFree (bGCarry_d ): cudaFree (cF_d):

}

Листинг 5. Вызов функции для исполнения на GPU

global void DNumMult(d_t *A,int32 LA,d_t *B,int32 LB,d_t *rez

{

int32 lld=threadldx . x , gId=blockDim . x* blockldx . x + lid;

if(gId>=LB) return;

int32 cBS=(LA+blockDim ,x-l)/blockDim .x;

_shared___uint64 sha [ J , shrez [ J ;

for(int i=lld *cBS ; i <( lid +l)*cBS && i<LA;i++){ sha[i J = A[iJ: shrez[i J = 0:

}

shrez [LA- lid J = 0;

uint64 digit =(uint64)B[gldJ , t=0UL;

for (int i 0:i LA: i • • ){ t+=sha[i J * digit; shrez I i • lid J • =t&MAX_DIGIT; t BIT IN DIGIT:

}

shrez [LA- lid] ■ =t&Sv'IAX_DIGIT;

cBS=(LA+blockDim . x+blockDim . x —l)/blockDim . x;

for (int i=lId*cBS;i<(lId+l)*cBS && i<LA+blockDim .x; i++){ AtomicAdd ( rez [ i • gld ] . shrez [ i ]) :

}

Листинг 6. Умножение на GPU

задачи использована система с матрицами: i * (1 — 5) i * (1 + 5)

A

i + j — 1’ i + j — 1

; b = [1,1/2,...,1/(n — 1), 1/n]

nxn

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

T

Зависимость минимального расширения правой части (параметр г*), соответствующего псевдорешению, при фиксированном значении п = 20 приведена в таблице 1.

Таблица 1

Минимальное расширение правой части системы

8 10-1 10-2 10-3 10-4 10-5 10-6

z * 0,81 0,389 0,1 0,025 0,0062 0,0017

В таблице 2 приведены результаты времени, затраченного на решение задачи для различных размерностей модельной интервальной системы.

Таблица 2

Время работы

Размерность матрицы (п) 10 20 50 100

Время работы 0,46 с 7,73 с 7,39 м 15,1 ч

5. Заключение

В работе полностью рассмотрена задача нахождения исевдорептеттия интервальной системы линейных алгебраических уравнений, дано определение понятия, показано существование исевдорептеттия для любой интервальной системы. Датто конструктивное доказательство существования исевдорептеттия как решения соответствующей задачи линейного программирования. Приведены подробности техники программной реализации симплекс-метода решения задачи линейного программирования, соответствующей исевдорептеттито интервальной системы, а также некоторые особенности реализации классов overlong и rational, обеспечивающих необходимую точность вычислений и, тем самым, позволяющих избежать зацикливания симплекс-метода в случае сильной вырождеттттости сформулированной задачи. Датты результаты численного эксперимента для различных смоделированных исходных данных. Дальнейшая работа направлена тта получение более эффективных реализаций за счет оптимизации параллельной версии программы.

Исследование выполнено при поддержке Министерства образования и науки Российской Федерации, соглашение Ц-В87.21.0895.

Литература

1. Standardized Notation in Interval Analysis / R.B. Kearfott, M.T. Nakao, A. Neumaie,

S.M. Rump, S.P. Shary, P. van Hentenryck /'/ Proc. XIII Baikal International School-seminar: Optimization methods and their applications, Irkutsk, Baikal, July 2-8, 2005. Vol. 4 Interval analysis. - Irkutsk: Institute of Energy Systems SB RAS, 2005. - P. 106-113.

2. Neumaier, A. Interval Methods for Systems of Equations ./' A. Neumaier. - Cambridge: Cambridge University Press, 1990.

3. Shary, S.P. Solving the Linear Interval Tolerance Problem / S.P. Shary /,/ Mathematics and Computers in Simulation. - 1996. - V. 39. - P. 53-85.

4. Shary, S.P. A New Technique in Systems Analysis under Interval Uncertainty and Ambiguity / S.P. Shary // Reliable Computing. - 2002. - V. 8, № 5. - P. 321-418.

5. Шарый, С.П. Решение интервальной линейной задачи о допусках / С.П. Шарый // Автоматика и телемеханика. - 2004. - №10. - С. 147-162.

6. Lakeyev, A.V. Optimal Solution of Interval Linear Systems is Intractable (NP-Hard) ./' A.V. Lakeyev, V. Kreinovich /'/ Interval Computations. - 1993. - № 1. - P. 6-14.

7. Lakeyev, A.V. NP-Hard Classes of Linear Algebraic Systems with Uncertainties / A.V. Lakeyev, V. Kreinovich /'/ Reliable Computing - 1997. - № 3. - P. 51-81.

8. Rohn, ,J. Inner Solutions of Linear Interval Systems ./' ,J. Rohn /'/' Interval Mathematics. -1985. - P. 157-158.

9. Стетцок, П.И. Субградиептпые методы с преобразованием пространства для минимизации овражных выпуклых функций / Стетцок П.И. // Современные проблемы прикладной математики и механики: теория, эксперимент и практика: коттф., посвящ. 90-летито со дття рождения академика Н.Н. Яттеттко, Новосибирск. 30 мая - 4 итоття, 2011. -http://conf.nsc.ru/niknik-90/ru/reportview/37828 (дата обращения: 11 февраля 2013).

10. Интервальный анализ и его приложения. - I RL: http://www.nsc.ru/interval (дата обращения: 11 февраля 2013).

11. Иванов, В.К. О литтейттых некорректных задачах / В.К. Иванов // ДАН СССР. - 1962.

- Т. 145, .№ 2. - С. 270-272.

12. Тихонов, А.Н. Методы решения некорректных задач / А.Н. Тихонов, В.Я. Арсеттитт. -М.: Наука, 1979. - 285 с.

13. Патттоков, А.В. Техника программной реализации алгоритма решения системы литтейттых алгебраических уравнений с интервальной неопределенностью в исходных данных / А.В. Панюков, В.А. Голодов // «Парадлельные вычисления и задачи управления» РАСО’2012. - Шестая междуттар. коттф., Москва, 24-26 окт. 2012 г.: тр. в 3 т. - М., 2012.

- Т. 2. - С. 155-166.

14. Панюков, А.В. Библиотека классов «Exact Computation»/ Свидетельство о государственной регистрации программы для ЭВМ № 2009612777 от 29 мая 2009 г. / А.В. Патттоков, М.И. Герматтеттко, В.В. Горбик // Программы для ЭВМ, базы данных, топологии интегральных микросхем: офиц. бтол. Рос. агентства по патентам и товарным знакам.

- 2009. - № 3. - С. 251.

15. The GNU МР Bignurn Library. - I RL: http://gmplib.org/ (дата обращения: 11 февраля 2013).

16. Патттоков, А.В. Применение массивтто-параллельттых вычислений для решения задач линейного программирования с абсолютной точностью / А.В. Патттоков, В.В. Горбик // Автоматика и телемеханика. - 2012. - №2. - С. 73-88.

17. Схрейвер, А. Теория литтейттого и целочисленного программирования: в 2-х т. / пер. с аттгл. - М.: Мир, 1991. - Т. 1. - 360 с.

18. Голодов, В.А. Распределеттттые символьные дробпо-рациопальттые вычисления тта процессорах х86 и х64 / В.А. Голодов // Параллельные вычислительные технологии (ПаВТ’2012)[ Электронный ресурс]: тр. междуттар. ттауч. коттф. (Новосибирск, 26 марта

- 30 марта 2012 г.). - Челябинск: Издательский цетттр ЮУрГУ, 2012. - С. 719.

19. Патттоков, А.В. Параллельные реализации симплекс-метода для безошибочного решения задач литтейттого программирования / Патттоков А.В., В.В. Горбик // Вестттик ЮУрГУ. Серия: Математическое моделирование и программирование. - № 25 (242), вып. 9. -2011. - С. 107-118.

Анатолий Васильевич Патттоков, доктор физико-математических ттаук, профессор, кафедра «Экономике-математические методы и статистика», Южно-Уральский государственный университет (г. Челябинск, Российская Федерация), anatoly.panyukovCQ) gmail.com.

Валентин Александрович Голодов, аспирант, кафедра «Экономико-математические методы и статистика», Южно-Уральский государственный университет (г. Челябинск, Российская Федерация), avaksa@ginail.com.

Bulletin of the South Ural State University. Series «Mathematical Modelling, Programming & Computer Software»,

2013, vol. 6, no. 2, pp. 108-119.

MSC 65G40

Approach to Solve the Set of Linear Algebraic Equations with Interval Uncertainty of Data Given

A.V. Panyukov, South Ural State University, Chelyabinsk, Russian Federation,

anatoly.panyukov@gmail.com

V.A. Golodov, South Ural State University, Chelyabinsk, Russian Federation,

avaksa@gmail .coin

The set of linear algebraic equations with interval matrixes of coefficients and interval right part is considered in the paper. The pseudosolution for such systems is introduced. The existence of pseudosolution for all interval sets of algebraic linear equations is proved in the paper, the way for pseudosolution analysis is shown on the basis of the solution the corresponding linear programming problem. It is necessary to use computation guaranteeing sufficient accuracy over standard data types of programming languages because of obtained problem degeneracy. Simplex method coupled with accurate rational-fractional computation gives effective solution to the problem. Coarse-grained parallelism for distributed computer systems with MPI is the instrument of realization. CUDA C software engineering is applied for accurate rational-fractional calculations.

Keywords: interval set of linear equations, pseudosolution of interval, equation set, linear programming, exact comtutations.

References

1. Kearfott R.B., Nakao M.T., Neumaier A., Rump S.M., Shary S.P., van Hentenryck P. Standardized Notation in Interval Analysis. Proc. XIII Baikal International School-serninar: Optimization methods and their applications, Irkutsk, Baikal, July 2-8, 2005. Vol. 4 Interval analysis. Irkutsk, Institute of Energy Systems SB RAS, 2005, pp. 106-113.

2. Neumaier A. Interval Methods for Systems of Equations. Cambridge University Press, 1990.

3. Shary S.P. Solving the Linear Interval Tolerance Problem. Mathematics and Computers in Simulation, 1996, vol. 39, pp. 53-85.

4. Shary S.P. A New Technique in Systems Analysis Under Interval Uncertainty and Ambiguity. Reliable Computing, 2002, vol. 8, no. 5, pp. 321-418.

5. Shary S.P. An Interval Linear Tolerance Problem. Automation and Remote Control, 2004, vol. 65, no. 10, pp. 1653-1666.

6. Lakeyev A.V., Kreinovich V. Optimal Solution of Interval Linear Systems Is Intractable (np-Hard). Interval Computations, 1993, no. 1, pp. 6-14.

7. Lakeyev A.V., Kreinovich V. Np-Hard Classes of Linear Algebraic Systems with L'ncertain-t.ies. Reliable Computing, 1997, no. 3, pp. 51-81.

8. Rohn ,J. Inner Solutions of Linear Interval Systems. Interval Mathematics and Springer Ver-lag, 1985, pp. 157-158.

9. Stecjuk P.I. Subgradient Methods with Space Trasform for Ravine Functions [Subgradientnye inetody s preobrazovaniem prostranstva dlja ininimizacii ovrazhnyh vypuklyh funkcijj. Mezh-dunarodnaja konferencija Covremennye problemy prikladnoj rnaternatiki i rnehaniki: teorija, jeksperiment i praktika, posvjashhennaja 90-letiju so dnja rozhdenija akadernika N.N. Ja-

«

chanics: Theory, Experiment and Practice. Devoted to the 90th Anniversary of Academician

»

cessed 25 December 2013).

10. Interval’nyj analiz i ego prilozhenija [Interval Analysis and Application]. Available at: http://www.nsc.ru/interval (accessed 25 December 2013).

11. Ivanov V.K. About Linear Ill-Conditioned Problems [0 linejnyh nekorrektnyh zadachahj. DAN USSR, 1962, vol. 145, no. 2, pp. 270-272.

12. Tihonov A.N., Arsenin V.Ja. Metody reshenija nekorrektnyh zadach [Ill-Posed Problems-Solving Procedures]. Moscow, Nauka, 1979. 285 p.

13. Panyukov A.V., Golodov V.A. Tehnika programmnoj realizacii algoritma reshenija sist.emy linejnyh algebraicheskih uravnenij s interval’noj neopredelennost’ju v ishodnyh dannyh [Software Engendering for Algorithm of Solving a Linear Equation Set under Interval Uncertainty.] Parallel Computing and Control Problems (PACO'2012). Sixth international conference, Moscow, Russia, October 24-26, 2012, vol. 2, pp. 155-166.

14. The GNU MP Bignum Library. Available at: http://gmplib.org/(accessed 25 December 2013).

15. Panyukov A.V., Gorbik V.V. Using Massively Parallel Computations for Absolutely Precise Solution of the Linear Programming Problems. Automation and Remote Control, 2012, vol. 73, no. 2, pp. 276-290.

16. Schrijver A. Theory of Linear and Integer Programming. Wiley, 1998. 484 p.

17. Golodov V.A. Distibuted Symbolic Rational Calculations with the x86 and x64 Processors [Raspredelennye simvol’nye drobno-racional’nye vychislenija na processorah x86 i x64j. Par-allel'nye vychislitel'nye tehnologii (PaVT'2012): trudy mezhdunarodnoj nauchnoj konferencii [Proc. Parallel Computational Technologies (PCT)J. Chelyabinsk: SL-SL-, 2012, pp. 719.

18. Panyukov A.V., Gorbik V.V. The Parallel Symplex-Method Achievements for Errorless Solving of Linear programming problems. Bulletin of the South Ural State university. Series «»

pp. 107-118. (in Russian)

Поступила в редакцию 4 декабря 2012 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.