Имитаци онн ое модели рование экономическ ой динамики

№ 1 (25) 2010

А. А. Емельянов

имитационное моделирование экономической динамики

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

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

парадигмы моделирования дискретных процессов

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

1 Эти термины характерны для GPSS. В других системах терминология может отличаться.

парадигма моделирования экономических процессов должна удовлетворять четырем (как минимум) дополнительным взаимосвязанным требованиям [7].

Требование 1. Необходим формальный аппарат реализации финансовой динамики. Моделирование перечисления денежной суммы или какой-то стоимости с одного счета на другой требует конкретного действия в модели: ввода транзакта в какой-то блок или выполнения конкретного события в момент t1 виртуального времени. Однако это действие необязательно вызовет проводку этой суммы хотя бы потому, что остаток средств на счете меньше требуемой суммы (в данном случае существует возможность придумать довольно сложный аппарат синхронизации), или, что еще хуже, отрицательное сальдо существенно больше положительного (а в этом случае ситуация становится неразрешимой). Реально проводка может быть выполнена в момент t2 > t1. Причем в случае строгого неравенства аппарат управления текущими, будущими и отложенными событиями [5] чаще всего не поможет определить t2.

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

№ 1 (25) 2010

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

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

1) вероятность его появления на заданном интервале времени;

2) наносимый ущерб — в случае свершения этого события.

В настоящее время в экономике существуют и постоянно совершенствуются методы управления рисками в условиях конкуренции [3, 10, 11], эффективность которых проверяется на имитационных моделях, а не сразу на практике.

Требование 4. Необходим аппарат пространственной динамики. Задачи макроэкономики, некоторые микроэкономические задачи, а также демографические и региональные задачи решаются с учетом взаимного географического расположения моделируемых процессов — с привязкой к географическим координатам (и картам), а иногда и с учетом того, что Земля круглая [8, 4]. I Создание моделирующей системы PilI grim3 [5] явилось следствием развития па-^ радигмы моделирования. I Акторы и теория акторных сетей (англ. su actor network theory — ANT) нашли примене-I ние в абстрактном моделировании социаль-g ных, экономико-конкурентных, политических « и правовых процессов, в тех областях, где I есть определенные трудности с применени-§ ем формализованных моделей [1, 8]. Появи-I лась новая разновидность акторов — агент-

i -

g 2 Общее определение категории риска: «Возмож-g ность потерь в расчете на счастливый случай» [12].

ss

jj 3 В экономических вузах с 2002 до 2008 гг. исполь-

ц зовалась версия Pilgrim-5. В настоящее время распро-

ss страняется новая версия системы Actor Pilgrim [7, 8].

ные программы, используемые для управления вычислительным процессом, процессами в коммуникационных и потребительских узлах Интернета, в социальных сетях. Например, в системе имитационного моделирования AnyLogic [9] осуществлено оригинальное полезное решение — агентная модель.

Основной динамической единицей в Pilgrim-моделях является актор. В соответствии с концепциями ANT любой узел Pilgrim-модели «с точки зрения компьютера» — это автономный вычислительный процесс, выполняемый особой программой, реализующей функции узла. Узлы объединяются в направленный граф. Каждый граф модели располагается на своем отдельном модельном слое (рис. 1).

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

1) изменение функций или возможностей узла модели, например:

• в модели предприятия сферы услуг уменьшить или увеличить число каналов параллельного обслуживания;

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

2) преобразование топологии (структуры) графа модели, т. е. изменение состава узлов и направлений путей продвижения акторов;

3) увеличение или уменьшение количества модельных слоев;

4) изменение принадлежности узла модельному слою (перемещение узлов по слоям);

5) преобразование свойств актора, т. е. конкретный актор может изменять и свои

№ 1 (25) 2010

Модель «Бизнес-проект» в холдинге

Слой 2: Управление бизнес-проектом

уу serve РаУ

queue

Слой 3: Управление финансами

0

1

