Научная статья на тему 'Анализ интервальных моделей при расчете допусков'

Анализ интервальных моделей при расчете допусков Текст научной статьи по специальности «Компьютерные и информационные науки»

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

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

Для расчета допусков используются интервальные системы линейных алгебраических уравнений (ИСЛАУ). Производится сравнение итерационных методов решения интервальных систем. Рассматриваются различные методы формирования начальных приближений. Исследуется влияние начальных приближений на сходимость алгебраических решений ИСЛАУ

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

For calculation of the tolerances the interval systems of the linear algebraic equations (ISLAE) are used. The comparison of iterative methods for interval systems is made. The various methods of shaping of initial approximations are considered. The influence of initial approximations to convergence of algebraic solutions ISLAE is investigated.

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

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

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

T2 обработки П2 и от времени обслуживания очереди

Tq . Если T2 зависит от логики процесса, то TQ

определяется только методами размещения очереди в памяти и алгоритмами обслуживания очереди. Таким образом, сущность задачи заключается в определении методов хранения очереди типа FIFO и способов ее обслуживания, сокращающих значение времени обслуживания очереди Tq и снижающих вероятность

наступления состояния переполнения очереди при заданном размере очереди.

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

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

Рис. 1 Размещение очереди типа FIFO в оперативной памяти.

Для устранения непроизводительных перемещений в памяти при обслуживании очереди типа FIFO в данной работе предлагается заменить физическое перемещение в памяти на логическое перемещение. Это можно выполнить следующим образом. Для хранения очереди предлагается использовать специальным образом организованный кольцевой список. Вначале списка содержится заголовок, который содержит длину списка, адрес для ввода нового элемента, адрес извлекаемого элемента и длину элемента. При постановке каждого нового элемента этот элемент записывается в очередь, а адрес для ввода нового элемента наращивается на длину элемента. Аналогичным образом производится извлечение элемента из очереди. При достижении границы списка адрес очередного элемента устанавливается в начало. Такой список в логическом представлении можно изобразить в виде кольца (рис.2).

Извлечение

из очереди

Постановка в очередь

Заголовок списка:

Конец списка

Рис. 2 Логическое представление кольцевого списка. Список по мере поступления новых элементов и извлечения обрабатываемых передвигается по кольцу. Непроизводительных потерь на перемещение элементов

В. В. Корольков: Об одном методе хранения очередей в оперативной памяти.

в памяти при этом не производится, а служебные записи в начале списка отслеживают это перемещение. Условно назовем "головой" списка (HEAD) адрес для размещения нового элемента, а "хвостом" списка (TAIL) назовем адрес для извлекаемого элемента. Тогда случай, когда "хвост" догоняет "голову" соответствует состоянию - очередь пуста. А случай, когда "голова" догоняет "хвост" - очередь переполнена.

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

Шаг 1. Проверка обращения на постановку в очередь или извлечение из очереди. Если постановка в очередь, то переход к шагу 2, иначе - к шагу 8.

Шаг 2. Проверка первого обращения. Если обращение первое, то выполняется инициализация очереди путем установки значений адреса для устанавливаемого и извлекаемого элемента очереди соответственно и выполняется переход к шагу 4.

Шаг 3. Если адрес для постановки элемента в очередь после постановки этого элемента будет равен адресу для извлечения элемента из очереди, то очередь переполнена и осуществляется переход к шагу 8.

Шаг 4. Размещение очередного элемента в списке.

Шаг 5. Адрес элемента для установки наращивается на длину элемента. Если новый адрес достиг конца списка, адрес устанавливается на первый элемент списка (переносится в начало).

Шаг 6. Элемент установлен. Выход.

Шаг 7. Установление флага "очередь переполнена" и выход.

Шаг 8. Проверка первого обращения. Если обращение первое, то установка флага "очередь пуста" и выход.

Шаг 9. Если адрес для извлечения элемента равен адресу для установки элемента, то установка флага "очередь пуста" и выход.

Шаг 10. Извлечение элемента из очереди.

