Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Программное обеспечение имитационного моделирования

РефератПомощь в написанииУзнать стоимостьмоей работы

В настоящее время разработчиков, желающих приобрести программные средства имитационного моделирования, интересует еще вопрос оптимизации. Предположим, что существует некоторое число искомых переменных (входных факторов), каждая из которых имеет свой ряд возможных значений. (Для искомых переменных также могут задаваться линейные ограничения.) Кроме того, существует целевая функция, которая должна… Читать ещё >

Программное обеспечение имитационного моделирования (реферат, курсовая, диплом, контрольная)

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

Использование пакета имитационного моделирования в сравнении с применением универсального языка программирования дает несколько преимуществ:

  • — пакеты имитационного моделирования автоматически предоставляют большинство функциональных возможностей, требующихся для создания имитационной модели, что позволяет существенно сократить время, необходимое для программирования, и общую стоимость проекта;
  • — пакеты имитационного моделирования обеспечивают естественную среду для создания имитационных моделей. Их основные моделирующие конструкции больше подходят для имитационного моделирования, чем соответствующие конструкции в универсальных языках программирования, таких как С;
  • — имитационные модели, которые созданы с помощью пакетов моделирования, как правило, проще модифицировать и использовать;
  • — пакеты имитационного моделирования обеспечивают более совершенные механизмы обнаружения ошибок, поскольку они выполняют автоматический поиск ошибок многих типов. И так как модель не требует большого числа структурных компонентов, уменьшаются шансы совершить какую-либо ошибку. (В новых версиях пакетов имитационного моделирования пользователю, вероятно, будет трудно искать ошибки, а само программное обеспечение может применяться неправильно, поскольку иногда к нему недостает документации).

Тем не менее, некоторые имитационные модели (особенно относящиеся к оборонной сфере) по-прежнему создаются с помощью универсальных языков моделирования, которые тоже обладают некоторыми преимуществами:

  • — языки программирования знает большинство разработчиков, чего нельзя сказать о пакетах имитационного моделирования;
  • — скорость выполнения прогона имитационных моделей, написанных на языках С или C++, обычно выше, чем моделей, созданных с помощью пакетов имитационного моделирования (это связано с тем, что такие пакеты часто разрабатываются для самых разнообразных систем посредством одного набора моделирующих конструкций, тогда как программа на языке С может быть более удачно написана под конкретную систему). Однако с появлением недорогих быстродействующих персональных компьютеров это преимущество несколько утратило свою актуальность;
  • — при программировании универсальные языки обеспечивают большую гибкость, чем пакеты имитационного моделирования;
  • — стоимость применяемого программного обеспечения обычно ниже (хотя общая стоимость проекта не всегда).

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

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

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

Таким образом, существует два типа пакетов имитационного моделирования. Универсальные пакеты имитационного моделирования предназначены для различных целей, но они могут иметь специальные функции для решения одного конкретного вида задач (например, моделирования производственных систем, систем связи или модернизации технологий производства). Предметно-ориентированные пакеты имитационного моделирования служат для решения специальных задач, таких как моделирование работы производственных систем, медицинских учреждений, центров выполнения заказов.

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

  • — основные характеристики;
  • — совместимое оборудование и программное обеспечение;
  • — анимация;
  • — средства получения и обработки статистических данных;
  • — услуги, предоставляемые заказчикам и документация;
  • — отчеты с выходными данными и графиками.

Основные характеристики Самым важным свойством, которым должен обладать программный продукт имитационного моделирования, по нашему мнению, является гибкость при моделировании, то есть возможность моделировать системы с различным уровнем сложности технологических операций. Учитывая то, что не существует двух полностью идентичных систем, пакет имитационного моделирования, где применяется фиксированное число моделирующих конструкций и нет возможностей программирования, обязательно окажется неподходящим для некоторых систем, встречающихся на практике. В идеале должна существовать возможность моделировать любую систему, используя исключительно конструкции программного пакета и не прибегая к программам, написанным на каком-либо языке, например на С:

  • — возможность определять и изменять атрибуты объектов и глобальных переменных, а также применять как тех, так и других в логике решений (например, конструкции if… then…else).
  • — возможность использовать математические выражения и функции (логарифмы, возведение в степень и т. п.).
  • — возможность создавать новые моделирующие конструкции и изменять уже существующие, а также применять новые и измененные моделирующие конструкции в данной и будущих моделях.

