Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

МОДЕЛИРОВАНИЕ СИСТЕМ

Содержание:

ВВЕДЕНИЕ

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

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

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

Глава 1. Имитационное моделирование систем

1.1 Классификация методов моделирования

В соответствии с классификационным признаком полноты моделирование делится на [1]:

  • полное;
  • неполное;
  • приближенное.

При полном моделировании модели идентичны объекту во времени и пространстве.

Для неполного моделирования эта идентичность не сохраняется.

В основе приближенного моделирования лежит подобие, при котором некоторые стороны реального объекта не моделируются совсем.

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

Стохастическое моделирование учитывает вероятностные процессы и события.

Статическое моделирование служит для описания состояния объекта в фиксированный момент времени, а динамическое — для исследования объекта во времени. При этом оперируют аналоговыми (непрерывными), дискретными и смешанными моделями.

В зависимости от формы реализации носителя и сигнатуры моделирование классифицируется на мысленное и реальное.

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

Гипотетический вид моделирования используется, когда знаний об объекте недостаточно для построения формальных моделей. Аналоговое моделирование основывается на применении аналогий различных уровней. Для достаточно простых объектов наивысшим уровнем является полная аналогия.

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

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

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

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

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

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

Комбинированное (аналитико-имитационное) моделирование позволяет объединить достоинства аналитического и имитационного моделирования.

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

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

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

Натурным моделированием называют проведение исследования на реальном объекте с последующей обработкой результатов эксперимента на основе теории подобия.

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

1.2 Методы описания систем

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

Количественные методы связаны с анализом вариантов, с их количественными характеристиками корректности, точности и т. п. Для постановки задачи эти методы не имеют средств, почти полностью оставляя осуществление этого этапа за человеком.

1.3 Качественные методы описания систем

Методы типа мозговой атаки. Концепция «мозговой атаки» получила широкое распространение с начала 50-х годов как метод систематической тренировки творческого мышления, нацеленный на открытие новых идей и достижение согласия группы людей на основе интуитивного мышления. Методы этого типа известны также под названиями «мозговой штурм», «конференция идей», а в последнее время наибольшее распространение получил термин «коллективная генерация идей» (КГИ).

Обычно при проведении мозговой атаки или сессий КГИ стараются выполнять определенные правила, суть которых:

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

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

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

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

Методы типа «Дельфи». Характерный для середины XX в. бурный рост науки и техники вызвал большие перемены в отношении к оценкам будущего развития систем. Одним из результатов этого периода в развитии методов анализа сложных систем явилась разработка методов экспертной оценки, известных в литературе как «методы Дельфи».

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

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

Морфологические методы. Основная идея морфологических методов – систематически находить все «мыслимые» варианты решения проблемы или реализации системы путем комбинирования выделенных элементов или их признаков. Идеи морфологического образа мышления восходят к Аристотелю, Платону, к известной средневековой модели механизации мышления Р. Луллия. В систематизированном виде морфологический подход был разработан и применен впервые швейцарским астрономом Ф. Цвикки и долгое время был известен как метод Цвикки.

Цвикки предложил три метода морфологического исследования.

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

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

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

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

1.4 Количественные методы описания систем

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

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

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

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

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

Наиболее пригодными являются следующие уровни абстрактного описания систем:

  • символический, или, иначе, лингвистический;
  • теоретико-множественный;
  • абстрактно-алгебраический;
  • топологический;
  • логико-математический;
  • теоретико-информационный;
  • динамический;
  • эвристический.

Условно первые четыре уровня относятся к высшим уровням описания систем, а последние четыре – к низшим.

1.5 Высшие уровни описания систем

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

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

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

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

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

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

1.6 Низшие уровни описания систем

Логико-математический уровень описания систем нашел широкое применение для: формализации функционирования автоматов; задания условий функционирования автоматов; изучения вычислительной способности автоматов.

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

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

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

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

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

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

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

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

2.1 Программа Pilgrim

Средством построения моделей в системе PILGRIM является графический конструктор Gem (от «Generator models»), представляющий собой набор узлов различного типа. На схеме имитационной модели узел есть графическое изображение некоторого типового процесса, или можно сказать, что внутри узла работает процесс. При этом элементарный процесс может быть, вообще говоря, представлен несколькими узлами имитационной модели, если этого требует логика его работы.

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