Рис. 1. Динамический граф модели экономического процесса

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

Модели-трансформеры экономических процессов

Имитационная модель называется мо-делью-трансформером, если она обладает свойствами целенаправленных глобальных изменений собственной структуры и состава выполняемых функций, которые осознанно заложены ее разработчиком [8, 6], т. е. самоадаптации, «интеллигентности» и интеллектуальности {intelligency — это более емкое понятие, чем так называемый «искусственный интеллект»).

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

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

В настоящее время существуют несколько актуальных направлений применения таких моделей в экономике [2, 6].

1. Главное направление: симуляция процессов реинжиниринга в бизнесе [8], где предприятия меняют структуру, функции, могут войти в состав холдинга или консорциума либо выйти из состава экономического формирования. Соответственно меняются экономические процессы на трансформируемом предприятии, его связи с внешним миром, а иногда и ситуация на рынке.

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

• повышения конкурентоспособности и выполнения конкурентных действий [10, 11];

• управления рисками [2] — планирования антикризисных действий для предотвра-

107

№ 1 (25) 2010

щения нежелательных (или опасных) событий и снижения вероятного ущерба.

Эффект таких мероприятий и действий оценивается с помощью моделей.

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

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

i

§ Основные объекты модели

ч

I Концепция моделирующей системы Actor

|á Pilgrim базируется на использовании шести

Л типов объектов.

g 1. Актор является динамической единицу цей любой модели, работающей под управ-I лением имитатора.

§ 2. Граф модели. Все процессы незави-§ симо от количества уровней структурного g анализа объединяются в виде направлении ного графа.

! 3. Узел графа представляет собой центр

| обработки акторов (но совсем необязатель-

§ но массового обслуживания). В узлах акторы

á могут задерживаться, обслуживаться, поро-

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

4. Событие — это факт выхода из узла одного актора.

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

6. Пространство — географическое, декартова плоскость (можно ввести и другие). Узлы и акторы могут быть привязаны к точкам пространства и мигрировать в нем, иногда — вместе с ресурсами. Моделирование экономических процессов с учетом ре-гионалистики должно учитывать пространственные распределения жителей, ресурсов, наличие транспортных связей и географические особенности [4].

В различных моделирующих системах имеются разные способы представления узлов графа. Это связано с отличительными свойствами таких систем. Например, в системе GPSS узлы называются блоками; причем количество различных типов блоков — 53, что затрудняет восприятие графа модели.

Типы узлов

В системе Pilgrim имеются всего 17 типов узлов4:

1) actor — генератор акторов с бесконечной емкостью;

2) attach — склад перемещаемых ресурсов;

3) create — генератор семейств акторов;

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

№ 1 (25) 2010

4) destroy — терминатор семейств акторов;

5) direct — распорядитель финансов (или «главный бухгалтер»);

6) down — произвольный структурный узел;

7) dynamo — очередь с пространственно-зависимыми приоритетами;

8) key — клапан, перекрывающий путь акторам;

9) manage — менеджер-распорядитель ресурсов;

10) parent — виртуальный структурный узел;

11) pay — структурный узел финансово-хозяйственных платежей;

12) produce — управляемый процесс (непрерывный или пространственный);

13) queue — очередь с относительными приоритетами или без приоритетов;

14) rent — структурный узел выделения ресурсов;

15) send — счет бухгалтерского учета (операция типа «проводка»);

16) serve — узел массового обслуживания с произвольным числом каналов;

17) term — терминатор, устраняющий лишние акторы из модели.

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

Автоматизация составления моделей

Конструктор моделей Actor Pilgrim GEM-2009 (далее — конструктор) позволяет автоматизировать процесс создания графа

модели и автоматически генерировать код | Pilgrim-программы. Тем самым снимаются г§ проблемы, возникающие при ручном коди- ,2 ровании модели в виде Pilgrim-файла: **