Шаг 11. Адрес элемента для извлечения наращивается на длину этого элемента. Если новый адрес достиг конца списка, адрес устанавливается в начало списка.

Шаг 12. Элемент извлечен. Выход.

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

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

Данный метод хранения очереди может найти широкое применение также при организации межмашинного обмена информации в многомашинных вычислительных комплексах.

ПЕРЕЧЕНЬ ССЫЛОК:

1. Фролов A.B., Фролов Г.В. Операционная система Windows 95: Для программиста. - М.: "Диалог - МИФИ", 1996. -288с. / Библиотека системного программиста. Т22/.

2. Фролов A.B., Фролов Г.В. Операционная система IBM OS/2 Warp. - М.: "Диалог - МИФИ", 1995. - 272с.

3. Гриб О.В. Взаимодействие процессов в MS DOS. -"Управляющие системы и машины". - 1990 №5 - с.72-76.

4. Иванченко А.Ф., Бобровничий В.Н., Корольков В.В., Устюгов A.B. Автоматизация проектирования локальных АСУ. - "Обмен производственно техническим опытом". - 1990 вып.5-6.

УДК 519.6

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

В. Н. Крищук, Г. Н. Шило

Для расчета допусков используются интервальные системы линейных алгебраических уравнений (ИСЛАУ). Производится сравнение итерационных методов решения интервальных систем. Рассматриваются различные методы формирования начальных приближений. Исследуется влияние начальных приближений на сходимость алгебраических решений ИСЛАУ.

Для розрахунку допуств використовуються ттервальт системи лгтйних алгебра'^чних ргвнянь (1СЛАР). Проводиться поргвняння гтерацшних методгв розв'язання ттервальних систем. Розглядаються р1зт методи формування початкових наближень. Дослгджуеться вплив початкових наближень на зб1жтсть алгебраЧчних розв'язок 1СЛАР.

For calculation of the tolerances the interval systems of the linear algebraic equations (ISLAE) are used. The comparison of iterative methods for interval systems is made. The various methods of shaping of initial approximations are considered. The influence of initial approximations to convergence of algebraic solutions ISLAE is investigated.

ВВЕДЕНИЕ.

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

+ ^13*^3 + * * * + а ^ ,„х

где

a11x1 +а12л2 a21x1 +а22x2'

an1x1+an2x2 '

aj = [ aijaiJ]

'1плп = b1

a^ x b

2n n 2

-a x = b

nn n n

(1)

x,j = [xIJ;x,Jl ,

b = [b, b] ,

( i, J = 1, n ) ;

V xiJ, bi

нижние границы интервалов;

a., x., b. J J '

верхние границы интервалов. Обычно при моделировании физических процессов

aj, xj, bi - прямые интервалы, то есть aj < aj .

xiJ < xiJ '

< [1]. Однако в результате применения обратных

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

Интервальные

интервалов, для которых

xiJ > xiJ

арифметические операции над прямыми и обратными интервалами рассматриваются в расширенной интервальной арифметике, известной как арифметика Каухера [2]. При практическом использовании

расширенной интервальной арифметики возникает необходимость в выработке общих правил выполнения арифметических операций.

Целью настоящей работы является формализация правил выполнения арифметических операций в интервальной арифметике, сравнение итерационных методов решения ИСЛАУ и составление рекомендаций для выбора начальных приближений.

1 ИНТЕРВАЛЬНАЯ АРИФМЕТИКА

В интервальной арифметике обычные для вещественных чисел соответствия между прямыми и обратными арифметическими операциями приобретают интервальный характер, что приводит к удвоению числа арифметических операций в интервальной арифметике (табл.1).

Таблица 1 - Соответствие между прямыми и обратными операциями в интервальной арифметике

Операция Обозначения

Прямая + - /

Обратная е ® 0 О

Прямые операции сложения и вычитания могут быть записаны в явном виде

Ь = а + х = [ а + х, а + х ] ;

Ь = а -х = [а -х, а -х] . (2)

Для прямых интервальных операций умножения и деления единого выражения, подобного (2), не существует. Обычно эти выражения представляются в виде таблиц [3] или сводки формул [4], применение которых в практике вычислений сопряжено с некоторыми неудобствами.

Процедура выполнения обратных интервальных арифметических операций в настоящее время разработана недостаточно полно, хотя такие операции встречаются при решении интервальных систем [4]. При выполнении обратных операций сложения и вычитания целесообразно пользоваться выражениями:

х = Ь ® а = [ Ь + а, Ь + а ];

х = Ь © а = [Ь - а, Ь - а]. (3)

Для представления обобщенных алгоритмов выполнения прямых и обратных интервальных арифметических операций будут использоваться понятия

В. Н. Крищук, Г. Н. Шило: АНАЛИЗ ИНТЕРВАЛЬНЫХ МОДЕЛЕЙ ПРИ РАСЧЕТЕ ДОПУСКОВ

относительной и операционной ширины интервала. Нижней и верхней относительной шириной интервала называются величины

у (а )

Таблица 2 - Правила выполнения прямых арифметических операций

%(а) = %( а) =

= w (а ) . тах{ |а|, |а|} |а| '

w (а ) _ w (а) тах{ |а|, а } iа)