Конструктор Gem генерирует программу на языке С++, которая в дальнейшем должна быть скомпилирована в составе проекта в среде MS Developer Studio, где предварительно должен быть установлен Visual C++ с библиотеками Pilgrim.

Процесс построения модели в системе PILGRIM включает в себя следующие этапы:

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

Параметры узлов могут быть заданы константами или переменными пользователя. Во втором случае в момент входа в узел очередной заявки значения этих параметров должны быть определены с помощью операторов языка С++.

  1. Определение условий выбора узла, если в модели имеются ветвления.
  2. Компиляция модели.

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

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

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

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

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

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

Выход из узла одного транзакта называется событием. Предположим, что в момент времени t произошло какое-то событие, а в момент времени t+d должно произойти ближайшее следующее, но не обязательно в этом же узле. Тогда очевидно, что передать управление непрерывным компонентам модели можно только на время [t,t+d].

Текущее значение модельного таймера хранится в системной переменной timer.

Значение модельного таймера доступно для чтения в процессе моделирования.

2.2 Программа Anylogic

AnyLogic – программное обеспечение для имитационного моделирования сложных систем и процессов, разработанное российской компанией «Экс Джей Текнолоджис». Программа обладает графической средой пользователя и позволяет использовать язык Java для разработки моделей.

AnyLogic – инструмент имитационного моделирования, с которым работают более 15000 пользователей в 60 странах мира. Программный продукт предназначен для проектирования и оптимизации бизнес-процессов или любых сложных систем, таких как производственный цех, аэропорт, госпиталь и т.д. Инструмент поддерживает все методы бизнес моделирования – системную динамику, дискретно-событийное (процессное) и агентное моделирование. Основной упор в разработке продукта сделан на его гибкость и простоту использования для неопытных в создании моделей пользователей. Среди пользователей крупные международные компании, государственные структуры, международные альянсы: НАТО, НАСА, Boeing, HP, IBM, General Motors, HSBS, PWC, Accenture, Jonson&Jonson.

Программный инструмент AnyLogic основан на объектно-ориентированной концепции [2]. Другой базовой концепцией является представление модели как набора взаимодействующих, параллельно функционирующих активностей. Активный объект в AnyLogic – это объект со своим собственным функционированием, взаимодействующий с окружением. Он может включать в себя любое количество экземпляров других активных объектов. Графическая среда моделирования поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов, оптимизацию параметров относительно некоторого критерия.

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

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

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

Активные объекты имеют четко определенные интерфейсы взаимодействия – они взаимодействуют со своим окружением только посредством своих интерфейсных элементов. Это облегчает создание систем со сложной структурой, а также делает активные объекты повторно используемыми. Создав класс активного объекта, вы можете создать любое количество объектов – экземпляров данного класса. Каждый активный объект имеет структуру (совокупность включенных в него активных объектов и их связи), а также поведение, определяемое совокупностью переменных, параметров, стейтчартов и т.п. Каждый экземпляр активного объекта в работающей модели имеет свое собственное поведение, он может иметь свои значения параметров, функционирует независимо от других объектов, взаимодействуя с ними и с внешней средой. Визуальная разработка модели. При построении модели используются средства визуальной разработки (введения состояний и переходов стейтчарта, введения пиктограмм переменных и т.п.), задания численных значений параметров, аналитических записей соотношений переменных и аналитических записей условий наступления событий. Основной технологией программирования в AnyLogic является визуальное программирование – построение с помощью графических объектов и пиктограмм иерархий структуры и поведения активных объектов. Встроенный язык Java. AnyLogic является надстройкой над языком Ja-va – одним из самых мощных и в то же время самых простых современных объектно-ориентированных языков. Все объекты, определенные пользователем при разработке модели с помощью графического редактора, компилируются в конструкции языка Java, а затем происходит компиляция всей собранной программы на Java, задающей модель, в исполняемый код. Хотя программирование сведено к минимуму, разработчику модели необходимо иметь некоторое представление об этом языке (например, знать синтаксически правильные конструкции).