• автоматическая генерация программно- ^ го кода позволяет пользователю не задумываться о структуре и синтаксисе программы, уделяя все внимание структуре и параметрам самой модели и ее узлов;

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

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

Система Actor Pilgrim позволяет передавать результаты моделирования, используемые для принятия управленческих решений, из модели в базы данных экономической информационной системы (например, через интерфейс ODBC — Open Data Base Connectivity, если моделирование проводится в среде Windows) либо «подкачивать» актуализируемые во времени параметры в модель из баз данных.

пример экономического процесса

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

№ 1 (25) 2010

Рис. 2. Главное окно конструктора моделей

i

I

4

4S

I

I §

Si

та

I

5

СО

0

!

1 <ъ

и

о §

is

Я

ли, что выходить на рынок с новым товаром экономически целесообразно.

Основные проектные параметры бизнес-процесса:

1) устанавливаемая цена за единицу продукции 80 евро;

2) средний интервал поступления заказов от покупателей 7 дней;

3) максимальный объем покупаемой партии со склада 100 шт.;

4) устанавливаемый период выпуска партии продукции 14 дней;

5) размер выпускаемой партии продукции 1200 шт.;

6) сумма кредита в банке (на одну выпускаемую партию) 10 000 евро;

7) сумма платы поставщикам (на одну партию) 10 000 евро;

8) мощность фирмы — число производственных линий 2 линии;

9) длительность выпуска и поставки продукции на рынок 730 дней.

Правильность предварительных расчетов проверим с помощью имитационной модели.

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

Первая подмодель Производство (рис. 3) реализует основные элементарные процессы. Узел 1 имитирует поступления распоряжений на изготовление партий продукции от руководства компании. Узел 2 — попытка получить кредит. В этом узле появляется вспомогательный актор — запрос в банк. Узел 3 — ожидание кредита этим запросом. Узел 4 — это администрация банка: если предыдущий кредит возвращен, то предоставляется новый (в противном случае запрос ждет в очереди). Узел 5 осуществляет перечисление кредита на расчетный счет компании. В узле 6 вспомогательный

110

№ 1 (25) 2010

оо

0

1

¡1

Рис. 3. Схема подмодели процесса производства

запрос уничтожается, но информация о том, что кредит предоставлен, - это «шлагбаум» на пути следующего запроса на получение другого кредита (операция hold).

Основной актор-распоряжение проходит через узел 2 без задержки. В узле 7 производится оплата комплектующих, если на расчетном счете есть достаточная сумма (даже если кредит не получен). В противном случае происходит ожидание либо кредита, либо оплаты продаваемой продукции. В узле 8 актор становится в очередь, если все производственные линии заняты. В узле 9 осуществляется изготовление партии продукции. В узле 10 возникает дополнительная заявка на возврат кредита, если ссуда ранее была выделена. Эта заявка поступает в узел 11, где происходит перечисление денег с расчетного счета компании в банк; если денег нет, то заявка ожидает. После возврата кредита эта заявка уничтожается (в узле 12);

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

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

Вторая подмодель Сбыт (рис. 4) имитирует основные функции по реализации продукции. Узел 14 — это генератор акторов-покупателей продукции. Эти акторы обращаются на склад (узел 15), и, если там есть запрашиваемое количество товара, то товар отпускается покупателю; в противном случае покупатель ждет. Узел 16 имитирует отпуск товара и контроль очереди. После получения товара покупатель перечисляет деньги на расчетный счет компании (узел 17). В узле 18 покупатель считается обслуженным; соответствующий ему актор больше не нужен и уничтожается.

№ 1 (25) 2010

Рис. 4. Схема подмодели процесса сбыта

Подмодель Денежные операции для

