Научная статья на тему 'Концепция структурного развития имитационных моделей экономических процессов'

Концепция структурного развития имитационных моделей экономических процессов Текст научной статьи по специальности «Математика»

CC BY
181
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Journal of new economy
ВАК
Область наук

Аннотация научной статьи по математике, автор научной работы — Емельянов Александр Анатольевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Концепция структурного развития имитационных моделей экономических процессов»

Александр Анатольевич Емельянов

Кандидат технических наук, доцент, заведующий кафедрой общей экономической теории систем и системного анализа Московского государственного университета экономики, статистики и информатики

КОНЦЕПЦИЯ СТРУКТУРНОГО РАЗВИТИЯ ИМИТАЦИОННЫХ МОДЕЛЕЙ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ

Введение

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

Показатель несовершенства и сроки отладки имитационной модели

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

- 20. В начальный момент все эти узлы считаем непроверенными или неотлаженными.

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

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

Проанализировав все выходные данные, разработчик приходит к решению внести исправления в R1 узлов. Некоторые из узлов действительно

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

Введем обозначение:

Я 1

ж1 = — < 1.

1 во

После первой попытки неотлаженными будут в1 = в0Л1 = Я1 узлов. После этих Я1 исправлений разработчик заново пытается испытать модель (попытка / = 2). Проанализировав полученные результаты, он приходит у выводу, что необходимо модернизировать или исправить еще Я2 узлов. Если обозначить

я2 ,

ж2 = — < 1,

2 я

то среди в0 узлов число неиспытанных или неправильно работающих узлов

равно в2 = во^1^2 = Я2 .

После попытки с номером k делается вывод об изменении или модернизации Як узлов. Число неотлаженных операторов определим отношением

k

в = вк-1^к = во , (1)

1=1

Я я

где Ж1 = —L < 1 и ж у = —— < 1 при k = 2, 3, ...

в0 Я1-1

Введем в рассмотрение среднее геометрическое Рк набора чисел %1, Ж2, ..., гк :

рк = к^...Жк . (2)

Тогда формулу (1) можно привести к виду

вк=в0 рк.

Назовем «показателем несовершенства» разработанной имитационной модели предел Р = Нт Рк при к^<х> .

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

При практической оценке Рк трудно помнить все значения

ж1, ж2, ..., жк. Поэтому формулу (2) удобнее привести к виду

рк=4Р>к. (3)

Оценим номер последней попытки / (после попытки с номером к), после которой останется исправить или модернизировать последний узел модели. В результате такой оценки неявно определяется срок создания рабочей версии. Справедливы два очевидных замечания: нас интересует только оценка вида / > к ;

на самом деле попытка с номером / может быть далеко не последней. Можно записать соотношение

а = в0р=влл+2...^ * вкргк=1

Таким образом, если разработчик принял решение внести Як

изменений или исправлений после к-й попытки испытать модель, то ему остается еще примерно т = / - к заходов для устранения последней ошибки, причем т определяется по формуле

т * -

18 Як 18 Рк’

где р - это оценка показателя несовершенства, определяемая после каждой попытки по формуле (3).

Эволюция имитационной модели

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

В процессе эксплуатации в различных условиях или в разных фирмах (организациях) модель подвергается следующим изменениям: включению, удалению и модернизации отдельных узлов;

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

описанию новых условий функционирования и уточнению ранее включенных условий;

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

Анализ жизненного цикла имитационных моделей, создаваемых для различных целей с помощью моделирующих пакетов GPSS и Pilgrim, а также сложного программного обеспечения ЭВМ на протяжении значительного периода времени (более чем за 10 лет) позволил сформулировать три основных закона их эволюции [1, 2].

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

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

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

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

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

К основным параметрам модели можно отнести:

количество узлов в модели;

число различных ресурсов в модели и мощности этих ресурсов;

запросы модели (при ее выполнении) на вычислительные мощности ЭВМ (время центрального процессора, объемы основной и внешней памяти и т.д.).

Введем определение. Имитатором будем называть такую имитационную модель, которая использует все возможности моделирующего пакета. Практическое назначение такой модели представить трудно. Однако можно догадаться, что имитатор - это фактически ядро системы имитационного моделирования, например моделирующего пакета Pilgrim [3]. Рассмотрим некий единый «организм», состоящий из двух компонент: метасистемы - организации, которая разрабатывает и сопровождает эксплуатацию моделей конечными пользователями на местах, занимается приспособлением ее к новым условиям и выпускает новые версии; имитатора.

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

Имитационные модели, создаваемые с помощью моделирующего пакета Pilgrim, - это программные комплексы, которые по количеству модулей, выполняемым диспетчерским функциям и сложности сравнимы с операционными системами. Поэтому справедливость и характер проявления законов эволюции имитатора можно показывать в сравнении с такими классическими комплексами, как OS/360 или Unix, по которым имеются опубликованные статистические данные. В работе [2] приведены статистические данные по 21 версии OS/360, с которыми мы проведем соответствующие численные сравнения.