Средства описания поведения объектов. Основными средствами описания поведения объектов являются переменные, события и диаграммы состояний. Переменные отражают изменяющиеся характеристики объекта. События могут наступать с заданным интервалом времени и выполнять заданное действие. Диаграммы состояний (или стейтчарты) позволяют визуально представить поведение объекта во времени под воздействием событий или условий, они состоят из графического изображения состояний и переходов между ними (т.е. по сути это конечный автомат). Любая сложная логика поведения объектов модели может быть выражена с помощью комбинации стейтчартов, дифференциальных и алгебраических уравнений, переменных, таймеров и программного кода на Java. Алгебраические и дифференциальные уравнения записываются аналитически. Интерпретация любого числа параллельно протекающих процессов в модели AnyLogic скрыта от пользователя. Никаких усилий разработчика модели для организации квазипараллелизма интерпретации не требуется; отслеживание всех событий выполняется системой автоматически. Модельное и реальное время. Понятие модельного времени является базовым в системах имитационного моделирования. Модельное время – это условное логическое время, в единицах которого определено поведение всех объектов модели. В моделях AnyLogic модельное время может изменяться либо непрерывно, если поведение объектов описывается дифференциальными уравнениями, либо дискретно, переключаясь от момента наступления одного события к моменту наступления следующего события, если в модели присутствуют только дискретные события. Моменты наступления всех планируемых событий в дискретной модели исполнительная система хранит в так называемом календаре событий, выбирая оттуда наиболее раннее событие для выполнения связанных с ним действий. Значение текущего времени в моделях AnyLogic может быть получено с помощью функции time().

Единицу модельного времени разработчик модели может интерпретировать как любой отрезок времени: секунду, минуту, час или год. Важно только, чтобы все процессы, зависящие от времени, были выражены в одних и тех же единицах. При моделировании физических процессов все параметры и уравнения должны быть выражены в одних и тех же единицах измерения физических величин. Интерпретация модели выполняется на компьютере. Физическое время, затрачиваемое процессором на имитацию действий, которые должны выполняться в модели в течение одной единицы модельного времени, зависит от многих факторов. Поэтому единица физического времени и единица модельного времени не совпадают. В AnyLogic приняты два режима выполнения моделей: режим виртуального времени и режим реального времени. В режиме виртуального времени процессор работает с максимальной скоростью без привязки к физическому времени. Данный режим используется для факторного анализа модели, набора статистики, оптимизации параметров модели и т.д. Поскольку анимация и другие окна наблюдения за поведением модели обычно существенно замедляют скорость интерпретации модели на компьютере, для повышения скорости выполнения эти окна нужно закрыть. В режиме реального времени пользователь задает связь модельного времени с физическим временем, т.е. устанавливает ограничение на скорость процессора при интерпретации модели. В этом режиме задается количество единиц модельного времени, которые должны интерпретироваться процессором в одну секунду. Обычно данный режим включается для того, чтобы визуально представить функционирование системы в реальном темпе наступления событий, проникнуть в суть процессов, происходящих в модели. Соотношение физического и модельного времени при работе модели можно понять на таком примере. При коэффициенте ускорения 4, если процессор успевает выполнить менее чем за 1 с все операции, которые в модели определены в течение 4-х единиц модельного времени, то он будет ждать до конца секунды. Если же процессор не успевает выполнить все операции, то у него не будет интервала ожидания, и коэффициент ускорения будет меньше того, который установлен пользователем.