управления денежными ресурсами имитирует проводки в бухгалтерии. Она находится на Слое 2, расположенном ниже (рис. 5). Запросы на проводки поступают со Слоя 1 из узлов 5, 7, 11 (Производство) и из узла 17 (Сбыт). Пунктирными линиями показано движение денежных сумм по счету 51 («Расчетный счет», узел 20), счету 60 («Поставщики, подрядчики», узел 22), счету 62 («Покупатели, заказчики», узел 21) и по счету 90 («Банк», узел 19). Условные номера счетов соответствуют плану счетов бухгалтерского учета. Узел 23 имитирует работу финансового директора. Обслуженные акторы после бухгалтерских проводок попадают обратно в те узлы, откуда они поступили; номера этих узлов находятся в параметре актора t^•updown.

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

Из таблицы видны четыре основных недостатка проектных параметров бизнес-процесса:

1) время задержек платежей в среднем составляет 10 дней, а в процессе моделирования во 2-м полугодии второго года работы эта задержка иногда достигает 28 дней;

2) состояние расчетного счета после двух лет работы неудовлетворительно (остаток 9360.00 евро, дефицит средств 40 000.00 евро);

3) компания «затоварилась», т. е. работает на склад (нереализованный остаток составляет 53 558 шт. или 44 партии изготовленной продукции);

i

I

4

4S

I

is

I §

Si

та

I

5

0

!

1

<и

!

о §

is

Я

1-»ирс1о\л/п ( ) Возврат на Слой 1 Рис. 5. Подмодель денежных операций на Слое 2

112

№ 1 (25) 2010

Ниже приведен текст модели:

#include <Pilgrim. h>

double The_price = 80; // 1.

double Elastic = 0.2; // 2.

double T_work = 14; // 3.

double S_bank = 10 000; // 4.

double S_supp = 10 000; // 5.

long N_work = 2; // 6.

long Set = 1200; // 7.

long Dem = 50; // 8.

long Flag = 0; // 9.

long Kratn = 2; // 10

long Bound = 12 000; // 11.

double Bank_rate = 2.5; // 12

double Mod_time = 730; // 13

double Base_price= 80; // 14

double Base_T = 7; // 15

double T_cust; // 16

long Mod_Flag; // 17

Максимальная эластичность темпа спроса

Производственная мощность фирмы (линии) Размер выпускаемой партии продукции

Кратность адаптации периода выпуска: 2, 3, 4 и т. д. Порог адаптации плана по объему продукции на складе

Базовая установившаяся цена

Базовый интервал при установившейся цене

«

0

1