(4)

Относительная ширина интервала имеет знак (ориентацию), определяемый знаком (ориентацией) ширины интервала: для прямых интервалов у(а) = а - а > 0 и £,(а)< 0, а < а ; для обратных

интервалов у (а) = а - а < 0 и £,(а)< 0, а > а . Если

у(а) = 0, то Ъ(а) = 0 и интервал вырождается в _ , ,

- Для интервалов Ь и х правила выполнения обратных

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

вещественное числ°. арифметических операций могут быть представлены в

Операционной шириной прямой арифметической виде табл.3, где введены следующие обозначения:

операции называется величина

Интервалы х < х х > х

Z(а*х) > 0 Z(а*х) < 0

а > а Z(а*х) > 0 [maxminF; minmaxF] [maxF; minF]

Z(а*х) < 0 [minmaxF; maxminF]

Z(а*х) =

w (а) + w (х), %(а) + %(х),

* £ {+ ,-} е {х,/}

Для интервалов a и x правила выполнения прямых арифметических операций могут быть представлены в виде табл.2. В данной таблице используются следующие обозначения: * е{+,-,х ,/} - прямые арифметические операции в интервальной арифметике; множество F = {а*х,а*х;а*х;а*х} ; функция тах minF означает, что из двух меньших элементов множества F выбирается больший, а функция min maxF выберет меньший из двух больших элементов множества F.

При выполнении прямых арифметических операций умножения и деления над прямыми и обратными интервалами с одинаковой относительной шириной

интервала Z( а* х) = 0 результат арифметической операции вырождается в вещественное число.

Операционной шириной обратной арифметической операции называется величина

Z(ь Ф а) = w(b) - w(а), если(®е {©В}), Z(b ® а) = w(b) - w(а), если(®е {Q,0}) .

Таблица 2 - Правила выполнения прямых арифметических операций

х > х

Интервалы х < х

Z(а*х) > 0 Z(а*х) < 0

а < а [minF; maxF] [maxminF ; min-maxF] [minmaxF; maxminF]

- обратные арифметические операции в интервальной арифметике; множество

О = {Ъ*а;Ъ*а;Ь*а;Ъ*а}.

Таблица 3 - Правила выполнения обратных арифметических операций

Интервалы а < а b > b

Z( ьm а )> 0 Z(b® а)< С

b < b Z(bm а)> 0 [maxminG ; minaxG] [minG; maxG]

Z(b® а)< 0 [minaxG; maxminG]

b > b [maxG; minG] [maxminG; minmaxG] [minaxG; maxminG]

Результат обратной арифметической операции умножения и деления вырождается в вещественное

число, если операционная ширина. £(Ь а) = 0 . 2 МЕТОДЫ РЕШЕНИЯ ИСЛАУ

Решение интервальных систем может быть выполнено, используя интервальные модификации классических алгоритмов вычислительной математики, и алгоритмы, специально разработанные для интервальных систем. Применение интервального варианта алгоритма Гаусса и решение систем уравнений с помощью обратных интервальных матриц в общем случае не позволяет получить алгебраического решения интервальных систем. Такое решение ИСЛАУ можно получить с использованием итерационных методов. Существующие итерационные методы можно разделить

