«Основы имитационного моделирования» читается в ПИ в 6 семестре. Количество лекционных часов – 17. Количество лекций – 9. 1 ЛЕКЦИЯ 1 1. Понятие об имитационном моделировании Имитационное моделирование является относительно новым и быстро развивающимся методом исследования поведения систем управления. Этот метод состоит в том, что с помощью ЭВМ воспроизводится поведение исследуемой системы управления, а исследователь-системотехник, управляя ходом процесса имитации и обозревая получаемые результаты, делает вывод о ее свойствах и качестве поведения. Поэтому под имитацией следует понимать численный метод проведения на ЭВМ экспериментов с математическими моделями, описывающими поведение системы управления для определения интересующих нас функциональных характеристик. Появление имитационного моделирования и превращение его в эффективное средство анализа сложных систем было, с одной стороны, обусловлено потребностями практики, а с другой стороны, обеспечено развитием метода статистических испытаний (метода Монте-Карло), открывшего возможность моделирования случайных факторов, которыми изобилуют реальные системы, а также развитием электронной вычислительной техники, являющейся базой для проведения статистических экспериментов. В развитии метода Монте-Карло, являющегося математической основой машинной имитации, значительный вклад был внесен работами Н.П. Бусленко, Д.И. Голенко, И.М. Соболя и др. Достаточно широкое применение метода имитации при исследовании поведения системы управления обусловлено следующими причинами: сложностью модели поведения системы, наличием множества случайных факторов, которые ограничивают эффективность применения традиционных аналитических методов исследования, а в ряде случаев вообще исключают возможность их применения, в результате чего имитационное моделирование оказывается единственным способом исследования; новыми возможностями, которые позволяют осуществлять: наблюдение за поведением системы в таких условиях, в которых натурный эксперимент просто невозможен (либо в силу чисто физических причин, либо в силу ограниченности временных и стоимостных ресурсов); проведение имитационных экспериментов в широком диапазоне изменения параметров системы и внешней среды, что позволяет получить полезную информацию в условиях информационной неопределенности, всегда сопутствующей начальным этапам решения системотехнических задач; прогнозирование поведения системы позволяет получать к тому же ответ в сжатом масштабе времени; 2 детальное наблюдение за поведением имитируемой системы позволяет лучше понять содержание самой системы и разработать такие предложения по ее улучшению, которые были бы невозможны без имитации; имитационное моделирование позволяет дать представление о том, какие из параметров системы являются наиболее существенными; имитационное моделирование может быть использовано как педагогический прием для обучения студентов и инженеров основным навыкам теоретического анализа, статистического анализа и теории принятия решений. Но, как и у любого инструмента исследования, у метода имитации есть преимущества и недостатки. К недостаткам можно отнести: в ряде случаев имитационные модели оказываются достаточно сложными, что требует больших временных и стоимостных затрат на программирование, отладку моделей и проведение экспериментов; «имитационный мир», как и реальная действительность, оказывается трудно постижимым, ибо сложная имитационная модель приводит к такому числу разнообразных исходов, что в результате получаемую информацию не так легко интерпретировать; анализ результатов имитации основан только на использовании математической статистики, а, как известно, для получения статистической достоверности результатов, достаточной для обоснования выбора варианта управления, варианта построения системы и других, требуется многократное повторение имитационных экспериментов, что в ряде случаев требует больших временных затрат. Однако, несмотря на это, все равно остающиеся флюктуации результатов заставляют проявлять осторожность при подведении итогов машинных имитационных экспериментов; имитационное моделирование пока не располагает хорошо методически обоснованными принципами построения моделей для широкого класса систем управления, а поэтому каждый конкретный случай требует значительной специальной проработки. Однако следует отметить, что, несмотря на отмеченные недостатки, метод имитационного моделирования как инструмент исследования систем управления вызывает большой научный интерес и в настоящее время интенсивно разрабатывается. При имитационном моделировании на ЭВМ можно выделить следующие основные этапы исследования: формулировка проблемы; построение математической модели функционирования системы; составление и отладка программы для ЭВМ, включая и разработку процедур 3 моделирования различных случайных факторов; планирование имитационных экспериментов; проведение экспериментов и обработка результатов исследования. Рассмотрим более подробно содержание каждого из этапов. Формулировка проблемы. Она предполагает определение либо вопросов, на которые надо ответить, либо гипотез, которые надо проверить, либо воздействий, которые надо оценить, что в целом определяет цель имитации, в соответствии с которой должны быть определены и критерии, по которым оценивают результаты имитации. Построение математической модели. Она включает в себя определение входных, выходных, управляющих переменных и их взаимосвязи в общем алгоритме функционирования системы с целью оценки значений выбранных критериев. В случае машинной имитации математическая модель часто представляется в виде алгоритмического описания моделируемого процесса. Основой для этого является содержательное описание процесса функционирования системы. При построении модели необходимо учитывать два противоречивых фактора. Усложнение модели, то есть включение в модель большого числа переменных, что приводит к большим временным затратам на составление, отладку модели, увеличивается и само время проведения имитационных экспериментов, а в некоторых случаях и возникают трудности с интерпретацией результатов. В результате может быть утрачена ценность полученных результатов в силу их большого времени запаздывания. Упрощение модели может привести к потере содержательности, модель становится неадекватной системе. На этом этапе определяются, какие из переменных являются случайными, какие детерминированными. После определения структуры модели производится оценка значений ее параметров, чему предшествует этап сбора необходимой исходной информации. Данный этап должен обязательно закончиться проверкой адекватности модели объекту. Общей методики проверки адекватности не существует. Модель считается адекватной объекту исследования при наличии утвердительных ответов на ряд вопросов: нет ли в модели несущественных переменных, которые не улучшают способность предсказывать поведение системы? все ли существенные входные и управляющие переменные включены в модель? правильно ли сформулированы функциональные связи между входными и выходными переменными системы? верно ли определены параметры системы ? являются ли оценки случайных параметров построенной модели статистически 4 значимыми? Правильное и обоснованное решение задач 1 и 2-го этапов во многом определяет успех имитационного эксперимента. Составление машинной программы. Решаются следующие задачи: составление самой программы с использованием как универсальных алгоритмических языков, так и проблемно-ориентированных на решение задач имитации; разработка программных процедур имитации различных случайных факторов, имеющихся в системе; отладка программы. Планирование экспериментов. Решаются следующие основные задачи: выбор способов ускорения сходимости статистических оценок интересующих нас критериев к истинным значениям; определение объема имитационных экспериментов; составление плана проведения машинных экспериментов, что особенно важно при решении задач оптимизации на основе имитации. Решение вышеуказанных задач и составляет содержание этапа планирования экспериментов. Проведение экспериментов и обработка результатов. Преследуется цель: используя все многообразие статистических критериев и максимум информации, полученной в процессе эксперимента, сделать выводы по результатам имитационного эксперимента и определить их точность. Перейдем к раскрытию содержания основных вопросов, связанных с разбором принципов построения математических моделей функционирования систем управления, ориентированных на использование ЭВМ, предполагая, что проблема исследования сформулирована и критерии оценки определены. Функционирование многих систем управления можно рассматривать как процесс перехода системы из одного состояния в другое состояние, причем изменению состояния всегда предшествует появление некоторого дискретного события. Поэтому такие системы получили название «системы с дискретными событиями». 5 ЛЕКЦИЯ 2 2. Имитация функционирования систем с дискретными событиями Класс систем управления, формализуемых в виде систем с дискретными событиями, достаточно широк и включает в себя большие информационно-управляющие системы, вычислительные системы, системы связи и др. При решении задачи программной имитации любой системы, в том числе и системы с дискретными событиями, составляется содержательное описание процесса функционирования, формализованное в виде математической модели. При этом определяются параметры модели, аппроксимирующие таблицы частот экспериментальных данных. При имитации функционирования систем на ЭВМ построенная математическая модель преобразуется в моделирующий алгоритм, в котором сохраняются логическая структура, последовательность протекания процесса во времени, характер и состав информации о состояниях процесса. ЭВМ представляют собой устройства дискретного типа, а потому и моделирующий алгоритм должен являться дискретной аппроксимацией построенной математической модели функционирования системы. Прямой путь решения данной задачи весьма прост. Интервал времени [0; Т], в течение которого рассматривается работа системы, разбивается на интервалы длиной ∆t, из-за чего данный способ решения получил название принципа ∆t. В пределах каждого интервала последовательно вычисляются приращения всех процессов в модели и производится, если это нужно, изменение состояния отдельных элементов модели. При достаточно малых ∆t получаем хорошее приближение имитируемых процессов к процессам в реальной системе с параллельным выполнением операций. При таком способе построения моделирующего алгоритма точность моделирования достигается ценой больших затрат машинного времени. Обычно такой способ построения имитационных моделей используется при моделировании непрерывных динамических систем. Принцип ∆t является наиболее универсальным принципом построения моделирующих алгоритмов, хотя и наименее экономичным с точки зрения вычислений на ЭВМ. Однако данный способ мало пригоден для решения задач имитации больших информационных систем, динамика которых состоит в переходе из состояния в состояние, причем в промежутках между переходами состояние системы остается неизменным. Каждый такой переход связан с наступлением некоторого события в системе, например приход входного либо управляющего дискретного сигнала, приход требования, отказ элемента, достижение некоторой характеристикой системы заданного порогового значения и др. 6 Анализ различных алгоритмов моделирования для такого класса систем, проведенный в [2], показал, что наиболее часто используется принцип особых состояний. При построении алгоритма имитации функционирование системы, формализованное в математической модели, рассматривается как совокупность параллельно протекающих процессов, причем каждый процесс есть некоторая последовательность событий. С каждым событием связано изменение состояния системы. Событие, возникающее в системе, определяется как особое состояние. Процессы в общем случае не являются независимыми, а взаимодействуют между собой. Для иллюстрации данных понятий рассмотрим пример. Пример. Пусть в систему массового обслуживания, состоящую из одного прибора для обслуживания, поступает поток требований. Если требование, придя в систему, застает прибор свободным, то оно занимает прибор и обслуживается в нем в течение некоторого времени, после чего покидает систему. В противном случае требование поступает в очередь к прибору, где будет дожидаться конца обслуживания всех ранее поступивших в систему требований. В такой системе возможны 2 процесса: 1) процесс поступления требований; 2) процесс «захвата» прибора и обслуживания требований, причем процесс поступления требований инициирует второй процесс, если последний был приостановлен по причине отсутствия требований. Под состоянием системы будем понимать число требований, находящихся в системе. Из алгоритма функционирования видно, что состояние системы изменяется либо под влиянием событий процесса №1 (приход требований), либо под влиянием событий процесса №2 (захват и обслуживание). Анализ содержания данного примера показывает, что для развертывания совокупности параллельно протекающих процессов в последовательный необходимо упорядочить во времени моменты наступления событий каждого из процессов. Далее, сканируя по временной упорядоченной последовательности и имитируя в каждый наступивший момент особого состояния все необходимые действия, заданные в содержательном описании процесса функционирования системы как реакции системы на событие, получим имитационную модель алгоритма функционирования системы для ЭВМ. С целью формализации принципа особых состояний определим для каждого выделенного процесса момент наступления очередного события i-го процесса и, если таких процессов будет n, то выбор наиболее раннего момента наступления особого состояния определится в соответствии с операцией: 7 где r – номер процесса, в котором наступило ближайшее событие. Моменты называются моментами системного времени, в отличие от реального времени, в котором работает моделирующая ЭВМ. Рассмотрим структурную схему моделирующего алгоритма (рис. 9.1, стр. 198) и назначение основных операторов. Оператор задания начальных условий А содержит: оператор задания начальных условий для моделируемого варианта А1, оператор задания начальных условий для одной реализации (одного имитационного эксперимента) А2. Оператор определения очередного момента изменения состояния системы В находит момент наступления наиболее раннего события в соответствии с формулой (9.1) и определяет вид состояния системы, в которое она переходит в данный момент времени. Таким образом, оператор В содержит два массива: массив времени Ti, и массив состояний Логический оператор С осуществляет переход по номеру наступившего события к соответствующему оператору Di, имитирующему реакцию системы на событие. Оператор реакции Di имеет следующие основные функции: Рис. 9.1. Структурная схема моделирующего алгоритма поведения системы 8 управления выполняет все необходимые операции, предусмотренные в алгоритме функционирования системы, как реакцию на данное событие; вычисляет и накапливает интересующую системотехника статистику по исследуемым характеристикам системы, если она относится к данному процессу; определяет момент следующего наступления события в данном процессе, состояние системы и заносит их в соответствующие массивы для оператора В; вычисляет и заносит в массивы оператора В моменты наступления событий и состояние в других процессах, если последние были приостановлены, а инициирование их возможно только событием данного процесса. Следует заметить, что если процесс переходит в приостановленное состояние, то время наступления очередного события определить нельзя. В этом случае обычно принимают (где j – номер такого процесса) для того, чтобы исключить этот процесс из массива T в силу соотношения (9.1). Данный процесс активизируется только в случае инициирования его событиями других процессов. Оператор реакции обычно вводится в тех случаях, когда имитация производится на ограниченном интервале длины имитационного эксперимента. Когда T0 – длительность одного окажется очередным моментом изменения состояния, тогда управление передается блоку , выполняющему все необходимые действия по завершению одного имитационного эксперимента. Если не проведено достаточное для статистической точности число экспериментов, что проверяется оператором Е, то осуществляется возврат к оператору А2, в противном случае проводится обработка результатов в блоке оператора О (окончание) и выдача результатов имитационных экспериментов на устройство печати. 9 ЛЕКЦИЯ 3-4 3. Методы имитации случайных факторов Базовой последовательностью случайных чисел, используемой для формирования в ЭВМ случайных элементов различной природы, с различными законами распределения является совокупность случайных чисел с равномерным законом распределения: где – дифференциальный закон распределения равномерно распределенных чисел х в интервале Строго говоря, на цифровой ЭВМ получить последовательность случайных величин с равномерным распределением не представляется возможным[1]. Поэтому, если считать, что число разрядов ЭВМ равно k, а случайное число сформировано согласно формуле: где принимает значение с вероятностью Такое распределение чисел х называется квазиравномерным в интервале [0; 1], причем математическое ожидание и дисперсия определяются следующими соотношениями: Из формул (9.2) видно, что математическое ожидание М[х] точно совпадает с генеральным средним для равномерного распределения в интервале [0; 1], а дисперсия 10 при асимптотически стремится к дисперсии для равномерного распределения при а = 0, b = 1, равной 1/12. Практически при k > 15 обеспечивается требуемая точность в имитационных исследованиях. Поэтому в дальнейшем будем говорить о равномерном законе, хотя в действительности при программном моделировании имеем дело с квазиравномерным законом. При выводе выражений (9.2) предполагалось, что х формируется на основе случайных чисел αi, принимающих значения (0; 1) с вероятностью = 1/2, для чего в машине должен существовать случайный генератор, дающий строго случайные последовательности чисел αi с соответствующим распределением. Так как в ЭВМ такого генератора нет, случайные числа вырабатываются программным путем, в силу чего они, строго говоря, не являются случайными, так как формируются на основе вполне детерминированных преобразований, поэтому их называют псевдослучайными. Такие последовательности случайных чисел являются периодическими, поэтому очень длинные последовательности, длина которых превосходит период, уже не будут строго случайными. Однако, если при моделировании количество обращений к программному датчику случайных чисел оказывается меньше периода, измеряемого количеством различных случайных чисел, то такая периодичность программного датчика не оказывает существенного влияния на результаты моделирования. Основные достоинства программного способа получения псевдослучайных чисел состоят в следующем: не требуются специальные внешние устройства; получение чиселдостаточно быстрое (обычно требуется 3–10 команд на число); возможно повторное воспроизведение чисел; требуется только однократная проверка алгоритма получения заданной последовательности чисел. Методы получения псевдослучайных квазиравномерных чисел программным путем можно разделить на две основные группы: а) аналитические; б) методы перемешивания. При использовании аналитических методов очередное число в псевдослучайной последовательности получается с помощью некоторого рекуррентного соотношения, аргументами которого являются одно или несколько предыдущих чисел последовательности: 11 Простейшим примером указанного способа получения случайных чисел, равномерно распределенных в интервале [0; 1], может служить метод вычетов, в котором используется следующее рекуррентное соотношение: где выражение bxi (mod M) означает остаток от деления произведения bxi на число М; – очередное случайное число; хi – предыдущее случайное число; b – некоторая константа; М – число, определяющее наибольшее значение получаемых случайных чисел. Данный способ является основой построения мультипликативного программного датчика случайных чисел. В этом случае алгоритм построения последовательности случайных чисел сводится к следующему: 1. Выбрать в качестве параметра – произвольное нечетное число, например при разрядности ЭВМ k = 32, bМ = 231-1; 2. Вычислить коэффициент b по формуле , где с – любое целое положительное число, в частном случае 3. Вычислить произведение bа0; взять k младших разрядов в качестве первого члена последовательности а1, остальные отбросить; 4. Провести нормализацию числа по формуле 5. Вычислить очередное псевдослучайное число а2 как k младших разрядов произведения bа1 и вернуться к пункту 4. Описанный генератор подвергался, как отмечено в [3] широкой экспериментальной проверке и проявил достаточно хорошие свойства. С другими аналитическими способами получения случайных чисел, равномерно распределенных в интервале [0; 1], можно ознакомиться в [1]. В случае применения методов перемешивания очередное число последовательности получается путем хаотического перемешивания разрядов предыдущего случайного числа с помощью операций сдвига, специальных сложений и различных арифметических операций. Например, часто используются следующие комбинации операций для перемешивания разрядов предыдущего случайного числа: сдвиг предыдущего числа на некоторое число разрядов влево и специальное сложение результатов этого сдвига с предыдущим числом последовательности; сдвиг предыдущего числа на некоторое число разрядов влево и вправо и специальное сложение результатов этих сдвигов. 12 Данные операции заканчиваются взятием модуля и нормализацией. В качестве начальной константы для формирования последовательности обычно берут иррациональные числа. Имитация случайных событий. Пусть в результате эксперимента должно наступить одно из несовместимых событий которые образуют полную группу событий, то есть: где Pk – вероятность наступления события Аk. Разбиваем отрезок [0; 1] на n частей длиной P1, P2, ..., Рп; при этом точки деления отрезка имеют следующие координаты: Пусть теперь х – очередное число от генератора случайных чисел. Если то считаем, что произошло событие Ak. Действительно: Рассмотренная процедура может быть положена в основу выбора направления передачи требований при моделировании замкнутых сетей массового обслуживания. Аналогичным образом можно моделировать дискретные случайные величины при конечном числе их значений. Если имеем дискретную случайную величину у, причем у = 1 с вероятностью Р, а у = 0 с вероятностью 1 – Р, то при имитации ее на ЭВМ необходимо каждый раз решать следующую систему неравенств: если ; если , где х1 – очередное случайное число от генератора случайных равномерно распределенных чисел. Имитация непрерывных случайных величин. В литературе рассматриваются несколько способов имитации, основанных на различных преобразованиях равномерно распределенных случайных чисел в числа с заданным законом распределения. Метод обратной функции. Он основан на использовании следующей теоремы. 13 Если х – случайная величина, равномерно распределенная на отрезке [0; 1], то случайная величина у, являющаяся решением уравнения: имеет плотность распределения f(y). Данный метод позволяет сформулировать правило генерирования случайных чисел, имеющих произвольное непрерывное распределение f(y): • вырабатывается случайное число х1 генератором случайной равномерной последовательности; • случайное число yi, имеющее распределение f(y), находится из решения уравнения: Таким образом, последовательность чисел последовательность преобразуется в имеющую заданную плотность распределения f(y). Рассмотрим примеры. Пример 1. Необходимо получить последовательность чисел, равномерно распределенных на отрезке [а, b]. Тогда, используя (9.3) имеем: откуда Пример 2. Необходимо получить последовательность чисел, имеющих распределение по показательной функции: В соответствии с (9.3) имеем: 14 откуда Так как величина также имеет равномерное распределение на отрезке [0; 1], то формула (9.4) может быть записана другим способом: Однако формула (9.3) не для всех распределений может быть использована по следующим причинам: • зависимость нельзя получить в явном виде; • зависимость является сложной для численных расчетов. В этом случае используют приближенные методы, например метод ступенчатой аппроксимации и предельные теоремы теории вероятности. Метод ступенчатой аппроксимации. Зависимость плотности распределения f(y) от возможных значений случайной величины у представляется графически в интервале изменения у от а до b. Если случайная величина задана на бесконечном интервале, то производим усечение распределения с заданной точностью. В данном случае указанная плотность f(у) может быть получена также и экспериментально. Разобьем отрезок [а, b] на n, частей таких, что: где αi – координата точки разбиения Тогда вероятность того, что случайная величина у попадет в один из интервалов, 15 То есть попадание на любой отрезок случайной точки равновероятно. На каждом из интервалов функция f(y) аппроксимируется ступенчатой функцией так, чтобы значение f(у) в каждом интервале было постоянным; тогда координата случайной точки может быть представлена как – расстояние точки от левого конца интервала. В силу ступенчатой аппроксимации сi является равномерно распределенной величиной на интервале . Правило имитации в этом случае сводится к следующему: получаем два числа от генератора равномерно распределенных чисел; с помощью x1 находим индекс числа для интервала, где – целая часть , причем с помощью числа х2 находим находим случайное число, имеющее интересующий нас закон распределения f(y): Таким образом, для получения случайного числа у, имеющего закон f(y), используются два числа от генератора случайных чисел х1, x2. Использование предельных теорем. В некоторых случаях для имитации определенных законов распределения используют предельные теоремы теории вероятностей. Так, например, для получения нормального закона распределения используется свойство сходимости независимых величин к нормальному распределению. Метод обратной функции в этом случае оказывается неэффективным, так как получаемый при этом интеграл: не раскрывает явную зависимость Для получения нормально распределенных чисел с параметрами удобен искусственный прием, основанный на центральной предельной теореме теории вероятностей. Для этого в качестве исходных чисел возьмем n равномерно распределенных на отрезке [–1; 1] чисел, получаемых из интервала [0; 1] по правилу: 16 Сформируем величину z согласно следующей формуле: По центральной предельной теореме при достаточно большом значении п величина z может считаться нормально распределенной с параметрами: Проведя нормирование величины z1 получим, что величина: будет иметь нормальное распределение с параметрами . Практически установлено, что при n > 8 формула (9.5) дает вполне хорошие результаты. Имитация дискретных случайных величин. Из всего множества законов распределения дискретных случайных величин рассмотрим наиболее часто встречающиеся в задачах имитации систем управления: • величины уi имеют биномиальное распределение: • величины уi имеют пуассоновское распределение с параметром аi: В первом случае имитация величины уi сводится к n-кратной имитации эксперимента с двумя исходами: = 1 с вероятностью Р и хij = 0 с вероятностью , что реализуется по уже рассмотренной выше схеме имитации дискретных случайных событий. Тогда: 17 имеет распределение, близкое к биномиальному. Во втором случае необходимо воспользоваться предельной теоремой Пуассона: если Р0 – вероятность наступления события А при одном испытании, то вероятность наступления i события при n независимых испытаниях в случае, если , асимптотически стремится к (9.6) при: Поэтому имитация в этом случае проводится так же, как и в первом, только при условии, что: Чем больше значение n, тем больше распределение чисел уi будет приближаться к закону Пуассона (9.6). Значение л выбирается из условия (9.7) при известном параметре а. Имитация потоков дискретных событий. Под потоком событий, как ранее было отмечено, понимают последовательность однородных событий, происходящих в какие-то, вообще говоря, случайные моменты времени. В системе управления мы имеем дело с различными видами потоков (например, потоки задач, вызовов, справок в информационных системах; потоки отказов и восстановлений; потоки команд управления типа «включить», «отключить» в сложных иерархических системах управления рассредоточенными объектами; потоки требований на занятие определенного ресурса, причем в вычислительных системах – требование на занятие магистрали, внешнего запоминающего устройства, процессора, в системах связи – требование на занятие канала связи и т. д.). При имитационном моделировании поток событий чаще всего воспроизводится через интервалы времени между соседними событиями. Если время между соседними событиями случайно, то в зависимости от вида распределения воспроизведение его в ЭВМ происходит в соответствии с теми способами, которые были рассмотрены при имитации непрерывных случайных величин, причем случайной величиной является длительность 18 интервала между соседними событиями. Например, для простейшего потока событий время между событиями подчинено показательному закону; следовательно, имитация данного потока должна происходить в соответствии с выражением (9.4). Модификация простейшего потока – поток Эрланга – получается в результате имитации простейшего потока и последующего просеивания его событий в соответствии с порядком этого потока. Регулярный поток в системе легко имитируется, так как он задается постоянным временем интервала между событиями. Аналогичным образом могут быть смоделированы и потоки более общего вида через задание соответствующего распределения интервалов между соседними событиями в потоке. Рассмотренные выше способы имитации случайных факторов являются далеко не полным перечнем способов моделирования различных возможных случайных ситуаций, возникающих в системе управления. 19 ЛЕКЦИЯ 5 4. Имитация с помощью метода Монте-Карло (метод статистических испытаний) Метод состоит из четырех этапов. 1. Построение математической модели системы, описывающей зависимость моделируемых характеристик от значений стохастических переменных 2. Установление распределения вероятностей для стохастических переменных. 3. Установление интервала случайных чисел для каждой стохастической переменной, генерация случайных чисел, имитация поведения системы путем многих попыток и получение оценки моделируемой характеристики системы. 4. Оценка точности результата. Дадим развернутое описание этих этапов. 1 ЭТАП Стохастическая имитационная модель (ИМ) некоторой реальной системы может быть представлена как динамическая система, которая под воздействием внешних случайных входных сигналов (входные переменные) изменяет свое состояние (случайные переменные состояния), что, в свою очередь, приводит к изменению выходных сигналов (выходные переменные): Si + 1 = F(Si, Ii + 1), Ui = R (Si), Где F, R – вектор-функции; Ii, Ui., Si - векторы соответственно входных, выходных переменных и переменных состояния системы в тактовый момент моделирования i. ИМ – это экспериментальная модель системы, в которой искусственно воспроизводятся случайности, имеющие место в реальной системе. Она представляет собой совокупность математических соотношений, между входными, выходными переменными и переменными состояния в сочетании с алгоритмической реализацией некоторых зависимостей. В имитационном моделировании динамических процессов существует два основных подхода. Первый заключается в том, что весь период моделирования разбивается на равные промежутки времени (такты моделирования), анализ состояния системы, а также значений выходных переменных производится через одинаковые промежутки времени. При этом возникает проблема выбора «правильной» продолжительности такта. Кроме того, не исключается появление тактов, в которых состояние системы по сравнению с предыдущим не изменилось. При втором подходе продолжительность такта моделирования не фиксируется, а определяется моментом наступления одного из «существенных» событий. Например, при моделировании производственного процесса на предприятии такими событиями могут быть освобождение или начало загрузки станка, поступление на обработку детали, невыход на работу станочника, исчерпание запаса необходимых комплектующих деталей на складе и др. Именно второй подход чаще всего используется на практике и поддерживается современными языками моделирования. 2 ЭТАП Случайные величины, используемые в ИМ, могут быть дискретными или непрерывными. В первом случае необходимо знать их распределения, во втором – плотности распределений. Эти зависимости могут быть определены в результате специальных исследований или заданы в качестве гипотезы. Точность модели, при прочих равных условиях, зависит от того, насколько точно заданы указанные распределения (плотности распределений). 3 ЭТАП Моделирование случайных величин при компьютерных имитационных 20 экспериментах производится с помощью датчика псевдослучайных чисел, предоставляемого любым современным языком программирования. Обычно этот датчик случайных чисел с равномерным распределением на интервале [0,1]. Если известны вероятности наступления событий, то, используя такой датчик, можно отвечать на вопросы типа «Какое из N возможных событий произошло?» или «Какое значение приняла случайная величина?». Предположим, что в ИМ используется случайная переменная Х, принимающая дискретные значения x1, …, xN с вероятностями соответственно p1, …, pN . Получение некоторой реализации этой переменной в модели производится следующим образом. Строится функция распределения случайной величины Х. Указанная функция определяется по формуле F(x) = , в которой суммирование проводится по индексам, для которых xk < x. С помощью датчика случайных чисел получают случайное число и из отрезка [0,1]. Из равномерности распределения получаемых случайных чисел следует, что вероятность получения случайного числа из произвольного интервала, включенного в [0,1], равна длине этого интервала. Поэтому вероятность реализации Х = xk равна вероятности попадания полученного от датчика случайного числа и в произвольный интервал в [0,1] длиной pk. Таким образом, можно утверждать, что если очередное число и датчика удовлетворяет неравенствам 0 < и ≤ p1, то имеет место реализация Х = х1; в случае p1 < и ≤ p1+p2 - реализация Х = х2 и т.д. В общем случае для k = 2, …, N, если то Х = хk. Заметим, что границы указанных неравенств совпадают со значениями построенной выше функцией распределения F(x). Однако удобнее иметь дело не с дробными значениями границ интервалов, в которые попадают случайные значения и, а с их целочисленными значениями, тем более, что с помощью датчиков случайных чисел можно генерировать числа из любого диапазона. Чтобы получить целые значения границ интервалов, достаточно умножить все pk на 10d, где d – целое, минимальное значение которого равно максимальной точности (максимальному числу после знаков десятичной точки) чисел pk , k = 1, …, N. Например, если {pk} = {0,3; 0,153; 0,5; 0,047}, то минимальное значение d равно 3 (все pk нужно умножить на 1000). Таким образом, 10d определяет длину интервала значений рассматриваемой случайной переменной в ИМ. 4 ЭТАП Точность статистических оценок параметров реальной системы зависит от числа наблюдений (объема выборки). Погрешности в оценках обусловлены как статистическим характером самой модели, так и влиянием начальных данных (начального состояния имитационной системы), возможной автокорреляцией последовательных значений некоторого параметра в процессе моделирования. Очевидно, что с увеличением числа испытаний точность моделирования должна увеличиваться. Ввиду того, сто увеличение объема выборки связано с ростом затрат на моделирование, важно уметь определять минимальное число испытаний, необходимое для достижения заданной точности оценки с заданной вероятностью. Широкое распространение получили два метода статистических испытаний. Один из них предполагает проведение достаточно большого числа Т последовательных наблюдений в течение одного прогона модели (одного сеанса имитирования). Другой метод заключается в реализации m независимых прогонов модели, т.е. в m-кратном повторении одного и того же цикла имитирования. При этом если мы хотим получить в 21 сумме Т наблюдений, в течение каждого прогона можно делать по (допустим, что полученное число - целое) наблюдений. Оба подхода приводят примерно к одинаковым результатам. Пусть значения y1, t = 1, …, Т представляют собой результаты Т последовательных измерений значений случайной величины y во время одного и того же сеанса имитирования. Среднее по времени значение ЕТ(y) определяется выражением: Обозначим через и математическое ожидание случайной величины y. Тогда для достаточно большого Т получаем ЕТ(y) ≈ и. Если известна дисперсия D(y) случайной величины y, то дисперсия D(ЕТ[y]) среднего значения ЕТ[y] может быть оценена по формуле: D(ЕТ[y]) = Оценка точности математического ожидания случайной величины, полученного методом Монте-Карло, определяется на основе следующего общего подхода. Предположим, что z – характеристика, которая должна быть определена (вероятность события, математическое ожидание, дисперсия и т.п.), а ζ – ее значение, уточняемое по мере накопления данных, остающееся случайным вследствие ограниченности числа Т проведенных наблюдений. В этих условиях можно говорить о вероятности p (|z - ζ| < ε) по отношения к интересующей нас характеристике. Здесь |z - ζ| представляет собой погрешность в оценке z, а ε – некоторый допустимый ее предел. Из неравенства Чебышева следует p (|z - ζ| < ε) ≥ 1 – Из этого неравенства следует DT(ζ) < (1 - p) ε2, откуда при заданных p и ε и при известной зависимости DT(ζ) можно найти предельно необходимое Т. Известно, что истинная дисперсия выборочного распределения для расчетного среднего обратно пропорциональна суммарному числу наблюдений Т, т.е. DT(ζ) = , где d не зависит от Т. Обычно в начале имитационного процесса необходимое число наблюдений определить не удается, поскольку d неизвестно. Поэтому, как правило, эксперимент проводят в два этапа. На первом этапе выбирается относительно небольшое число испытаний; в результате моделирования определяется величина d. Зато можно рассчитать какое число дополнительных наблюдений нужно провести, чтобы достигнуть необходимой точности. Предельное число наблюдений Т0 определяется формулой 22 Т0 = 23 ЛЕКЦИЯ 6-7 5. Модели принятия управленческий решений Теория принятия решений – это аналитический подход к выбору наилучшей альтернативы или последовательности действий. В зависимости от степени определенности возможных исходов или последствий, с которыми сталкивается лицо, принимающее решения (ЛПР) используют один из трех методов теории принятия решений: 1) в условиях определенности; 2) в условиях неопределенности; 3) в условиях риска. Принятие решений в условиях определенности В случае определенности известно, какое из возможных состояний среды наступит. Если известно, что наступит состояние k, то в качестве наилучшей – следует выбрать альтернативу Аs, для которой: ask = max ik Принятие решений в условиях неопределенности Если имеет место полная неопределенность в отношении вероятности реализации состояний среды (т.е. не возможно даже приблизительно указать вероятности наступления каждого возможного исхода), то обстоятельства, с которыми мы имеем дело при выборе решения можно представить как вид стратегической игры, в которой одним игроком является ЛПР, а вторым – некая объективная действительность, называемая природой. Условия такой игры обычно представляются в виде таблицы, в которой строки А1, …, Аm соответствуют стратегиям ЛПР, а столбцы N1, …, Nn – стратегиям природы. На пересечении строк и столбцов – элемент aij – стоит выигрыш ЛПР, соответствующий данной паре Аi, Nj. N1 N2 … Nn A1 а11 a12 … a1n A2 а21 а22 … а2n … … … … … Am am1 am2 … amn При выборе наилучшего решения из множества решений (А1, …, Аm) обычно используют следующие критерии. 1. Максимаксный критерий или критерий крайнего оптимизма – определяет альтернативу, которая максимизирует наилучший результат для каждой альтернативы, т.е. ЛПР выбирает стратегию с номером i0 , которой соответствует max max aij. i j 2. Максиминный критерий Вальда или критерий крайнего пессимизма – определяет альтернативу, которая максимизирует минимальный результат для каждой альтернативы, т.е. ЛПР выбирает стратегию с номером i0 , которой соответствует max min aij. i j 3. Критерий минимального риска Сэвиджа - выбирается стратегия, при которой величина риска rij в наихудших условиях минимальна, т.е. равна max max rij, где риск i j rij = max aij - aij i 4. Критерий оптимизма-пессимизма Гурвица – рекомендует при выборе решения не руководствоваться ни крайним пессимизмом, ни крайним оптимизмом. Согласно этому критерию стратегия выбирается из условия: 24 H = max { k min aij + (1 - k) max aij } i j j Значение коэффициента пессимизма k выбирается между нулем и единицей. При k = 1 критерий Гурвица превращается в критерий Вальда. 5. Критерий безразличия. В условиях полной неопределенности предполагается что все возможные состояния среды (природы) равновероятны. Этот критерий выявляет альтернативу с максимальным средним результатом, т.е. max i aij Принятие решений в условиях риска Говорят, что решение принимается в условиях риска, если определена таблица решений и для каждого состояния среды известна вероятность его наступления. Один из наиболее распространенных критериев выбора альтернативы в условиях риска – максимизация ожидаемой стоимостной оценки альтернативы EMV. Для альтернативы Аi ожидаемая стоимостная оценка EMV (Аi) рассчитывается по формуле: EMV (Аi) = EMVi = где aij – выигрыш ЛПР при выборе альтернативы i в условиях реализации состояния среды j, j=1, …, n; pj – вероятность наступления состояния среды j. Ожидаемая ценность достоверной информации Под ожидаемой ценностью достоверной информации (EVPI) понимается разность между выигрышем в условиях определенности и выигрышем в условиях риска. Для расчета ожидаемой ценности достоверной информации может быть использована следующая формула: max aij) pj – max EVPI = i i 25 Оценка риска Наряду с критерием максимизации с ожидаемой стоимостной оценки используется критерий минимизации риска. Для альтернативы Ai риск R(Ai ) может быть определен по формуле: R(Ai ) = aij – EMVi)2 pj Таким образом, в качестве оценки риска может рассматриваться величина дисперсии эффекта, получаемого в результате выбора альтернативы. По критерию минимизации риска выбирается альтернатива, имеющая минимальную величину дисперсии. Таким образом, задача выбора наилучшей альтернативы может рассматриваться как двухкритериальная. Дерево решений Таблицу решений удобно использовать при анализе задач, имеющих единственное множество альтернативных решений и единственное множество состояний среды. Однако многие задачи предполагают необходимость принятия нескольких последовательных решений, для каждого из которых определено множество состояний среды. Если имеется два или более последовательных решения, то более предпочтительным является подход, основанный на построении дерева решений. Дерево решений – это графическое изображение процесса решений, в котором отражены альтернативные решения, состояния среды, соответствующие вероятности и выигрыши для любых комбинаций альтернатив и состояний среды. Анализ задач с помощью дерева решений включает пять этапов: 1) формулировка задачи; 2) построение или изображение дерева задачи; 3) оценка вероятностей состояний среды; 4) установление выигрышей для каждой возможной комбинации альтернатив и состояний среды; 5) решение задачи путем расчета ожидаемой стоимостной ценности (EMV) для каждой вершины состояния среды. 26 ЛЕКЦИЯ 8-9 Сетевые модели. Традиционные линейные графики горизонтальные и циклограммы, вообще говоря, не дают указаний о нахождении способов наилучшего использования ресурсов. Сетевые модели позволяют найти оптимальные или близкие к оптимальным последовательности работ и использования ресурсов. Опираясь на современную вычислительную технику, сетевое моделирование, наряду с эффективным использованием времени и других ресурсов, обеспечивает также возможность четкого оперативного руководства при реализации весьма сложных строительных программ. Сетевая модель, помимо графической интерпретации, может быть представлена, например, в виде таблицы или массива исходных данных для ЭВМ. Термин сетевая модель (сетевой график, логическая сеть) основывается на понятии ориентированного графа. Ориентированным графом называется совокупность множества точек и множества ориентированных дуг, соединяющих эти точки. Область графа, ограниченная несколькими точками (вершинами), некоторые из них не имеют входящих или выходящих дуг, носит название сети. Сеть, моделирующая определенный строительный процесс (программу), называется сетевой моделью данного процесса (программы). При этом ориентация дуг графа осуществляется в соответствии с логикой (технологией) этого процесса. Упорядоченная группа дуг, в которой каждая вершина (исключая первую и последнюю), является общей точкой для двух дуг в группе, называется путем. Один или несколько из множества путей, который на строительном графике имеет наибольшую продолжительность, называется критическим. Переоценка времени реализации всего проекта связана с переоценкой времени выполнения работ, лежащих на этом пути. Критический путь находится с помощью ЭВМ и различных математических методов (например, можно использовать динамическое программирование). Сетевые модели ознаменовали собой значительный шаг вперед в области моделирования и календарного планирования дискретных технологических процессов. В отличие от линейных, сетевые модели могут описать взаимосвязи между работами и определенный класс организационно-технологических схем строительных процессов. Математические методы сетевого планирования достаточно хорошо разработаны. Имеются многочисленные программы анализа сетевых моделей и решения задач календарного планирования на их основе. На базе сетевых моделей созданы так называемые системы сетевого планирования и управления, которые широко применяются в различных отраслях экономики России и 27 особенно в строительстве. Системы сетевого планирования и управления, являясь предшественником автоматизированных систем управления строительством, прочно вошли в них в виде одной из основных частей. Сетевые методы нельзя отнести к оптимизационным, хотя и существуют способы нахождения на их основе наилучших вариантов. В большей степени они связаны с анализом всего комплекса работ, осуществляемых для реализации определенной программы. При этом соблюдается основной принцип использования сетевых методов выделение ведущего звена (критического пути), определяющего выполнение всей программы. В соответствии с этим принципом во всей совокупности работ выделяют те, которые в случае невыполнения их в срок, задержат, например, ввод в строй какого-либо объекта. Значительным достижением, в настоящее время, является разработка способов построения стохастических сетевых моделей, в которых анализируемые параметры имеют вероятностный характер. Это сразу же поставило сетевое моделирование в ряд наиболее эффективных способов нахождения тех или иных рациональных методов планирования и поиска управленческих решений. Некоторые успехи достигнуты и в области оптимизации параметров сетевых графиков. Это стало возможным благодаря использованию методов теории графов. Построение сетевого графика с учетом последовательности выполняемых работ Сетевой график представляет собой логико-математическую модель управляемого объекта – определенного комплекса работ. Он отражает логическую последовательность, взаимосвязь и длительность всех работ. В нем основными элементами являются: - работы – любые процессы и действия, приводящие к достижении» определенного результата (событий). Кроме работ, требующих затрат времени, существуют так называемые фиктивные работы (зависимости); - события (кроме исходного) – результаты проделанных работ. В сетевом графике различаем следующие виды событий: - начальное событие (i) за которым начинается данная работа или работы; - конечное событие (j) – которому непосредственно предшествует данная работа (или работы); - исходное событие (J) – первоначальное событие, не имеющее предшествующих событий и отражающее начало выполнения всего комплекса работ, включенных в данную сеть; - завершающее событие (С) – это событие, не имеющее последующих событий и отражающее конечную цель комплекса работ, включенных в данную модель (план). Событие изображается кружком с указанием внутри его номера. Работа изображается стрелкой . Принято выдерживать ориентацию стрелок так чтобы исходное событие располагалось слева, а завершающее событие справа. Фиктивные работы изображаются пунктирными стрелками . 28 Любая последовательность работ, в которой конечное событие одной работы совпадает с начальным событием следующей за ней работы, называется путем. Различаем предшествующие и последующие данному событию пути и полный путь – от исходного до завершающего события. Путь между исходным и завершающим событиями, имеющий наибольшую продолжительность называется критическим Ткр . При построения сетевого графика подготовки производства новых изделий необходимо соблюдать следующие условия: - каждое событие имеет свой единственный номер и каждая работа имеет свой единственный шифр (i-j) или код; - в сети не должно быть замкнутых контуров (циклов); - сеть может иметь только одно начальное и одно завершающее событие, "тупиковых" и "хвостовых"' событий не должно быть. - желательно избегать перекрещивания работ и ограничить частое использование фиктивной работы. Для построения сетевого графика из перечня подлежащих выполнению работ, выделяют зависимые (последовательно-выполняемые) и независимые (позволяющие выполнять их параллельно). Номер работы или ее название записывается над стрелкой. После проверки на отсутствие замкнутых контуров, "тупиковых" и "хвостовых'" событий осуществляют нумерацию событий (см.табл.1). Нумеровать события можно произвольно, но для решения задачи компьютерным способом нужно установить такую нумерацию событий, чтобы любой путь шел через события с возрастающим номером. Расчет временных параметров первичного сетевого графики (плана). К временным параметрам сетевого трафика относятся: - продолжительность выполнения "полных путей''; - сроки свершении каждого события, их резервы; - сроки или даты выполнения каждой работы, и резервы. Для наглядности, простоты и удобства дальнейшей работы с сетевым графиком (СГ) воспользуемся условным сетевым графиком (см.рис.1). В нем над стрелкой (работами) проставляется ожидаемая продолжительность работ (Тож), в верхнем секторе окружностей, изображающих события записывается номер события (N), в левом и правом секторах соответственно ранние (Трi) и поздние (Тпi,) сроки свершения событий, в нижнем секторе полный резерв (Rпi) времени события. N Трi Тпi Rпi 6 8 30 2 5 1 0 0 0 10 10 5 5 30 0 5 10 5 3 10 15 10 4 7 15 15 40 0 0 8 40 0 10 5 5 25 35 10 29 Рисунок 1– Первичный сетевой график. Рассчитаем длительности полных путей и найдем критический путь (Т кр) = TL (J – C)max, TL (J–C)i = 1– 3– 4 – 6 – 7 = 10 + 5 + 15+ 10 = 40 – Tкр. Таким образом, за критический путь принимаем наибольший из всех полных путей, т.е. Ткр = 40. Отметим его на сетевом графике двойными стрелками. 30