forward {

Mod_Flag = Flag; If (The_price < 0.875*Base_price) T_cust = Base_T — 0.125 * Base_price * Elastic; // Нулевая эластичность не влияет на темп спроса

T_cust = Base_T — (Base_price-The_price) * Elastic; // Влияние ненулевой эластичности на темп спроса modbeg («Бизнес-процесс», 23, Mod_time, (long) 1 234 567 890, none, 20, none, 18, 1); actor («Заказы-распоряжения», 1, none, norm, T_work, zero, zero, 2); actor («Покупатели», 14, none, norm, T_cust, T_cust/3, zero, 15);

assign ( 19,add, 10 000 000.00); assign ( 20,add, 0.00); assign ( 21,add, 10 000 000.00); timescale (0.05); sknot (20);

network ( dummy, standard) {

// Назначили фонд банка // Начальный фонд фирмы // Назначили фонд клиента // Масштаб времени // Состояние расчетного счета

// -// // -

Слой 1: Производство

top ( 2):create («Запрос кредита»Д1,none, 3,7); place;

top ( 3):queue («Ожидание кредита»,none, 4); place;

top ( 4):key («Разрешение кредита»,5); place;

top ( 5):pay («Перевод кредита»,20,S_bank, 19,none, 19,6);

place; // На Слой 2: в банк

top ( 6):term («Запрет выдачи»); hold (4); place;

top ( 7):pay («Плата поставщикам»,22,S_supp, 20,none, 20,8);

place; // На Слой 2: на расчетный счет

top ( 8):queue («Очередь заказов»,none, 9); place;

top ( 9):serve («Производство партии»,N_work, none, norm, T_work, zero, zero, 10);

113

№ 1 (25) 2010

place;

top (10):if (addr [4] ->op == true) t->lo1 = 12; else

t->lo1 = 11;

create («Возврат кредита»,0,1,попе, t->lo1,13); place;

top (11):pay («Перевод в 6aHK»,19,S_bank* (1.0+0.01*Bank_rate),20,none, 20,12);

place; // На Слой 2: на расчетный счет

top (12):term («Возврат выполнен»); if (addr [4] ->op == false) release (4); place;

top (13):term («Адаптация плана»);

agent {

supply (15, add, Set);

if (addr [15] ->rsal >= Bound && Flag == 1) {

customize (1, none, norm, Kratn*T_work, zero, zero, 3);

Flag = Kratn; }

else if (addr [15] ->rsal < Bound && Flag == Kratn) {

customize (1, none, norm, T_work, zero, zero, 2);

Flag = 1; }

}

place;

// Слой 1: Сбыт // --------------------

top (15):t->powr=rundum () *Dem*2.0; // Запрошено единиц товара t->summ=t->powr*The_price; // Стоимость этой партии attach («Товарный CKr^»,t->powr, prty, 16); place;

top (16):manage («Менеджер склада»,17);

5 place;

ц top (17):pay («Оплата покупки»,20,t->summ, 21,none, 21,18);

Sg place; // На Слой 2: на счет покупателя

g top (18):term («Отгрузка товара»);

place;

IS //--------------------------------------------------------------

IS

// Слой 2: Денежные операции

Ц //------------------------------------------

| top (19):send («Счет 90: Банк», t->k1,t->summ, t->dpr, 23) та

^ top (21):send («Счет 62: Покупатели», t->k1,t->summ, t->dpr, 23); §

5? top (22):send («Счет 60: Поставщики», t->k1,t->summ, t->dpr, 23); <i>

§ top (23):direct («Бухгалтерия», t->updown); %

iS

Ц // Конец двухслойной структурной схемы

ss //--------------------------------------------------------

place;

top (20):send («Счет 51: Р/счет», t->k1, t->summ, t->dpr, 23); place; ):send place; !):send place; ¡):direc

place; // Возврат на верхний слой // --------------------------------------------------------------

114

//

ПРИКЛАДНАЯ ИНФОРМАТИКА /-

' № 1 (25) 2010

fault (123); §

} I

modend ( «Статистика. doc», 1, 30, page); g

return 0;

Таблица

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

№ Наименование узла Тип узла Загрузка Математическое ожидание Счетчик входов Состояние ресурса

1 Заказы-распоряжения actor - 14 53 -

2 Запрос кредита create - - 52 -

3 Ожидание кредита queue - 6 52 -

4 Разрешение выдачи k CD 0,853 15 43 -

5 Перевод кредита pay - - 51 510 000 . 00 P

6 Запрет выдачи term - 6 51 -

7 Плата поставщикам pay - - 52 520 000 . 00 P

8 Очередь заказов queue - 0 50 -

9 Призводство партии serve 0,469 14 50 -

10 Возврат кредита create - - 49 -

11 Перевод в банк pay - - 44 440 000 . 00 P

12 Возврат выполнен term - 12 47 -

13 Заказ выполнен term - 20 49 -

14 Покупатели actor - 7 104 -

15 Товарный склад attach 0,088 - 104 53 558 S 93 D

16 Менеджер склада manage - - 103 -

17 Оплата покупки pay - - 103 419 360 . 00 P

18 Отгрузка товара term - 0 103 -

19 Счет 90: Банк send - 0 51 9 910 000 . 00 S 0 . 00 D

20 Счет 51: Р/счет send - 10 96 9360 . 00 S 40 000 . 00 D

21 Счет 62: Покупатели send - 0 103 9 580 640 . 00 S 0 . 00 D

22 Счет 60: Поставщики send - 0 0 500 000 . 00 S

23 Бухгалтерия direct - - 246 -

