![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Очертив цели и задачи исследования и определив границы системы, мы далее сводим реальную систему к логической блоксхеме или к статической модели. Мы хотим построить такую модель реальной системы, которая, с одной стороны, не будет столь упрощена, что станет тривиальной, а с другой - не будет столь детализирована, что станет громоздкой в обращении и чрезмерно дорогой. Опасность, которая подстерегает нас при построении логической блок-схемы реально действующей системы, заключается в том, что модель имеет тенденцию обрастать деталями и элементами, которые порой ничего не вносят в понимание данной задачи.
Поэтому почти всегда наблюдается тенденция имитировать избыточное число деталей. Во избежание такого положения следует строить модель, ориентированную на решение вопросов, на которые требуется найти ответы, а не имитировать реальную систему во всех подробностях. Закон Парето гласит, что в каждой группе или совокупности существует жизненно важное меньшинство и тривиальное большинство. Ничего действительно важного не происходит, пока не затронуто жизненно важное меньшинство. Системные аналитики слишком часто стремились перенести все усугубленные деталями сложности реальных ситуаций в модель, надеясь, что ЭВМ решит их проблемы. Такой подход неудовлетворителен не только потому, что возрастают трудности программирования модели и стоимость удлиняющихся экспериментальных прогонов, но и потому, что действительно важные аспекты и взаимосвязи могут потонуть в массе тривиальных деталей. Вот почему модель должна отображать только те аспекты системы, которые соответствуют задачам исследования.
Во многих исследованиях моделирование может на этом закончиться. В удивительно большом числе случаев в результате точного и последовательного описания ситуаций становятся очевидными дефекты и "узкие" места системы, так что необходимость продолжать исследования с помощью имитационных методов отпадает.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N 16
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
ФОРМУЛИРОВАНИЕ МОДЕЛИ
Каждое исследование охватывает и сбор данных, под которым обычно понимают получение каких-то "численных" характеристик. Но это только одна сторона сбора данных. Системного аналитика должны интересовать входные и выходные данные изучаемой системы, а также информация о различных компонентах системы, взаимозависимостях и соотношениях между ними. Поэтому он заинтересован в "сборе как количественных, так и качественных данных; он должен решить, какие из них необходимы, насколько они соответствуют поставленной задаче и как собрать всю эту информацию. Учебники обычно сообщают студенту нужную для решения задачи информацию без ссылок на то, как она была собрана и оценена. Но когда такой студент впервые сталкивается с реальной задачей и при этом сам должен определить, какие данные ему нужны и как их отобрать, то голова у него идет кругом.
Создавая стохастическую имитационную модель, всегда приходится решать, следует ли в модели использовать имеющиеся эмпирические данные непосредственно или целесообразно использовать теоретико-вероятностные или частотные распределения. Этот выбор имеет фундаментальное значение по трем причинам. Во-первых, использование необработанных эмпирических данных означает, что, как бы вы ни старались, вы можете имитировать только прошлое. Использование данных за один год отобразит работу системы за этот год и не обязательно скажет нам что-либо об ожидаемых особенностях работы системы в будущем. При этом возможными будут считаться только те события, которые уже происходили. Одно дело предполагать, что данное распределение в своей основной форме будет неизменным во времени, и совсем иное дело считать, что характерные особенности данного года будут всегда повторяться. Во-вторых, в общем случае применение теоретических частотных или вероятностных распределений с учетом требований к машинному времени и памяти более эффективно, чем использование табличных данных для получения случайных вариационных рядов, необходимых в работе с моделью. В-третьих, крайне желательно и даже, пожалуй, обязательно, чтобы аналитик-разработчик модели определил ее чувствительность к изменению вида используемых вероятностных распределений и значений параметров. Иными словами, крайне важны испытания модели на чувствительность конечных результатов к изменению исходных данных. Таким образом, решения относительно пригодности данных для использования, их достоверности, формы представления, степени соответствия теоретическим распределениям и прошлым результатам функционирования системы - все это в сильной степени влияет на успех эксперимента по имитационному моделированию и не является плодом чисто теоретических умозаключений.
В конечном счете перед разработчиком модели возникает проблема ее описания на языке, приемлемом для используемой ЭВМ. Быстрый переход к машинному моделированию привел к развитию большого числа специализированных языков программирования, предназначенных для этой цели. На практике, однако, каждый из большинства предложенных языков ориентирован только на ограниченный набор машин. Имитационные модели обычно имеют очень сложную логическую структуру, характеризующуюся множеством взаимосвязей между элементами системы, причем многие из этих взаимосвязей претерпевают в ходе выполнения программы динамические изменения. Эта ситуация побудила исследователей разработать языки программирования для облегчения проблемы трансляции. Поэтому языки имитационного моделирования типа GPSS, Симскрипт, Симула, Динамо и им подобные являются языками более высокого уровня, чем универсальные языки типа Фортран, Алгол и Бейсик. Требуемая модель может быть описана с помощью любого универсального языка, тем не менее какойлибо из специальных языков имитационного моделирования Может обладать теми или иными преимуществами при определенных характеристиках модели.
Основные отличия языков имитационного моделирования друг от Друга определяются: 1) способом организации учета времени и происходящих действий; 2) правилами присвоения имен структурным элементам; 3) способом проверки условий, при которых реализуются действия; 4) видом статистических испытаний, которые возможны при наличии данных, и 5) степенью трудности изменения структуры модели.
Хотя некоторые из специальных языков имитационного моделирования обладают очень нужными и полезными свойствами, выбор того или иного языка, как это ни печально, чаще всего определяется типом имеющейся машины и теми языками, которые известны исследователю. И если существует выбор, то правильность его, по-видимому, зависит от того, в какой степени исследователь владеет методами имитационного моделирования. В некоторых случаях простой язык, который легко понять и изучить, может оказаться более ценным, чем любой из более <богатых> языков, пользоваться которым труднее вследствие присущих ему особенностей.
ПРОВЕРКА МОДЕЛИ
Проверка модели представляет собой процесс, в ходе которого достигается приемлемый уровень уверенности пользователя в том, что любой вывод о поведении системы, сделанный на основе моделирования, будет правильным. Невозможно доказать, что та или иная имитация является правильным или <правдивым> отображением реальной системы. К счастью, нас редко занимает проблема доказательства <правдивости> модели. Вместо этого нас интересует главным образом справедливость тех более глубоких умозаключений, к которым мы пришли или к которым придем на основании имитационного моделирования. Таким образом, нас волнует обычно не справедливость самой структуры модели, а ее функциональная полезность.
Проверка модели-этап чрезвычайно важный, поскольку имитационные модели вызывают впечатление реальности, и как разработчики моделей, так и их пользователи легко проникаются к ним доверием. К сожалению, для случайного наблюдателя, а иногда и для специалиста, искушенного в вопросах моделирования, бывают скрыты исходные предположения, на основе которых строилась данная модель. Поэтому проверка, выполненная без. должной тщательности, может привести к катастрофическим последствиям.
Такого процесса, как <испытание> правильности модели, не существует. Вместо этого экспериментатор в ходе разработки должен провести серию проверок, с тем чтобы укрепить свое доверие к модели. Для этого могут быть использованы проверки трех видов. Применяя первую из них, мы должны убедиться, что модель верна, так сказать, в первом приближении. Например, следует поставить такой вопрос: не будет ли модель давать абсурдные ответы, если ее параметры будут принимать предельные значения? Мы должны также убедиться в том, что результаты, которые мы получаем, по-видимому, имеют смысл. Последнее может быть выполнено для моделей существующих систем методом, предложенным Тьюрингом. Он состоит в том, что людей, непосредственно связанных с работой реальной системы, просят сравнить результаты, полученные имитирующим устройством, с данными, получаемыми на выходе реальной системы. Для того чтобы такая проверка была несколько более строгой в научном отношении, мы можем предложить экспертам указать на различия между несколькими выборками имитированных данных и аналогичными выборками, полученными в реальной системе.
Второй метод оценки адекватности модели состоит в проверке исходных предположений, и третий - в проверке преобразований информации от входа к выходу. Последние два метода могут привести к необходимости использовать статистические выборки для оценки средних значений и дисперсий, дисперсионный анализ, регрессионный анализ, факторный анализ, спектральный анализ, автокорреляцию, метод проверки с помощью критерия <хи-квадрат> и непараметрические проверки. Поскольку каждый из этих статистических методов основан на некоторых допущениях, то при использовании каждого из них возникают вопросы, связанные с оценкой адекватности. Некоторые статистические испытания требуют меньшего количества допущений, чем другие, но в общем эффективность проверки убывает по мере того, как исходные ограничения ослабляются.
Способы оценки имитационной модели делят на три категории:
1) верификацию, используя которую экспериментатор хочет убедиться, что модель ведет себя так, как было задумано; 2) оценку адекватности - проверку соответствия между поведением модели и поведением реальной системы и 3) проблемный анализ-формулирование статистически значимых выводов на основе данных, полученных путем машинного моделирования. Для осуществления этой оценки часто бывает необходимо предпринять целый ряд действий, начиная от поэтапного испытания модели на настольном калькуляторе (это делается перед компоновкой машинной программы из этих этапов) до проведения полевых испытаний. Как бы то ни было, сами эти испытания связаны с трудностями, присущими эмпирическому исследованию; к числу таких трудностей относятся следующие ситуации: 1) высокая стоимость получения данных вынуждает пользоваться небольшими выборками; 2) данные чрезмерно разделены На различные группы и 3) используются данные, достоверность которых сомнительна.
Таким образом, вопрос оценки адекватности модели имеет две стороны: приобретение уверенности в том, что модель ведет себя таким же образом, как и реальная система; установление того, что выводы, полученные из экспериментов с моделью, справедливы и корректны. Оба эти момента в совокупности сводятся к обычной задаче нахождения равновесия между стоимостью каждого действия, связанного с оценкой адекватности модели, ценностью получаемой все в больших количествах информации и последствиями ошибочных заключений.
СТРАТЕГИЧЕСКОЕ И ТАКТИЧЕСКОЕ ПЛАНИРОВАНИЕ
Мы определили имитационное моделирование как экспериментирование с помощью модели с целью получения информации о реально действующей системе. Отсюда следует, что мы должны позаботиться о стратегическом планировании, т. е. о том, как планировать эксперимент, который дает желаемую информацию. Планирование экспериментов широко применяется в биологических и физических науках, а теперь и в моделировании систем. Цель использования планируемых экспериментов двоякая: 1) они обеспечивают экономию с точки зрения уменьшения числа требуемых экспериментальных проверок и 2) они задают структурную основу обучения самого исследователя.
Цель любого экспериментального исследования, включая моделирование, заключается в том, чтобы больше узнать об изучаемой системе. Эксперимент представляет собой процесс наблюдения и анализа, который "позволяет получить информацию, необходимую для принятия решений. План эксперимента дает возможность выбрать метод сбора исходной информации, содержащей необходимые сведения о явлении или системе, которые позволяют сделать важные выводы о поведении изучаемого объекта. В экспериментальном исследовании можно выделить два типа задач: 1) определение сочетания параметров, которое оптимизирует переменную отклика, и 2) объяснение соотношения между переменной отклика и контролируемыми в системе факторами. Для обеих этих задач разработано и доступно для использования множество планов постановки экспериментов.
Далее, чтобы обучение было успешным, требуется полное использование накопленных ранее знаний, что в свою очередь необходимо при выдвижении возможных гипотез, подлежащих проверке, и стратегий, подлежащих оценке. Хороший план эксперимента позволяет разработать стратегию сбора исходных данных, полезных для такого синтеза и выдвижения гипотез. Существующие в настоящее время методы планирования экспериментов и аналитические методы очень хорошо удовлетворяют нашим потребностям. Математические описания, сопутствующие планированию эксперимента, предоставляют нам много возможных альтернатив. Методы извлечения информации, содержащейся в планах эксперимента, хорошо описаны и обычно легко осуществимы. Таким образом, планирование эксперимента может в значительной мере облегчить синтез новых сведений и выдвижение новых идей и в. то же время уменьшить затраты времени, усилий и денежных средств.
Тактическое планирование, вообще говоря, связано с вопросами эффективности и определением способов проведения испытаний, намеченных планом эксперимента. Тактическое планирование прежде всего связано с решением задач двух типов: 1) определением начальных условий в той мере, в какой они влияют на достижение установившегося режима, и 2) возможно большим уменьшением дисперсии решений при одновременном сокращении необходимых размеров выборки.
Первая задача (т. е. определение начальных условий и их влияния на достижение установившегося режима) возникает вследствие искусственного характера функционирования модели. В отличие от реального объекта, который представлен моделью, сама имитационная модель работает эпизодически. Это значит, что экспериментатор запускает модель, делает свои наблюдения и <останавливает> ее до следующего прогона. Всякий раз, когда начинается прогон, модели требуется определенное.время для достижения условий равновесия, которые соответствуют условиям функционирования реальной системы. Таким образом, начальный период работы модели искажается из-за действия начальных условий запуска модели. Для решения задачи, вопервых, необходимо исключить из рассмотрения данные, относящиеся к некоторой части начального периода, и, вовторых, следует выбирать такие начальные условия, которые уменьшают время, необходимое для достижения установившегося режима. Разумно выбранные начальные условия могут уменьшить, но не полностью свести к нулю время переходного процесса. Поэтому дополнительно необходимо определить время начала измерений.
Вторая задача тактического планирования связана с необходимостью оценить точность результатов эксперимента и степень надежности заключений или выводов. Это немедленно ставит нас лицом к лицу с такими вопросами, как изменяемость условий, размер выборки и повторяемость результатов. В любом эксперименте из ограниченного объема полученных данных мы стремимся извлечь как можно больше информации. Для уменьшения разброса характеристик было предложено несколько методов (в основном в связи с процедурами взятия выборок), которые могут существенно снизить требуемый размер выборки и число повторений эксперимента. Использование очень больших выборок может в конечном счете решить все тактические проблемы имитационного моделирования, но обычно ценой больших затрат машинного времени и времени, необходимого для последующего анализа результатов. Чем сложнее имитационная модель, тем более важен этап тактического планирования, выполняемого перед проведением экспериментов.
ЭКСПЕРИМЕНТИРОВАНИЕ И АНАЛИЗ ЧУВСТВИТЕЛЬНОСТИ
После завершения этапов разработки и планирования мы наконец осуществляем прогон модели с целью получения желаемой информации. На этом этапе мы начинаем находить недостатки и просчеты в нашем планировании и повторяем наши усилия до тех пор, пока не достигнем первоначально поставленных целей.
Одним из наиболее важных понятий в имитационном моделировании является анализ чувствительности. Под ним мы понимаем определение чувствительности наших окончательных результатов к изменению используемых значений параметров. Анализ чувствительности обычно заключается в том, что величины параметров систематически варьируются в некоторых представляющих интерес пределах и при этом наблюдается влияние этих вариаций на характеристики модели. Почти в любой имитационной модели многие переменные рождаются на основании весьма сомнительных данных. Во многих случаях их значения могут быть определены только на основе предположений опытного персонала или с помощью весьма поверхностного анализа некоторого минимального объема данных. Поэтому чрезвычайно важно определить степень чувствительности результатов относительно выбранных для исследования величин. Если при незначительных изменениях величин некоторых параметров результаты меняются очень сильно, это может служить основанием для затраты большего количества времени и средств с целью получения более точных оценок. В то же время, если конечные результаты при изменениях величин параметров в широких пределах не изменяются, то дальнейшее экспериментирование в этом направлении неоправданно и не является необходимым.
Имитационное моделирование идеально подходит для анализа чувствительности благодаря тому, что экспериментатор здесь может успешно контролировать весь ход эксперимента. В отличие от экспериментирования с реальными системами пользователь модели, располагая возможностями абсолютного контроля над своей моделью, может варьировать по желанию любой параметр и судить о поведении модели по наблюдаемым результатам.
РЕАЛИЗАЦИЯ ЗАМЫСЛА И ДОКУМЕНТИРОВАНИЕ
Последние два элемента, которые должны быть включены в любое задание по моделированию, это реализация замысла и документирование. Никакое задание на моделирование не может считаться успешно завершенным до тех пор, пока оно не будет принято, понято и использовано. Наибольшие неудачи, постигавшие специалистов, занимающихся проблемами управления, были связаны с восприятием и использованием их работ. Суммарное время разработки модели разбивается примерно следующим образом: 25% времени - формулирование задачи, 25% - сбор и анализ статистических данных, 40% - разработка машинной модели и 10% - внедрение. Главной ошибкой проектных заданий в области исследования операций и теории управления обычно является неправильное понимание результатов моделирования пользователями, приводящее к недостаточной степени реализации замысла. Еще трудней понять, почему на период реализации выделяется столь малый процент времени, если учесть, что уточнение модели, тренировка пользователя, регулировка модели в соответствии с изменяющимися условиями и проверка правильности полученных результатов (что может быть выполнено только на этапе реализации) являются, пожалуй, наиболее трудными проблемами, с которыми сталкивается исследователь. По личному опыту автора, более реалистичное распределение времени проектирования модели представляется следующим образом: 25% на постановку задачи, 20% на сбор и анализ данных, 30% на разработку модели и 25%_на.реализацию.
Документирование близко связано с реализацией. Тщательное и полное документирование процессов разработки и экспериментирования с моделью может значительно увеличить срок ее жизни и вероятность успешной реализации. Хорошо организованное документирование облегчает модификацию модели и обеспечивает возможность ее использования, если даже служб, занимавшихся разработкой модели, больше не существует. Кроме этого, тщательная документация может помочь разработчику модели учиться на своих ошибках и, быть может, послужит источником для создания подпрограмм, которые будут снова использованы в будущих проектах.
Дата публикования: 2014-12-08; Прочитано: 434 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!