Глава 3 построение моделей систем 53
3.1.Понятие модели системы 53
3.2.Способы описания систем Модель черного ящика 54
3.3.Анализ и синтез - методы исследования систем 60
Глава 4 ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ - МЕТОД ПРОВЕДЕНИЯ СИСТЕМНЫХ ИССЛЕДОВАНИЙ 67
Глава 5 75
ТЕОРИЯ ПОДОБИЯ - МЕТОДОЛОГИЯ ОБОСНОВАНИЯ ПРИМЕНЕНИЯ МОДЕЛЕЙ 75
[р,:і=ша'[лр'[м]\ 80
[c]=[Mf[Lfm\ 80
7С, = : : 81
7С, = 81
р. 85
шр = J Ч(к^к 85
°р = J K2Zp(K)^K-Wp2, 85
ZprCO= JJ /, (*,)/2 (f2Vfc1A1 = 86
Глава 6 92
ЭКСПЕРИМЕНТ - СРЕДСТВО ПОСТРОЕНИЯ МОДЕЛИ 92
Глава 7 110
ПАРАМЕТРИЧЕСКИЕ МЕТОДЫ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНОЙ ИНФОРМАЦИИ 110
1Lt, 128
Ь, = (в, Ґ 138
мм>.го>=П[ j*-JШГ 152
^,B)= ртам, 170
J p*~m+I(l-p)mdp 175
J pk-m(l-p)mdp 175
т{т'у>’шга«~кг‘щцтг- 210
241
AJ 241
=0=8= - A 283
8^==8 •■• ^8 - *8= •■ 287
Для того чтобы процедура вычисления была реализуема, необходимо, чтобы интегрируемая функция была ограничена и убывала на границах интегрирования. Изложение способа замены бесконечного предела конечным числом покажем на примере одного из пределов. Для других случаев процедура вычисления будет аналогичной. Нарис. 12.2. видно, что функция стремится к нулю при стремлении аргумента к бес-
Методы поиска оптимального значения функции
а х0 Bx
Рис. 12.2. Замена бесконечности в пределе интегрирования конечным числом
конечности. Из этого следует, что можно задаться некоторым значением ошибки и определить число В,которое будет удовлетворять уравнению(12.17).
Для определения числа Вна первом этапе необходимо попытаться оценить максимальное значение интегрируемой функции, которое она принимает на интервале интегрирования. Пусть это значениеравно fmm. Предположим, что данное значение функция приобретает в точке х0. Далее зададимся числом6, которое будет определять точность проведения вычислений, обычно это малое число. Например,5 = IO'4- IO'6. Определим значение функции, ограничивающее процесс вычисления.ZmaxS. Значениями функции, оказавшимися меньше данного значения, пренебрежем. На следующем этапе необходимо найти такое минимальное значение аргумента х*,для которого будет выполняться условие
/(**) ^/„J*- (12.19)
Для этого необходимо, задаваясь некоторым шагом Ах, двигаться в сторону уменьшения интегрируемой функции (в случае, представленном на рис. 12.2 необходимо двигаться вправо), вычисляя в каждой точке значения интегрируемой функции и сравнивая результат вычисления/(Xj) со значением, ограничивающим процесс интегрирования/тах5. Первое значение аргумента, для которого будет выполнено соотношение
, принимается в качестве верхнего предела интегрирования условно заменяющего бесконечность, т.е.х’=В.Определение нижнего предела интегрирования осуществляется аналогично, с той лишь разницей, что движение осуществляется влево от точки максимума функции. Если интегрируемая функция отрицательна, определяют ее минимум и осуществляют движение в сторону ее увеличения, соответственно вправо или влево, в зависимости от того, какой предел подлежит определению.
С задачами оптимизации функции одной переменной впервые сталкиваются при изучении математического анализа. Решают такие задачи методами дифференциального исчисления. На первый взгляд может показаться, что эти задачи относятся к достаточно простым и методы их решения достаточно хорошо разработаны и изучены. Однако это не совсем так. Методы дифференциального исчисления находят ограниченное применение. Особенно актуальной проблема становится при организации вычислительного процесса на ЭВМ. В данном случае требуется разработка вычислительных процедур, реализующих численные методы поиска экстремального значения функции.
Рассмотрим постановку задачи. Пусть на числовой оси задано некоторое множество X, F(x) -функция, определенная на множествеX и принимающая во всех точках хє Xконечные значения. Для определенности будем рассматривать задачу минимизации функцииF(x) на множествеX.Перейдем к рассмотрению численных методов решения задачи поиска оптимального значения.
Метод деления отрезка пополам. Простейшим методом минимизации функции одной переменной, не требующим вычисления производной, является метод деления отрезка пополам. Рассмотрим данный метод. Будем предполагать, что минимизируемая функцияF(x) унимодальна на рассматриваемом отрезке[а, Ь].Поиск минимума на [а,Ь\начинается с выбора двух точек х,= (а+ Ъ-8)/2 иX2 = (а+ Ъ+ 8)/2, где8 - постоянная, являющаяся параметром метода,0 <8 < b - а.Величина8 является параметром, определяющим точность решения. Точки X,иX2 располагаются симметрично на отрезке[а, Ь\относительно его середины и при малых5 делят его почти пополам. После выбора точекX1 и х2вычисляют значенияF(X1) иF(X1) и сравнивают их между собой. ЕслиF(X1) <F(X2), то полагаюта,= а, Ь{ -х2; еслиF(X1) >F(X2), тоа,=X1, ^i= Ь.ПосколькуF(x) унимодальна на [а,Ь],ясно, что точка минимума попадет на отрезок[ар6,]. Длина этого отрезка будет равна
Ь1-а1= (Ь-а-5)/2 + 5 .
Данная процедура повторяется до тех пор, пока не будет достигнута заданная точность решения. При этом на к-ишаге точки для нового разбиения интервала выбираются по правилуX2t l = (ак1+ Ьы- 8)/2,xIк = (ак-1 + ^k i + &У2, к > 2. Далее вычисляются значения функции в этих точкахF(xlk,)иF(X11). Затем определяются точки нового интервала. ЕслиF(Xlk l) < F(xlk), то полагаемак= акЛ, Ьк= х2к,если же
F(x2k-\) >F(xu)> t0 полагаемa = x2lx, bk = bkr Полученный отрезок сравнивается с параметром, задающим точность вычисленияЪк - ак<е. Если данное неравенство удовлетворяется, процесс вычисления останавливают. Следует отметить, чтоє >5; можно привести также следующие соотношения: количество разбиений определяется числомк >log2((6 -а-5)/(е-8)). Поскольку каждое деление пополам требует двух вычислений значений функции, то для достижения заданной точности требуетсяп = 2к>2log2((Z> -а-8)/(є -8)) таких вычислений.
После определения отрезка [ак,в качестве приближения к значению аргумента, в котором функция принимает минимальное значение,можновзять точкуXn = X2k l приF(X2k l) < F(xlk) иXn = х2кприF(X2k ) >F(xu), а значениеF(xn) может служить приближением для искомого минимального значения. Точность приближения в данном случае может быть оценена выражением(Ь-а)2~п11л.Однако существуют методы, которые за такое же количество итераций позволяют получить решение с большейточностью. Однимиз таких методов является методзолотого сечения.
Метод золотого сечения. Данный метод столь же прост как и метод деления отрезка пополам, но он позволяет решить задачу с требуемой точностьюпри меньшем количестве вычислений значений функции. Золотым сечением отрезка является деление на две неравные части так, чтобы отношение длины всего отрезка к длине большей части равнялось отношению длины большей части к длине меньшей части отрезка.
Золотое сечение отрезка [а, Ъ\производится двумя точками
X1 = а +(3-л/5)(Ь-а)/2
и
х2 =а + (у/5-1)(Ь-а)/2,
расположенными симметрично относительно середины отрезка, причем
а< х(< х2<Ь.
Следует обратить внимание на одно обстоятельство, а именно то, что точка X1, в свою очередь производит золотое сечение отрезка[а, х2], аналогично точка х2 производит золотое сечение отрезка[х , Ъ\. Используя данное свойство золотого сечения, разработан следующий метод минимизации унимодальной функции на отрезке[а, Ь].На первом этапе производят золотое сечение указанного отрезка и вычисляют значения минимизируемой функции в точкахх , х2: F(X1) иF(X1). Далее, еслиF(X1) <F(x2), то за новый отрезок принимается[а,х2], т.е.я, = а, = х2, еслиF(X1) > F(x2), тоах = X1, Ъх = Ь. Затем процесс деле-388 ния отрезка методом золотого сечения продолжается и вычисляются значения минимизируемой функции в каждой новой точке. Данная процедура выполняется до тех пор, пока не получим на некотороми-м шаге отрезокЬп- ап<є, гдеє - заданная точность. В качестве решения выбирают значение функции, удовлетворяющее условию
F(x') = min(F(an),F(bn)).
На этом процесс минимизации унимодальной функции заканчивается.
Метод прямого поиска. Рассмотрим еще один метод определения оптимального значения унимодальной функции на отрезке [а, Ь\и нахождения значения аргумента, соответствующего оптимальному значению. В отличие от предыдущих случаев рассмотрим поиск максимального значения. Суть метода заключается в следующем. На первом шаге необходимо определить направление поиска оптимального значения функции. Для этого произвольным образом выбираем две точкиX1 и х2(рис.12.3), в этих точках вычислим значения оптимизируемой функцииF(X1) иF(x2). Затем сравним вычисленные значения друг с другом. ЕслиF(X1) < F(x2) и при этомX1 > х2, то двигаться в поиске максимума необходимо влево, еслиF(xf) >F(x2) при том же соотношении между аргументами, то двигаться необходимо вправо. Положим, чтоX1 -х2 = Ах. ПустьF(X1) < F(x2) так, как показано на рис.12.3. Тогда максимум функции находится слева от точких2. Находим точкух3 следующим образомх3 = х2 -Ax и вычисляем значение функции в данной точкеF(x3). Сравним значения функций между собой. Если выполняется неравенствоF(X2) < F(Xj), то продолжаем двигаться в том же направлении. Пусть путем описанных вычислений достигнута точ-
Рис. 12.3. Метод прямого поиска оптимального значения функции
ка х.+гВычисляем значение функции в данной точке и проводим сравнение со значением в предыдущей точке, получаемF(x) > F(x.+l). Результат сравнения показывает, что в неравенстве знак поменялся на обратный. Это говорит о том, что в процессе вычислений значение максимума функции осталось справа, т.е. его проскочили. В этом случае необходимо изменить величину шага и поменять направление движения. ПоложимAx = -Ах/2и определим новую точкуxj+2 = х.+]+ Ах. Поскольку новое значение шага берется с обратным знаком, движение теперь осуществляется в другую сторону, в данном случае вправо. Теперь движение в этом направлении продолжаем до тех пор, пока выполняется соотношениеF(Xj) <F(xj+]). Как только в данном неравенстве знак меняется на обратный, необходимо опять уменьшить шаг и изменить его знакAx - -Ax/2. Путем таких итераций процесс будет все ближе и ближе сходиться к точке, в которой функция имеет максимальное значение. Условием остановки процесса вычислений будет достижение заданной точности, которое можно сформулировать путем задания соотношения\хк+х -xj< є. Полученное значениехк+хпринимается за аргумент, в котором функция достигает максимума, а значение функции в данной точке за оценку максимального значения.
Методы прямого поиска решений уравнений
Рассмотрим задачу вычисления корней уравнения в случае, коща исследуемая функция в общем случае имеет трансцендентный вид. Относительно вида функции сделаем одно предположение: будем считать, что функция монотонна на рассматриваемом участке. Пусть имеем уравнение
Fix) = 0. (12.20)
Такая запись имеет достаточно общий вид, например, если имеется уравнение в виде/(х)= g(x), то перенося правую часть влево, приходим к выражению(12.20). Один из методов решения уравнений вида
- метод последовательных приближений - был рассмотрен в п. 12.2. В методе последовательных приближений делалось предположение относительно дифференцируемости функции. В излагаемом методе такого предположения делать не будем.
Итак, изложим метод поиска решения уравнения, аналогичного методу поиска оптимального значения функции, рассмотренного в предыдущем параграфе. Пояснение метода поиска решения показано на рис. 12.4.
Рис. 12.4. Метод прямого поиска решений уравнений
На первом шаге произвольно выбираем точку Xi и вычисляем значение функцииF(xf). Вначале определяем квадрант, в который попало вычисленное значение функции. Пусть получили, как изображенонарис.
я,>0, значение функции также больше нуля. Далее выбираем шаг, с которым будем осуществлятьпоиск решения, и вычисляем точкуX2: х2= X1 -Ах.В этой точке также вычисляем значение функцииF(X2). Далее определяем направление поиска решения. Если значение функции в точкеX2 больше чем в точкеX1, то пересечение функции сосью ординат будет находиться справа от первоначально выбранной точки. Соответственно двигаться в поиске решения необходимо вправо. Если же значение функции в точкеX2 меньше чем в точкеX1, то пересечение функции с осью ординат будет находиться слева от первоначально выбранной точки. И, следовательно, двигаться в поискерешения необходимо влево, так, как это изображено на рис.12.4. Определив направление поиска, осуществляем движение с шагомAx до тех пор, пока значение функции не станет меньше нуля, т.е. пока функция не изменит свой знак. Как только произошло изменение знака функции на противоположный (точка х(+1) необходимо изменить направление движения, при этом необходимо также изменить шаг, с которым осуществляется поиск решения:Ax = -Ах/2.Теперь начинаем двигаться в противоположную сторону с меньшим шагом. Движение в эту сторону также идет до тех пор, пока значение функции не изменило свой знак. Как только произошло изменение знака функции, необходимо снова изменить направление поиска решения и уменьшить шаг. Ясно, что в процессе такого поиска решение все ближе и ближе сходится к нулю. Условием остановки процесса вычислений будет достижение заданной точности, которое можно сформулировать путем задания соотношенияIxfcfl -xt| <є. Осуществляя данную процедуру, находим решение уравнения(12.20).
Подведем итоги. В данном разделе представлены некоторые типы задач и изложены основные подходы к их решению. Рассмотренные методы не претендуют на полноту охвата всей теории численных методов. Реально теория численных методов является самостоятельной развивающейся дисциплиной, с широким спектром разделов.Например, имеются хорошо разработанные и представленные в литературе методы решения дифференциальных уравнений, интегральных уравнений Вольтерра и Фредгольма, всевозможных систем уравнений и т.п. разделы. Данные процедуры представлены в специальной литературе. Здесь ставилась цель изложить подходы к решению задач и отдельных процедур, широко встречающихся в системных исследованиях.
В заключение остановимся на некоторых рекомендациях по применению численных методов. Приступая к решению задачи системных исследований целесообразнее начинать решение с расчета простейших моделей, изучать модели с использованием простейших проверенных методов. Лишь после всестороннего анализа и уяснения всех аспектов задачи имеет смысл заниматься расчетом сложной модели с применением громоздких по своей структуре процедур.
Обратим внимание на некоторые опасности, с которыми может столкнуться системный аналитик при применении численных методов для решения задач. При алгоритмизации математической задачи с целью ее решения численными методами могут возникнуть ситуации, препятствующие успешному получению результата, а именно:
а) имеется опасность замены исходной задачи задачей, не имеющей отношения к исходной постановке;
б) алгоритм, применяемый для решения задачи, при возможностях современной вычислительной техники не поддается расчету.
Таким образом, необходимо тщательно и всесторонне анализировать постановку задачи. Исследование постановки задачи дает возможность начать изучение ее с простейшей модели с последующим усложнением метода и программы решения задачи. Важно отметить, что при решении задач численными методами большое внимание следует уделять разработке и применению специальных тестов и отладочных программ. Применение процедур контроля и тестовых проверок дает исследователю уверенность в успешном решении задачи.
- Введение
- Глава I определениясистемного анализа
- Системность - общее свойство материи
- Определения системного анализа
- Понятие сложной системы
- Характеристика задач системного анализа
- Особенности задач системного анализа
- Глава 2 характеристика этапов системного анализа
- Процедуры системного анализа
- Анализ структуры системы
- Построение моделей систем
- Исследование ресурсных возможностей
- Определение целей системного анализа
- Формирование критериев
- Генерирование альтернатив
- Реализация выбора и принятия решений
- Внедрение результатов анализа
- Глава 3 построение моделей систем
- Понятие модели системы
- Агрегирование - метод обобщения моделей
- Глава 4 имитационное моделирование - метод проведения системных исследований
- Сущность имитационного моделирования
- Композиция дискретных систем
- Содержательное описание сложной системы
- Глава 5 теория подобия - методология обоснования применения моделей
- Модели и виды подобия
- Основные понятия физического подобия
- Элементы статистической теории подобия
- Глава 6 эксперимент - средство построения модели
- Характеристика эксперимента
- Обработка экспериментальных данных
- Глава 7 параметрические методы обработки экспериментальной информации
- 7.1. Оценивание показателей систем и определениеихточности
- 7.2. Использование метода максимального правдоподобия для оценивания параметров законов распределения
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53
- 7.5. Примеры оценки показателей законов распределения
- Глава 8
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53
- Формулировка теоремы Байеса для событий
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53
- 8.3. Вычисление апостериорной плотности при последовательном накоплении информации
- Достаточные статистики
- Сопряженные распределения
- 8.9. Оценивание параметров семейства гамма-распределений
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53
- Глава 9
- Общие замечания
- Ядерная оценка плотности
- Глава 10
- Задача линейного программирования
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53
- Метод искусственных переменных
- Дискретное программирование
- Нелинейное программирование
- Глава 11 системный анализ и модели теории массового обслуживания
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53
- Замкнутые системы с ожиданием
- 11.5. Пример расчета надежности системы с ограниченным количеством запасных элементов
- Глава 12 численные методы в системном анализе
- Метод последовательных приближений
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53
- Глава 13 выбор или принятие решений
- Глава I определения системного анализа 7
- Глава 2 33
- Глава 3 построение моделей систем 53