-N ПРИКЛАДНАЯ ИНФОРМАТИКА

№ 1 (25) 2010 ' -

4) загрузка двух производственных линий величиной 0,469 говорит о том, что они ежедневно заняты 11,25 ч, т. е. ежедневно имеет место 12-часовой рабочий день, длительность рабочей недели составляет 84 ч, и нужно вводить посменный режим работы.

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

Приемы улучшения бизнес-процесса

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

Прием 1. Введение адаптивного управления планом выпуска партии продукции. Для управления планом выпуска введем пороговое значение, по достижении которого можно либо уменьшить выпуск продукции, либо увеличить. Решения об адаптации будем | принимать в узле 13 term. До введения адап-| тивного управления он выглядел бы так:

s

^ top

g agent

ju supply (15, add, Set);

Ц place;.

g В модель введены две переменные:

2 long Bound — пороговое значение;

! long Flag — флаг адаптации (рабочая

§ переменная), который может иметь разные

§ значения, например:

g 1 — если период выпуска очередной

партии совпадает с регламентным T_work

! (14 дней);

0 о

§. 3 — если период выпуска очередной

§ партии в 3 раза больше регламентного

1 (42 дня).

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

Алгоритм адаптации плана в терминах C/ C++ записывается так:

top

agent

{

supply (15, add, Set);

if

{

customize (1, none, norm, 3.0*T_work, zero, zero, 2);

Flag = 3;

}

else if (addr [15] ->rsal < Bound && Flag

== 3)

{

customize (1, none, norm, T_work, zero,

zero, 2);

Flag = 1;

}

}

place;.

Это означает, что после отправки на склад производится анализ состояния склада и периода выпуска очередной партии. Если на складе продукции стало больше, чем указано в переменной Bound, а Flag =1, то период выпуска очередной партии увеличивается в 3 раза (3.0*T_work), и значение устанавливается равным 3. Но когда на складе продукции станет меньше, чем указано в переменной Bound, а Flag =3, то устанавливается регламентный период выпуска T_work, а значение Flag — равным 1.

Установим граничную величину Bound = = 12 000, т. е. не более 10 партий готовой продукции могут быть на складе. Возможно, это не самое лучшее значение, однако, после моделирования получаем, что средний интервал планирования будет равен не 14 или 42 дням, а 35. Другие результаты также получились довольно обнадеживающими:

1) среднее время задержек платежей составляет 3 дня, причем максимальная задержка величиной 11 дней была только один раз в 1-м квартале первого года работы компании;

№ 1 (25) 2010

2) состояние расчетного счета после двух лет работы стало лучше (остаток 319 360.00 евро, т. е. почти в 34 раза лучше первоначального, а дефицита средств нет);

3) на складе нереализованный остаток составляет 10 358 шт. (это в 5 раз меньше первоначального результата);

4) загрузка двух производственных линий величиной 0,125 говорит о том, что они ежедневно заняты 3 ч, т. е. длительность рабочей недели составляет 21 ч. Это означает, что 1 линию можно освободить для выпуска другой продукции. После этого для оставшейся линии получится 42-часовая рабочая неделя, и можно будет планировать 8-часовой рабочий день с учетом выходных.

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

Прием 2. Применяем маркетинговые действия. Маркетологи после исследования рынка определили, что продукция имеет значительную эластичность по спросу: снижение цены за 1 шт. на 10 евро увеличит спрос и гарантированно снизит средний интервал обращения покупателей за продукцией не менее чем на 2 дня. Поэтому устанавливаем цену в 70 евро за 1 шт. и вводим новое значение интервала обращения покупателей — 5 дней.

После моделирования получим, что средний интервал планирования будет равен 36 дням. Другие результаты оказались лучше:

1) среднее время задержек платежей составляет менее 2 дней, причем максимальная задержка величиной 6 дней была только один раз в 1-м квартале первого года работы компании;