За прошедшие годы количество пользователей пакета Pilgrim увеличивалось, а сам он подвергался многочисленным изменениям. Были выпущены четыре версии пакета, ориентированные на широкий круг пользователей.

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

Размер программного комплекса с учетом его сложности удобно измерять одним из двух способов:

количеством операторов языка C++ (включая описания ресурсов и определения глобальных переменных и функций в h-файлах);

количеством модулей (особенно в комплексах, разработанных на базе ассемблера, как OS/360, или на основе совокупности разнотипных языков программирования).

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

Мерой активности имитатора за временной интервал IR является величина MHR, равная количеству операторов (или модулей), которые были задействованы в моделях хотя бы один раз. Интервал IR - это отрезок времени (дни) между выпуском двух версий с номерами Rel = Q - 1 и Rel = Q.

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

C = MHl

R MrIr-

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

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

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

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

mr = к + k2q + s + Zj,

где M - размер системы, операторы (модули);

K - число, равное 834 операторам C++ для Pilgrim (760 модулям для OS/360);

К2 - число, равное 2083 операторам C++ для Pilgrim (200 модулям

для OS/360);

Q - конкретное значение номера версии;

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

£ - стохастический фон, налагаемый на процесс развития.

МЯ 10000

7500 5000 2500

0 1 2 3 4 Яе!

тЯ 4000

3000 2000 1000

0 1 2 3 4 Яе1

С 1,00 10-3 день-1

0,75 0,50 0,25

б)

/

■у У"

у

а)

800 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

э

3

э э

С С(л Л ' \и V

С V

С... (гг >:-б' " Т '= з 1

ь. >5

0 1 2 3 4 Яе!

в)

Рис. 1. Основные закономерности развития имитатора:

а - изменение размеров имитатора; б - приращение размеров имитатора; в - рост сложности

На рис. 1,б показана зависимость приращения размера имитатора. Основная часть этой зависимости укладывается в полосу шириной 800 операторов C++ для Pilgrim (для OS/360 - 300 модулей). Существенный выход за этот диапазон (отмечен цифрой 1), например, отражает плохое качество предыдущей версии, ориентированной на применение имитатора в морально устаревших операционных системах, из-за чего пришлось выпустить принципиально новую версию, ориентированную на Windows 98/NT.

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

Эта зависимость показывает справедливость первого закона - постоянного изменения программного комплекса. Аналитическое выражение, полученное для нее с помощью метода наименьших квадратов, имеет вид

AMR = K2 + S2 + Z2,

где ДМ - приращение размеров комплекса на версию;

К2 - постоянная составляющая, равная 2083 операторам C++ для

Pilgrim (200 модулям для 0S/360);

- циклическая составляющая процесса;

S2

Z

стохастическая составляющая процесса.

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

Cr = K3 + K Q2 + S3 + Z3,

где Cr - сложность системы (день1);

K - постоянная составляющая процесса, равная 0,000228 для

3 Pilgrim (0,14 для 0S/360);

K - коэффициент, равный 0,047 для Pilgrim (0,0012 для 0S/360);

Q - конкретное значение номера версии;

S - циклическая составляющая процесса;

Z - стохастическая составляющая процесса.

Приведенная формула наглядно иллюстрирует справедливость третьего закона эволюции.

Модель процесса разработки и модернизации имитационной модели

Рассмотрим процесс структуризации и появления новых уровней в схеме модели. Предположим, что в какой-то начальный момент времени модель состоит из одного «черного ящика», который удалось разложить на R01 процессов. В результате построена одноуровневая схема, в которой содержится R01 узлов. Присвоим этому начальному состоянию индекс i = 1.

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

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

реорганизация моделируемого объекта экономики;

добавление и замена узлов модели для улучшения ее свойств;

изменение требований к модели со стороны конечных пользователей;

качественное изменение состава задач, решаемых с помощью модели.

Рассмотрим процесс структурных изменений модели во времени. Для простоты обозначим его термином «эволюция». Во многих случаях эволюция объясняется постоянным стремлением рабочей группы изменить структуру модели для улучшения ее свойств.

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

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

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

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

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

3. Некоторые причины изменений упорядочены: чтобы устранить дефект, связанный с одной причиной, нужно зарегистрировать другой дефект, связанный с другой причиной, и устранить его. Таким образом, наблюдается «многослойное» расположение причин и, соответственно, узлов в объекте. Поэтому можно сделать вывод: видимое удобство многослойной структуры модели - это следствие борьбы с дефектами.

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

Рассмотрим процесс эволюции модели в случае, когда деятельность рабочей группы не ограничена ее «бюджетом» - человеческими и финансовыми возможностями. За интервал времени (■, ■ + 1) в модели происходят следующие элементарные изменения (рис. 2,а): удаляется количество Е узлов, и в модель вводится G новых узлов. Новые узлы могут стать источниками дефектов, обусловленных несовершенством рабочей группы.

Таким образом, к моменту ■ + 1 в модели имеются узлы, количество которых определяется R оставшимися и G новыми. Интервалом времени удобнее всего считать период, ограниченный:

1) моментом принятия решения об изменении объекта;