Следующим важным свойством средств имитационного моделирования является простота в применении (и изучении), поэтому многие современные пакеты моделирования снабжены графическим интерфейсом пользователя. В такой программе должны быть моделирующие конструктивные элементы (скажем, пиктограммы или блоки), не слишком «примитивные», но и не слишком «изощренные». В первом случае понадобится очень много конструктивных элементов для моделирования даже достаточно простой ситуации; во втором — диалоговое окно каждого конструктивного элемента будет содержать чересчур большое число параметров, необходимых для обеспечения соответствующей гибкости программы. Управлять такими параметрами можно с помощью вкладок в диалоговых окнах.

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

Программное обеспечение должно быть снабжено хорошими средствами отладки, такими как интерактивный отладчик. Мощный отладчик позволяет:

  • — отслеживать отдельные объекты по всей модели, чтобы убедиться в правильности их обработки;
  • — проверять состояние модели при каждом возникновении определенного события (например, при поломке станка);
  • — устанавливать значения определенных атрибутов или переменных, для того чтобы заставить объект продвинуться до конца по логическому пути, который встречается с малой вероятностью.

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

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

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

  • — выполнении нового или существующего сценариев для модели, созданной внутренним или внешним консультантом;
  • — выборе средств и методов реализации для поставки оборудования или для проектирования систем;
  • — обучении.

В настоящее время большой интерес вызывает возможность импортировать данные из других приложений или экспортировать данные в другие приложения (например, таблицы Excel или базы данных).

Желательно, чтобы пакет имитационного моделирования мог автоматически моделировать различные сценарии, которые повторяются с изменением какого — либо параметра моделирования (например, числа станков на производственном рабочем месте). Кроме того, должна существовать возможность построения графика для какого-либо рабочего показателя (например, среднего времени пребывания в производственной системе) в виде функции изменяемого параметра.

В некоторых случаях при дискретно-событийном моделировании (например, в системах, связанных с литьем стали) могут понадобиться определенные средства, используемые при непрерывном моделировании. Такое моделирование называется комбинированным непрерывно-дискретным.

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

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

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

Наконец, при покупке программных средств имитационного моделирования большое значение имеет их стоимость. На сегодняшний день стоимость различных программных средств имитационного моделирования колеблется от 500 до 50 000 долларов США. Однако есть и другие расходы, на которые следует обратить внимание, а именно: затраты на эксплуатацию и обслуживание, затраты на модернизацию и стоимость любого дополнительного оборудования и программного обеспечения, которое может понадобиться.

Оборудование и программное обеспечение При выборе программного средства имитационного моделирования необходимо обращать внимание на то, для какой компьютерной платформы оно предназначено. Почти все программные средства работают на персональных компьютерах с системой Windows, некоторые работают на рабочих станциях UNIX и компьютерах Apple. Если пакет может работать на разных платформах, тогда он должен обеспечивать совместимость с другими платформами. Кроме того, следует также учесть необходимый объем оперативной памяти. Нужно также помнить о том, какие операционные системы поддерживает пакет.

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

Анимацию обычно используют:

  • — для представления сути имитационной модели (или самого моделирования) руководителю или другим сотрудникам, которые не ознакомлены с техническими подробностями ее работы (или ранее не интересовались ими);
  • — с целью отладки моделирующей компьютерной программы;
  • — если надо показать, что имитационная модель не правильна;
  • — чтобы предложить для системы более совершенный технологический процесс (не все можно определить только по численным результатам моделирования);
  • — в обучении обслуживающего персонала;
  • — при обмене информацией между участниками проекта.

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

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

Некоторые средства имитационного моделирования с совместной анимацией позволяют остановить моделирование «на ходу» при просмотре анимации, внести изменения в параметры моделирования (например, число станков на рабочем месте), а затем возобновить моделирование. Однако использование такой возможности может оказаться опасным для статистических данных, если состояние системы и статистические счетчики не будут переустановлены.

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

Часто может быть полезным вывод на экран динамической графики и статических данных по мере выполнения моделирования. В качестве динамической графики обычно используются часы, круговая шкала, индикатор уровня (отображающий, например, очередь) и динамически обновляемые гистограммы и графики временной зависимости. Как пример графика временной зависимости можно привести график числа заявок в некоторой очереди, обновляемый по мере продвижения модельного времени.

Статистические возможности Если имитационная модель не снабжена надежными средствами статистического анализа, невозможно будет получать достоверные данные о работе моделируемой системы. Прежде всего в программном средстве необходим хороший генератор случайных чисел, то есть механизм для генерирования независимых значений, равномерно распределенных в интервале [0, 1]. Следует иметь в виду, что не все генераторы случайных чисел, которыми снабжены компьютеры или программное обеспечение, обладают удовлетворительными статистическими характеристиками.