2) состояние расчетного счета после двух лет работы стало лучше (остаток 385 050.00 евро, т. е. в 41 раз лучше первоначального результата, и дефицита средств нет);

3) на складе нереализованный оста- | ток составляет 8385 шт. (это уже в 6,4 раза г§ меньше первоначального результата); ¿g

4) планируется 8-часовая рабочая смена ^ при одной рабочей линии выпуска продук- ^ ции.

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

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

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

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

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

Другие примеры

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

1. Модель управления клиринговыми процессами в кредитных организациях.

№ 1 (25) 2010

2. Модель управления портфелями ипотечных кредитов в условиях внезапных изменений кредитной политики.

3. Управление размещением предприятий сферы услуг на основе моделирования региональных факторов.

4. Модель управления процессами рефинансирования нефтяной подотрасли.

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

6. Имитационное моделирование конкурентных действий.

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

Система Actor Pilgrim имеет свойство «мультиподхода» к созданию сложных имитационных моделей. Например, если имеются выверенные (или откалиброванные) под-I модели системной динамики, которые можно I представить дифференциальными или раз-Si ностными уравнениями, то самым удачным I решением будет сборка комбинированной su модели, имеющей дискретные имитационные Ц подмодели и подмодели системной динами-g ки. Actor Pilgrim обеспечивает автоматиче-« ские стыковки по временам всех подмоделей в смысле единого виртуального времени.

ta о

& Список литературы

§

§ 1. Анфилатов В. С., Емельянов А. А., Кукушкин А. А.

щ Системный анализ в управлении / Под ред.

0

g А. А. Емельянова. М.: Финансы и статистика,

1 2006. — 368 с.

§ 2. Девятков В. В., Кобелев Н. Б., Емельянов А. А., По-

5 ловников В. А, Плотников А. М. Имитационное мо-

делирование как основной способ поддержки принятия решений в современном мире. Об организации имитационных исследований в России // Третья Всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности «Имитационное моделирование. Теория и практика». СПб.: Санкт-Петербург, ЦНИИ ТС. 2007. Т. 1. С. 37-47.

3. Емельянов А. А. Имитационное моделирование в управлении рисками. СПб.: Инжэкон, 2000. — 376 с.

4. Емельянов А. А, Новикова Н. Г., Емельянова Н. З. Управление размещением предприятий сферы услуг на основе моделирования региональных факторов. М.: МАКС Пресс, 2004. — 110 с.

5. Емельянов А. А. Симуляторы GPSS World и Actor Pilgrim: экономика и массовое обслуживание // Прикладная информатика. 2007. № 3 (9). С. 73-103.

6. Емельянов А. А, Власова Е. А., Прокимнов Н. Н. Современное интеллигентное моделирование: модели-трансформеры экономических процессов // Современные проблемы прикладной информатики. СПб.: Инжэкон, 2008. С. 42-50.

7. Емельянов А. А, Власова Е. А. Имитационное моделирование экономических процессов // Четвертая Всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности «Имитационное моделирование. Теория и практика». СПб.: Санкт-Петербург, ЦТСС. 2009. Т. 1. С. 19-26.

8. Емельянов А. А, Власова Е. А, Дума Р. В., Емельянова Н. З. Компьютерная имитация экономических процессов / Под ред. А. А. Емельянова. М.: Маркет ДС, 2010. — 464 с.

9. Карпов Ю. Г. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. СПб.: БХВ-Петербург, 2005. — 400 с.

10. Рубин Ю. Б. Постановка задач имитационного тактического моделирования наступательных конкурентных действий // Прикладная информатика. 2006. № 3. С. 84-112.

11. Рубин Ю. Б. Постановка задач имитационного моделирования тактических защитных конкурентных действий // Прикладная информатика. 2008. №1 (13). С. 96-124.

12. Encyclopaedia Britannica. UK: London, 1974, 15 issue, 30 volumes (Британская энциклопедия, 15-е изд. В 30 т.).