2) моментом анализа проделанной работы.

Эволюция приводит к тому, что в модели происходит счетное множество подобных элементарных явлений, которое изображено на рис. 2,б в виде дерева переходов. Вершины дерева - это элементарные состояния объекта, связанные переходами. Для каждой из вершин справедливо балансное равенство

^■-1, у-1 + ^-1,у - Еу + ^, (4)

где ■ - номер элементарного интервала времени;

у - номер структурного слоя расположения узлов модели.

Смысл соотношения очевиден: из общего числа узлов, которые имеются в модели по истечении интервала ■ - 1, часть их общим числом Еу

будет удалена из объекта к моменту истечения интервала ■.

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

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

2. Исключение узла на уровне у - 1 не приводит к цепному исключению узлов на уровнях у; у + 1 и т.д. Просто обращения к узлам, детализирующим процессы на этих нижних уровнях, будут происходить с более высоких слоев.

а)

Рис. 2. Процесс послойного агрегирования структурной схемы

имитационном модели:

а - элементарный интервал (^, ^ +^ жизненного цикла структурной модели; б - сетевой процесс структурного анализа В каждом элементарном состоянии рабочая группа создает Оу новых

узлов. Их число связано с количеством оставшихся на каждом интервале узлов следующим образом.

При реализации конкретного проекта совокупность «рабочая группа -модель» можно охарактеризовать интегральным показателем Р -способностью удалить в среднем долю Р из общего числа узлов ^-1 . Тогда

в каждом случае может появиться примерно следующее число узлов:

О-,„,-,+ ™.-.,у - ^,0 < Р <1 (5)

Иначе говоря, отношение количества устраненных узлов к числу оставшихся примерно постоянно и определяется одним из способов: либо из соотношения (7) при О—1 у-1;

либо соотношением, полученным вычитанием из формулы (4) равенства (5):

Е..

Р - 1 — и

Д-1,у

Если внимательно проанализировать закономерности переходов в дереве, то можно заметить, что к началу интервала г = 1 в объекте было R01

узлов. Далее стало R11 + О11 узлов с общим числом R01P. Если для

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

Г - R0Pi, (6)

г 01 ’

где г - число узлов на всех уровнях к моменту завершения интервала ■;

R01 - начальное число узлов;

Р - интегральный показатель.

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

г , +1 - г.

г-1 г

Тогда, используя соотношение (6), запишем

V-1 +1 - КР-,

откуда получим соотношения для получения гж и самого нижнего уровня Jж '

■ ! 1е[^01 (1 - Р)]

■ж-1 0£Р ’

у'ж - -ж, пРи условия К(1 - Р) >1

(7)

Заметим, что величина Я01 иногда неизвестна, а известно лишь то число узлов г, которое имеется в объекте в рассматриваемый момент времени г. И в этом случае соотношение (7) справедливо, если г1 поставить вместо Я01 и заново начать отсчет моментов с - = 1, а слой у объявить слоем

номер 1. Этот прием справедлив только при допущении формулы (5) и удобен для корректировки ранее сделанных прогнозов.

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

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

На полученных экспериментально кривых (см. рис. 1,в) мы видим, что даже при уменьшении количества дефектных узлов (Е > О) сложность модели монотонно увеличивается. Одной из причин этого является увеличение степени неоднородности слоев модели: наряду с дефектами, локализованными в течение первого интервала времени (г = 1), появляются дефекты в узлах, вставленных в более поздние моменты времени на различных уровнях структурной схемы. Устранение этих дефектов приводит к новым изменениям модели.

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

С - /(г) - 2О‘,

где О, -ЁО,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

у-1

г - номер временного интервала.

16

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

C ~ 2°‘~DAL

r 5

где DAL означает «документальность», «доступность» и «познаваемость» [2]. Приведенная формула является только качественной зависимостью, но она хорошо согласуется с рассмотренной ранее моделью распространения ошибок. В реальной жизни она гораздо сложнее. Росту сложности, например, способствует разбросанность группы разработчиков по регионам страны (или по нескольким странам). Однако рассмотренная модель распространения ошибок позволяет количественно ответить на ряд вопросов.

Модель управленческих решений в рабочей группе

Модель управленческих решений в рабочей группе базируется на следующих допущениях. Бюджетом 5(0 мы назовем некую величину, ограничивающую активность группы. Рабочая группа имеет конечный состав Н (экономисты-математики и руководитель), конечные финансовые возможности

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

Часть бюджета величиной F(t) тратится на прогрессивные действия по выпуску и модернизации модели, т.е. на полезную деятельность, которая в итоге выражается в создании Е узлов имитационной модели в единицу времени. Другая часть бюджета величиной А(0 отводится на активизирующие действия, связанные с деятельностью внутри группы (документирование, руководство исполнителями, отработка взаимосвязей и соглашений между членами группы, обучение новым методам). Пренебрежение составляющей А(0 со стороны руководителя приводит к появлению дополнительных требований по борьбе с постоянно возрастающей сложностью. Модель при этом будет намного сложнее, чем могла бы быть. Стоимость дополнительных работ, обусловленных некомпетентностью руководителей, ошибками в проекте или невнимательностью экономистов-математиков, обозначим через D(t). Затраты D(t) идут исключительно на увеличение сложности имитационной модели. С другой стороны, приращивать беспредельно величину А(0 тоже нельзя, так как это пойдет во вред составляющей F(t), затрачиваемой на разработку и постоянную модернизацию имитационной модели.

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

1) распределение Н исполнителей по различным работам;

2) распределение усилий рабочей группы между работами типа F и А.

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

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

г).

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

Рассмотрим величину k , которая показывает, какую часть усилий А необходимо тратить на активизацию полезной деятельности F, если считать управленческие действия идеальными, т.е. D(t) = 0. Допустим, что в этом случае

k - АО.

F и)

Введем коэффициент качества управления М((), который показывает, какая часть расходов А(0 пошла на управленческие действия, 0 < М(0 < 1 (чем меньше М(0, тем больше D(t)).

В любой момент времени общий расход бюджета определяется формулой

Б^) - F(0 + А^) + ).

Активизирующие действия определяются соотношением

А - М^^^), (8)

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

гж

СА -|[1 -М^)] kF^)Л, (9)