на две группы: применение итерационных алгоритмов к исходной системе интервальных уравнений и субитерационные методы с организацией процесса итерации на основе использования процедуры отображения интервальных матриц размерности п в вещественную матрицу размерности 2п.

Характерным представителем итерационных методов является алгоритм, приведенный Л. Куприяновой [4]. Основан он на преобразовании каждого из уравнений системы (1) к виду

ь,©1 <

к = 1

фа.. , г = 1, п

V к * г

При организации итерационного процесса для

(т)

вычисления неизвестного х.

используются значения неизвестных х, итерации

на т-ой итерации

(т -1) , .ч „

. на (т-1)-ой

т х. =

ь, &

1

к = 1 к * 1

0 а,, , г = 1, п .

(5)

Процесс итерации прекращается, когда невязка

т

решения достигает заданной точности Ь1 - Ь, < £, где £ -

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

Субитерационные методы с отображением интервальной матрицы п в матрицу вещественных коэффициентов размерности 2п позволяют преобразовать систему (1) в систему обычных алгебраических уравнений. Задача определения интервальных корней системы в этом случае сводится к задаче определения границ интервалов. Возможность такого преобразования основывается на представлении слагаемых системы (1) в виде

Г а. ;а. .1Г х ;Х .1 = Г г ;ё. 1 ,

у"-]' У -г] г '

где

%

и г

I г,]= ь,; I % = ьг

к виду

где О - разреженная матрица вещественных коэффициентов размерности 2п, в каждой строке которой размещается не более п ненулевых элементов;

г = 22п]Т = [х1,..., хп, хп]Т -

транспонированный вектор новых неизвестных;

Н = [ кх,..., к2п ]Т = Г Ь1,., Ььп, Ь1,..., Ьп ]Т -

транспонированный вектор новых свободных членов.

Для организации вычислительной процедуры необходимо произвести перегруппировку матрицы О и векторов Ъ и Н таким образом, чтобы на главной диагонали размещались ненулевые элементы. При наличии столбцов или строк с нулевыми элементами происходит их исключение. В общем случае после размещения по главной диагонали ненулевых элементов создается система уравнений порядка 2п:

С ■ У = Б (7)

где С - разреженная матрица размерности 2п с ненулевыми элементами на главной диагонали;

У и Б - векторы неизвестных и свободных членов соответствующие новому положению столбцов и строк матрицы О.

Границы интервалов корней системы (1) являются решением системы линейных алгебраических уравнений (7), если известны правила операций умножения для всех интервальных произведений системы (1). При отсутствии таких сведений задача решается методом последовательных приближений. При этом система уравнений (7) записывается в виде:

С т) ■ У т + 1) = Б т)

(8)

где С( т) и Б( т) формируются на т-ом приближении,

Л т + 1) , .

а вектор неизвестных У является т+1-ым

приближением к корням системы уравнений (1).

Процедуру решения рассмотрим на примере отыскания интервальных корней системы уравнений [ 2 ;4 ]х1 + [-2 ;1 ]х2 = [-2 ;2] [-1 ;4 ]х1 + [ 2 ;4 ]х2 = [-2 ;2 ]

для которой неизвестны правила выполнения интервальных операций умножения. В качестве начального приближения будем считать, что корни системы удовлетворяют условию х1 > 0 ; х2 > 0 . Тогда можно составить систему уравнений размерности 2п = 4

нижняя и верхняя границы

произведения.

После этого каждое из интервальных уравнений системы представляется двумя уравнениями

(6)

У= 1 У= 1

Исходная система уравнений при этом преобразуется

2 0 0 -2 0 2 -10 0 0 4 1 0 0 2 4

которой удовлетворяют корни

х1 -2

х2 1

х1 2

2_

х2

..(1)

о ■ г = н,

[-71]; -х2" = .

Полученные значения позволяют уточнить правило

х=

П

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

п

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