Анимация поведения модели. AnyLogic имеет удобные средства представления функционирования моделируемой системы в живой форме динамической анимации, что позволяет «увидеть» поведение сложной системы. Визуализация процесса функционирования моделируемой системы позволяет проверить адекватность модели, выявить ошибки при задании логики. Средства анимации позволяют пользователю легко создавать виртуальный мир (совокупность графических образов, ожившую мнемосхему), управляемый динамическими параметрами модели по законам, определенным пользователем с помощью уравнений и логики моделируемых объектов. Графические элементы, добавленные на анимацию, называются динамическими, поскольку все их параметры: видимость, цвет и т.п. – можно сделать зависимыми от переменных и параметров модели, которые меняются со временем при выполнении модели. С помощью совершенной технологии визуализации работающих моделей AnyLogic можно создавать интерактивные анимации произвольной сложности, связывая графические объекты (в т.ч. импортированные чертежи) во встроенном редакторе с объектами модели. Как и модель, анимация имеет иерархическую структуру, которая может динамически изменяться. Возможно создание нескольких точек зрения или нескольких уровней детальности в пре-делах одной анимации. Элементы управления и развитая бизнес-графика превращают анимацию модели в настоящую панель управления для оценки эффективности решений. В AnyLogic поддерживается как двумерная, так и трёхмерная анимация. Интерактивный анализ модели. Многие системы моделирования позволяют менять параметры модели только до запуска модели на выполнение. AnyLogic позволяет пользователю вмешиваться в работу модели, изменяя параметры модели в процессе её функционирования. Примером таких средств являются слайдеры, которые могут быть введены в окно анимации.

2.3 Программа SyAn (Анализ систем)

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

Структурная схема, моделируемой САУ, может быть произвольной и собирается из элементов, входящих в библиотеку блоков.

Библиотека блоков насчитывает около 40 различных блоков. Все блоки классифицированы и представлены в программном комплексе в виде многостраничной палитры, в которой они объединены в следующие классы:

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

Программный комплекс "Анализ систем" обладает следующими возможностями:

  • построение переходного процесса в любой точке системы.
  • построение фазового портрета в любой точке системы.
  • построение ЛАЧХ/ФЧХ любого контура, как замкнутого, так и разомкнутого.
  • построение годографа линейной части любого контура, как замкнутого, так и разомкнутого.
  • построение обратного инверсного ЭККУ нелинейной части системы.
  • исследовать устойчивость контура с помощью критерия Найквиста и методом гармонического баланса.
  • исследовать нелинейный контур с помощью критерия В.М. Попова.
  • отображать передаточную функцию любого контура системы.
  • упрощать структурные схемы.
  • синтезировать структуру по введенной передаточной функции.
  • синтезировать структуру регулятора для заданного объекта управления (методом обратных задач динамики).
  • параметрическая оптимизация (подстройка коэффициентов корректирующих звеньев для наилучшего переходного процесса).
  • генерация текста программы на различных языках программирования, рассчитывающей прохождение сигнала через заданный контур.

Программа совместима с пакетами WinFact, MathCad, MathLib. А также возможность экспорта рисунков и графиков через буфер обмена Windows.

Глава 3. Разработка имитационной модели

3.1 Описание задачи моделирования

Разрабатывается имитационная модель производственной линии.

В составе производственного имеется структурное подразделение «Производство» в состав которого входят:

  • заготовительный участок (ЗагУ);
  • участок сборки и монтажа (УСиМ);
  • участок настройки и регулировки (УНиР).

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

  1. Заготовительный участок заготавливает комплектующие. В данном случае таковыми являются детали трёх видов с условными обозначениями A, B и C. Подготовленные детали поступают на участок сборки и монтажа.
  2. УСиМ производит сборку готового изделия и предоставленных деталей. При этом в состав каждого изделия входят по одной детали видов A и B и две детали вида C. Собранное изделие поступает для настройки и регулировки в УНиР.
  3. После настройки и регулировки изделие отправляется на склад готовой продукции (СГП).

На предприятии введён пооперационный контроль. Это означает, что после очередной технологической операции (сборки или настройки) изделие подвергается контролю со стороны бюро технического контроля (БТК). В случае несоответствия изделие возвращается на предъявивший его участок для устранения замечаний. После устранения замечаний изделие повторно предъявляется в БТК. Изделие, успешно прошедшее контроль, поступает далее – на следующий участок или на СГП.

3.2 Применение программы имитационного моделирования Anylogic к решению поставленной задачи

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

Заготовительный участок моделируется с помощью трёх (по числу выпускаемых участком деталей) элементов типа Source. Каждый из элементов генерирует агентов, выступающих в качестве деталей видов A, B и C. Время изготовления каждого из видов деталей задаётся в свойствах элемента Source в виде экспоненциального распределения с заданным средним значением.

