Главная страница
Навигация по странице:

  • Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л. 31 МОДЕЛИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ

  • Виды параллельных процессов

  • Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ

  • Методы описания параллельных процессов

  • Моделирование на основе транзактов

  • Значения модельного времени Список будущих собы- тий Список текущих событий 0 C 11 C 21 C

  • Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л. 35 СРЕДА MATLAB Общие сведения

  • Лекции по курсу имитационное моделирование экономических процессов составитель ст преп каф. Итим нохрина Г. Л. 2


    Скачать 1.44 Mb.
    НазваниеЛекции по курсу имитационное моделирование экономических процессов составитель ст преп каф. Итим нохрина Г. Л. 2
    Дата22.01.2018
    Размер1.44 Mb.
    Формат файлаpdf
    Имя файлаmatematicheskoe_i_imitacionnoe_modelirovanie_lek.pdf
    ТипЛекции
    #34834
    страница5 из 7
    1   2   3   4   5   6   7
    Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ
    Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л.
    30 мени по особым состояниям связаны в первую очередь с корректным описанием таких условий.
    Трудности еще более возрастают, если в модели фигурируют несколько типов взаимосвязанных со- бытий.
    Моделирование по особым состояниям целесообразно использовать, если:

    события распределяются во времени неравномерно или интервалы между ними велики;

    предъявляются повышенные требования к точности определения взаимного положения со- бытий во времени;

    необходимо учитывать наличие одновременных событий.
    Дополнительное достоинство метода заключается в том, что он позволяет экономить машин- ное время, особенно при моделировании систем периодического действия, в которых события дли- тельное время могут не наступать.
    Обобщенная схема алгоритма моделирования по особым состояниям представлена на рис. 5
    (t co6.i
    — прогнозируемый момент наступления i-го события).
    Ри
    c. 5.
    Алгоритм моделирования по особым состояниям
    Подведем итоги изложенному в этом разделе.

    Выбор механизма изменения модельного времени определяет технологию реализации имита- ционной модели.

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

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

    Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ
    Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л.
    31
    МОДЕЛИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ
    Практически любая более или менее сложная система имеет в своем составе компоненты, рабо- тающие одновременно, или как принято говорить в технических науках, параллельно. Напомним только один пример, взятый из монолога М. Жванецкого, посвященного работе ликеро-водочного завода. Судя по сюжету монолога, все цеха этого предприятия работали абсолютно параллельно и независимо друг от друга.
    Итак, если в составе системы имеются компоненты (подсистемы), выполняющие свои функ- ции одновременно, то можно утверждать, что в такой системе существуют параллельные процессы.
    Параллельно работающие подсистемы могут взаимодействовать самым различным образом, либо во- обще работать независимо друг от друга. Способ взаимодействия подсистем определяет вид парал- лельных процессов, протекающих в системе. В свою очередь, вид моделируемых процессов влияет на выбор метода их имитации.
    Виды параллельных процессов
    Асинхронный параллельный процессэто такой процесс, состояние которого не зависит от состояния другого параллельного процесса (ПП).
    Пример асинхронных ПП, протекающих в рамках одной системы, — подготовка и проведение рекламной кампании фирмой и работа сборочного конвейера. Или пример из области вычислительной техники — выполнение вычислений процессором и вывод информации на печать.
    Синхронный ПП — это такой процесс, состояние которого зависит от состояния взаимодей- ствующих с ним ПП. Пример синхронного ПП — работа торговой организации и доставка товара со склада (нет товара—нет торговли).
    Один и тот же процесс может быть синхронным по отношению к одному из активных ПП и асинхронным по отношению к другому. Так, при работе Вычислительной сети по технологии «кли- ент-сервер» каждый из узлов сети синхронизирует свою работу с работой сервера, но не зависит от работы других узлов.
    Подчиненный ПП создается и управляется другим процессом (более; высокого уровня). Весьма характерным примером таких процессов является ведение боевых действий подчиненными подразде- лениями.
    Независимый ППпроцесс, который не является, подчиненным ни для одного из процессов.
    Скажем, после запуска неуправляемой зенитной ракеты ее полет можно рассматривать как независи- мый процесс, одновременно с которым самолет ведет боевые действия другими средствами.
    Способ организации параллельных процессов в системе зависит от физической сущности этой системы.
    Остановимся несколько подробнее на особенностях реализации параллельных процессов в вы- числительных системах (ВС). Это обусловлено следующей причиной. Разработка и использование любой ИМ предполагает ее программную реализацию и исследование с применением ВС. Поэтому для реализации моделей, имитирующих параллельные процессы, в некоторых случаях применимы меха- низмы, характерные для выполнения параллельных вычислений.
    Вместе с тем, реализация параллельных процессов в ВС имеет свои особенности;

    на уровне задач вычислительные процессы могут быть истинно параллельными только в мно- гопроцессорных ВС или вычислительных сетях;

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

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

    на основе «взаимного исключения»;

    на основе синхронизации посредством сигналов;

    Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ
    Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л.
    32

    на основе обмена информацией (сообщениями).
    «Взаимное исключение» предполагает запрет доступа к общим ресурсам (общим данным) для всех ПП, кроме одного, на время его работы с этими ресурсами (данными).
    Синхронизация подразумевает обмен сигналами между двумя или более процессами по уста- новленному протоколу. Такой «сигнал» рассматривается как некоторое событие, вызывающее у по- лучившего его процесса соответствующие действия.
    Часто возникает необходимость передавать от одного ПП другому более подробную информа- цию, чем просто «сигнал-событие». В этом случае процессы согласуют свою работу на основе об-
    мена сообщениями.
    Перечисленные механизмы реализуются в ВС на двух уровнях – системном и прикладном.
    Механизм взаимодействия между ПП на системном уровне определяется еще на этапе разра- ботки ВС и реализуется в основном средствами операционной системы (частично — с использова- нием аппаратных средств).
    На прикладном уровне взаимодействие между ПП реализуется программистом средствами языка, на котором разрабатывается программное обеспечение.
    Наибольшими возможностями в этом отношении обладают так называемые языки реального времени и языки моделирования.
    Языки реального времени (ЯРВ) — это языки, предназначенные для создания программного обеспечения, работающего в реальном масштабе времени, например для разработки различных ав- томатизированных систем управления (предприятием, воздушным движением и т. д.). К ним, в частности, относятся: язык Ада, язык Модула и практически единственный отечественный язык ре- ального времени — Эль-76 (использовавшийся в многопроцессорных вычислительных комплексах семейства «Эльбрус»).
    Методы описания параллельных процессов
    Языки моделирования по сравнению с языками реального времени требуют от разработчика значительно менее высокого уровня подготовки в области программирования, что обусловлено двумя обстоятельствами:

    средства моделирования изначально ориентированы на квазипараллельную обработку парал- лельных процессов;

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

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

    Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ
    Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л.
    33

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

    Список прерываний. Данный список содержит события, связанные с возобновлением обработ- ки прерванных транзактов. События из этого списка выбираются том случае, если сняты усло- вия прерывания.
    Рассмотрим использование двух первых списков событий в динамике, при моделировании па- раллельных процессов.
    В списке текущих событий транзакты расположены в порядке убывания приоритета соответ- ствующих событий, а при равных приоритетах — в порядке поступления в список.
    Каждое событие (транзакт) в списке текущих событий может находиться либо в активном состоянии, либо в состоянии задержки. Если событие активно, то соответствующий транзакт может быть продвинут по системе; если продвижение невозможно (например, из-за занятости устройства), то событие (и транзакт) переводится в состояние задержки.
    Как только завершается обработка (продвижение) очередного активного транзакта, просматри- вается список задержанных транзактов, и ряд из них переводите активное состояние. Процедура повторяется до тех пор, пока в списке текущих событии не будут обработаны все активные собы- тия. После этого просматривает список будущих событий. Модельному времени присваивается значение, равное времени наступления ближайшего из этих событий. Данное событие заносится в список текущих событий. Затем просматриваются остальные события списка. Те из них, время кото- рых равно текущему модельному времени, также переписываются в список текущих событий. Про- смотр заканчивается, когда в списке остаются события, времена которых больше текущего модель- ного времени.
    В качестве иллюстрации к изложенному рассмотрим небольшой пример. Пусть в систему по- ступают транзакты трех типов, каждый из которых обслуживается отдельным устройством. Извест- ны законы поступления транзактов в систему и длительность их обслуживания. Таким образом, в системе существуют три параллельных независимых процесса (P
    1
    , Р
    2
    , Р
    3
    ).
    Временная диаграмма работы системы при обслуживании одного транзакта каждого типа пока- зана на рис. 7.
    Рис
    . 6.
    Временная диаграмма параллельных процессов
    Ha рисунке события, относящиеся к процессу Р
    1
    обозначены как С
    1i
    , относящиеся к Р
    2
    и к Р
    3
    — соответственно как C
    2i и С
    3i
    . Время t:
    06спуж соответствует времени обслуживания транзакта.
    Для каждого процесса строится своя цепь событий, однако списки событий являются; общими для всей модели. Формирование списков начинается с заполнения списка будущих событий. Как было отмечено выше, в этот список помещаются события, время наступления которых превышает текущее значение модельного времени. Очевидно, что на момент заполнения списка время наступления прогно- зируемых событий должно быть известно. На первом шаге t m
    =0 в список будущих событий заносятся события С
    11
    , С
    21
    , С
    31
    . Затем событие с наименьшим временем наступления — С

    — переносится в список текущих событий; если одновременных сним событий нет, то оно обрабатывается и исключается из

    Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ
    Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л.
    34 списка текущих событий. После этого вновь корректируется список будущих событий и т. д., пока не истечет заданный интервал моделирования.
    Динамика изменения списков текущих и будущих событий для рассмотренного примера от- ражена в приведенной ниже таблице.
    Значения модельного
    времени
    Список будущих собы-
    тий
    Список текущих событий
    0
    C
    11
    C
    21
    C
    31
    0
    T
    11
    C
    21
    С
    31
    С
    12
    C
    11
    T
    21
    C
    31
    С
    12
    С
    22
    C
    21
    Т
    31
    C
    12
    С
    22
    С
    32
    C
    31
    T
    12
    С
    22
    С
    32
    С
    13
    C
    12
    T
    22
    С
    32
    С
    13
    С
    23
    С
    22
    T
    32
    С
    13
    С
    23
    С
    33
    С
    32
    T
    13
    С
    23
    С
    33
    С
    13
    T
    23
    С
    23
    С
    33
    Знание механизма ведения списков событий просто необходимо разработчику модели; умение про- следить в динамике цепь происходящих в модели событий, во-первых, повышает уверенность создателя модели в том, что она работает правильно, и, во-вторых, существенно облегчает процесс отладки и мо- дификации модели.

    Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ
    Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л.
    35
    СРЕДА
    MATLAB
    Общие сведения
    История существования пакета М ATLAB, название которого происходит от словосочетания Ma- trix Laboratory (Матричная лаборатория) насчитывает уже более двух десятков лет. Можно считать, что развитие MATLAB «шло в ногу» с развитием средств вычислительной техники: от «больших» ЭВМ с маленькими интерактивными возможностями до настольных компьютеров, позволяющих использо- вать в работе все пять (а иногда и шесть) способов восприятия информации. И, несмотря на доста- точно высокую скорость смены поколений вычислительной техники, пакет MATLAB успевал впи- тывать все наиболее ценное от каждого из них.
    В результате к настоящему времени MATLAB представляет собой весьма удачное ; сочетание возможностей математики с последними достижениями в области вычислительной техники.
    Одним из основных достоинств пакета MATLAB является то, что для работы пользователю доста- точно знать о нем ровно столько, сколько требует решаемая задача. Так, в простейшем случае
    MATLAB может сыграть роль обыкновенного калькулятора, для использования которого достаточно помнить знаки математических операций. Если же решаемая задача требует создания каких-либо спе- циальных инструментов, MATLAB предоставляет в распоряжение пользователя практически универ- сальный язык объектно-ориентированного программирования в сочетании с интерактивными сред- ствами отладки создаваемых программ.'
    И все-таки в первую очередь MATLAB — это средство математического моделирования, обес- печивающее проведение исследований практически во всех известных областях науки и техники.
    При этом структура пакета позволяет эффективно сочетать оба основных подхода к созданию моде- ли: аналитический и имитационный.
    Именно в сфере математического моделирования MATLAB позволяет наиболее полно ис- пользовать все современные достижения компьютерных технологий, в том числе средства визуализа- ции и аудификации (озвучивания) данных, а также возможности обмена данными через Интернет.
    Кроме того, пользователь имеет возможность создавать средствами MATLAB собственный графиче- ский интерфейс, отвечающий как его вкусам, так и требованиям решаемой задачи. Как следует из названия пакета, он ориентирован в первую очередь на обработку массивов данных (матриц и векто- ров). Это позволило его разработчикам существенно повысить эффективность процедур, работающих с указанными типами данных, по сравнению с языками программирования «общего назначения» (Pas- cal, С и т. п.).
    С точки зрения пользователя, MATLAB представляет собой богатейшую библиотеку функ- ций (в MATLAB 5.3 их около 800), единственная проблема при работе с которой заключается в умении быстро отыскать те из них, которые нужны для решения данной задачи.
    Для облегчения поиска библиотека функций разбита на разделы. Те из них, которые носят общий характер и используются чаще, входят в состав ядра MATLAB. Другие функции, относя- щиеся к конкретной области, включены в состав соответствующих специализированных разделов.
    Эти разделы называются в MATLAB Toolboxes (наборы инструментов). Каждый из них имеет свое собственное название, отражаю? * его предназначение. Полная комплектация пакета MATLAB 5.3 содержит около 30 наборов инструментов. В их число входят как достаточно стандартные для ма- тематических пакетов средства (решение дифференциальных и алгебраических уравнений, инте- гральное исчисление, символьные вычисления и т. д.), так и нетрадиционные, способные претен- довать на определенную уникальность в своем роде: средства цифровой обработки изображений, поиска решений на основе нечеткой логики, аппарат построения и анализа нейронных сетей, сред- ства финансового анализа, целый ряд других. Кроме того, имеются средства взаимодействия с по- пулярными офисными продуктами компании Microsoft — MS Word и MS Excel. Для включения в состав рабочей конфигурации пакета того или иного набора инструментов требуется наличие со- ответствующего лицензионного соглашения.

    1   2   3   4   5   6   7


    написать администратору сайта