0

где М(^) = 0, Са( tж = 0) = 0 18

Попытаемся связать неопределенную величину - коэффициент качества управления M(t) в формуле (9) с количеством узлов, на которое увеличилась имитационная модель в процессе эволюции. Допустим, что к моменту времени t в составе модели имеется R(t) узлов.

С помощью приведенных выше методов можно определить, сколько человеко-дней рабочей группы в среднем израсходовано на один оставшийся узел. Если это количество отнести к средней длине интервала i, то получим величину X - трудозатраты на один узел в единицу времени. Таким образом, XR(t) людей из общего числа H выполняют «полезную» работу, а остальные H - XR(t) только увеличивают сложность (!?). Обозначим через Е = Ht трудозатраты (человеко-дни), которые сделаны к моменту t за все время работ.

В связи с постоянным ростом сложности (D(t) = const) руководители проекта часто сталкиваются с необходимостью увеличить активизирующие действия. Можно записать примерное равенство, учитывающее соотношение (8):

С помощью тех же методов можно определить, сколько в рабочей группе создано узлов из числа R(t) за 1 человеко-день (к моменту ґ). Обозначим это количество через Y и запишем равенство: R(t) = YН. Если считать, что величины k, !и Y медленно меняются во времени, то после интегрирования получим

где t измеряется номерами интервалов времени, т.е. t = 1, 2, ...i, ..., аXY< 1.

Заключение

Критерием, которым может пользоваться руководитель рабочей группы при очередном распределении сил, может быть ухудшение СА, определяемое с помощью формул (9) и (10). Необходимо так пользоваться бюджетом, чтобы рост CA во времени был минимальным. Формула (10) справедлива при конечных значениях t, так как при t ^ да сложность неограниченно увеличивается, поэтому XY ^ 1, а формула (10) теряет практический смысл. Рассмотренные выше методы разработаны и использованы при создании и развитии системы Pilgrim [3] и моделей экономических процессов, создаваемых с помощью этой системы.

(10)

Литература

1. Емельянов А.А. Разработка программных комплексов для ЭВМ Единой системы. М.: ЦНИИатоминформ, 1979.

2. Belady L.A., Lehman M.M. A model of a large program development // IBM Systems Journal. 1976. V. 15. P. 225-252.

3. Емельянов А.А. Концепция и возможности системы имитационного моделирования Pilgrim для решения экономических задач и риск-менеджмента // Реинжиниринг бизнес-процессов на основе современных информационных технологий: Матер. 2-й Рос. науч.-практ. конф. М.: МЭСИ, 1998.

С. 222-225

i Надоели баннеры? Вы всегда можете отключить рекламу.