Далее все три агента поступают через элемент Queue (очередь, выполняет функцию оперативного склада УСиМ) на элемент
Assembler. Назначение этого элемента – формирование нового агента из поступающих на его вход агентов в заданном количестве. Время сборки и количество требуемых входящих агентов задаётся в свойствах элемента Assembler.

Пооперационный контроль после завершения сборки реализован в виде элементов Queue, Delay и SelectOutput. Задержка изделия на контроле задаётся в свойствах элемента Delay в виде экспоненциального распределения с заданным средним значением. Элемент
SelectOutput необходим для распределения изделий между направлениями на продолжение производственного цикла и на возврат в УСиМ. Направление изделий в одну или другую сторону происходит случайным методом с заданной вероятностью.

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

После элемента Service для контроля используется такя же связка элементов Queue, Delay и SelectOutput, как и в предыдущем случае. С выхода элемента SelectOutput агент поступает либо на СГП, либо возвращается на УНИР для повторной регулировки.

Построение имитационной модели

Блок-диаграмма имитационной модели, построенной в среде программы Anylogic, показана на рисунке 1.

Рисунок 1 – Блок-диаграмма имитационной модели

Построение модели был начато с настройки источников агентов – элементов Source. Окно настройки этого элемента показано на рисунке 2.

Рисунок 2 – Настройка элемента Source

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

Поскольку агенты генерируются неравномерно, то перед сборкой установлены элементы Queue (очередь). Настраиваемым параметром является объём очереди, т.е. количество элементов, одновременно присутствующих в очереди. Также можно настроить тип очереди (FIFO, FILO или с приоритетом). Окно с этими параметрами показано на рисунке 3.

Рисунок 3 – Настройка элемента Queue

Следующим элементом блок-диаграммы модели является элемент Assembler. Окно с его настройками показано на рисунке 4.

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

Модель стадии контроля собранного изделия представлена элементами Queue, Delay и SelectOutput. Настройка элемента Queue была рассмотрена ранее, а настройка двух оставшихся элементов выполняется в окнах, показанных на рисунках 5 и 6. Для элемента задержки устанавливается время задержки, а для ключа – правило, по которому выбирается один или другой выход. В данном случае это вероятность, с которой агент отправляется по прямому направлению.

Рисунок 4 – Настройка элемента Assembler

Рисунок 5 – Настройка элемента Delay

Рисунок 6 – Настройка элемента SelectOutput

Следующий элемент, который следует рассмотреть, это элемент Service. Он позволяет осуществлять задержку на заданное время нескольких агентов, привлекая при этом определённые ресурсы. В данном случае такими ресурсами являются настройщики, выполняющие настройку изделия. если есть незанятые настройщики, изделие поступает на обработку, в противном случае ожидает в очереди. Очередь, аналогичная элементу Queue интегрирована в элемент Service, однако является общей для всех ресурсов и агентов. Общим является и выход элемента. Окно его настройки показано на рисунке 7.

Рисунок 7 – Настройка элемента Service

3.3 Запуск и опробование модели

По завершении составления блок-диаграммы моделируемого процесса и настройки свойств элементов выполняется запуск моделирования. Вид окна программы Anylogic с действующей моделью рассматриваемого процесса показано на рисунке 8.

Рисунок 8 – Работа модели

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

Также в процессе работы можно просматривать информацию о состоянии элементов модели. Окно с отображением этой информации показано на рисунке 9.

Рисунок 8 – Работа модели

ЗАКЛЮЧЕНИЕ

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

С использованием программы Anylogic была разработана и опробована модель производственной линии с участками сборки настройки и контроля.

На модели были отработаны построение блок-диаграммы процесса, настройка свойств элементов, сбор, просмотр и анализ статистики и другие приёмы работы с имитационным программным обеспечением.

Задачу, поставленную перед данной работой можно считать успешно выполненной.

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

  1. Бобков С.П. Моделирование систем: учеб. пособие / С.П. Бобков, Д.О. Бытев; Иван. гос. хим.-технол. ун-т. – Иваново, 2008. – 156 с.
  2. Киселева М. В. Имитационное моделирование систем в среде AnyLogic : учебно- методическое пособие / М. В. Киселёва. Екатеринбург : УГТУ - УПИ, 2009. 88 с.

ПРИЛОЖЕНИЯ