Генератор должен поддерживать по меньшей мере 100 потоков (а желательно и больше), которые можно назначать для различных случайных факторов, имеющихся в имитационной модели, в частности для интервалов времени между поступлениями или времени обслуживания. Это позволит эффективно сравнивать проекты разных систем с помощью полученной статистики.

В тех случаях, когда для разных потоков заданы начальные значения, которые используются по умолчанию, программное обеспечение имитационного моделирования должно давать одинаковые результаты при многократном моделировании. Нежелательной является такая ситуация, когда начальные значения зависят от внутренних часов компьютера. У пользователя всегда должна быть возможность, если есть такая необходимость, задавать начальные значения для всех потоков самостоятельно.

В целом каждый фактор случайности системы должен быть представлен в имитационной модели распределением вероятностей (см. главу 6), а не только средним значением. Если можно подобрать стандартное теоретическое распределение, позволяющее оптимально представить некоторый фактор случайности, то такое распределение следует использовать в модели системы. Программное обеспечение должно поддерживать следующие непрерывные распределения: экспоненциальное, Вейбулла, логарифмически нормальное, нормальное, равномерное и треугольное, а также гаммаи бета-распределение. Треугольное и бета-распределение, как правило, используются в качестве модели фактора случайности, когда не доступны никакие системные данные. Надо учитывать также, что очень немногие входные случайные переменные при моделировании реальных систем имеют нормальное распределение. Кроме непрерывных должны быть доступны еще и дискретные распределения: биномиальное, геометрическое и отрицательное биномиальное, а также распределение Пуассона и дискретно-равномерное.

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

Программа должна содержать команду, позволяющую выполнять независимые повторения (репликации) или прогоны имитационной модели. Это означает, что:

  • — для каждого из прогонов используются отдельные наборы разных случайных чисел;
  • — для каждого прогона применяются одни и те же исходные условия;
  • — при каждом прогоне статистические счетчики переводятся в исходное состояние.

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

Чтобы построить доверительный интервал для среднего значения (в частности, среднего времени пребывания в системе для детали на заводе), необходим статистически устойчивый метод. Он должен быть простым для понимания и обеспечивать надежные статистические результаты. В этом смысле метод повторения, или репликации, несомненно, является наиболее удачным.

Если трудно определить длительный прогон или «установившийся режим» системы, то желательно указать продолжительность переходного периода работы модели, необходимого для того, чтобы статистические счетчики сбрасывались в ноль (но состояние системы при этом не изменялось). В идеале программные средства имитационного моделирования должны иметь возможность определять продолжительность переходного процесса работы модели на основе экспериментальных прогонов. В настоящее время существует, по крайней мере, один программный продукт имитационного моделирования, в котором для определения продолжительности переходного процесса работы модели используется графический подход Велча.

В настоящее время разработчиков, желающих приобрести программные средства имитационного моделирования, интересует еще вопрос оптимизации. Предположим, что существует некоторое число искомых переменных (входных факторов), каждая из которых имеет свой ряд возможных значений. (Для искомых переменных также могут задаваться линейные ограничения.) Кроме того, существует целевая функция, которая должна быть максимизирована (или минимизирована), то есть функция одной или нескольких выходных случайных переменных имитационного моделирования (например, функция производительности в производственной системе). Тогда цель оптимизации — выполнить прогоны имитационной модели (для каждого из прогонов используются определенные значения искомых переменных) с помощью интеллектуальных модулей оптимизации и найти в итоге комбинацию искомых переменных, дающих оптимальное или близкое к нему решение. В таких модулях оптимизации применяются следующие эвристические средства: генетические алгоритмы, моделированный «отжиг», нейронные сети, а также рассеивающий поиск и запрещающий поиск.

Работа с заказчиками и документация Производителям программных средств имитационного моделирования надо постоянно знакомить пользователей со своей продукцией. Кроме того, по заказу клиентов нужно проводить курсы обучения на местах. Для решения вопросов, которые связаны с использованием программного обеспечения или его отладкой в случае возникновения сбоев, очень важна надежная техническая поддержка. Техническая поддержка, как правило, должна осуществляться таким образом, чтобы клиент получал ответ не позже чем через день.

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

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

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

Если клиент тратит большую сумму денег на программное средство, ему может быть оказана такая услуга, как бесплатное тестирование программного обеспечения. Многие производители предоставляют бесплатное тестирование в течение 30, а некоторые даже 60 дней.

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

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

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

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

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

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

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

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

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

Показать весь текст
Заполнить форму текущей работой