You are on page 1of 76

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТРАНСПОРТА БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТРАНСПОРТА

Кафедра «ПРИКЛАДНАЯ МАТЕМАТИКА» Кафедра «ПРИКЛАДНАЯ МАТЕМАТИКА»

И. В. МАКСИМЕЙ, В. Д. ЛЕВЧУК, И. В. МАКСИМЕЙ, В. Д. ЛЕВЧУК,


С. П. ЖОГАЛЬ, В. Н. ПОДОБЕДОВ С. П. ЖОГАЛЬ, В. Н. ПОДОБЕДОВ

ЗАДАЧИ И МОДЕЛИ ЗАДАЧИ И МОДЕЛИ


ИССЛЕДОВАНИЯ ОПЕРАЦИЙ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ
Часть 3 Часть 3

Технология имитации на ЭВМ Технология имитации на ЭВМ


и принятие решений и принятие решений

Допущено Министерством образования Республики Беларусь


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

Под общей редакцией профессора И. В. Максимея

Гомель 1999 Гомель 1999


УДК 519.85 (075.8)
З-153

З-153 Задачи и модели исследования операций. Ч. 3. Технология имита-


ции на ЭВМ и принятие решений: Уч. пособие / И. В. Максимей,
В. Д. Левчук, С. П. Жогаль, В. Н. Подобедов – Гомель: БелГУТ,
1999. – 150 с.
ISBN 985-6550-10-6
Учебное издание
Содержатся технологии организации имитационного эксперимента (ИЭ) на ЭВМ и
элементы теории принятия решений. Описываются основные операции и способы ав- Иван Васильевич М а к с и м е й
томатизации ИЭ на ЭВМ. Для ускорения моделирования трудоёмких этапов ИЭ пред-
лагается описание системы моделирования MICIC. Для эффективного использования
Виктор Дмитриевич Л е в ч у к
результатов ИЭ приведены типовые методики принятия решений. Приведён ряд типо- Сергей Петрович Ж о г а л ь
вых примеров построения моделей и методик применения средств автоматизации ИЭ. Владимир Николаевич П о д о б е д о в
Предназначено для студентов и аспирантов инженерно-технических специально-
стей высших учебных заведений. ЗАДАЧИ И МОДЕЛИ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ
Часть 3. Технология имитации на ЭВМ и принятие решений

Р е ц е н з е н т ы : кафедра «Прикладная математика» Национальной Учебное пособие


политехнической академии Украины «Киевский поли- Редактор Н . А . Д а ш к е в и ч
технический институт»; Технический редактор Т . А . П у г а ч
докт. техн. наук профессор Белорусского государствен- Корректор И . И . Э в е н т о в
ного университета О. М. Тихоненко; Компьютерный набор и вёрстка кафедры «Прикладная математика»
проректор БелГУТа докт. техн. наук профессор
В. Я. Негрей. Подписано в печать 04.09.99.
Формат бумаги 60 × 84 1/16. Бумага писчая № 1. Гарнитура Таймс.
Печать офсетная. Усл. печ. л. 8,84. Уч.-изд. л. 9,68. Тираж 200 экз.
Зак. № 1861. Изд. № 3084

Редакционно-издательский отдел БелГУТа,


246653, г. Гомель, ул. Кирова, 34. Лицензия ЛВ № 57 от 22.10.97.

Ризограф типографии БелГУТа,


246022, г. Гомель, ул. Кирова, 34. Лицензия ЛП № 75 от 12.03.93.

© И. В. Максимей, В. Д. Левчук,
ISBN 985-6550-10-6 С. П. Жогаль, В. Н. Подобедов, 1999.
двух частях данного пособия. Поэтому овладение студентами методиками
анализа ситуаций выбора решений и знакомство с типовыми алгоритмами
векторной оптимизации является основным условием успешного овладения
материала курса «Исследование операций».
Завершается пособие рассмотрением типовых примеров построения и
использования предложенных средств автоматизации ИЭ и методик их при-
менения. Вначале студентам предлагается пример реализации управляющей
программы имитации на языке С. Затем иллюстрируется технология разра-
ВВЕДЕНИЕ ботки ИМ СТС на примере моделирования процессов обслуживания пасса-
В данной части учебного пособия «Задачи и модели исследования опера- жиров в метрополитене, состоящем из двух линий.
ций» изложена технология организации имитационного эксперимента на После завершения программирования ИМ метрополитена предлагается
ЭВМ и элементы теории принятия решений. Последовательно излагаются ряд заданий для испытания и исследования свойств ИМ. Затем студентам
предпосылки и необходимость построения имитационных моделей (ИМ). предлагается, используя классические методики, построить типовые планы
Обсуждаются достоинства и недостатки имитационного метода исследова- эксперимента на ЭВМ для нахождения регрессионной зависимости между
ния на ЭВМ сложных технических систем (СТС). Вводится оригинальная откликом и параметрами модели. Вторым важным аспектом использования
трактовка квазипараллелизма в ИМ на ЭВМ. Даётся понятие о модельном ИМ метрополитена является пример принятия решений по результатам ИЭ.
времени и о наиболее употребительных способах организации квазипарал- Предложен ряд заданий, которые можно использовать при выполнении ла-
лелизма при имитации процессов в СТС. Даётся перечень основных опера- бораторных работ курса ИСО из раздела «Задачи и методы принятия реше-
ций на всех этапах имитационного эксперимента (ИЭ) на ЭВМ. Рассмотрены ний».
возможные способы автоматизации трудоёмких этапов ИЭ.
После того как ИМ создана, её необходимо испытать и исследовать свой-
ства модели. Предложены простейшие типовые процедуры верификации
алгоритма ИМ. Приведены типовые методики оценки точности, чувстви-
тельности и устойчивости ИМ. Изложен простейший алгоритм проверки
адекватности ИМ реальному объекту. Поскольку авторами выпущено посо-
бие по основам регрессионного анализа данных и планированию экспери-
ментов на ЭВМ, традиционные вопросы постановки экспериментов с моде-
лями СТС не рассматриваются. Вместо этого авторы сосредоточили основ-
ное внимание на таких технологических аспектах ИЭ, как определение тре-
буемого размера выборки при планировании ИЭ; определение интервалов
изменения параметров модели и исключение ошибок моделирования; осо-
бенности эксплуатации вероятностных моделей СТС.
Для ускорения трудоёмких этапов разработки ИМ для ПЭВМ предлага-
ется использовать систему моделирования (СМ) MICIC. Описаны: состав и
структура СМ; операторы языка моделирования; технология диалогового
взаимодействия исследователя с СМ MICIC. Изложены типовые возможно-
сти и средства интерфейса пользователя с СM MICIC для представления ре-
зультатов имитации. В ходе серии ИЭ исследователь получает большой объ-
ём информации, которая зачастую противоречива и разнопланова. Чтобы
оперативно и эффективно использовать результаты ИЭ, предлагается ряд
методик принятия решений. Эти методики пригодны и при аналитическом
моделировании СТС с помощью моделей задач ИСО, изложенных в первых

3 4
5. Когда необходимо контролировать протекание процессов в СТС путём
1. ИМИТАЦИОННЫЕ МОДЕЛИ замедления или ускорения явлений в ходе имитации их на ЭВМ.
СЛОЖНЫХТЕХНИЧЕСКИХ СИСТЕМ 6. При подготовке специалистов и освоении новой техники, когда на ИМ
обеспечивается возможность приобретения новых навыков в эксплуатации
этой техники.
1.1. Когда и в каких случаях переходят к имитации 7. Когда изучаются новые ситуации в СТС, о которых мало что известно
процессов в СТС или неизвестно ничего. В этом случае имитация служит для предваритель-
Реальные сложные технические системы (СТС) можно исследовать с ной проверки новых стратегий и правил принятия решений перед проведе-
помощью двух типов моделей: аналитических и имитационных. В предыду- нием экспериментов на реальной СТС.
щих частях данного пособия были рассмотрены наиболее типовые классы 8. Если особое значение имеет последовательность событий в проекти-
аналитических моделей СТС, когда поведение СТС записывается в виде не- руемой СТС и модель используется для предсказания узких мест в функцио-
которых функциональных соотношений или логических условий. Приведён- нировании СТС и других трудностей, появляющихся в поведении СТС при
ные ранее классы детерминированных и вероятностных аналитических мо- введении в неё новых компонентов.
делей позволяют оценить возможности аналитического подхода к исследо- Однако ИМ наряду с характерными для них достоинствами имеют ряд
ванию СТС. Рассмотренный нами математический аппарат позволяет опера- существенных недостатков. Разработка хорошей ИМ часто обходится доро-
тивным образом исследовать процессы в СТС. же создания аналитической модели и требует больших затрат времени. Ино-
Когда явления в СТС настолько сложны и многообразны, что аналитиче- гда может показаться, что ИМ точно отражает реальное положение дел в
ские модели становятся слишком грубым приближением к действительно- СТС, а в действительности это не так. ИМ в принципе может быть неточна,
сти, то исследователь вынужден использовать имитацию этих явлений. В и невозможно измерить степень этой неточности. Из достоинств имитации
любой имитационной модели (ИМ) поведение компонентов СТС описывает- можно выделить: возможность описания поведения компонентов СТС на
ся набором алгоритмов, которые затем реализуют ситуации, возникающие в высоком уровне детализации; отсутствие ограничений на вид зависимостей
реальной СТС. Моделирующие алгоритмы позволяют по исходным данным, между параметрами ИМ и состоянием внешней среды СТС; возможность
содержащим сведения о начальном состоянии СТС, и фактическим значени- комплексных исследований динамики взаимодействия компонентов СТС во
ям параметров СТС отобразить реальные процессы и получить сведения о времени и пространстве параметров СТС. Указанные достоинства обеспечи-
возможном поведении СТС для данной конкретной ситуации. На основании вают имитационному методу широкую перспективу распространения.
этой информации можно принять соответствующие решения. Как известно,
предсказательные возможности ИМ значительно меньшие, чем аналитиче- 1.2. Понятие о модельном времени и принципы организации
ских моделей. На основании опыта имитационного моделирования авторы квазипараллелизма операций на ЭВМ
рекомендуют использовать ИМ при решении задач исследования СТС в сле-
Допустим, что СТС состоит из n компонентов (Кi, i = 1, n ), функциониро-
дующих случаях.
1. Если не существует законченной постановки задачи исследования и вание которых представляет собой последовательность функциональных
идёт процесс познания СТС, ИМ здесь служит средством изучения явлений действий (ФДij, j = 1, J ). Будем говорить, что в результате выполнения ФДij
в СТС. в СТС происходит событие Cij. Каждое из событий в реальной СТС, как пра-
2. Если аналитические методы решения подобных задач имеются, но ма- вило, связано с соответствующим компонентом Ki. При этом любое ФДij вы-
тематические процедуры столь сложны и трудоёмки, то ИМ даёт более про- полняется на некотором временном интервале τij. Для каждой Ki введём по-
стой и экономичный способ решения задачи исследования СТС. нятие локальной временной координаты ti. В любой СТС все ti изменяются
3. Когда кроме оценки влияния параметров СТС желательно осуществ- одновременно. Однако характер этих изменений различен и определяется
лять наблюдение за поведением компонентов СТС в течение определённого последовательностью временных интервалов {τij}.
периода времени. При построении ИМ СТС все ФДij аппроксимируются некоторыми уп-
4. Когда имитационное моделирование оказывается единственным спо- рощёнными функциональными действиями ФДij*. Степень этого упрощения
собом исследования СТС из-за невозможности наблюдения явлений в реаль- и определяет уровень детализации ИМ. Отличия ФДij от ФДij* порождают
ной СТС.
5 6
ошибки имитации реальной СТС. В ИМ каждое ФДij* представляется парой образом, любая ИМ описывается набором некоторых «молекул», каждая из
(ФДij*, τij), которая выполняется на ЭВМ следующим образом. Вначале реа- которых содержит в себе описание алгоритма выполнения АЛij соответст-
лизуется ФДij* при неизменном значении её временной координаты ti, а за- вующего ФДij* и оператора Mtij, осуществляющего изменение временной
тем уже отображается изменение ti на величину τij, инициируя таким образом координаты ti на величину τij. Пару (АЛij, Mtij) обычно называют ij-й актив-
появление в ИМ СТС события Cij. ностью ИМ и обозначают АКij. Любая ij-я активность представляет собой
На рис. 1.1 представлен пример развития действий компонента Ki в сис- запись поведения компонента Ki ИМ СТС. Реализация этой активности в ИМ
теме координат (ФДij*, ti). Конечно, подобная система координат носит ус- приводит к появлению в ИМ СТС события Cij.
ловный характер, поскольку по оси ординат нельзя отложить «значение» Если бы на ЭВМ имитировалось поведение только одного компонента
аппроксимированного функционального действия ФДij*. Каждое следующее системы Ki, то выполнение активностей в ИМ можно было бы осуществить
ФДij* может иметь различную физическую природу. Поэтому подобное строго последовательно и имитация свелась бы к пересчету временной коор-
представление используется только для отображения того факта, что с изме- динаты ti после очередного выполнения алгоритма АЛij. В действительности
нением временной координаты ti некоторая Ki выполняет несколько различ- СТС состоит из нескольких компонентов Ki. Все эти компоненты Ki в реаль-
ных ФДij. Так, согласно рис 1.1 Ki последовательно выполняет ФДi1, ФДi2, ной СТС функционируют одновременно. Это должна отражать ИМ. В боль-
ФДi3, а в СТС соответственно происходят события Сi1, Сi2, Сi3. Причём, с шинстве современных ЭВМ в каждый момент времени может реализоваться
появлением каждого нового события Cij происходит изменение ФДij и уве- алгоритм только одной активности одной из компонент ИМ СТС.
личение временной координаты ti соответственно на величины τi1, τi2, τi3. Чтобы обеспечить имитацию на ЭВМ параллельных событий реальной
На рис. 1.1 появление в СТС, вводят некоторую глобальную переменную t0, которую называют мо-
Ki реальной СТС событий дельным (системным) временем. С помощью этой переменной организуются
Cij при выполнении ФДij синхронизация всех событий Cij в ИМ и выполнение алгоритмов АЛij компо-
показано штрихпунктирной нентов Ki ИМ СТС. Таким образом, при реализации ИМ используются три
линией. В ИМ СТС появле- представления времени: реальное время СТС tr, работа которой имитируется
ние событий Cij реализуется данной ИМ, модельное время t0, по которому организуется синхронизация
ступенчатой линией (0, a, событий Cij в ИМ СТС; машинное время имитации tЭ, отражающее затраты
Ci1, b, Ci2, d, Ci3). Это озна- ресурса времени ЭВМ на организацию имитации.
чает, что вначале выполня- С помощью модельного времени t0 реализуется квазипараллельная работа
ется ФДij* при неизменном компонентов Ki в ИМ. Приставка «квази» в данном случае отражает после-
ti, а затем уже отображается довательный характер обслуживания событий в ИМ, одновременно возни-
изменение ti на величину τij, кающих в разных компонентах реальной СТС. Корректировка временных
инициируя появление со- координат ti нескольких Ki в ИМ осуществляется с помощью модельного
бытия Cij. Затем реализует- времени t0 следующим образом. Если значения ti при выполнении АЛij не-
ся на ЭВМ ФДij* при неиз- скольких Ki совпадают (это означает, что в реальной СТС происходит одно-
Рис. 1.1. Пример аппроксимации функциональных
менном ti и отображается действий i-й компоненты системы Ki временно несколько событий Cij), то последовательно обслуживаются АЛij,
изменение ti на величину имитационной модели совпадающие по времени выполнения, т. е. имеющие одинаковые значения
τi2, инициируя в Ki сверше- tij. Здесь и далее под tij будем понимать конкретное значение ti, при котором
ние события Ci2. Далее в два приёма (реализация ФДi3 и последующее уве- происходит событие Cij. При этом модельное время t0 не меняется до окон-
личение ti на величину τi3) аналогичным образом инициируется событие Ci3. чания выполнения всех совпавших по времени реализации алгоритмов АЛij.
Отметим при этом, что порядок появления событий может быть другим: Таким способом последовательно выполняются соответствующие ФДij* при
сначала изменяется ti, а затем уже выполняется ФДij*. неизменном значении t0. После каждой реализации АЛij, обеспечивающей
В ИМ СТС каждое ФДij* описывается в общем случае некоторым алго- выполнение в ИМ ФДij*, работает оператор корректировки Mtij временной
ритмом АЛij. В ходе имитации происходят реализация ФДij* по соответст- координаты ti. Обычно эта корректировка сводится к вычислению нового
вующим алгоритмам АЛij и последующее изменение ti на величину τij. Таким значения tij по формуле tij = t0 + τij. Это текущее значение временной коорди-
наты ti запоминается и используется в дальнейшем для определения момента

7 8
новой активизации компонента модели Ki. Будем понимать под запуском на
выполнение следующей его активности АКij выполнение алгоритма АЛij и
оператора Mtij корректировки временной координаты ti.
Когда имитация одновременно появившихся событий Cij завершена, вы-
полнены соответствующие алгоритмы активностей АКij и проведены кор-
ректировки временных координат ti, меняется значение глобальной пере-
менной ИМ t0. Существуют два способа изменения to: с помощью фиксиро-
ванных и переменных интервалов изменения модельного времени. Обычно
их называют соответственно способами фиксированного шага и «шагов до
следующего события».
Для того чтобы легче было представить оба способа организации изме-
нения t0, рассмотрим следующий пример (рис. 1.2). Пусть СТС состоит из
трех компонентов Ki ( i = 1,3 ). Количество и последовательности переходов
Ki из состояния в состояние Cij представлены на рис. 1.2. Компонент K1 пе-
реходит четыре раза из состояния в состояние (С11, С12, С13, С14) в четыре
момента изменения ti (t11, t12, t13, t14). Между этими моментами K1 выполняет
четыре различных функциональных действия (ФД11, ФД12, ФД13, ФД14), со-
ответственно в течение четырёх интервалов времени (τ11, τ12, τ13, τ14) аппрок-
симация ФД1j осуществляется последовательностью (ФД11*, ФД12*, ФД13*,
ФД14*). Аналогичным образом К2 последовательно выполняет три функцио-
нальных действия (ФД21*, ФД22*, ФД23*) соответственно в течение трёх ин-
тервалов времени (τ2j), которые в ИМ аппроксимируются соответственно
ФД2j*. Наконец, К3 также последовательно выполняет три функциональных
действия (ФД31*, ФД32*, ФД33*) соответственно в течение трёх интервалов
времени (τ3j), аппроксимируемых в ИМ СТС соответственно тремя ФД3j*.
Отметим, что каждое ФДij* описывается соответствующим алгоритмом АЛij
и реализуется соответствующей активностью АКij. Каждая активность пред-
ставляет собой пару: алгоритм выполнения активности (АЛij) и оператор
изменения временной координаты Mti на величину (τij). Алгоритм функцио-
нирования Ki в координатах (ФДij*, ti) представлен на рис. 1.2. Итак, в ходе
выполнения активностей (АКij, τij) в ИМ СТС происходят последовательно
события Cij в порядке, указанном на рис. 1.2.
Рассмотрим имитацию событий Cij в ИМ СТС при каждом способе изме-
нении t0. При имитации по способу шагов до следующего события времена
(t0’) меняются каждый раз на величину шага ∆t (см. рис. 1.2). Тогда в момен-
ты времени 0, ∆t1, 2∆t1, 3∆t1 предполагается обслуживание тех событий, ко-
торые попадают внутрь очередного интервала времени ∆t. Считается, что
события происходят в момент изменения шага ∆t. Последовательно иниции-
руются все события, попавшие внутрь интервалов ∆t, что сводится к выпол-
нению соответствующих активностей (АЛ11, τ11), (АЛ31, τ31), (АЛ21, τ21). За- Рис. 1.2. Временная диаграмма имитационного моделирования событий
тем в момент t0’=2∆t инициируется событие S2. При этом считается, что со- в реальной системе из трех компонент

9 10
бытия C12 и C22 также происходят одновременно. Поэтому последовательно группами. Во всех остальных случаях способ задания шага до следующего
инициируются активности (АЛ12, τ12) и (АЛ22, τ22). Время t0 получает прира- события более предпочтителен (особенно, когда события Cij распределены
щение ∆t. Таким образом, точность моделирования событий Cij определяется неравномерно и появляются они через значительные временные интервалы
шагом ∆t изменения модельного времени t0, и, как правило, все события об- τij). С учётом достоинств и недостатков каждого из способов изменения t0
служиваются в точке, соответствующей верхней границе интервала измене- наметилась специализация их применения при моделировании СТС. На
ния t0’. практике наибольшее распространение получил способ шага до следующего
При имитации по способу шагов до последующего события времени t0′′ события. Поэтому в дальнейшем будем рассматривать именно этот способ
меняется в моменты ml, которые соответствуют временам tij появления собы- имитации.
тий в реальной системе. Обработка событий Cij, одновременно появляющих-
ся в реальной системе, осуществляется последовательно при неизменном 1.3. Способы организации квазипараллелизма
модельном времени t0. Например, события С12 и С22 в реальной системе про- в имитационных моделях СТС
исходят одновременно. В модели вначале реализуется, допустим, алгоритм Любая ИМ СТС представляет собой совокупность набора «молекул», от-
АЛ12 и модифицируется координата t1 на величину τ12, а затем выполняется ражающих поведение объектов имитации, и УПМ, организующих взаимо-
алгоритм АЛ22 и модифицируется координата t2 на величину τ22. Таким обра- действие этих «молекул» друг с другом. Для задания входных условий, на-
зом, t0’’ каждый раз сдвигается на величину, равную минимальному значе- чальных значений параметров и запуска ИМ в состав модели включается
нию приращения модельного времени τij, которое получают координаты ti. подпрограмма «НАЧАЛО». ИМ создаётся для изучения на основе статисти-
Независимо от способа изменения t0 механизм регламентации изменения ки процессов, протекающих в СТС. Поэтому для сбора статистики модели-
модельного времени обычно предусматривает выполнение следующих дей- рования в ИМ вводится подпрограмма « СТАТИСТИКА», которая присутст-
ствий: вует в ИМ либо в явном виде, либо она рассредоточена по всем компонентам
– выбор событий в модели, которые необходимо обслужить при одном и Ki в ИМ. Наконец, по достижении условий окончания имитации УПМ пере-
том же модельном времени t0; даёт управление на подпрограмму окончание имитации («окончание»).
– обслуживание событий (инициализация активностей), которые имеют На рис. 1.3 представлена схема перевода объекта моделирования в его
одинаковое время инициализации; имитационную модель. Из рисунка видно, что любое ФДij в ИМ описывается
– по окончании обслуживания всех одновременных (в пределах шага) со- соответствующей активностью АКij. Каждая АКij представляет собой попар-
бытий определение очередного значения модельного времени; ное сочетание описания алгоритма АЛij и оператора модификации времен-
– корректировка временной координаты модели t0; ной координаты модели Mtij. УПМ передаёт управление на начало програм-
– проверка условий окончания моделирования либо по времени заверше- мы, реализующей алгоритмы АЛij. Возврат на УПМ имеет место при выпол-
ния имитации (ТОК), либо по выполнению других событий в системе. нении оператора Mtij. УПМ и служебные подпрограммы «начало», «стати-
Все эти действия выполняет управляющая программа моделирования стика», «окончание» обычно являются универсальными и не меняются при
(УПМ). Каждое событие Cij в модели системы, являющееся результатом вы- переходе от одной модели к другой. Однако принципы их построения и спо-
полнения активности АКij, обслуживается УПМ и требует для реализации соб управления выполнением активности зависят от способа формализации
некоторого ресурса времени работы ЭВМ. Поэтому чем чаще обслуживают- СТС. Наибольшее распространение получили пять способов описания ИМ:
ся события УПМ, тем больше возрастает машинное время tЭ. С этой точки непосредственно активностями, аппаратом событий, транзактами, агрегата-
зрения способ фиксированного шага изменения t0 является более экономич- ми, процессами. Каждому способу формализации СТС соответствует свой
ным, поскольку имеет место групповое обслуживание всех событий Cij, ко- способ организации квазипараллелизма обслуживания УПМ активностей, из
торые попали внутрь очередного шага изменения ∆t модельного времени. которых составлена ИМ.
Обычно предпочтение способу фиксированного шага отдаётся в двух случа- Поэтому различают соответственно следующие способы организации
ях. Во-первых, когда события Cij распределены равномерно на всём интерва- квазипараллелизма в ИМ: просмотр активностей, составление расписания
ле моделирования (0, ТОК) и исследователь может подобрать интервал изме- событий, управление обслуживанием транзактов, управление агрегатами,
нения временной координаты ∆t, обеспечивающий минимальную погреш- синхронизация процессов. Одну и ту же СТС принципиально можно пред-
ность имитации. Во-вторых, когда событий очень много и они появляются ставить любым из указанных способов формализации. Однако построенные

11 12
на их основе ИМ будут отличаться размерами и количеством ресурсов, за- чений переменных модели. Алгоритмически реализуется своя последова-
траченных на их создание, испытание и использование. тельность проверок выполнимости условий инициализации АКij. Отметим,
что пользователь описывает не только алгоритмы активностей АЛij и опера-
торы Mtij, но и алгоритмы проверки условий инициализации АКij.
На рис. 1.4 представлена схема модели объекта, состоящей из активностей.
Для простоты предполагаем, что каждая АКij имеет только одну проверку
условия инициализации.
Поскольку выполнение алгоритмов одних активностей АЛij может при-
вести к инициализации других АКij, то УПМ возможны повторные циклы
проверки выполнимости условий инициализации АКij. При этом события Cij
в ИМ не регламентированы, а лишь указываются условия, при которых они
могут произойти. Инициализация АКij и сдвиг координат ti операторами Mtij
разрешаются только тогда, когда выполняются все условия начала инициа-
лизации. Если хотя бы одно из этих условий остаётся невыполненным, то
соответствующая АКij не попадает в список инициализируемых активностей.
Иногда удельный вес безуспешных поверок очень велик в работе УПМ. По-
этому данный способ организации квазипараллелизма АКij выгоден только
при наличии достаточно простых алгоритмов проверки выполнимости усло-
вий инициализации активностей.
Транзактный способ организации квазипараллелизма используется в тех
случаях когда ФДij реальной СТС одинаковы, а общее число функциональ-
ных действий ограничено. Каждое ФДij представляет собой набор простей-
ших операций и его можно аппроксимировать активностями, алгоритмы вы-
полнения которых лишь корректируют значения ti компонентов системы Ki.
При этом существует такая зависимость выполнения ФДij друг от друга, ко-
Рис. 1.3. Схема перевода объекта моделирования в его имитационную модель
торую удобно представить в виде блок-схемы. Взаимодействие такого рода
Организация квазипараллелизма способом просмотра активностей ис- активностей аналогично работе систем массового обслуживания (СМО). Од-
пользуется при моделировании СТС, характеризующихся следующим. Все нотипные АКij пользователем объединяются и называются приборами СМО.
ФДij компонентов Ki реальной системы различны. Причём для выполнения Инициаторами появления событий Cij в ИМ становятся требования (транзак-
каждого из них требуется выполнение своих условий. Эти условия конкрет- ты) на обслуживание этими приборами (ПРi). Связь между ПРi устанавлива-
ны, известны заранее исследователю и могут быть представлены алгоритми- ется с помощью системы очередей (ОЧl) и выбранных дисциплин обслужи-
чески. В результате выполнения ФДij в СТС происходят различные события вания очередей (DISCl).
Cij. Связи между ФДij отсутствуют. Все ФДij функционируют независимо Пусть ФД12, ФД22, ФД23 в рассмотренном ранее примере совпадают. Кро-
друг от друга. В таких случаях исследователь описывает ИМ в виде двух ме того, в любой данный момент выполняется только одно из них, и иссле-
частей: множества активностей {АКij} и набора процедур проверки выпол- дователя интересует влияние этих ФДij на поведение всей системы. Взаимо-
нимости условий инициализации активностей. Под инициализацией АКij связь между ФДij представляется в виде блок-схемы. ИМ представляется в
понимают передачу управления от УПМ на выполнение АЛij данной актив- виде схемы, отображающей рождение транзактов, их пространственное пе-
ности. Завершается обслуживание АКij выполнением оператора модифика- ремещение по схеме и, наконец, уничтожение уже обслуженных транзактов.
ции Mtij. По этому оператору управление возвращается УПМ. Обычно про- Для описания ИМ создаётся достаточно широкий, но фиксированный набор
верка выполнимости условий инициализации АКij состоит либо в определе- стандартных блоков обслуживания транзактов. С их помощью представля-
нии значений параметров ИМ, либо в вычислении моментов tij, в которые ются действия по созданию и уничтожению транзактов, управлению движе-
должно начаться выполнение соответствующего ФДij, либо в проверке зна- нием транзактов, занятию и освобождению различных типов ресурсов СТС,

13 14
имитации задержек и продвижения транзактов. Для этого используется не-
сколько десятков графически различимых блоков, позволяющих в наглядной
форме представлять алгоритмы функционирования СТС.
Далее осуществляется символическое кодирование схемы, при котором
каждому блоку ставится в соответствие определённый оператор соответст-
вующего языка моделирования. Таким способом формируется текст про-
граммы-модели, которая затем реализуется в режиме интерпретации. На
рис. 1.5 изображена схема взаимодействия УПМ с моделью объекта при
транзактом способе имитации реальной СТС, представленной на рис. 1.3. В
источниках (ИСТi) транзакты создаются, а в блоке поглотителя все добрав-
шиеся до него транзакты уничтожаются. УПМ просматривает списки ИСТi и
создаёт новые транзакты с заданной интенсивностью их поступления в сис-
теме. Таким образом, все поступающие в систему транзакты имитируют со-
бой внешнее окружение СТС. Событием в такой ИМ является момент ини-
циализации любого транзакта. Поэтому транзакт выступает в роли активно-
сти. УПМ назначает транзактам новые моменты инициализации tij и до на-
ступления этих моментов закрепляет за транзактами соответствующие блоки
обслуживания (БЛij). Программы сканирования ИСТj просматривают усло-
вия создания новых транзактов каждым из источников и передаёт управле-
ние подпрограмме создания транзактов при совпадении этих условий. Она

Рис. 1.5. Схема взаимодействия управляющей программы


Рис. 1.4. Схема модели объекта, состоящей из активностей с моделью объекта при транзактном способе имитации

15 16
формирует новые транзакты и помещает их в очередь к блокам (в нашем нашем примере (см. рис. 1.3) СТС удобнее всего имитировать процессным
примере к БЛ11, БЛ21, БЛ31). После создания всех транзактов, для которых способом, когда в один и тот же момент времени не может реализоваться
выполнялись условия их создания, УПМ приступает к просмотру поглотите- более одного ФДij данной i-й компоненты СТС. В этих случаях удобнее рас-
лей. При каждом уничтожении транзакта формируется статистика пребыва- сматривать функционирование Ki как единое целое. Всю ИМ можно пред-
ния транзакта в ИМ. Когда просмотрены все поглотители ИМ, управление ставить в виде набора описаний процессов, каждое из которых раскрывает
передаётся подпрограмме формирования списка инициализируемых тран- поведение одного класса процессов, например, компоненты Ki для нашего
зактов. случая. При этом могут иметь место информационные и управляющие связи
Под инициализацией транзакта понимают завершение пребывания тран- не только между Ki, но даже и между отдельными алгоритмами АЛij их
закта в каком-либо блоке модели или поступление транзакта в соответст- функционирования.
вующие очереди к блокам модели системы. Подпрограмма формирования
списка инициализируемых транзактов просматривает списки транзактов
(очереди), поступивших на входы к блокам БЛij, и выбирает из них те, у ко-
торых время инициализации совпадает с t0, образуя список активизируемых
транзактов. По окончании просмотра всех блоков УПМ проверяет условие
«список инициализации транзактов пустой». Если в этом списке имеется
хотя бы один транзакт, управление передаётся на подпрограмму завершения
обслуживания транзактов. Как только список активизируемых транзактов
оказывается пустым, подпрограмма сдвига модельного времени выбирает из
списка моментов инициализации {tij} минимальное значение, которое стано-
вится новым модельным временем t0. Просматриваются все те транзакты в
этом списке, у которых моменты инициализации совпадают, формируется
начальный список инициализируемых транзактов. Затем проверяется вы-
полнение условий окончания имитации. Если условия не выполнены, то
управление передаётся на подпрограмму сканирования источников. Таким
образом, УПМ циклически сканирует различные списки транзактов с целью
инициализации и организации обслуживания транзактов соответствующими
блоками, сдвигает модельное время и проверяет выполнимость условий
окончания имитации. Итак, за внешнюю простоту описания ИМ приходится
платить достаточно большими накладными расходами на организацию ими-
Рис. 1.6. Схема взаимодействия УПМ с моделью объекта, состоящей из описаний процессов
тации.
Процессный способ организации квазипараллелизма в ИМ используется На рис. 1.6 представлена схема взаимодействия УПМ с моделью объекта,
при моделировании СТС, характеризующихся следующим. состоящей из описаний процессов. Алгоритм функционирования ИМ пред-
Когда все ФДij реальной СТС различны, условия появления событий Cij ставляется последовательным взаимодействием процессов и УПМ. Причём в
индивидуальны, у каждой компоненты Ki существует определённая после- процессы объединяются связанные между собой активности, которые опре-
довательность выполнения ФДij, в любой момент времени в данной компо- деляют функционирование одной и той же компоненты модели Ki. Таким
ненте может выполняться только одно ФДij, то перечисленные ограничения образом, имеет место полное соответствие компонент реальной СТС и её
определяют выбор исследователем процессного способа организации квази- ИМ. Каждой Ki СТС соответствует свой процесс. Переход от выполнения
параллелизма в ИМ. Процессный способ имитации особенно эффективен в одной активности к другой активности того же процесса считают изменени-
тех случаях, когда требуется высокий уровень детализации выполнения ФДij ем его состояния и называют активизацией процесса. Обычно под состояни-
при их аппроксимации с помощью АЛij и сама ИМ используется для поиска ем процесса понимают номер j-й активности, которая входит в состав i-го
узких мест в СТС. В таких случаях очень важно соблюдение сходства струк- процесса и на которую УПМ передаёт управление при совершении события
туры ИМ и СТС, что обеспечивается процессным способом имитации. В Cij в Ki. Следовательно, изменениям состояний реальной СТС соответствуют

17 18
изменения определённых для них состояний процессов ИМ, что приводит к списка одновременно активизируемых процессов (список JJ). В списке JJ
появлению событий Cji. находятся номера тех процессов, которые необходимо активизировать в од-
Вся ИМ представляет собой набор процессов, реализованных на соответ- но и то же модельное время t0. Запись номеров процессов i в список JJ и вы-
ствующем языке моделирования. Процессы связаны с УПМ с помощью не- бор УПМ из этого списка процессов осуществляется согласно приоритетам
которых операторов этого языка. Эти операторы обеспечивают обращение к процессов πi. Обслуживание УПМ очередного элемента списка JJ состоит в
УПМ при завершении активности данного процесса. Таким способом проис- передаче управления на выполнение алгоритма АЛij i-го процесса. После
ходит переход процесса в другое состояние. Отметим, что проверка выпол- передачи управления по адресу aij выполнение этого алгоритма продолжает-
нимости условий активизации процесса и появления событий Cij осуществ- ся до появления в нём очередного оператора синхронизации процесса
ляется самим процессом. Будучи активизированным, выполнение процесса WAIT(τij). Таким образом, с помощью операторов ожидания типа WAIT(τij) в
(некоторой его активности АКij) может начаться немедленно либо задер- нашем примере имитируется изменение временных координат активностей,
жаться до появления определённых условий или до изменения состояний входящих в состав i-го процесса.
других процессов. Процессы могут переходить в новые состояния как по В нашем примере (см. рис. 1.3) реальный объект состоит из трёх Ki, и по-
своей инициативе, так и в результате действий, выполняемых активностями этому его ИМ состоит также из трёх процессов (i = 1, 2, 3). Пусть задано
других процессов. время окончания моделирования (TОК). УПМ обслуживает процессы соглас-
Будем считать, что взаимодействия между активностями процессов в на- но алгоритму, представленному на рис. 1.6.
шем примере (см. рис. 1.3) нет и все АКij обращаются к УПМ с помощью Пусть в начальный момент моделирования (t0 = m0, см. рис. 1.6) список JJ
операторов синхронизации процессов WAIT(τij). Каждый такой оператор оз- пуст и процессам назначены соответственно моменты активизации t11, t21, t31
начает, что i-му процессу по окончании выполнения алгоритма АЛij актив- в МС. Реализуется алгоритм имитации в 5 шагов.
ности АКij назначается момент следующей активизации процесса (tij) по Шаг 1. Поскольку список JJ пуст, то осуществляется процедура смены t0,
окончании ожидания процесса в модельном времени t0 длительностью τij. представляющая собой выбор минимального значения из МС (t0 = min{tij}).
Допустим также, что началу выполнения АЛij процессов соответствуют ад- Шаг 2. Формируется список JJ следующим образом. Все процессы, у ко-
реса aij подпрограмм, реализующих выполнение тех АКij, которые объедине- торых tij ≤ t0 выбираются из МС и заносятся в список JJ согласно их приори-
ны в процессы. УПМ работает с массивом состояний процессов (МС) и таб- тетам πi, которые определяются из таблицы ТС.
лицей состояний процессов (ТС). В МС каждый элемент представляет собой Шаг 3. Выбирается первый элемент списка JJ, который необходимо в
пару значений (i, tij), где i – номер процесса, tij – момент активизации процес- момент tij = t0 активизировать. По ТС определяется адрес aij, и управление от
са в будущем и появления события перехода в состояние Cij. Для выбора УПМ передаётся на выполнение алгоритма соответствующей активности
процессов, которые необходимо активизировать в момент t0, УПМ использу- АКij. По окончании выполнения алгоритма АЛij появляется оператор ожида-
ет ТС. Строками этой таблицы являются списки параметров процессов. Так, ния i-го процесса до следующей активизации WAIT(τij). В ходе реализации
i-му процессу соответствует строка, в которой указаны следующие парамет- АЛij происходит вычисление или задание значения τij для операторов син-
ры процесса: aij – адрес передачи управления на выполнение j-й активности хронизации процессов. Появление в алгоритме i-го процесса операторов
в j-м процессе, tНДi – время, которое осталось i-му процессу находиться в синхронизации WAIT(τij) возвращает управление УПМ, которая выполняет в
состоянии ожидания, когда он останавливается другим процессом; πj – при- дальнейшем следующие действия:
оритет процесса, согласно которому осуществляется последовательное об- – формирование нового элемента МС и занесения его в этот массив со-
служивание УПМ двух одновременно активизируемых процессов. Все эле- гласно значению tij = t0 + τij;
менты МС упорядочены по возрастанию значений tij. Если какой-либо i-й – модификация текущего состояния процесса и изменение при этом адре-
процесс остановлен, то время активизации в МС бесконечно велико (tij = ∞), са последующей передачи управления aij для очередной активизации про-
а соответствующий ему элемент массива находится в конце МС. цесса i в ТС.
Определено также понятие «конфликтная ситуация в ИМ», когда не- Шаг 4. Проверяется, исчерпан ли список JJ. Если в списке JJ есть ещё
сколько событий Cij в различных процессах происходят одновременно и тре- элементы, то УПМ переходит к шагу 2. Иначе выполняется шаг 5.
буют немедленного обслуживания со стороны УПМ. Такая ситуация имеет Шаг 5. Проверяется момент окончания моделирования (t0 ≥ TОК). Если это
место, например, при наличии в МС нескольких элементов с одним и тем же неравенство не выполняется, то это означает необходимость продолжения
значением tij. Учёт конфликтных ситуаций УПМ производится с помощью
19 20
имитации, начиная с шага 1. В противном случае управление передаётся ной диаграмме (см. рис. 1.2) до момента, когда модельное время t0 = m8. В
программе окончания моделирования. этот момент по окончании обслуживания процессов 1 и 2 выполняется усло-
Продолжим рассмотрение приведённого примера, используя временную вие t0 ≥ ТОК, и процесс моделирования завершается, а управление передаётся
диаграмму перехода Ki (см. рис. 1.2) из состояния в состояние и схему взаи- на программу окончания моделирования.
модействия УПМ с процессами (см.рис. 1.6). Итак, первоначально в момент Если в СТС имеет место тесное взаимодействие между ФДij, то Ki обме-
t0=m0 в списке JJ находятся все три процесса, которые расположены соответ- ниваются между собой сигналами. Причём каждый выходной сигнал от од-
ственно их приоритетам (например, π1 > π2 > π3). Допустим, что время окон- ной компоненты Ki является входным сигналом для другой компоненты.
чания моделирования ТОК равно моменту m8 на оси изменения модельного Если при этом сами ФДij аппроксимируются явно задаваемыми математиче-
времени t0 (см. рис. 1.2). скими зависимостями, позволяющими определить момент появления выход-
УПМ вначале передаёт управление по адресу a11. Выполнение алгоритма ных сигналов Ki при наличии входных сигналов, поступающих от других
активности АК11 завершается появлением оператора WAIT(τ11), и управление компонентов, то создаются подходящие условия для построения ИМ по мо-
передаётся подпрограмме обслуживания операторов синхронизации, которая дульному принципу. В этом случае каждый из модулей ИМ строится по
выполняет следующие действия: унифицированной структуре и называется агрегатом. Агрегат является ма-
– формирует новый адрес продолжения процесса 1 в ТС (a12); тематической схемой, с помощью которой возможно описание большого
– назначает момент будущей активизации процесса 1 (t11 = m0 + τ11); круга реальных процессов в СТС. В любой момент tij агрегат может нахо-
– формирует новую строку MC (1, t11) и заносит её в этот массив. диться в одном из возможных состояний. Состояния агрегата Z являются
Далее, поскольку JJ не пустой, происходит выбор процесса 2, и управле- функциями времени. Зависимости Z(t) называют фазовыми траекториями.
ние передаётся по адресу a21 для выполнения АЛ12 до появления оператора Переход агрегата Z из состояния в состояние описывается с помощью неко-
WAIT(τ21) и возврата управления на подпрограмму обслуживания операторов торого оператора перехода Н, который позволяет по предыдущему состоя-
синхронизации. Формируется новый момент активизации процесса 2 нию определить очередное его состояние. Агрегат имеет входы, куда посту-
(t21 = m0 + τ22). В ТС модифицируется адрес продолжения выполнения про- пают входные сигналы Xl(t) от других агрегатов, и выходы, на которых фор-
цесса 2 (a22) и формируется новая строка МС (2, t21), которая заносится в со- мируются выходные сигналы Yr(t). Здесь l и r означают номера соответст-
ответствии со значением t21 (после строки для процесса 1) в этот массив. венно входных и выходных сигналов. Кроме того, у агрегата имеются до-
Аналогично обслуживается процесс 3, и управление передаётся по адресу a31 полнительные входы, на которые поступают управляющие сигналы g(t). Вы-
для выполнения АЛ31 до появления оператора WAIT(τ31) и возврата на УПМ. ходные сигналы Yr(t) формируются из входных Xl(t) и управляющих g(t) сиг-
Далее формируется новый момент активизации процесса 3 (t31 = m0 + τ31). В налов оператором выхода G в результате его взаимодействия с оператором
ТС модифицируется адрес продолжения выполнения процесса (a32) и фор- М. Значения операторов G и H задаются исследователем при аппроксимации
мируется новая строка МС (3, t31), которая в соответствии со значением t31 агрегатами и выполняются ФДij реальной СТС. Квазипараллельная работа
заносится в этот массив (между строками первого и второго процессов, см. агрегатов может быть реализована различными способами (активностями,
рис. 1.2). транзактами, процессами).
Когда список JJ исчерпан, происходит смена модельного времени t0. Но- Организация квазипараллелизма способом составления расписания собы-
вым значением t0 становится минимальное значение: t0 = min(t11, t31, t21) = тий используется в следующих случаях. Различные компоненты Ki выпол-
= t11 = m1. При этом i = 1 заносится в список JJ и поскольку t11 < m8, то управ- няют одни и те же ФДij. Начало этих ФДij определяется одними и теми же
ление передаётся на формирование списка JJ. Так как в момент t0 = m1 акти- условиями, которые также заранее известны исследователю и могут быть
визируется только один процесс, то в списке JJ будет находиться всего один предоставлены алгоритмически. В результате выполнения одних и тех же
процесс. Управление передаётся по адресу a12 на выполнение АЛ12 до появ- ФДij в системе происходят одинаковые события Cij независимо друг от дру-
га. Связи между различными ФДij отсутствуют, и каждое ФДij выполняется
ления оператора WAIT(τ12). Процессу 1 назначается новый момент активиза-
независимо. Например, пусть у компонентов системы (см. рис. 1.3) совпада-
ции t12 = t0 + τ12 = m1 + τ12, и в ТС модифицируется адрес последующей активи-
ют следующие ФДij, приводя к одним и тем же событиям:
зации процесса 1 (a13). В соответствии со значением t12 строка (1, t12) зано-
ФД11, ФД12, ФД11 – к событию С11;
сится в МС после строк для процессов 2 и 3. Далее аналогичным образом
ФД21, ФД22, ФД23 – к событию С12;
продолжаются обслуживанием УПМ процессов и смена t0 согласно времен-
ФД31, ФД32, ФД33 – к событию С13;

21 22
ФД14 – к событию С14. (испытание ИМ);
В таких случаях исследователь описывает ИМ в виде двух частей: мно- – организация модельного эксперимента на ЭВМ (эксплуатация ИМ);
жества активностей {АКij} и набора процедур проверки появления событий – интерпретация результатов моделирования и их использование при
Cij и инициализации соответствующих активностей. При этом каждая АКij анализе поведения СТС (анализ результатов).
имитирует выполнение группы совпавших ФДij у различных компонентов Ki На рис. 1.7 представлена схема взаимосвязи технологических этапов
системы. В нашем случае АК11 инициируется при появлении события С11 и имитационного моделирования СТС. Рассмотрим порядок действий иссле-
имитирует выполнение ФД11, ФД12 и ФД13. Аналогичным образом иниции- дователя на каждом из этапов имитационного эксперимента (ИЭ) на ЭВМ.
руются: АК12 – при появлении события C12; АК13 – при появлении события Составление содержательного описания объекта моделирования пред-
C13; АК14 – при появлении события С14. Инициализация АКij имеет тот же ставляет собой выполнение следующих действий. Вначале определяется
смысл, что и для предыдущих способов организации квазипараллелизма. В объект имитации, достаточный для изучения тех сторон его функционирова-
процедурах проверки появления событий Cij реализуется зависимость вы- ния, которые представляют интерес для исследователя. Устанавливаются
полнения ФДij от конкретной ситуации, имеющей место в реальных СТС. границы изучения функционирования объекта. Составляется возможный
Выполнение АЛij также называется обслуживанием АКij, которое завершает- список ограничений ИМ, которые допустимы при организации имитации
ся оператором Mtij активности, обслуживающей группу одинаковых ФДij у или при наличии которых ещё имеет смысл имитация функционирования
разных Ki реальной СТС. Часто такие групповые активности называют про- СТС. Перед разработчиками ИМ ставятся вполне конкретные цели модели-
цедурами обслуживания событий Cij. В результате ИМ состоит из двух типов рования и формулируются основные критерии эффективности, по которым
процедур: проверки выполнимости событий Cij в модели системы и обслу- предполагается проводить сравнение на модели вариантов организации СТС.
живания событий Cij. Выполнение этих процедур синхронизируется в to спи- Результатом работ на данном этапе является содержательное описание объ-
сковым механизмом планирования УПМ. Каждый элемент этого списка оп- екта моделирования с указанием целей имитации и аспектов функциониро-
ределяет момент tij свершения события Cij, а также имя или номер той про- вания объекта моделирования, которые необходимо изучить на ИМ. Обычно
цедуры обслуживания событий, которая должна выполняться после завер- оно представляет собой техническое описание объекта моделирования, опи-
шения этого события. сание внешней среды, с которой он взаимодействует, и временную диаграм-
Более подробно с организацией имитации способами агрегатным и со- му этого взаимодействия.
ставлением расписаний событий можно ознакомиться в монографии [1]. Составление концептуальной модели производится в такой последова-
тельности. На основе анализа поставленной задачи определяется общий за-
1.4. Технологические этапы мысел модели. Выдвигаются гипотезы и фиксируются все допущения, необ-
имитационного моделирования СТС ходимые для построения ИМ. На основании содержательного описания
уточняется задача моделирования, определяется процедура и график её ре-
Независимо от назначения моделирования можно выделить следующие
шения. Уточняется методика всего ИЭ в зависимости от наличных ресурсов,
этапы создания и использования имитационных моделей:
выделенных для имитации. Общая задача моделирования разбивается на ряд
– определение объекта имитации, установление границ и ограничений
частных задач. Устанавливаются приоритеты решения этих задач. Обосно-
моделирования, выбор показателей для сравнения эффективности вариантов
вываются требования в ресурсах ЭВМ. Выполняются такие работы, как вы-
СТС (составление содержательного описания СТС);
бор параметров и переменных СТС, представляющих интерес для моделиро-
– формулировка замысла модели, переход от реальной СТС к логической
вания; уточнение критериев эффективности вариантов СТС; выбор типов
схеме её функционирования (составление концептуальной модели);
аппроксимации отдельных компонентов модели. Проводятся также предва-
– реализация описания объекта в терминах математических понятий и ал-
рительный анализ требований к модели СТС; определение необходимых
горитмизация функционирования его компонентов (составление формаль-
математических уравнений, описывающих реальные процессы; поиск воз-
ного описания объекта);
можных методов проверки правильности функционирования модели. Одно-
– преобразование формального описания объекта в описание ИМ (со-
временно с этим исследователь должен выбрать язык будущей формализа-
ставление описания модели);
ции процессов в объекте моделирования. Результатом выполнения работ
– программирование и отладка модели (программирование модели);
являются концептуальная модель, выбранный язык формализации и способ
– проверка модели, оценка её свойств и затрат ресурсов на имитацию

23 24
организации имитации. В состав концептуальной модели входят: уточнённое
содержательное описание, свободное от всего того, что не представляет ин-
тереса для имитации поведения СТС, список параметров и переменных мо-
делирования; критерии эффективности функционирования вариантов систе-
мы; список используемых методов обработки результатов имитации и пере-
числение способов представления результатов моделирования. При создании
небольших ИМ данный этап работ совмещается с этапом составления со-
держательного описания моделируемой системы. Только с усложнением
объекта моделирования и задач имитации появляется необходимость опре-
деления способа формализации, который подходит для решения конкретной
задачи исследования СТС.
Составление формального описания объекта моделирования на вы-
бранном языке формализации. В зависимости от сложности СТС могут ис-
пользоваться три вида формализации: аппроксимация явлений функцио-
нальными зависимостями, алгоритмическое описание процессов в СТС,
смешанное представление в виде последовательности формул и алгоритми-
ческих записей. В зависимости от принятого способа имитации используют-
ся свои способы формализации (активностями, транзактами, процессами,
агрегатами и событиями). При составлении формального описания СТС ис-
следователю рекомендуется такая последовательность действий: уточнение
декомпозиции системы, алгоритмизация компонентов модели; информаци-
онные стыковки алгоритмов модели; уточнение взаимодействия с УПМ, до-
кументация этапа. Подробно технология составления формального описания
СТС для каждого из способов имитации изложена в работе [1]. После со-
ставления формального описания СТС приступают к его проверке. Это пер-
вая главная проверка достоверности будущей ИМ СТС. Для обеспечения
контроля правильности функционирования ИМ вводят классические модели,
достоверность которых доказана. Они фигурируют в ИМ в виде составных
частей. На вход таких моделей поступают данные, вычисляемые в других
частях ИМ, достоверность которых проверяется. Если результат работы
классической модели окажется недостоверным, то считают, что предшест-
вующая часть формального описания СТС также недостоверна. В процессе
проверки достоверности ИМ необходимо ответить на следующие вопросы:
позволяет ли модель решить поставленные задачи моделирования, насколь-
ко полна предложенная схема ИМ и отражает ли она фактическую последо-
вательность развития процессов в реальной СТС. Необходимо провести ана-
лиз каждой функции ИМ и убедиться, что она нашла своё отражение в фор-
мальном описании СТС. В том случае, когда уравнения получены на основа-
нии анализа опытных данных, необходимо провести выборочную проверку
согласия уравнений с исходной информацией, по которой они получены.
Для уравнений, полученных теоретическим путем, необходимо провести
Рис. 1.7. Схема взаимосвязи технологических этапов имитационного моделирования СТС вычисления в нескольких контрольных точках с целью определения прием-

25 26
лемости результатов. Для дополнительной проверки уравнений желательно вием является составление технической документацуии на ИМ СТС. Резуль-
провести анализ размерностей и масштабов переменных системы. Результа- татом этапа к моменту окончания комплексной отладки программы ИМ яв-
том этапа является проверенное формальное описание исследуемой системы ляются следующие документы: описание ИМ, описание программы модели с
на выбранном языке формализации. указанием средств программирования, полная схема программы модели;
Составление текста имитационной модели является переходным эта- полная запись программы ИМ на языке моделирования; результаты отладки
пом от формализации к этапу программирования. Когда формальное описа- (доказательство достоверности программы модели); описание входных и
ние СТС составлено в виде набора агрегатов или в виде СМО, данный этап выходных величин; инструкция по работе с программой модели.
является необязательным. Зачастую исследователя не удовлетворяет состав Для проверки адекватности ИМ объекту имитации после составления
стандартной статистики, формируемый выбранными средствами автомати- формального описания СТС составляются планы проведения натурных экс-
зации моделирования. Кроме того, многие СТС ставят перед исследователем периментов с прототипами СТС. Если прототип СТС отсутствует, то можно
множество дополнительных вопросов в ходе формализации. Сюда входят использовать систему вложенных ИМ, отличающихся друг от друга степе-
следующие вопросы реализации ИМ: формирование элементов модели и нью детализации имитации одних и тех же явлений. Тогда более детальная
отработка синхронизации взаимодействия частей компонентов модели друг ИМ служит в качестве прототипа для обобщённой ИМ. Параллельно с от-
с другом в модельном времени; организация сбора статистики в динамике ладкой ИМ осуществляется серия натурных экспериментов на реальной
имитации процессов в СТС; задание начальных условий моделирования; СТС, в ходе которых накапливаются контрольные результаты. Имея в своём
планирование процесса имитации отдельных вариантов системы; проверка распоряжении контрольные результаты и результаты отладки ИМ, исследо-
окончания моделирования; обработка результатов имитации. Все эти дейст- ватель проверяет адекватность ИМ объекту моделирования. Как видно из
вия весьма трудоёмки. Только после их решения исследователь получает рис. 1.7, при обнаружении ошибок на этапе отладки, устранимых только на
ИМ на бумаге (описание модели процессов). предыдущих этапах, может иметь место возврат на предыдущий этап.
На этапе программирования ИМ выполняются следующие действия. Во- Испытание модели является важным этапом создания ИМ. Необходимо
первых, составляется план создания и использования программной модели. убедиться в правильности динамики развития алгоритма моделирования
В плане указывается тип ЭВМ, средство автоматизации моделирования, СТС в ходе имитации его функционирования (т. е. провести верификацию
примерные затраты памяти и времени на создание ИМ. Во-вторых, присту- модели). Затем необходимо определить степень адекватности ИМ и объекта
пают к программированию алгоритмов ИМ. Не существует существенных исследования. Под адекватностью программы ИМ реальной СТС понимают
отличий создания программы ИМ от обычной автономной отладки про- совпадение с заданной точностью векторов характеристик поведения объек-
граммных модулей большой программы или пакета программ. В соответст- та и модели. При отсутствии адекватности проводят калибровку ИМ («под-
вии с текстом производится деление модели на блоки и подблоки. Объём правляют» характеристики алгоритмов компонентов модели). Наличие оши-
отладочных работ существенно возрастает из-за того, что для каждого моду- бок во взаимодействии компонентов ИМ возвращает исследователя к этапу
ля необходимо создать и отладить ещё имитатор внешнего окружения. создания ИМ на бумаге. Возможно, что в ходе формализации исследователь
Весьма существенно выверить реализацию функций модуля в модельном слишком упростил процессы и исключил из рассмотрения ряд важных сто-
времени. Завершаются работы при автономной отладке компонент модели рон функционирования СТС, что привело к неадекватности ИМ. В этом слу-
подготовкой форм представления вводных и выходных данных моделирова- чае исследователь должен вернуться к этапу формализации СТС (см.
ния. Далее переходят ко второй проверке достоверности ИМ, в ходе которой рис. 1.7). В тех случаях, когда выбор способа формализации оказался не-
устанавливается соответствие операций в программе и описании модели. удачным, исследователю необходимо повторить этап составления концепту-
Для этого производится обратный перевод программы ИМ в схему модели, альной модели с учётом новой информации и появившегося опыта. Наконец,
который позволяет найти грубые ошибки статики модели СТС. После ис- когда у исследователя оказалось недостаточно информации об объекте, он
ключения грубых ошибок ряд блоков программы ИМ объединяется и начи- должен вернуться к этапу составления содержательного описания СТС и
нается комплексная отладка модели с использованием тестов. В этот процесс уточнить его с учётом результатов испытания предыдущей ИМ СТС.
постепенно вовлекается всё большее число блоков модели. Комплексная На этапе исследования свойств ИМ оцениваются точность имитации яв-
отладка ИМ намного сложнее отладки пакетов программ, поскольку ошибки лений, устойчивость результатов моделирования, чувствительность критери-
имитации динамики моделирования найти значительно труднее вследствие ев качества к изменению параметров ИМ. Получить эти оценки в ряде слу-
квазипараллельной работы различных компонентов ИМ. Следующим дейст- чаев бывает весьма сложно, однако без успешных результатов этой работы

27 28
доверия к ИМ не будет. Точность имитации явлений обычно представляет для создания кинофильмов о моделируемом явлении. С их помощью можно
собой оценку влияния стохастических элементов на функционирование ИМ помочь исследователю наблюдать и изучать явление в замедленном или
СТС. Устойчивость результатов моделирования характеризуется сходимо- убыстренном темпе по сравнению с реальной скоростью протекания иссле-
стью контролируемого параметра моделирования к определённой величине дуемых процессов.
при увеличении времени моделирования варианта СТС. Стационарность В конечном итоге после выполнения всех перечисленных выше итераци-
режима моделирования характеризует собой некоторое установившееся рав- онных этапов имитации исследователь либо окажется удовлетворённым ре-
новесие процессов в модели СТС, когда дальнейшая имитация бессмыслен- зультатами моделирования и будет их учитывать при проектировании СТС,
на, поскольку новой информации из ИМ исследователь не получит и про- либо забракует проектируемую систему и сформулирует техническое зада-
должение имитации приведёт к увеличению затрат машинного времени. По- ние на разработку новой архитектуры СТС.
этому необходимо разработать процедуру проверки момента достижения
стационарного режима имитации. Чувствительность ИМ представляется ве- 1.5. Автоматизация этапов создания
личиной минимального приращения выбранного критерия качества, вычис- имитационных моделей СТС
ляемого по статистикам моделирования, при последовательном варьирова-
Для того чтобы оперативным образом реализовать ИМ СТС на ЭВМ, ну-
нии параметров моделирования на всём диапазоне их изменения.
жен аппарат моделирования, который в большинстве существующих уни-
Этап эксплуатации ИМ начинается с составления плана эксперимента,
версальных алгоритмических средств программирования отсутствует или
позволяющего исследователю получить максимум информации при мини-
недостаточно развит. В нём должны быть предусмотрены:
мальных усилиях на вычисление. Составляется статистическое обоснование
– способы организации данных, обеспечивающие простое и эффективное
плана эксперимента. Планирование эксперимента представляет собой про-
моделирование;
цедуру выбора числа и условий проведения опытов, необходимых и доста-
– удобные средства формализации и воспроизведения динамических
точных для решения поставленной задачи с требуемой точностью. Стремят-
свойств моделируемой СТС;
ся минимизировать общее число опытов на ИМ с одновременным варьиро-
– возможности имитации стохастических систем, включающие в себя
ванием всеми переменными. Выбирают такую стратегию ИЭ, которая позво-
процедуры моделирования и анализа случайных процессов.
ляет принимать обоснованную стратегию с помощью процедур принятия
Такой аппарат должен иметь специализированные средства имитации, в
решений после каждой серии экспериментов на ИМ.
состав которых входят: язык описания объекта моделирования; средства об-
Этап анализа результатов моделирования завершает технологическую
работки на ЭВМ языковых конструкций (компилятор, транслятор или ин-
цепочку этапов создания и использования ИМ. Получив результаты модели-
терпретатор); УПМ, осуществляющую имитацию во времени; набор стан-
рования, исследователь приступает к интерпретации результатов. Здесь воз-
дартных программных средств, реализующих дополнительные возможности
можны следующие циклы ИЭ. В первом цикле ИЭ в ИМ заранее предусмот-
по организации ИЭ.
рен выбор вариантов СТС путём задания начальных условий имитации для
Применение специализированных средств имитации имеет следующие
машинной программы ИМ. Во втором цикле ИЭ модель модифицируется на
преимущества перед использованием универсальных средств программиро-
языке моделирования, и поэтому требуется повторная трансляция и редакти-
вания: меньшие затраты времени на программирование; более эффективные
рование программы ИМ. Возможно, что в ходе интерпретации результатов
методы выявления ошибок имитации; краткость, точность выражения поня-
исследователь установил наличие ошибок либо при создании модели, либо
тий, характеризующих имитационные процессы; возможность для некоторой
при формализации объекта моделирования. В этих случаях осуществляется
предметной области исследований заранее построить стандартные компо-
возврат на этап построения описания ИМ или на составление концептуаль-
ненты, которые могут использоваться при построении ИМ; автоматическое
ной модели СТС соответственно (третий цикл ИЭ). Результатом этапа ин-
формирование типов данных, соответствующих принятому способу имита-
терпретации данных ИЭ являются рекомендации по проектированию или
ции и необходимых в ходе ИЭ; удобство накопления и представления вы-
модификации СТС. На их основе исследователи приступают к принятию
ходных данных.
простых решений. На интерпретацию результатов ИЭ оказывают сущест-
Специализированные языки имитации делятся на две группы, соответст-
венное влияние изобразительные возможности средств моделирования на
вующие двум видам имитации: для непрерывных и дискретных процессов.
ЭВМ. Можно рекомендовать использовать графики как наиболее удобное
Группа языков непрерывного ИЭ делится, в свою очередь, на языки аналого-
изобразительное средство. В ряде случаев применяются дисплеи и средства

29 30
вого моделирования и языки, которые применяются для решения систем систем. В нашей стране получили распространение следующие группы язы-
детерминированных замкнутых непрерывных систем. В языках аналогового ков моделирования (в зависимости от способа организации квазипаралле-
моделирования используется покомпонентная эмуляция аналоговых и гиб- лизма):
ридных ЭВМ. Например, сумматор ЭВМ заменяется кодом операции сум- – ориентация на просмотр активностей реализуется в языке SMPL;
мирования, интегратор – кодом операции интегрирования и т. д. Взаимодей- – составление расписания событий организуется в языках GASP, СИМ-
ствие между этими дополнениями функциональных компонентов описыва- СКРИПТ, CMPL, ДИСМ, МОДИС-BZC;
ется с помощью блочно-ориентированного языка аналогично тому, как ком- – процессный способ имитации реализован в языках SOL, ASPOL,
мутационная панель аналоговой ЭВМ связывает компоненты аналоговой SIMULA, ДИС, СЛЕНГ, АЛСИМ, СИМУЛА-67, МПЛ/1, СКИФ, МК PLSIM;
вычислительной программы. При этом эмулируются и структура и элементы – организация взаимодействия транзактов обеспечивается языками GPSS,
аналоговой или гибридной ЭВМ. ИМСС, CSS, АСИМ;
Для моделирования явлений, представляемых переменными, непрерыв- – агрегативный метод имитации обеспечивается языками систем модели-
ными по диапазону своих значений, но дискретными по времени свершения рования АИС И САПАС.
событий, удобен язык ДИНАМО [1].На языке ДИНАМО непрерывные про- В языках моделирования систем моделирования НЕДИС и DISLIN реали-
цессы описываются соответствующими операторами, позволяющими пред- зуется описание непрерывно-дискретных процессов.
ставить зависимости в СТС в виде дифференциальных уравнений первого К классификации языков моделирования можно подходить по-разному.
порядка. Вводятся два типа переменных: состояний и скорости. Переменные Иногда к языкам предъявляют требования, определяемые предметной обла-
состояний используются для описания состояний объекта моделирования и стью их использования. В работе [1] содержится достаточно подробная
условий перехода СТС в эти состояния. Переменные скорости позволяют классификация языков моделирования по описательным возможностям.
исследователю описывать, как меняются эти состояния за некоторый отрезок Можно выделить соответствие языков моделирования рассмотренным ранее
времени. Язык ДИНАМО нашёл применение в тех случаях, когда исследова- способом формализации реальных объектов. Поскольку универсальные язы-
теля интересуют информационные системы с обратной связью и он апроби- ки моделирования определяют изобразительные возможности представления
рует на ИМ методы решения задач в области управления и автоматического алгоритмов, то естественна классификация по способам реализации систем
регулирования работы СТС. моделирования СМ. При этом классификация на такой основе фактически
В ряде случаев исследователь изучает причинно-следственные связи в представляет собой сравнение алгоритмических возможностей языков моде-
СТС, и ему при этом необходимо использовать такие средства, как интегри- лирования.
рование, параметрический анализ непрерывной системы или графическая По способу реализации различаем СМ, использующие универсальную
оптимизация её структуры. Для этой цели он строит имитатор непрерывной базовую систему программирования, и специально построенные СМ на мо-
СТС на ЭВМ. Модель представляется состоящей из взаимосвязанных функ- делирование определённого класса СТС. В первом случае СМ представляет
циональных элементов и эмулируется на цифровой ЭВМ. Наиболее удобным собой расширение возможностей универсальной системы программирова-
средством для этих целей является язык 360\ sistem CSMP [2]. С помощью ния. Обычно в качестве базового языка программирования используется
этого языка специалисты, которые ранее применяли аналоговую секцию, ФОРТРАН, АЛГОЛ, PL/1 или С. Так, алголоподобную базу реализации
легко могут перейти к работе на цифровой ЭВМ. Описание модели СТС на имеют языки в таких СМ, как ДИС, СЛЕНГ, СИМУЛА, АЛСИМ, ASPOL,
этом языке представляет собой совокупность фраз, задающих правила ком- SOL, MICIC. На базе Фортрана реализованы языки в СМ DISLIN, ДИНАМО,
мутации общепринятых элементов аналогового моделирующего устройства: ИМСС, СКИФ, СИМСКРИПТ, GASP. Язык PL/1 в качестве базового ис-
интеграторов, сумматоров, делителей, инверторов и т. д. Поведение этих пользуется в СМ ДИСМ, SMPL, МПЛ/1, МКPLSIM. В ряде случаев для мо-
элементов реализуется на ЭВМ соответствующими стандартными функция- делирования разработаны СМ с собственными языками моделирования:
ми. Для моделирования типовых элементов аналогового устройства у иссле- НЕДИС, CSS, GPSS, АИС, АСИМ. Практически у всех перечисленных ранее
дователя имеется возможность самому строить набор специальных функций СМ название языка моделирования совпадает с названием СМ. На ранних
применительно к его конкретной задаче. Допускаются также вставки в текст этапах разработки СМ считалось более эффективным использовать базовый
ИМ на алгоритмическом языке для вычисления начальных условий, анализа язык системы программирования, расширив его до уровня языка моделиро-
результатов, выбора нового варианта значений параметров моделирования. вания. Однако с развитием моделирования в ряде предметных областей ис-
В мире разработано несколько сотен языков моделирования дискретных следования оказалось, что эффективнее разрабатывать языки моделирования

31 32
со своими собственными системами компилирования. Этот способ более
перспективен из-за отсутствия ограничений, налагаемых на описание моде- 2. ИСПЫТАНИЕ И ИССЛЕДОВАНИЕ СВОЙСТВ
ли, полученных с помощью универсальных языков программирования. МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ СТС
При выборе средств автоматизации моделирования исследователя обыч-
но интересуют две группы свойств: изобразительные возможности пред-
ставления алгоритма и удобство работы при использовании программного 2.1. Процедуры верификации математических моделей СТС
продукта. Из изобразительных возможностей языка моделирования исследо- Верификация модели обычно состоит в проверке её соответствия тому
вателя интересуют три аспекта: состав операторов моделирования, наличие смыслу, который был заложен при её разработке. Исследователь должен по-
доступа к модельным характеристикам, возможности универсального базо- лучить гарантию того, что созданная ИМ во всех ситуациях будет правильно
вого языка программирования для реализации алгоритмов. Удобство работы отражать поведение реальной системы. С помощью верификации устанавли-
СМ определяется технологией её использования. вается верность логической структуры модели. Обычно верификация вы-
Инструментальные возможности средств автоматизации моделирования полняется в ходе комплексной отладки программы ИМ на реальном потоке
обычно обусловлены: данных. Она состоит в доказательстве утверждений соответствия алгоритма
-описательными возможностями языка моделирования в части отражения её функционирования замыслу моделирования путём формальных и нефор-
особенностей способа имитации; мальных исследований реализованной программы ИМ.
– возможностью (или отсутствием) доступа к модельным характеристи- Формальные методы верификации программы ИМ включают в себя: ис-
кам; пользование специальных препроцессоров и постпроцессоров в качестве
– возможностью рекурсии в описании модели; «читателей» программ; замену некоторых стохастических элементов ИМ
– использованием универсальных средств программирования, особенно детерминированными и проверку на «ожидаемость» результатов моделиро-
при реализации арифметических операций. вания; использование теста на «непрерывность» процесса имитации. Пре-
Для более полного ознакомления с описательными возможностями суще- процессоры и постпроцессоры анализируют текст программы ИМ путём
ствующих языков моделирования можно рекомендовать работу [2]. доказательства логических утверждений и выдают исследователю сообще-
Технологические возможности СМ определяются: ние о возможном наличии логических ошибок в тексте ИМ. Если при замене
– способом компилирования программ модели; стохастических элементов модели детерминированными получаются далё-
– способом организации ввода-вывода информации в программе модели; кие от ожидаемых ответы программы ИМ, то это означает, что программная
– возможностью выдачи сообщения пользователю в ходе имитации; реализация ИМ крайне неудачна. В ходе тестирования на «непрерывность»
– наличием средств организации отладки и диагностики программы ИМ; имитации проверяется соответствие выходных характеристик воздействиям
– наличием средств организации сбора статистики и возможностью на входе ИМ по всему диапазону значений параметров модели.
управления ими; Неформальные исследования ИМ представляют собой чаще всего ком-
– составом средств обработки результатов моделирования; плексную отладку программы ИМ. Важна возможность использования до-
– наличием специальных средств испытания ИМ; полнительных средств отладки в виде набора служебных подпрограмм, вхо-
– способностью управления имитационным экспериментом; дящих в состав стандартного набора используемой СМ. В него входят: раз-
– наличием средств автоматизации представления и интерпретации ре- личные загрузчики рабочих программ, библиотечные и поддерживающие
зультатов имитации; программы, генераторы данных, программы управления отладкой, средства
– типом ЭВМ и характеристиками организации вычислительного процес- редактирования данных и программных модулей. Эффективным средством
са. комплексной отладки ИМ является трассировка компонентов ИМ. Возмож-
Сравнивать между собой можно только СМ, реализующие один и тот же ны три вида организации трассировки: покомандная, фиксация переходов в
способ имитации. Иначе достоинства способа формализации на конкретной алгоритмах компонента, регистрация выполнения только макрокоманд ими-
ИМ можно отнести за счёт языка моделирования СМ. тации. По окончании проверки соответствия информации алгоритму поведе-
ния компонента ИМ операторы отладки исключаются из текста ИМ. Суще-
ственно помогает при этом наличие библиотеки процедур у СМ и средств
оперативной компоновки программы модели из библиотеки процедур. Мо-

33 34
дель наращивается по методу «этап за этапом», начиная с отладки двух ком- α = 0,05, мы с вероятностью 0,95 можем утверждать, что Ynи лежит в преде-
понентов ИМ и кончая отладкой взаимодействий всех остальных компонент лах
модели. При каждом добавлении нового компонента ИМ необходимо прове- Y n – t0,05 Dn ( K − 1) ≤ Ynи < Y n + t0,05 Dn ( K − 1) , (2.2)
рить взаимодействие его с внешней средой. Таким образом, разработчик ИМ
фактически создает последовательность вложенных программных моделей, где t0,05 – значение t-статистики при (k – 1) степенях свободы и уровне значи-
и опыт отладки одной модели используется для улучшения последующей мости α = 0,05. Доверительный интервал для среднего значения n-й компо-
модели. нента вектора отклика (при k = 10 и α = 0,05) можно записать в виде

2.2. Оценка точности, чувствительности и устойчивости Y n ± dn = Y n ± 0,753 S1n. (2.3)


моделирования ИМ Значение dn и определяет погрешность n-го компонента отклика модели.
После того как завершена верификация ММ СТС и исследователь полу- Затем из всех dn находят максимальное значение, которое в данном случае и
чил некоторую уверенность в правильности алгоритма ИМ, необходимо ис- будет верхней границей погрешности, связанной с вероятностным характе-
следовать точностные характеристики модели. Наиболее существенными, с ром ИМ и использованием генераторов псевдослучайных чисел. Если эта
нашей точки зрения, являются процедуры оценки: погрешности имитации, погрешность окажется достаточно высокой, то исследователь обязан пере-
обусловленной наличием в ИМ генераторов псевдослучайных чисел; длины смотреть состав генераторов и процедуру их использования в ИМ СТС. В
переходного процесса в модели, устойчивости результатов моделирования; таких случаях можно рекомендовать выбрать большее число базовых гене-
чувствительности откликов ИМ к изменениям входных параметров модели. раторов с обязательным хранением для каждого из них своего очередного
В любой вероятностной ИМ СТС применяются генераторы моделирова- начального значения ξOi для каждой ij-й активности ИМ. Для увеличения
ния псевдослучайных чисел. Любая СМ предоставляет несколько различных периода апериодичности генераторов рекомендуется использовать комбини-
генераторов псевдослучайных чисел, каждый из которых использует базо- рованные алгоритмы, рассмотренные ранее в части 2.
вый генератор моделирования равномерно распределённых чисел на интер- В большинстве стохастических ИМ требуется некоторое время ТО для
вале [0, 1]. Эти генераторы и сам вероятностный характер ИМ являются ис- достижения ИМ необходимого установившегося состояния. Поэтому иссле-
точником погрешности имитации. Для проверки качества этих генераторов дователь должен оценить ТО и позаботиться о его уменьшении или исклю-
применяются различные тесты. Большинство исследователей обычно при- чить из рассмотрения статистику, полученную до истечения этого времени.
меняют следующую процедуру проверки погрешности имитации с помощью Наиболее часто используются следующие способы уменьшения влияния
базовых генераторов. В серединной точке области изменения управляющих начального периода на динамику имитации процессов в СТС: использование
параметров X организуется несколько прогонов (k ≥ 10) ИМ с одними и теми длинных прогонов модели; исключение из рассмотрения начального периода
же значениями X и задаваемых параметров G, но с разными начальными прогона; выбор такого начального условия, которое ближе всего к типично-
значениями базового генератора ξOk (k – номер прогона). Для каждого k-го му, и тем самым существенное уменьшение длительности переходного ре-
прогона ИМ вычисляются значения n-й компоненты вектора откликов Ynk. В жима имитации.
результате получают выборки значений откликов {Ynk}, k = 1, .., 10. По этим Первый способ можно применять только в случае, если прогон ИМ не
выборкам определяют оценки математического ожидания и дисперсии требует много машинного времени. При втором способе часть времени ЭВМ
( Y n , Dn). Определяется доверительный интервал нахождения истинного зна- тратится бесполезно, и из-за сокращения объёма выборки увеличивается
чения математического ожидания n-й компоненты отклика Ynи. При этом дисперсия отклика модели Y. При этом трудно установить момент окончания
допускают нормальность распределения отклонений Ynк от Ynи. Поскольку переходного режима. Для отделения переходного режима от стационарного
объёмы выбора малы (k < 30), то для нахождения доверительных интервалов у исследователя должна быть возможность наблюдения за моментом входа
используется t-статистика: контролируемого параметра моделирования в стационарный режим. Такой
контроль может быть выполнен на любом компоненте ИМ, который позже
t = (Y n − YnИ ) ( K − 1) Dn , (2.1) всего входит в стационарный режим. Необходимо задать временной интер-
вал, по окончании которого происходит вычисление контролируемого пара-
имеющая распределение Стьюдента. Задавшись уровнем значимости метра (например, длина очереди требований к этому компоненту). Проверку

35 36
можно выполнить по критерию Вилкоксона, который требует задания уров- имеют смысл только при достижении стационарности в СТС. Несмотря на
ня значимости. С интервалом времени, равным ∆t, проводится сравнение то, что в такой ситуации трудно доверять результатам имитации, исследова-
средних значений длин очереди lk и lk′ ( k = 1, m ), где m – объём выборки; k – тель вынужден ими пользоваться, поскольку зачастую другого средства для
изучения явления у него нет.
номера замеров длины очереди. С помощью критерия Вилкоксона проверя-
Под устойчивостью результатов имитации обычно понимают сте-
ется гипотеза НО об однородности выборок {lk} и { lk′ }. Предполагается, что пень нечувствительности ИМ к изменению входных условий. Для этой цели
обе выборки взаимно независимы и извлечены из одной и той же генераль- часто используется апостериорная проверка ИМ. Она состоит в сравнении
ной совокупности, и, следовательно, функции распределения величин lk и предсказаний модели при увеличении периода моделирования. Чем ближе
lk′ одинаковы. Производится объединение случайных величин lk и lk′ в структура ИМ к структуре СТС и чем выше степень её детальности, тем об-
ширнее область пригодности ИМ. Однако может оказаться, что из-за чрез-
один вариационный ряд в порядке возрастания их значений. В результате
мерной подстройки к частным условиям устойчивость результатов имитации
формируется последовательность типа
снижается. Обычно устойчивость результатов имитации оценивают диспер-
A A B A A A B B B B ... A B B сией отклика. Если эта дисперсия при увеличении времени моделирования
1 2 3 4 5 6 7 8 9 10 N–2 N–1 N Тм не увеличивается, значит, результаты моделирования устойчивы. Проце-
где буквами А и В обозначены члены вариационного рада, принадлежащие дура такой оценки следующая. В модельном времени t0 задаются шаг ∆t кон-
тролирования показателя качества (отклика Y), число шагов h для контроля и
выборкам {lk} и { lk′ } соответственно. Каждому члену объединённой выбор- экспертное значение изменения контролируемого параметра ∆YЭ. По дости-
ки приписываются ранги rq, обозначающие порядковые номера в объединён- жении стационарного состояния оценивается амплитуда изменений пара-
ной выборке, q = 1, N ; N = 2m. На основании установленных рангов вычисля- метра Y и вычисляется модуль изменения амплитуды ∆Y как функции от h.
ется значение статистики Вилкоксона: Каждый раз при этом проверяется выполнимость неравенства |∆Y| ≤ ∆YЭ. Ес-
ли на всём интервале исследования Y окажется в заданных пределах, то счи-
N
тают, что ИМ находится в устойчивом состоянии. Рост разброса контроли-
Wl = ∑ rq . (2.4)
q =1
руемого параметра ∆Y и зависимость его значения от изменения h указывают
на неустойчивый характер имитации исследуемого процесса.
Гипотеза НО об однородности выборок принимается при выполнении не- Для исследования чувствительности ИМ исследователь, во-первых,
равенства ϖ1(α) ≤ Wl ≤ ϖ2(α). Здесь ϖ1(α) и ϖ2(α) – верхняя и нижняя грани- должен установить диапазон изменения отклика модели Y при изменении
цы статистики Вилкоксона при уровне значимости α (0 < α < 1), которые вы- каждого компонента вектора параметров X. В зависимости от диапазона из-
числяются из соотношений менения откликов Y определяется стратегия планирования экспериментов
(ПЭ) на ИМ. Если при значительной амплитуде изменений некоторого ком-
m(2m + 1) − 1 m 2 (2m + 1) понента вектора параметров модели X отклик Y меняется незначительно, то
ϖ1 ( α ) = −ψ (2.5)
2 12 это означает, что точность представления этого компонента в ИМ не играет
ϖ2(α) = m(2m-1) – ϖ1(α), существенной роли. Кроме того, в планировании ИЭ этот компонент не бу-
дет использоваться как основной. Если же отклик модели Y окажется высо-
где ψ =arg Ф(1 + α/2); arg Ф(x) означает функцию, обратную от функции кочувствительным к изменению некоторого компонента вектора X, то это
нормального закона распределения. В ряде случаев исследователи строят служит прямым указанием на необходимость представления его в модели с
графики изменения значений контролируемого параметра в модельном вре- максимально возможной точностью.
мени t0. По виду этого графика определяют момент окончания переходного Во-вторых, исследователь должен проверить зависимость отклика моде-
режима имитации. ли Y от изменения параметров внешней среды (G). Меняя характеристики
Не всегда целью моделирования является исследование поведения СТС в вектора G в обе стороны на некоторую величину ∆G, исследователь оцени-
стационарном режиме. Бывают случаи, когда предметом имитации является вает диапазон изменений вектора откликов δY. Если δY незначителен, то
переходный режим реальной СТС. Может оказаться такая ситуация, когда не требования к точности задания модели внешней среды могут быть несуще-
удаётся достичь стационарного режима, хотя результаты моделирования
37 38
ственными. В противном случае измерение характеристики G и сами спосо- достаточно для ранжирования компонент вектора параметров модели Х по
бы стабилизации значения G в ИМ должны быть высокоточными. Анализ значению чувствительности вектора отклика ИМ. Если ИМ окажется мало-
поведения δY при колебаниях Х и G иногда позволяет скорректировать алго- чувствительной по какой-либо S-й компоненте вектора параметров XS, то
ритмы ИМ в сторону их упрощения. зачастую исследователь не включает в план ИЭ изменение XS, чем достига-
Обычно пространство значений параметра Х задано и определяется целя- ется экономия ресурса времени моделирования.
ми моделирования и степенью осведомлённости исследователя о компонен-
тах объекта моделирования. Определение чувствительности ИМ к изменени- 2.3. Проверка адекватности модели
ям параметров ИМ легче всего проводить в центральной точке пространства реальному объекту исследований
значений параметра. Выбор центральной точки осуществляется, как прави-
Проверка адекватности модели реальной СТС проводится чаще всего для
ло, на основании априорных суждений и носит неформальный характер. Для
случая, когда можно определить значение отклика системы в ходе натурных
вычисления отклика применяются процедуры, описываемые самим пользо-
вателем на языке реализации ИМ, результаты работы которых затем уже испытаний. Пусть известен отклик реальной системы YQ* при нагрузке G,
используются следующей стандартной процедурой. Каждый q-й компонент параметрах Q* и YQ* = ϕ*(Q*, G*). Модель представляет собой аппроксими-
вектора Х отклоняется от значения его в центральной точке в обе стороны на
длину выбранного интервала его изменения (min Xq, max Xq). Остальные рующую зависимость Yk = ϕ (Qk, G), k = 1, N (k и N – соответственно номер и
компоненты вектора параметров Х остаются неизменными и соответствуют число опытов на модели и реальной системе), найденную в ходе эксплуата-
центральной точке. Проводится пара модельных экспериментов и вычисля-
ции СТС по результатам наблюдений входных воздействий Q*k, k = 1, N , и
ются отклики ИМ по n-му компоненту Y1n и Y2n, которые означают значения
откликов при граничных значениях q-го компонента вектора параметров выхода YQ*k при заданных значениях G*. Чаще всего исследователи прове-
ИМ. Далее вычисляются приращения q-го компонента вектора параметров ряют адекватность модели по одному из трёх способов: сравнение средних
(δXq) и n-го компонента вектора откликов (δYn) соответственно по форму- значений, определение дисперсий отклонений откликов модели от среднего
лам значения откликов системы; нахождение максимального значения абсолют-
(max X q − min X q ) ⋅ 2 ных отклонений откликов модели от откликов СТС.
δX q = ⋅100 %; При первом способе проверяется гипотеза о близости средних значений
(max X q + min X q )
каждого n-го компонента откликов модели Y n известным средним значени-
(2.6)
*
(Y − Y ) ⋅ 2 ям n-го компонента откликов СТС Y Qk . Проводят N1 опытов на СТС и фор-
δYn = 2 n 1n ⋅100 %.
(Y2 n + Y1n ) мируют выборки значений { YQ*nk }, k= 1, N 1. Выполняют N2 опытов на модели

Изменение вектора откликов Y можно определять либо модулем вектора системы и получают по тем же n-м компонентам откликов модели выборки
приращений (δYn, n = 1, L , L – размерность вектора откликов), либо макси- значений {Ynk}; k = 1, N 2. Обычно стараются, чтобы объёмы выборок были
мальным значением из δYn. Чаще всего исследователи останавливаются на одинаковы (N1 = N2), но в ряде случаев натурные эксперименты весьма доро-
втором способе. Итак, чувствительность ИМ q-го компонента вектора пара- ги и поэтому N1 > N2. По выборкам вычисляются оценки математического
ожидания и дисперсии откликов модели и системы с помощью следующих
метров Х определяется парой значений (δXq, δYq° = max δYn ). Эта пара чисел соотношений:
n
показывает, на сколько процентов может измениться отклик ИМ при увели-
1 N2 1 N2
чении q-й компоненты вектора параметров на δXq процентов. Затем подоб- Yn = ∑
N 2 k =1
Ynk ; Dn = ∑ (Ynk − Y n ) 2 ;
N 2 − 1 k =1
ным же образом поступают с остальными компонентами вектора параметров
(2.7)
Х. В результате получают множество пар значений {δXq, δYq° }; q = 1, h ; где * 1 N1 * 1 N1 * *
Y Qn = ∑
N1 k =1
YQnk ; Dn* = ∑ (YQ − Y Qn ) 2 .
N1 − 1 k =1 nk
δXq – разность вектора параметров Х. Этой информации, как правило, бывает

39 40
* определяют вектор отклонений откликов модели от откликов реальной сис-
Основой проверки гипотезы является разность E1n=( Y n − Y Qn ), оценкой
темы в процентах. Компонентами этого вектора являются
дисперсии которой будет
Don = ((N1 – 1)Dn + (N2 – 1) D*n) / (N1 + N2 – 2). (2.8) Ynk − YQ*nk
δYn = max *
⋅100 % , (2.11)
k
Величины E1n и Don являются статистиками независимыми, поэтому Y Qn
можно использовать t-статистику:
*
где Y Qn – среднее значение n-й компоненты отклика систем, определяемое
* N1 N 2
tn = ( Y n − Y Qn ) . (2.9) по формуле (2.7).
Dρn ( N 1 + N 2 ) Таким образом, δYn представляет собой максимальное значение отклоне-
ний n-го компонента откликов модели в N2 модельных экспериментах от
При числе степеней свободы ν = N1 + N2 – 2 и уровне значимости α = 0,05 соответствующих окликов реальной СТС, нормированное средним значени-
по таблицам распределения Стьюдента находят критическое значение (tкр).
ем n-го компонента отклика СТС, принимаемого в качестве истинного зна-
Если выполняется неравенство tn ≤ tкр, то гипотеза о близости средних значе-
чения. Задавшись процентным значением допустимого отклонения каждого
ний n-го компонента откликов модели и СТС принимается. Только при бли-
компонента откликов модели от откликов системы δYд, проверяют выполни-
зости откликов по всем компонентам векторов Y и YQ* можно говорить об
мость неравенства δYn ≤ δYд. Невыполнение данного неравенства хотя бы по
адекватности модели и СТС по первому способу. одному компоненту вектора оклика модели ставит под сомнение адекват-
При втором способе для каждой n-й компоненты откликов проверяется ность модели реальной СТС из-за ограничений и предложений, положенных
гипотеза о значимости различий оценок двух дисперсий Dn* и Don. Первая в основу ИЭ.
Результаты испытания модели СТС также представляют собой важный
дисперсия Dn* определяется из соотношения (2.7), для нахождения второй
документ. Подробно описывается план проверки модели, согласованный с
дисперсии используют формулу лицом, принимающим проектные решения. Приводятся тесты и входные
N2 данные для испытания ИМ. По результатам испытания ИМ составляется
Don = ∑ (Ynk − Y Qn ) 2 ( N 2 − 1). (2.10) пояснительная записка, где указываются размеры области изменения пара-
k =1 метров ИМ, в которой модель даёт удовлетворительные результаты.
Для сравнения дисперсий составляется F-статистика: F = Don / Dn* и про- Убедившись в пригодности ИМ для решения поставленных задач, со-
ставляют документы для обучения заказчика работе с ИМ. В них должно
веряется выполнимость неравенства Don ≥ Dn* . По таблицам распределения быть приведено описание процедуры привлечения пользователя к работам с
Фишера находят Fкр (при уровне значимости α = 0,05, числе степеней свобо- ИМ. Для этого составляются: руководство пользователя ИМ; руководство
ды ν1 = ν2 = N2; стараются достичь равенства объемов выборок N1 = N2). Вы- аналитика СТС; резюме исполнителя, облегчающее интерпретацию резуль-
полнение неравенства F > Fкр указывает на то, что гипотеза о значимости татов лицу, принимающему решение.
различий двух оценок дисперсий принимается и отсутствует адекватность Этап моделирования СТС тщательно документируется и сопровождается
между n-ми компонентами откликов модели и реальной системы. Если от- большим числом иллюстративного материала. Все выводы оформляются в
сутствует адекватность модели хотя бы по одной из компонент, то считают, виде отчётов, которые составляют неотъемлемую часть документации этапа
что модель неадекватно отображает реальную систему. эксплуатации и могут служить источником для разработки новой ИМ СТС.
При третьем способе проверяется соответствие отклонений откликов мо-
дели и реальной СТС по каждой компоненте. Отклонения этих откликов
должны быть не более заданной величины. Этот способ применяется при
проверке адекватности моделей систем управления. Для каждой n-й компо-
ненты формируют две выборки: {Ynk} и { YQ*nk }; k = 1, N1 = N 2 . По выборкам

41 42
роко применяя графические способы анализа данных моделирования.
3. ОСНОВЫ ПЛАНИРОВАНИЯ ЭКСПЕРИМЕНТОВ ИМ должна быть понятной заказчику-пользователю, способной давать
С МОДЕЛЯМИ СТС ответы на его вопросы, формировать информацию для последующего проек-
тирования или модификации СТС и, наконец, недорогой при её применении.
Подача результатов столь же важна, сколь и само проведение работы. Все
3.1. Особенности планирования и организации традиционные методики обработки результатов наблюдений приемлемы и
имитационных экспериментов для анализа результатов имитации. С нашей точки зрения, наиболее важны-
После того как установлены цели эксперимента и определена система ав- ми являются следующие вопросы представления результатов ИЭ: исключе-
томатизации ИЭ, полезно провести предварительное планирование ИЭ. Не- ние резко отклоняющихся значений при натурных экспериментах для полу-
обходимо иметь подробный план ИЭ для целенаправленного и эффективно- чения исходной информации моделирования; выбор системы координат при
го получения результатов исследований. Плановые ограничения на время графическом представлении данных имитации; анализ регрессионной зави-
ИЭ и затраты должны быть приведены в соответствие с имеющимися в рас- симости функции откликов от параметров моделирования.
поряжении исследователя ресурсами. Чем дороже и сложнее эксперимент,
тем большее внимание следует обращать на планирование ИЭ. Зачастую 3.2. Определение требуемого размера выборки
ограничения в ресурсах опытов настолько жёсткие, что не позволяют вос- при планировании ИЭ
пользоваться традиционными статистическими методами. Обычно исполь- При ограниченном ресурсе времени моделирования первейшей задачей
зуются три типа экспериментов: сравнение средних и дисперсий разных аль- исследования является получение ответа на вопрос: как много выборочных
тернатив; определение важности учёта или значимости влияния переменных значений следует взять во время моделирования, чтобы обеспечить доста-
и ограничений, наложенных на эти переменные; отыскание оптимальных точную статистическую значимость. Поскольку разбросы выборочных зна-
значений на некотором множестве возможных значений переменных. чений случайны, то обусловленная ими неточность результата ИЭ определя-
Эксперименты первого типа являются, как правило, однофакторными и ется размером выборки значений отклика. На практике размер выборки
довольно простыми. Исследователь решает вопросы о размере выборки, на- обычно является функцией количества средств, отпущенных на ИЭ.
чальных условиях, наличии или отсутствии автокорреляции. Экспериментам Многие методы анализа используют предположение о независимости и
второго типа посвящено большинство книг по планированию и анализу их нормальном распределении значений откликов модели. Это предположение
результатов. Основными методами истолкования результатов этих экспери- основано на применении центральной предельной теоремы теории вероятно-
ментов являются дисперсионный и регрессионный анализы. Третий тип экс- стей. Действительно, часто отклик представляет собой сумму большого чис-
периментов обычно предполагает использование последовательных методов ла небольших эффектов, и переменная отклика ИМ СТС является результа-
построения экспериментов. С методиками планирования экспериментов вто- том аддитивного действия большого числа случайных переменных. Если
рого и третьего типов рекомендуется ознакомиться в учебном пособии авто- учесть, что каждое выборочное значение представляет собой также сумму
ров «Основы регрессионного анализа и планирования экспериментов» [3]. большого числа небольших эффектов, то центральная предельная теорема
применима, и есть основание предполагать, что приближённо отклик имеет
Поэтому рассмотрим только технологию организации экспериментов перво-
нормальное распределение. В условиях применимости этой теоремы и при
го типа.
отсутствии автокорреляции можно использовать для определения размера
На этапе эксплуатации ИМ исследователю необходимо осуществить об-
выборки, необходимой для оценивания параметров с заданной точностью,
работку результатов ИЭ и представление этих результатов в максимально правило автоматической остановки. Оцениваемыми параметрами могут быть
информативной форме. Любая ИМ не имеет ценности до тех пор, пока она средние значения и среднеквадратичные отклонения совокупности.
не будет использована теми, для кого разработана. Для большинства руково- Правило «автоматической обстановки» основано на методе доверитель-
дителей разработки СТС представляют интерес только их проблемы. Поэто- ных интервалов. Этот метод предполагает задание точности представления
му результаты ИЭ должны быть приемлемы для них по критерию надёжно- dn математического ожидания µn или bn дисперсии σn2 у n-й компоненты
сти и полезности этой информации для проектирования. Поэтому для созда- вектора отклика Y и уровня значимости α, гарантирующего попадание µn, σn2
телей ИМ важно уметь представить результаты ИЭ в наглядной форме, ши-

43 44
внутрь интервалов ( Y n ± dn), (Dn ± bn) с вероятностью αµn (1 – α). Здесь Y n и При оценивании дисперсии задача отыскания оценки Dn с достоверно-
Dn представляют собой среднее значение и дисперсию, вычисленные по вы- стью (1 – α) имеет вид
борке объёма N, и являются оценками соответственно µn и σn2.
В ходе испытания и исследования свойств ИМ исследователь определяет P{(1 − bn )σ n2 ≤ Dn ≤ (1 + bn )σ 2n } = 1 − α . (3.3)
векторы точностей (d1, ..., dn, ..., dL) или (b1, ..., bn, ..., bL) представления ком-
Поскольку N1 достаточно велико, то эту статистику аппроксимируют
понент вектора отклика Y. Выполнение правила «автоматической останов-
нормальным распределением и получают следующую формулу для опреде-
ки» представляет собой итеративную процедуру, суть которой состоит в
следующем. До начала проведения серии экспериментов известны уровень ления достигнутой точности оценки σ 2n в N1 опытах:
значимости α и векторы точностей представления компонент вектора откли-
ка bn или dn. Из априорных сведений или опыта устанавливается количество b1n = Z α 2 2 /( N1 − 1) , (3.4)
начальных экспериментов N1, необходимых для получения выборок значе-
ний компонент откликов модели {Ynk}; n = 1, L ; k = 1, N1 . Если исследователь где Zα/2 – значение нормированного нормального распределения при задан-
ном уровне значимости α/2.
предполагает, что в ходе исследования свойств ИМ число опытов было
слишком большим, то в качестве начального значения полагают N1 = 5. Да- Шаг 3. Сравнивают достигнутую точность d1n или b1n оценок µn или σ 2n в
лее алгоритм выбора числа экспериментов N состоит из следующих шагов. N1 опытах с заданным значением dn или bn. Если выполняется неравенство
Шаг 1. По выборке {Ynk} по формулам (2.7) находят средние значения d1n ≤ dn или b1n ≤ bn, то отмечают, что по n-й компоненте вектора откликов
Y n и дисперсии Dn. модели Y достигнута требуемая точность оценки в N1 экспериментах. Если
Шаг 2. Для очередного номера n компоненты вектора откликов модели Y данное неравенство не выполняется, то переходят к шагу 4. При выполнении
определяют достигнутую точность оценок Y n и Dn при выполнении N1 экс- данного неравенства переходят к шагу 5.
периментов. Здесь возможны следующие случаи. Шаг 4. Выполняют ещё один модельный эксперимент. N1 увеличивают на
Если выборка малого объёма (N1 ≤ 30), то для вычисления доверительного единицу (N1 ≡ N1 + 1) и переходят к шагу 1.
интервала используют t-статистику, имеющую распределение Стьюдента Шаг 5. Проверяют, все ли компоненты вектора откликов проверены на
d1n = t ђ р Dn /( N1 − 1) , где tкр – критическое значение t-статистики при удовлетворение точности оценки µn или σ 2n . Если проверена достижимость
(N1 – 1) степенях свободы и заданном уровне значимости α. точности по всем компонентам вектора точностей (d1, ..., dL) или (b1, ..., bL), то
Если размер выборки большой (N1 > 30), то для вычисления доверитель- эксперименты завершаются. В противном случае меняют номер компоненты
ного интервала µn используют двухстороннюю статистику нормированного вектора откликов модели и переходят к шагу 2.
Достижимость заданной точности dn или bn оценки некоторой статистики
нормального распределения d1n = Z α 2 Dn / N1 , где Zα/2 – значение нормиро-
(или группы статистик) может быть одним из условий окончания ИЭ.
ванного нормального распределения при уровне значимости α/2.
Если нормальность Yn предположить нельзя, но N1 большое, то применя- 3.3. Определение интервалов изменения параметров ИМ
ют неравенство Чебышева и исключение источников ошибок имитации
P{| Y n – µn| ≥ h σn/ N1 } ≤ 1/h2, (3.1) В любом ИЭ важно определить интервалы изменения параметров ИМ. До
начала имитации необходимо найти предельные значения статистик моде-
где h – некоторая наперёд заданная константа, означающая число средне- лирования. Существуют три основных фактора, влияющих на выбор интер-
квадратичных отклонений, удовлетворяющих исследователя. В этом случае валов изменения параметров модели: необходимость получения одинаковой
доверительный интервал можно с достаточной точностью вычислить по относительной точности статистик на разных участках области изменения
формуле параметров ИМ; характер функции отклика; назначение ИЭ.
d1n = Dn / N1 (1 − α) (3.2) Если анализ погрешностей показывает, что на каком-то участке модели-
руемого процесса данные вызывают сомнения, то в ходе имитации на этом
45 46
участке необходимо увеличить частоту фиксации данных. Необходимо бирает центр этой подобласти.
стремиться к тому, чтобы точность функции отклика модели была на всех Назначение ИЭ также существенно влияет на методику выбора интерва-
участках одинаковой. Для этого необходимо соответствующим образом лов изменения параметров модели. Если предметом имитации является по-
спланировать эксперимент. Если известно, что в ИЭ имеются особенности, иск узких месть в функционировании СТС или выбор гипотез о механизме
которые можно обнаружить при получении данных в регулярной последова- явлений, то применяется многоуровневое факторное планирование. В этом
тельности, используют классический последовательный план. Все парамет- случае на выбор уровней факторов влияет относительная точность фиксации
ры ИМ полагают постоянными, а один из них изменяют по всей области статистик имитации на разных участках изменения параметров ИМ. Когда
значений. Выбор интервалов между соседними значениями осуществляется предметом моделирования является либо поиск оптимальных условий функ-
с учётом баланса точностей. Аналогично изменяют второй параметр, третий ционирования СТС, либо выбор существенных для управления СТС пара-
и т. д. метров, либо нахождение вида функции, аппроксимирующей поведение
Затем составляют план изменения параметров в ИЭ. В теории планиро- СТС, то задача сводится к выбору для каждого фактора трёх его уровней
вания экспериментов компоненты вектора параметров моделирования X на- (нижнего, основного, верхнего). В этом случае выбирается интервал варьи-
зывают факторами, а их значения называют уровнями факторов. Перед пла- рования фактора (число, прибавление которого к основному уровню даёт
нированием ИЭ устанавливаются границы области определения факторов. верхний уровень фактора, а вычитание – нижний уровень фактора). На вы-
Необходимо при этом учитывать следующие типы ограничений: принципи- бор интервалов варьирования факторов накладываются ограничения сверху
альные, которые неустранимы из-за их физической сущности; обусловли- и снизу. Интервал варьирования не может быть меньше той погрешности, с
ваемые технико-экономическими соображениями; связанные с условиями которой исследователь фиксирует уровни, чтобы они были различимы. Но
проведения ИЭ. Каждая комбинация уровней факторов является точкой в интервал варьирования не может быть настолько большим, чтобы эти уров-
многомерном пространстве параметров, называемым факторным простран- ни оказались за пределами области изменения факторов. Для выбора интер-
ством. Построение плана эксперимента сводится к выбору эксперименталь- вала варьирования исследователь обычно использует следующую априор-
ных точек, симметричных относительно основного уровня. ную информацию: сведения о точности фиксации факторов; данные о кри-
В зависимости от вида функции отклика Y = ϕ(X, G) исследователь может визне функции отклика (линейная или нелинейная); результаты оценки чув-
располагать различными (априорными) сведениями об области наилучших ствительности отклика модели Yk к изменениям параметров модели X. По-
значений Y. Априорная информация об этой области существенно влияет на этому часто исследователи проводят серию «затравочных» экспериментов
выбор основного уровня по каждому фактору. Если у исследователя имеют- для знакомства с исследуемой СТС и получения недостающей априорной
ся сведения о координатах только одной точки и нет информации о границах информации о влиянии выбранных интервалов варьирования факторов на
факторов, то ему ничего не остаётся, как рассматривать эту точку в качестве вид искомой функции откликов.
основного уровня. Когда границы изменения факторов известны исследова- При составлении плана анализа результатов ИЭ необходимо предусмот-
телю и он знает, что наилучшие значения X находятся внутри области изме- реть несколько проверок точности и приемлемости результатов имитации. В
нения факторов, то в качестве основного уровня он может выбрать любую из ряде случаев для определения источников погрешностей можно использо-
точек факторного пространства. Хуже обстоит дело, когда известная точка вать уравнение баланса точностей. Суть подобной методики рассмотрим на
лежит на границе факторного пространства. В этом случае исследователю следующем примере. Пусть в ИЭ измеряются переменные А, В, Х, У, кото-
приходится выбирать основной уровень со сдвигом от наилучших значений рые связаны между собой уравнением сохранения значений между парами
Y. Если же исследователю известно, что имеется несколько наилучших зна- переменных: A ⋅ B = X ⋅ Y. Установлено, что из-за неточности описания реаль-
чений Y, то в качестве основного уровня он может выбрать любую случай- ного процесса одна из этих переменных (неизвестно, какая из них) является
ную точку внутри факторного пространства. Наконец, исследователю до причиной систематической погрешности. Для коррекции алгоритма ИМ
постановки ИЭ известна подобласть в факторном пространстве, где иссле- нужно выявить не только виновника погрешности, но и место её возникно-
дуемый процесс протекает оптимально и эксперимент ведётся только для вения в алгоритме модели. Пусть в ходе имитации не меняется значение А, а
уточнения места этого оптимума. Тогда в качестве основного уровня он вы- остальные переменные изменяются следующим образом: X → mX; Y → nY;

47 48
B → m ⋅ B. Уравнение баланса при этих условиях имеет вид: AmnB = mXnY. их будет просто игнорировать, и вся работа по созданию ИМ окажется без-
Далее используется следующее правило. Если одна из переменных в уравне- результатной. Поэтому очень важно уметь представить результаты ИЭ в на-
нии баланса, например, может быть представлена в виде суммы (A + ψ(A)), глядной форме, применяя при этом графические способы анализа данных.
где ψ(A) – систематическая погрешность, то эту переменную можно обнару- Наконец, любая ИМ должна позволять разработчикам СТС оценивать те
жить, рассматривая поочерёдно случаи с фиксированным значением каждой решения, которые удовлетворяют их собственным понятиям рациональности
переменной. Переменная, относительная погрешность изменения которой СТС, и возможные результаты применения других стратегий проектирова-
при фиксированном её значении не меняется, и является причиной система- ния. Отсюда следует важность их личного участия в создании ИМ.
тической погрешности. Исключением является случай, когда переменная Таким образом, ИМ должна давать информацию, которая может быть ис-
имеет пропорциональное приращение ошибки A + kA (k – постоянная вели- пользована при проектировании СТС, быть понятной заказчику-
чина). В этом случае погрешность предлагаемым способом обнаружить не- пользователю, способной давать разумные ответы на его вопросы, легко мо-
возможно. дифицируемой, недорогой при её применении. Подача результатов имита-
Часто для поиска погрешности ИЭ используется предварительный экспе- ции очень важна. Иногда полезнее организовать серию небольших нефор-
римент, по результатам которого исследователь строит график зависимости мальных обсуждений результатов с заказчиком, чем формализованное изло-
Y = f(X). Система координат и сама функция f выбираются такими, чтобы жение результатов моделирования. Поэтому исследователь должен владеть
график был линейным или хотя бы не имел большой кривизны вблизи нача- методиками подачи результатов моделирования и их графического пред-
ла координат для последующей экстраполяции графика. Обычно использу- ставления.
ются линейные или полулогарифмические шкалы, позволяющие строить Чтобы задать характеристики поведения компонентов ИМ реальной СТС,
прямую зависимость отклика Y от вектора параметров Х. зачастую приходится ставить серии экспериментов с прототипами компо-
Например, пусть исследователю известно, что один из графиков линей- нент модели. Однако в ряде случаев поведение компонент реальной СТС
ной зависимости отклика имеет систематическую погрешность. Необходимо может резко отличаться от предполагаемого исследователем. В таких случа-
определить, какой из графиков верен, и оценить при этом эту погрешность. ях исследователь стоит перед проблемой: или игнорировать некоторые из-
Пусть для простоты каждый набор результатов ИЭ характеризуется одина- мерения как ошибочные, или пересмотреть своё представление о функцио-
ковым показателем степени, хотя сами графики не совпадают. Однако из- нировании СТС. Зачастую
вестно, что в области малых знаний зависимость Y = f(X) должна проходить может помочь процедура от-
через начало координат. Тогда для идентификации и оценки систематиче- браковки ошибочных значе-
ской ошибки погрешности ИЭ строят графики в области малых значений. ний, суть которой можно по-
Тот график, который не удовлетворяет условию прохождения через начало яснить следующим примером.
координат, и имеет систематическую погрешность. Отметим также, что На рис. 3.1 представлена зави-
среднее значение Y при X = 0 и является оценкой этой погрешности. симость Y = f(X), у которой
несколько точек резко откло-
3.4. Технология эксплуатации няются от аппроксимирующей
имитационных и вероятностных моделей СТС прямой. Ставится вопрос: ка-
Рис. 3.1. Пример представления данных ИЭ, кие из них можно считать гру-
Любая ИМ не имеет ценности до сих пор, пока не будет использована содержащих резко отклоняющиеся
значения от линейной зависимости быми погрешностями опыта и
теми, для кого она разработана. Поэтому информация, получаемая в ходе
исключить из дальнейшего
эксплуатации ИМ, должна быть приемлемой для них. Критерии приемлемо-
рассмотрения. Весьма вероятно, что точка А является сомнительной, по-
сти прежде всего включают в себя надёжность и полезность информации для
скольку и для меньших, и для больших значений Х ординаты близки к ап-
проектирования СТС. Исследователь должен понимать, как необходимо по-
проксимирующей прямой линии. Точка В может быть ошибочной, но, воз-
ступить или использовать результаты ИЭ в трудных ситуациях. Если ему не
можно, она является важной и отражает какой-либо реальный физический
ясно, как эти данные могут помочь ему принимать проектные решения, то он
49 50
эффект (например, переход СТС в область других состояний). Точку С также ми; имена и адреса разработчиков программ ИМ. По мере того как описание
следует сохранить до тех пор, пока не будут получены дополнительные све- ИМ создаётся, оно постепенно пополняется и детализируется.
дения об откликах СТС в области малых значений. Можно рекомендовать На этапе определения необходимости ИЭ составляется документ, содер-
следующее правило отбраковки: отклоняющиеся точки следует исключать, жащий адреса всего состава разработчиков и потребности заказчика ИЭ. По
пользуясь статистическими критериями, только в том случае, когда они на- мере изучения СТС составляется второй документ, в котором устанавлива-
ходятся в средней части области изменения Х. ется цель моделирования, набор альтернативных решений. Далее составля-
В экспериментальной работе часто может возникать следующая ситуа- ется план работы над созданием ИМ и распределение функциональных обя-
ция: имеются данные, которые в определённой системе координат могут занностей каждого из разработчиков ИМ.
быть представлены в виде прямой (уравнение которой можно найти). Тогда На этапе формировки ИМ разрабатываются рабочие документы на весь
первой задачей исследователя является выбор такой системы координат или жизненный цикл моделирования. В них содержится: описание всех деталей
преобразование выбранной уже системы координат в такую, в которой набор моделей; обоснование ИМ; состав предположений, гипотез и ограничений;
данных моделирования давал бы по возможности прямую линию. Для этой описание процедур оценки параметров; основные требования к заданию ис-
цели строят график в логарифмических координатах (например, Y=k⋅Xα име- ходных данных для моделирования; список ограничений по использованию
ет вид lgY = lgk + α⋅lgX) либо в полулогарифмических координатах (шкала ИМ.
Y – логарифмическая, Х – линейная). Иногда гиперболическую функцию На этапе реализации ИМ формируется набор эксплуатационных доку-
Y = X/(a + bX) можно представить в виде прямой, построив в линейных коор- ментов. В том числе приводится описание задачи проектирования СТС и
динатах зависимость X/Y от Х или 1/Y от 1/X. общее описание ИМ. Указывается список допущений, ограничений и пред-
Вообще графики позволяют представить данные в наглядной форме при ложений, положенных в основу ИЭ.
минимальной обработке экспериментального материала и являются средст- Результаты испытания модели СТС также представляют собой важный
вом выдачи максимума информации при минимальном пространстве графи- документ. Подробно описывается план проверки модели, согласованный с
ка. При графическом представлении данных имитации рекомендуется при- лицом, принимающим проектные решения. Приводятся тесты и входные
держиваться трёх простых правил, позволяющих получить графики с мини- данные для испытания ИМ. По результатам испытания ИМ составляется
мальной неопределённостью: пояснительная записка, в которой указываются размеры области изменения
– минимальное деление шкалы графика должно соответствовать вероят- параметров ИМ, в которой модель дает удовлетворительные результаты.
ной погрешности измеряемой величины; Убедившись в пригодности ИМ для решения поставленных задач, со-
– по возможности для любых данных ИЭ надо пытаться строить линей- ставляют документы для обучения заказчика работе с ИМ. В них должно
ный график; быть приведено описание процедуры привлечения пользователя к работе с
– выбор длины шкалы должен производиться из условия максимального ИМ. Для этого составляются: руководство пользователя ИМ; руководство
использования формата графической бумаги. В противном случае можно аналитика СТС; резюме исполнителя, облегчающее интерпретацию резуль-
либо не уловить основной характер кривой и не установить закономерность татов лицу, принимающему решение.
её изменения, либо не получить желаемой точности, поскольку все случай- Этап моделирования СТС тщательно документируется и сопровождается
ные отклонения сгладятся. большим числом иллюстративного материала. Все выводы оформляются в
На всех этапах разработки и использования ИМ очень важно документи- виде отчетов, которые составляют неотъемлемую часть документации этапа
рование как для лица, принимающего решение, так и для самих разработчи- эксплуатации и могут служить источником для разработки новой ИМ СТС.
ков ИМ. Документация на модель должна содержать в себе следующую ин-
формацию: точную формулировку цели моделирования; математическое
определение, состав предположений и формулировку задачи моделирования;
полный набор текущих входных данных моделирования; набор схем про-
грамм ИМ; описание используемых стандартных программ с комментария-

51 52
времени t0. Большинство из атрибутов недоступны для пользователя и явля-
4. СИСТЕМЫ МОДЕЛИРОВАНИЯ, ются рабочими переменными УПМ, реализующей операторы языка GPSS.
РЕАЛИЗУЮЩИЕ ТРАНЗАКТНЫЙ СПОСОБ Атрибуты, к которым в ИМ можно обращаться, называются стандартными
числовыми атрибутами (СЧА). Основными объектами ИМ на языке GPSS
ИМИТАЦИИ СТС являются транзакты (TR) и блоки (БЛ). TR описывают единицы исследуемых
потоков (требования на обслуживание), поступающих в систему. БЛ задают
4.1. Общая характеристика языка моделирования GPSS логику функционирования ИМ и определяют пути движения TR между объ-
ектами аппаратной категории (F, S, L). Все изменения состояний ИМ (собы-
4.1.1. Объекты языка GPSS тия Cij) происходят в результате входа TR в БЛ и выполнения блоками сле-
дующих функций: создание (генерация) и уничтожение TR, изменение чи-
В качестве объектов имитации могут выступать различные СТС и ТП, словых атрибутов объектов, задержка TR на определенный интервал време-
представленные в виде вероятностных СМО: вычислительные системы (ВС),
ни τij, изменение маршрута движения TR.
ТП, гибкие автоматизированные производства (ГАП), роботехнические ком-
Объекты аппаратной категории служат для описания единиц оборудова-
плексы (РК), системы обработки информации (СОИ), предприятия сферы
ния ТС. Воздействуя на эти объекты, TR могут изменять их состояние и вли-
обслуживания (ПСО), транспортные системы (ТРС); коммуникационные
ять на движение других TR. Устройства F описывают оборудование, которое
системы связи (КСС) и т. д. Для указанного класса систем выделено конеч-
в любой момент времени может быть занято только одним TR (обычная од-
ное множество абстрактных элементов и конечное множество стандартных
ноканальная СМО), а также быть прервано поступлением более приоритет-
операций, описывающих связи между элементами. Выделенным множест-
ного TR. Памяти S, представляя собой многоканальные устройства, описы-
вом элементов и операций установлено соответственно множество объектов
вают оборудование, которое может использоваться несколькими TR одно-
языка GPSS. Модель СТС на GPSS строится путем объединения объектов в
временно (многоканальная СМО). Логические ключи используются для бло-
некоторую фиксированную логическую блок-схему. Различают 7 категорий
кировки или изменения движения TR в зависимости от ранее наступивших в
и 14 типов объектов (табл. 4.1).
ИМ событий Cij.
Таблица 4.1. Категории и типы объектов GPSS Объекты вычислительной категории описывают связи между элементами
Обозна- ТС, задаваемые с помощью аналитических или логических соотношений.
Категория объектов Тип объектов
чение Они могу служить как для задания вероятностных законов распределения
1. Динамическая 1. Транзакты TR случайной величины в ИМ, так и для численного или логического описания
2. Операционная 2. Блоки БЛ условий, определяющих движение транзактов. В эту категорию объектов
3. Аппаратная 3. Устройства F входят две группы переменных – V и BV, а также допустимый набор функ-
4. Памяти S ций FN. Статистические объекты обеспечивают вычисление и предоставле-
5. Логические ключи L ние в стандартном виде значений показателей эффективности ТС, предос-
4. Вычислительная 6. Арифметические переменные V тавляемой в виде СМО (средних значений, стандартных отклонений, эмпи-
7. Булевые переменные BV рических функций распределения параметров СМО). Очереди Q обеспечи-
8. Функции FN вают исследователя статистикой для поиска узких мест в моделируемой сис-
5. Статистическая 9. Очереди Q теме. Таблицы T содержат итоги предварительной обработки стандартной
10. Таблицы T статистики.
6. Запоминающая 11. Ячейки X Объекты категории запоминающих служат для условий моделирования,
12. Матрицы ячеек M хранения, накопления и обработки информации, получение которой не пре-
7. Группирующая 13. Списки пользователя C дусмотрено стандартными средствами GPSS. Эту информацию можно хра-
14. Группы G нить в виде двух типов объектов : ячеек X и матриц M, элементами которой
являются ячейки. Объекты группирующей категории содержат информа-
Каждому объекту ИМ соответствуют арифметические или логические цию о транзактах, находящихся в ИМ. Двигаясь по ИМ от блока к блоку, TR
атрибуты, описывающие состояние объекта в текущий момент модельного могут приводить к наступлению таких событий Cij , как поступление TR в

53 54
СМО, занятие и освобождение места в накопителе, занятие и освобождение языке GPSSV. В ИМ могут присутствовать TR, имеющие различный приори-
канала обслуживания, прерывание обслуживания требования с более низким тет (от 0 до 127). У каждого блока имеется два СЧА: wi – номер транзакта,
приоритетом, совпадение значений числовых атрибутов нескольких TR. При находящегося в блоке с номером i в текущий момент времени t0; Ni – общее
этом соответствующие TR помещаются в один из пяти списков: текущих или количество TR, поступивших в i-й блок в течение одного ИЭ на ЭВМ.
будущих событий (по отношению к t0); прерываний; синхронизируемых друг
с другом TR; список пользователя (т. е. TR, которые удалены пользователем 4.1.3. Организация потоков транзактов в GPSS
из списка текущих событий). Организация потоков TR, поступивших в ИМ на обслуживание, обеспе-
чивается оператором создания требований GENERATE A, B, C, D, E, F, G, H,
4.1.2. Правила составления программ ИМ на GPSS I. Операторы A, ..., I указывают следующие характеристики входного потока
В программах на GPSS для описания объектов используются операторы TR: среднее время поступления транзактов (A), модификатор среднего вре-
и карты описания. На этапе разработки блок-схемы ИМ можно использо- мени (B), время задержки первого транзакта (С), количество создаваемых TR
вать графические обозначения объектов ТС. Моделирующая программа на (D), приоритет TR (E), F, ..., I – количество и формат параметров TR. Если в
языке GPSS записывается в операторной форме, которая затем преобразует- поле F записан 0, то у TR нет параметров.
ся компилятором интерпретационного типа в загрузочный модуль. Запись Для задержки TR на заданный интервал времени используется оператор:
операторов и карт описаний имеет единую форму и состоит из поля метки ADVANCE A, B.
для записи символического адреса (имени) БЛ или объекта; поля операции Оператор TERMINATE A уничтожает (удаляет из ИМ) транзакты. Здесь
для записи типа блока, объекта, управляющей карты; поля операндов, вклю- операнд A указывает число, на которое уменьшается содержимое счетчика
чающего от 0 до 9 операндов, разделенных запятыми и служащих для зада- числа завершений, значение которого задается в управляющей карте START
ния информации, необходимой для выполнения операций. Обычно эти опе- в поле операндов A.
ранды обозначают в порядке записи буквами A, B, C, ..., H, I. При записи Оператор ASSIGN A,B,C,D служит для задания значений параметров
операторов и карт можно использовать фиксированный и свободный фор- транзактов, где:
мат. При фиксированном формате имеет место следующее распределение А – номер изменяемого параметра с указанием режима изменения, нако-
колонок по полям: 2–6-я колонки (поле метки); 8–18-я колонки (поле опера- пления (+), вычитания (–), замещения (нет символов в знаковом разряде);
ции); 19–71-я колонки (поле операндов). Символ «*» в первой колонке озна- B – целое число, изменяющее значение параметра;
чает строку-комментарий. При свободном формате необходимо выполнение C – номер функции-модификатора значения, указанного в поле B;
следующих правил: D – формат изменяемого параметра (PF, PH, PB, PL).
– поле метки начинается с 1-й колонки (наличие символа «*» также озна- Оператор PRIORITY A изменяет приоритет транзакта, здесь A – значение
чает строку-комментарий); приоритета (от 0 до 127), присваиваемого TR.
– поля в записи отделяются друг от друга пробелами; Объект в GPSS типа «устройство» является аналогом канала обслужива-
– некоторые типы блоков могут иметь расширенное поле операции. ния в СМО. Занятие канала (устройства) требованием TR осуществляется с
Различают системные числовые атрибуты и стандартные числовые атри- помощью оператора SEIZE A, а освобождение канала по окончанию обслу-
буты объектов (СЧА). Системные числовые атрибуты характеризуют про- живания TR – оператором RELEASE A. Здесь А- номер (имя) занимаемого
цесс имитации в целом. СЧА определяют состояние объектов ИМ в момент (освобождаемого) TR устройства. Устройство занимается и освобождается в
t0. Каждый объект имеет свой набор СЧА. Все числовые атрибуты имеют момент входа TR в соответствующий блок. TR, заставшие устройство заня-
символические имена. Имя СЧА включает мнемоническое обозначение, за- тым, ждут его освобождения в очереди.
дающее тип атрибута (см. табл. 4.1) и порядковый номер объекта в ИМ либо Блок PREEMPT A,B,C,D,E приостанавливает обслуживание транзакта,
его символическое имя. Объекты всех типов в ИМ нумеруются УПМ авто- ранее занятого устройства, и дает возможность захватить устройство сле-
номно для каждого типа в порядке их встречаемости в ИМ. Основными СЧА дующему транзакту. Здесь А – номер (имя) устройства, работа которого пре-
транзакта являются параметры и приоритет TR. Каждый TR может иметь рывается входящим в блок TR; В – режим прерывания; С – адрес помещения
от 0 до 1020 параметров одного из четырех форматов соответственно с име- прерванного TR; D – параметр прерванного TR (остаток времени его обслу-
нами PFi, PHi, PBi, PLi (где i – номер параметра). Выбор количества и назна- живания); E – указатель на возможность повторного захвата устройства пре-
чение параметров осуществляется пользователем при формализации ТС на рванным TR. Транзакт, вошедший в блок RETURN A, снимает прерывание на
55 56
устройстве с именем A. Блоки PREEMPT и RETURN часто применяются для начале программы. В булевских переменных употребляются три вида опера-
моделирования циклических операций в ТС. ций: логические, условные, булевые. Для обозначения логических операций
Памяти описывают оборудование, обслуживающее одновременно не- используются мнемонические обозначения j-го объекта: устройство не пре-
сколько требований (многоканальные СМО). Для задания объема памяти рвано (FNIj); устройство прервано (FIj); устройство занято (FUj); устройство
используется карта описания n STORAGE A. Здесь n – номер (имя) памяти, не занято (FNUj); устройство занято либо прервано (Fj); память заполнена
А – объем памяти. Эта карта помещается в начале программы ИМ на GPSSV (SFj); память не заполнена (SNFj); память пуста (SEj); память не пуста (SNEj);
перед первым оператором GENERATE. Изменение состояния памяти в ИМ логический шаг установлен/сброшен (LSj/LRj). Условные операции имеют
осуществляется с помощью операторов занятия памяти ENTER A, B и осво- традиционные обозначения: G, L, E, NE, LE, GE. При использовании булев-
бождения памяти LEAVE A,B. Здесь А – номер (имя) памяти, В – число еди- ской переменной данные символы заключаются в апострофы.
ниц памяти, занимаемое (освобождаемое) TR при входе в блоки. Язык GPSSV не располагает средствами для проведения сложных анали-
Изменение маршрутов движения транзактов обеспечивается операторами тических расчетов; результаты операций берутся с точностью до целых. По-
и блоками GATE, TRANSFER, TEST, LOOP. Транзакты, входящие в соответ- этому для того, чтобы проводить аналитические вычисления, необходимо
ствующие блоки, далее продвигаются УПМ не к следующему блоку (соглас- протабулировать аналитическую функцию. Затем результаты табулирования
но блок-схемы ИМ), а к блокам, адреса которых определяются либо указы- вводятся в модель картой
ваются в этих операторах.
n FUNCTION A, B;
4.1.4. Изменение маршрутов движения транзактов в GPSSV где n – номер (имя) функции; А – аргумент функции (СЧА); В – указывает
Блок GATE XXX A, B разрешает движение TR (в основном либо альтерна- тип функции. Каждая карта FUNCTION сопровождается картами последова-
тивном направлениях) при определенном состоянии оборудования (уст- тельности пар значений (Xi, Yi); где i – номер точки в табулируемой функции,
ройств, памятей, ключей). Существуют два режима работы блока: отказа и значения аргумента Xi и функции Yi.
безусловного перехода. Здесь XXX – мнемоническое изображение перехода; При написании этих карт необходимо соблюдать правила:
А – номер (устройства, памяти, ключи); В – режим перехода (альтернатив- – запись начинается с 1-й по 71-ю колонку;
ный адрес). В режиме отказа GATE не пропускает TR, если соответствующий – координаты точки Xi, Yi разделяют запятыми, а пары – разделителем
объект не находится в требуемом состоянии, а направляется по альтернатив- «/»;
ному адресу В. – координаты одной точки должны быть заданы на одной карте;
Оператор TRANSFER A, B, C обеспечивает четыре вида переходов TR: – значения Xi, Yi могут быть не целыми числами.
TRANSFER B; – безусловный переход TR на блок с именем В; В процессе имитации в среде GPSSV можно сохранять и накапливать не-
TRANSFER BOTH B, C; – условный переход с одним альтернативным ад- обходимые значения с помощью ячеек памяти SAVEVALUE A, B, C, где А –
ресом; здесь В – основной адрес, а С – альтернативный адрес; номер ячеек с указанием режима изменения содержимого ячейки; В – число
TRANSFER ALL B,C,D; – условный переход с несколькими альтернатива- либо СЧА, используемое для изменения содержимого ячейки; С – тип фор-
ми, где В – основной адрес, С – альтернативный адрес, D – константа для матов информации.
вычисления следующего альтернативного адреса;
TRANSFER A,B,C; – статистический переход с заданной вероятностью А; 4.1.6. Дополнительные возможности GPSSV
В – основной адрес; С – альтернативный адрес. Для создания копий TR используется оператор SPLIT A,B; где А – коли-
чество копий; В – адрес, по которому направляется копия TR.
4.1.5. Организация вычислений и накопление результатов имитации Для объединения определенного числа транзактов одного семейства ис-
Связи между элементами ИМ, выраженные математическими соотноше- пользуется оператор ASSEMBLE A, где А – число объединяемых транзактов.
ниями, на языке GPSSV описываются с помощью переменных (арифметиче- Транзакты задерживаются до тех пор, пока их не наберется n штук, затем все
ских и булевских) и функций (непрерывных и дискретных). Арифметическая они уничтожаются, кроме первого, который далее переходит к следующему
переменная (АП) – это арифметическое выражение, включающее в себя раз- блоку.
личные СЧА, знаки операций и скобки. Карта описания АП помещается в Для синхронизации движения двух транзактов из одного семейства ис-

57 58
пользуются два сопряженных блока MATCH. Например:
AAA MATCH BBB 4.2. Особенности организации и возможности
... системы моделирования GPSSV/PC
BBB MATCH AAA
4.2.1. Дополнительные возможности GPSSV/PC
Блок с меткой ААА будет ожидать в этом блоке прихода члена того же
семейства в блок ВВВ. СМ GPSSV/PC является развитием GPSS для ПЭВМ. В GPSSV/PC все
Для определения количества объектов (из заданного множества объек- фазы создания и эксплуатации ИЭ (редактирование, компоновка, построение
тов), удовлетворяющих заданному условию, используется блок COUNT XXX загрузочного модуля, выполнение и диагностика ошибок ИМ ) объединены в
одну фазу – сеанс имитации. Это означает, что как только программа ИМ
A, B, C, D, E; где А – номер параметра с указанием формата (PF, PH, PB); B,
вводится в систему, она проходит все стадии создания ИМ. УПМ по мере
C – соответственно нижняя и верхняя границы диапазона изменения номе-
ввода операторов ИМ строит соответствующую структуру данных рабочей
ров объектов, для которых проверяется условие: D – СЧА, значение которо-
области ОП ПЭВМ. Если вводятся новые операторы ИМ с клавиатуры, они
го сравнивается со значением СЧА объекта, указанного в поле E; E – СЧА автоматически присоединяются к составу ИМ. Это исключает необходи-
анализируемых объектов. мость выполнения заново всех фаз сеанса при корректировке ИМ. Все числа
Для сбора и обработки статистики по очередям используются блоки в ИМ хранятся в форме, позволяющей снять ограничения на длину и точ-
QUEUE, DEPART: QUEUE A, B; где A – номер (имя) очереди, в которую за- ность представления чисел в модели. По сравнению с GPSSV добавлены но-
носится TR при невозможности войти в следующий за блоком QUEUE блок ; вые возможности интерфейса, предоставлены возможности ввода информа-
B – число занимаемых TR в очереди; ции с клавиатуры для записей, содержащих синтаксические ошибки, с диаг-
DEPART A, B, где A, B – аналогичны предыдущему, В – количество осво- ностическим сообщением УПМ пользователю. Распознаются команды и
божденных мест в очереди. операторы ИМ. Обеспечена автоматическая разметка полей в строке описа-
Средства GPSSV позволяет получить эмпирические таблицы абсолютных ния операторов. Имеется встроенный редактор строк, что позволяет моди-
и относительных частот попадания исследуемой случайной характеристики фицировать ИМ в процессе имитации. Используются изменяемые функцио-
в заданные интервалы значений. Карта описания таблицы имеет вид : нальные клавиши. Возможно управление процессом имитации с помощью
команд START, STEP и STOP. Для контроля за процессом моделирования
n TABLE A, B, C, D, используются графические окна и микроокна. Имеется встроенная функция
где n – номер (имя) таблицы; А – табулируемый СЧА (аргумент таблицы); HELP, содержащая описания команд и операторов языка.
В – верхняя границы первого интервала; С – ширина интервала ; D – число Аналогично GPSSV объекты GPSS/PC разделяются на те же **категорий
интервалов. Помимо таблицы частот одновременно вычисляются оценки и 14 типов. Модель ТС на языке GPSS/PC строится путем объединения объ-
среднего и среднеквадратичного отклонений аргумента таблицы с помощью ектов в некоторую блок-схему. Основой GPSS/PC являются программные
модули, описывающие функционирование объектов языка, и УПМ, назы-
оператора TABULATE A, B; где А – номер таблицы; В – число добавляемых в
ваемое «симулятор». Числовые атрибуты также делятся на системные и
соответствующий интервал единиц.
стандартные. Имя СЧА состоит из двух частей: символического обозначе-
Для организации ИЭ пользователь должен задать УПМ GPSSV дополни-
ния, идентифицирующего тип объектов и тип информации об объекте, а
тельную информацию с помощью управляющих карт. Карта SIMULATE A; также порядкового номера или символического имени объекта. Атрибуты
является первой картой программы ИМ и указывает на необходимость нача- могут использоваться в качестве операндов практически в любом числе бло-
ла процесса имитации, который продлится А минут. Карта START A; поме- ков, входить в большинство операторов описания объектов, в то же время
щается в конце входных данных, указывая таким образом, что входные дан- они обеспечивают пользователю доступ к характеристикам состояния сис-
ные для имитации заданы и можно начинать имитацию. Здесь А- число темы в процессе имитации.
транзактов, которые должны пройти через модель до выдачи окончательной
статистики. 4.2.2. Операторы GPSS/PC
Различают операторы языка моделирования и системные команды

59 60
GPSS/PC. Используются три типа операторов языка: операторы блоков; опе- сеанса работы с системой GPSS/PC и выхода в операционную систему
раторы описания объектов (операторы описания данных); управляющие ПЭВМ.
операторы. Возможности GPSS/PC как диалоговой системы ИЭ реализуются Для ссылок на блоки, объекты, СЧА, параметры или числовые контакты
с помощью специальных команд. По форме описания оператора GPSS/PC и в GPSS/PC допускается использование символических имен. Любое имя мо-
GPSSV аналогичны. В исходном тексте ИМ блоки описываются с помощью жет включать до 20 символов, начинающихся с буквы. Именами не могут
операторов описания блоков. При обработке исходного текста ИМ интер- быть: коды операторов, ключевые слова, коды СЧА. При трансляции именам
претатор GPSS/PC присваивает блокам последовательные идентифицирую- присваиваются уникальные номера, начиная со стартового номера 10000.
щие номера. При необходимости непосредственного обращения к какому- Имена объектов, параметров, числовых констант, метки блоков могут вы-
либо блоку модели необходимо пользоваться идентификатором блока в виде ступать как операнды. При этом возможна прямая и косвенная адресация.
метки. Поскольку в GPSS/PC отсутствует спецификация данных по типу
формата, то в ряде операторов (GENERATE, LINK, LOOP, ASSIGN, 4.2.3. Управление имитацией в GPSS/PC
SAVEVALUE, COUNT, SELECT) опущены операнды, связанные с указанием Для организации интерактивного взаимодействия пользователя с моде-
типа формата. лью на GPSS/PC пользователь использует команды. Для начала работы с
Для описания таких типов объектов, как памяти, таблицы, функции и пе- системой GPSS/PC требуется сделать текущий каталог, в котором будет раз-
ременные, используются операторы описания объектов. Они практически мещена система, и выполнить программу GPSSPC.EXE. После исчезновения
аналогичны соответствующим операторам языка GPSSV, поэтому рассмот- титульного листа системы необходимо ввести исходный текст ИМ в рабочий
рим некоторые особенности их использования в GPSSV/PC.
буфер GPSS/PC. Возможны два способа ввода: посредствам чтения тексто-
Оператор описания памяти имеет лишь один формат записи: <имя>
вого файла MS-DOS, содержащего исходный текст, и с помощью встроенно-
STORAGE A; где <имя> – имя памяти, а А – объем памяти. Память нельзя
го редактора GPSS/PC. Если создается новый текст ИМ с помощью редакто-
удалить, но можно перераспределить, используя оператор STORAGE с тем
же именем. ра системы, пользователь последовательно набирает строки программы в
Оператор описания таблицы имеет вид: <имя> TABLE A,B,C,D; где командной строке окна данных и вводит их клавишей (ENTER). Редактор,
<имя> – имя таблицы; А – СЧА (аргумент таблицы); В – верхняя граница добавляя новые строки в буфер, ориентируется на их номера. При этом ввод
первого интервала; С – ширина интервала; D – число интервалов. Таблица ошибочных строк заблокирован.
может быть переопределена другим оператором TABLE с той же меткой. Для редактирования существующего текста программы ИМ можно
В GPSS/PC поддерживаются те же 5 типов функций (непрерывная, дис- использовать следующие команды:
кретная и табличная числовая, дискретная и табличная атрибутивная), что и EDIT A; – корректировка строки с номером, указанным в поле А;
в GPSSV. Операторы описания этих функций имеют похожий вид: <имя> DELETE A; – удаление строк, указанных в полях А и В (от А до В).
FUNCTION A, B. При этом имеется три типа переменных: арифметические После корректировки программы ИМ можно перенумеровать все строки
переменные, арифметические с «плавающей точкой», булевые. Операторы программы в рабочем буфере GPSS/PC. Для этой цели используется коман-
описания имеют похожий вид: да:
<имя> VARIABLE A; RENUMBER [A], [B];
<имя> FVARIABLE A; где А и В – соответственно номера первой строки и шаг нумерации. Для про-
<имя> BVARIABLE A, смотра в окне данных части или всей программы, содержащейся в рабочем
где <имя> – имя (номер) переменной; А – арифметическое или логическое буфере, служит команда:
выражение. В выражениях допускается использование скобок для группи- DISPLAY [A], [B];
ровки и обозначения операции умножения. где А и В соответственно номера первой и последней строк отображаемой
Для задания условий имитации, таких, как продолжительность модели-
части программ.
рования, число прогонов ИМ, порядок и условия сбора статистики в
Откорректированная в рабочем буфере GPSS/PC ИМ может быть сохра-
GPSS/PC используются управляющие операторы: SIMULATE, START, RE-
нена на диске в текущем каталоге DOS с помощью команды:
SET, CLEAR, END. Использование этих операторов аналогично языку
GPSSV, за исключением оператора END, который служит для завершения SAVE A, [B], [C];

61 62
где А – имя файла, в который записывается программа ИМ; В и С – соответ- вой части виртуального окна, в которых отображается текущее значение
ственно номера первой и последней строк сохраняемого участка программы системных или СЧА и соответствующий заголовок. В пределах «виртуаль-
ИМ. ного окна» может быть открыто до четырех «микроокон», имеющих фикси-
Средства интерактивной графики GPSS/PC позволяют пользователю на- рованную позицию и размеры. В процессе имитации содержимое «микро-
блюдать за ходом процесса имитации и оперативно модифицировать модель окон» меняется динамически при изменении значений, связанных с «микро-
или менять условия моделирования как на стадии отладки ИМ, так и во вре- окнами» переменных.
мя решения задач исследования моделируемой системы. Для проведения В распоряжении пользователей GPSS/PC предоставляет следующие типы
модификаций процесс моделирования временно прерывается с помощью «виртуальных окон»: данных (DATA WINDOW); блоков (BLOCK WINDOW);
специальных команд. Для безусловного прерывания процесса моделирова- устройств (FACILITIES WINDOW); многоканальных устройств с памятью
ния служит клавиша [ESC]. При прерывании имитации по заданному усло- (STORAGE WINDOW); таблиц (TABLES WINDOW); матриц (MATRICES
вию можно пользоваться командами: WINDOW); позиций (POSITIONS WINDOW). Команда открытия виртуально-
STEP A – команда прерывания после прохождения активным TR заданно- го окна имеет вид: WINDOW A, [B]; где А – тип окна ; В – содержит имя или
го в поле А числа блоков ИМ; номер первого из отображенных объектов. Для открытия или переопределе-
STOP [A], [B], [C] – установка (ON) или снятия (OFF) условий прерыва- ния микроокна можно использовать команду: MICROWINDOW A, [B], [C];
ния при вхождении TR с номером, заданным в поле А, в блок ИМ с номером. где: А – номер микрокоманды (от 1 до 4) ; В – аргумент микроокна (или но-
указанным в поле В; в поле С указывается тип состояния команды (ON или мер параметра); С – состояние микроокна (ON – открыто, OFF – закрыто);
OFF), по умолчанию принимают ON. Команда STOP в состоянии ON уста- COMMENT – комментарий (заголовок), относящийся к окну. Работая с ок-
навливает условия прерывания, но не запускает ИМ. Для продолжения про- нами, пользователь может запросить «строку трассировки» прохождения TR
цесса имитации при нулевом счетчике числа завершений может использо- блоков модели. Эта строка появляется в верхней части окна при нажатии
ваться команда CONTINUE. Моделирование прерывается, когда встречается клавиш.
условие, установленное командами STEP или STOP. Для снятия условия Окно данных позволяет обеспечивать ввод и корректировку исходных
прерывания необходимо ввести эту же команду STOP, но в состоянии OFF. текстов ИМ, а также отображение информации, связанной с командами
Остановка процесса имитации с целью временного выхода в ОС DOS SHOW и PLOT. Окно блоков предназначено для графического отображения
осуществляется по команде DOS. Возврат же в прерванную точку процесса блоков модели в виде блок-схем. После выбора команды «окно» появляется
имитации происходит по команде EXIT. В течение прерывания вся инфор- меню окна, состоящее из команд STOP, EDIT, INSERT, DELETE. Окно уст-
мация о модели на момент остановки хранится в файле выгрузки с именем ройств обеспечивает графическое отображение информации о состоянии
SWAPGPSS. Содержимое последнего уничтожается после возврата в систе- объектов GPSS/PC типа «устройство» в процессе имитации (коэффициент
му GPSS/PC. использования устройства, количество задержанных, прерванных и ожи-
дающих TR; индикаторы доступности и занятости; среднее время пребыва-
4.2.4. Средства интерфейса GPSS/PC с пользователем ния TR в устройстве; номер транзакта, занимающего устройства). Окно па-
Взаимодействие пользователя с УПМ осуществляется в режиме активно- мятей предназначено для графического отображения информации о состоя-
го диалога. Для анализа результатов имитации пользователю предоставляют нии объектов типа «память» в процессе имитации (коэффициент использо-
«виртуальные окна» и «микроокна». Под «виртуальным окном» понимается вания, количество задержанных TR, индикатор доступности, коэффициент
отображение информации о состоянии отдельных объектов ИМ на экране использования памяти, число занятых единиц памяти). Меню окна памятей
дисплея. Информация может отображаться как статически, так и динамиче- аналогично меню окна устройств. Окно таблиц обеспечивает визуализацию
ски, при изменении состояния объекта в процессе его использования при значений числовых характеристик и гистограммы распределения частот для
имитации. Пользователь может активно вмешиваться в процесс отображения анализируемого СЧА объекта, принимаемого в процессе моделирования
в «виртуальном окне», задавая различные команды из набора команд случайных значений. Параметры таблиц задаются в операторах описания
GPSS/PC и (или) используя специальные поля команд, имеющихся в ряде таблиц TABLE и QTABLE.
виртуальных окон. «Микроокно» – это небольшие графические окна в пра- После завершения процесса имитации автоматически создается систем-

63 64
ный файл с именем REPORT.GPS, содержащий стандартную выходную ин- Входящий поток
формацию. Просмотр данного файла может быть осуществлен после выхода
в DOS с помощью программы GPSSREPT.EXE. Выходной файл статистики
состоит из подразделов, содержащих стандартную статистику об объектах Синхро-требования Синхро-требования
GPSS/PC, используемых в данной модели (FACILITIY, QUEUE, STORAGE).
Выходная информация состоит из следующих сегментов : основная инфор-
мация о результатах работы модели; информация об именах, блоках текущей
модели, устройствах, очередях, памяти, таблицах; информация об исполь-
зуемых в ИМ списках пользователя; информация о ячейках памяти. Упр. сигнал упр. сигнал

Открыть
4.3. Возможности моделирующего комплекса АСИМ УПРАВЛЯЮЩИЕ УСТРОЙСТВО
УПРАВЛЮЩИЕ
СИГНАЛЫ Закрыть Прервать СИГНАЛЫ
( УЗЕЛ.1)
4.3.1. Графическое представление ИМ СТС
Прервать Прервать
При разработке ИМ СТС одной из проблем является обеспечение просто-
Открыть Открыть
го перехода от временных диаграмм (ВД) к ИМ системы. В моделирующем Закрыть Закрыть
комплексе (МК) АСИМ [1] предложен один из возможных способов такого
перехода, сущность которого состоит в следующем. Любую компоненту
СТС можно представить прибором массового обслуживания, называемым в
АСИМ устройством, поведение которого изображается графически
(рис. 4.1). Это поведение устройства от обычного прибора СМО отличается
Синхро-транзакты Выходящий поток Синхро-транзакты
следующим. На входе и выходе возможно изображение любого числа очере-
Рис. 4.1. Обобщенный узел сети СМО
дей TR. Любое устройство может обслуживать любое число TR по индиви-
дуальному для каждого из них закону распределения времени обслуживания рации при постоянном составе устройств позволяет изменить логику функ-
F(tij) транзакта i-го типа на j-м элементе сложной системы. Каждое устрой- ционирования ТС.
ство имеет три управляющих входа : «Включить», «Выключить» и «Пре- Вначале графическое представление ТС записывается набором деклара-
рвать» устройство (данное или другое). На эти управляющие входы посту- тивных утверждений, отражающих все аспекты функционирования ИМ. К
пают соответствующие управляющие сигналы. Если устройство выключено, их числу относятся: состав устройств объекта имитации, связи между ними,
на входе его образуются очереди, несмотря на то, что устройство может логика функционирования и взаимодействия устройств. Затем полученное
быть свободным от обслуживания. И это состояние продолжается до прихо- описание объекта на входном языке АСИМ автоматически переводится в
да сигнала на вход «Включить». При поступлении сигнала на вход «Пре- машинную ИМ. Поэтому задача исследователя состоит в построении графи-
рвать» переходят в состояние «Выключено», а TR возвращается первым в ческой модели и описания каждого элемента этой графической модели на-
очередь к прибору, где ожидает продолжения обслуживания. На входе и вы- бором декларативных предложений, не представляющих собой текста про-
ходе устройства возможно рождение из TR сигналов всех типов. На выходе граммы для ЭВМ.
устройства указывается траектория TR по модели после окончания его об- Каждый из элементов ИМ характеризуется набором терминов из теории
служивания j-м устройством. Возможен либо вероятностный выбор направ- массового обслуживания: ресурс памяти, входящие потоки, очереди и дис-
ления i-го TR по вероятности Pij, либо детерминированный выбор маршрута циплины их обслуживания, времена обслуживания транзактов, выходящие
его движения. На входе и выходе устройства допускается: размножение i-го потоки, маршруты транзактов, логика управлений состояний устройств. Со-
TR на любое указанное заранее число транзактов – копий; формирование из вокупность описаний всех устройств в соответствии с установленными син-
i-го TR любого указанного заранее числа управляющих сигналов всех типов. таксическими правилами представляет собой текст, готовый для автомати-
В результате изменение состава управляющих сигналов (УС), мест их гене-
65 66
ческого перевода в машинную ИМ. ЗАНЯТО. Перевод узла из одного состояния в другое производится сигна-
лами «включить» и «выключить». Генерация этих сигналов может быть про-
4.3.2. Средства АСИМ для создания ИМ ведена любым из внутренних потоков TR в момент их поступления на вход
Каждый элемент ТС на языке АСИМ описывается комбинацией из сле- ОУ. Задание режима генерации сигналов TR производится посредством кон-
дующих девяти предложений: устройство; входящий поток; очередь; меха- струкции С РАЗДЕЛЕНИЕМ НА СИГНАЛЫ ТИПА.
низм обслуживания; время отказа; механизм дообслуживания; выходящий Предложение МЕХАНИЗМ ОБСЛУЖИВАНИЯ задает совокупность
поток. Модель представляется в виде сети СМО, состоящей из узлов (уст- правил, которые определяют порядок обработки TR, поступающих на уст-
ройств) и связей между ними (поток TR, называемых требованиями). Прово- ройство. Предложение содержит описатели дисциплин обслуживания и ряд
дится декомпозиция сети на отдельные узлы, а затем каждый узел отождест- дополнительных указателей в случае моделирования систем с отказами.
вляется девятью языковыми конструкциями (предложениями АСИМ). Пер- Возможны следующие дисциплины обслуживания TR в очереди: FIFO,
вое предложение идентифицирует узел сети, а остальные описывают его LIFO, RANDOM, круговые алгоритмы, приоритетные с отказами. Для при-
характерные особенности. Общий текст состоит из текста описаний каждого оритетных дисциплин указывается тип приоритета с помощью указателя
узла и завершается предложением ВРЕМЯ МОДЕЛИРОВАНИЯ. ДИНАМИЧЕСКИЙ или ВНЕШНИЙ. Кроме того, возможна дополнительная
Предложение УСТРОЙСТВО идентифицирует каждый из узлов с помо- модификация приоритета с помощью указателей: АБСОЛЮТНЫЙ, ОТНО-
щью указателя имени устройства ТИП, который может иметь смысловую СИТЕЛЬНЫЙ, СМЕШАННЫЙ, АБСОЛЮТНО-ОТНОСИТЕЛЬНЫЙ,
нагрузку, и указателя приоритета устройства ИНДЕКС. При моделировании МНОГОУРОВНЕВЫЙ. Заданием конструкции С ПОТЕРЯМИ или ПО-
систем с ненадежными элементами, в которых возможно использование ре- ВТОРНОЕ ОБСЛУЖИВАНИЕ указывается порядок обработки TR после
зервных устройств, включаемых при выходе из строя основного устройства, прерывания его обслуживания из-за прихода более приоритетного. При этом
резервное устройство задается с помощью ключевого слова РЕЗЕРВ в пред- характер повторного обслуживания задается конструкцией С НОВЫМ ВРЕ-
ложении УСТРОЙСТВО и последующего описания идентификатора резерв- МЕНЕМ или С ПРЕЖНИМ ВРЕМЕНЕМ.
ного устройства. Предложение ОЧЕРЕДЬ описывает состав входных очередей к устройст-
Предложение ВХОДЯЩИЙ ПОТОК характеризует процесс поступления ву. Возможно задание трех типов очередей к ОУ с помощью указателей:
требований на вход обслуживающего устройства (ОУ). Описание входного ОБЩАЯ, ОТДЕЛЬНАЯ, СМЕШАННАЯ. Общая очередь предполагает по-
потока TR состоит из перечисления источников, поставляющих TR на об- становку в одну очередь TR от всех источников, перечисленных в предложе-
служивание. Источники TR подразделяются на внесистемные и внутрисис- нии ВХОДЯЩИЙ ПОТОК. На формирование очередей могут налагаться
темные. Внесистемные источники задают порядок поступления TR извне и ограничения: длина очереди, время пребывания в очереди, вероятности по-
определяются уникальным номером в одном из возможных законов распре- становки транзактов в очередь. Для задания этих ограничений в предложе-
делений (равномерным, экспоненциальным, нормальным, Эрланга, Вейбул- нии имеются следующие указатели: ДЛИНА, ВРЕМЯ, ВЕРОЯТНОСТЬ. При
ла, Парето, табличным). При исследовании СМО с приоритетами каждому отказе от обслуживания TR либо покидает систему, либо поступает на об-
источнику присваивается определенный класс и приоритет согласно преду- служивание к ОУ, описанному следом за ограничениями. На устройствах с
смотренным в АСИМ дисциплинам обслуживания. Для регулирования про- ограниченными очередями при их переполнении может быть задан специ-
цесса поступления TR конструкции ПЕРИОД ЗАПУСКА задаются активный альный режим конструкцией БЕЗ ПОТЕРЬ. В этом случае TR, застав ОУ за-
и пассивный периоды работы источника транзактов. Внутрисистемные ис- нятым и очередь переполненной, не покидает предыдущее устройство до тех
точники задают порядок поступления TR из других узлов сети. При модели- пор, пока не появится свободное место в очереди.
ровании систем с ненадежными элементами и резервированием для описа- Предложение МЕХАНИЗМ ПОДКЛЮЧЕНИЯ описывает различные
ния входов дополнительно используются конструкции ДЛЯ ОГРАНИЧЕ- стратегии подключения свободных устройств. Возможны следующие стра-
НИЙ. Наличие этой конструкции указывает на то, что поступление TR от тегии подключения, задаваемые конструкцией: В ПОРЯДКЕ ПРИОРИТЕТА,
этих источников на резервное ОУ будут планироваться только в случае отка- В ПОРЯДКЕ ОСВОБОЖДЕНИЯ, В СЛУЧАЙНОМ ПОРЯДКЕ, В ПОРЯДКЕ
за основного устройства. Для имитации систем с внутренним управлением ГРУППОВОГО ПРИОРИТЕТА. В некоторых СМО поступивший TR тотчас
МК АСИМ позволяет переводить ОУ из состояния ГОТОВО в состояние же не может быть принятым на обслуживание, так как для включения или

67 68
подготовки ОУ к работе требуется некоторое время «разогрева». Вид «разо- сигналов осуществляется с помощью конструкции С РАЗДЕЛЕНИЕМ НА
грева» указывает пользователь в конце предложения с помощью соответст- СИГНАЛЫ ТИПА. Задается также способ определения дальнейшего мар-
вующих конструкций: РАЗОГРЕВ 1-ГО РОДА и РАЗОГРЕВ 2-ГО РОДА. В шрута следования обслуженных транзактов. Имеется возможность выбора
этих конструкциях используются указатели типа РАСПРЕДЕЛЕНИЕ. Для маршрута на основе вероятностей, приписанных каждому из альтернатив-
моделирования СМО с малой нагрузкой вводится описатель ПОРОГ ных устройств. Множество устройств и их весов составляют условный спи-
ВКЛЮЧЕНИЯ. В этом режиме ОУ начинает обслуживание, когда на входе сок, а задание случайного способа планирования осуществляется посредст-
скопилось число транзактов, превышающее пороговое значение. вом конструкции ПЛАНИРОВАНИЕ ПО ВЕРОЯТНОСТИ.
Предложение ВРЕМЯ ОБСЛУЖИВАНИЯ описывает длительность об- Таким образом, в распоряжение пользователя предоставляются деклара-
служивания TR устройством. Описатель РАСПРЕДЕЛЕНИЕ задает тип и тивный неалгоритмический язык описания стохастических сетей СМО, ко-
параметры закона распределения длительности обслуживания TR. Посколь- торый имеет следующие особенности:
ку в СМО широко распространено квантование, то с помощью конструкции – наличие средств управления структурой сети, технологии связей алго-
С РЕЖИМОМ КВАНТОВАНИЯ задается квант времени, выделяемый для ритмов маршрутизацией TR стартстопного режима работы узла сети;
обслуживания. – возможность описания систем с ненадежными элементами (учитывают-
Предложение ВРЕМЯ ОТКАЗА используется для описания сетей с нена- ся отказы, резервирование и восстановление устройства сети);
дежными элементами. Задается длительность безотказной работы, распреде- – широкий спектр законов распределения входящих потоков и дисципли-
ленная по закону, указанному описателем РАСПРЕДЕЛЕНИЕ. В течение ны обслуживания, часто встречающиеся в практике.
определенного времени отказавшее ОУ может быть восстановлено, после
чего процесс обслуживания ОУ возобновляется. Длительность восстановле- 4.3.3. Средства АСИМ для эксплуатации ИМ
ния также является случайной величиной, распределенной по закону, ука- Этап исследования свойств ИМ обеспечивается в МК АСИМ наличием
занному вторым описателем РАСПРЕДЕЛЕНИЕ. Требования, поступившие предложения ВРЕМЯ МОДЕЛИРОВАНИЯ, задающим интервал времени, в
на вход отказавшего ОУ, заполняют очередь по обычным правилам, если для течение которого необходимо имитировать поведение СМО. Наличие в этом
последнего не было задано резервное ОУ. предложении специальной конструкции СБОР СТАТИСТИКИ В СТАЦИО-
Предложение МЕХАНИЗМ ДООБСЛУЖИВАНИЯ описывает судьбу TR, НАРНОМ РЕЖИМЕ обеспечивает автоматическое наблюдение за моментом
если в момент его обслуживания произошел отказ ОУ. Это предложение входа контролируемого параметра ИМ в стационарный режим путем оценки
имеет смысл только при наличии предложения ВРЕМЯ ОТКАЗА. Предло- его среднего значения. Контроль может осуществляться на любом ОУ, вхо-
жение конструируется из описателей: ТРЕБОВАНИЯ ДООБСЛУЖИВА- дящем в состав ИМ. Для этого фиксируются идентификаторы контролируе-
ЮТСЯ, ТРЕБОВАНИЯ ТЕРЯЮТСЯ, ТРЕБОВАНИЯ ПОВТОРНО ОБСЛУ- мого ОУ посредством конструкции УСТРОЙСТВО. Конструкцией ПАРА-
ЖИВАЮТСЯ. В случае повторного обслуживания используются описатели: МЕТР задается временной интервал ∆t, по истечении которого происходит
С ПРЕЖНИМ ВРЕМЕНЕМ, С НОВЫМ ВРЕМЕНЕМ. Характер повторного вычисление среднего значения параметра. Проверка ведется по критерию
обслуживания задается описателями: В ПЕРВУЮ ОЧЕРЕДЬ, НА ОБЩИХ Вилкоксона, который требует задания уровня значимости с помощью конст-
ОСНОВАНИЯХ. рукции ДОВЕРИТЕЛЬНАЯ ВЕРОЯТНОСТЬ. Для достижения необходимой
Предложение ВЫХОДЯЩИЙ ПОТОК применяется в тех случаях, когда надежности заключения о стабилизации этой оценки вводится коэффициент
после завершения этапа обслуживания транзакт является источником новых подтверждения, который позволяет отложить до следующей проверки за-
TR. Процесс деления TR задается конструкцией С РАЗДЕЛЕНИЕМ НА ЗА- ключение о достижении стационарного режима. Для этой цели используется
ЯВКИ. Правила планирования новых TR на дальнейшую обработку отличны указатель КОЭФФИЦИЕНТ ПОДТВЕРЖДЕНИЯ.
от стандартных. Маршруты их следования могут быть как детерминирован- В ряде случаев, кроме требования сбора статистики, в стационарном ре-
ными, так и вероятностными и задаются комбинациями конструкций СПИ- жиме необходимо оценить характер переходного процесса в ИМ. Наличие в
СОК УСТРОЙСТВ и С ВЕРОЯТНОСТЬЮ. Особенностью выходящего по- предложении ВРЕМЯ МОДЕЛИРОВАНИЯ конструкции ПЕЧАТЬ ГРАФИ-
тока является свойство управляющих сигналов «включить» и «выключить», КА СРЕДНЕГО позволяет осуществлять в конце имитации выдачу на печать
переводящих ОУ в состояние ГОТОВО или ЗАНЯТО. Задание управляющих графика контролируемого параметра.

69 70
Процесс управления узлами в сложных сетях, как правило, трудно реали-
зовывать средствами СМО. В МК АСИМ для этой цели используются: 5. АВТОМАТИЗАЦИЯ ЭТАПОВ ПОСТРОЕНИЯ
управляющие сигналы «включить», «выключить», «прервать»; синхронизи- ИМИТАЦИОННЫХ МОДЕЛЕЙ В СИСТЕМЕ
рующие транзакты с помощью операции деления транзактов как на входе
МОДЕЛИРОВАНИЯ MICIC
ОУ (в предложении ВХОДЯЩИЙ ПОТОК), так и на выходе ОУ (в предло-
жении ВЫХОДЯЩИЙ ПОТОК). Синхронизирующие TR из основной моде-
ли ТП поступают в блок управления. Блок управления генерирует ответные 5.1. Основная идея применения и построения ИМ
сигналы, воздействующие на структуру и состояния ОУ основной модели в СМ MICIC
ТП путем включения, выключения и прерывания соответствующих уст- В основу СМ МICIC положена концепция многоуровневого представле-
ройств. В отличие от способа организации управления на основе алгоритми- ния объектов моделирования (ОМ). Это дает возможность работать с ИМ
ческих языков (типа GPSS/PC) здесь вопросы конструирования схем управ- пользователям разной квалификации и степени принятия управленческих
ления не затеняются алгоритмическим представлением, что существенно решений. Уровни пользователей определяются целями работы с ИМ. Можно
облегчает поиск необходимого варианта управления сетью СМО. выделить четыре цели: создание концептуальной модели и формального
описания ОМ, программирование модели, конструирование и эксплуатация
Генерация новых транзактов в СМО осуществляется посредством вклю- ИМ. В соответствии с ними пользователи СМ MICIC логически подразде-
чения управляемых источников TR. Число транзактов регулируется количе- ляются на аналитиков, разработчиков, конструкторов и исследователей мо-
ством сигналов «включить источник». Тем самым возможна имитация груп- дели.
пового поступления TR на обслуживание. Управляемые источники могут Исследователь модели рассматривает ОМ как «черный ящик», имеющий
быть сгруппированы на одном устройстве. В ряде случаев при построении входы (параметры) и выходы (отклики). Для проведения ИЭ служит интег-
ИМ с помощью МК АСИМ необходимо объединить множество копий в рированная среда (ИС) СМ MICIC. В ней имеются оперативные средства
один транзакт (осуществить «сборку» TR). Для реализации операции сборки задания параметрической нагрузки, просмотра результатов, мониторинга,
TR при описании каждого конкретного входа на устройство, на котором постановки и реализации ИЭ.
производится сборка TR, используются дополнительные устройства. Конкретную структуру ИМ задает конструктор также в СМ MICIC. Он
рассматривает ОМ как систему массового обслуживания. Ее отображением
Печать стандартной статистики имитации проводится по окончании ими-
является орграф, в котором вершины – это устройства (приборы массового
тации для всех структурных элементов сети. К основным стандартным ста- обслуживания), а дуги – потенциальные пути перемещения транзактов (зая-
тистикам ОУ относятся: количество TR, получивших отказ в обслуживании; вок на обслуживание). ИМ развивается во времени путем взаимодействия
время работы и простоя; коэффициенты загрузки и простоя; коэффициент транзакта и устройства. Между устройствами (на дугах) никаких функцио-
занятости; время простоя из-за отказов ОУ. нальных действий не происходит. ИС СМ MICIC позволяет создавать и
По очередям формируются статистики: количество транзактов, побывав- уничтожать элементы структуры модели, видоизменять связи между ними,
ших в очереди; количество TR, находящихся в ней; количество TR, полу- переводить их в различные состояния, получать разнообразную справочную
чивших отказ в обслуживании; максимальная и средняя длина очереди; информацию.
среднее время пребывания TR в очереди. К выходной информации, характе- Разработчик модели программирует на языке моделирования MICIC
ризующей ИМ в целом, относятся среднее время пребывания TR в системе и компоненты ИМ дискретного типа. Он проводит декомпозицию структуры
количество TR данного типа, прошедших через систему. Выдаются также ИМ, выделяя различные по механизму обслуживания пары устройство –
транзакт. Для каждой такой пары составляется орграф активностей, отобра-
характеристики распределений любой заказанной случайной величины в
жающий последовательную смену функциональных действий взаимодейст-
ИМ: оценка моментов, эксцесса, асимметрии, доверительная область с за-
вия компонентов в модельном времени. Таким образом, разработчик модели
данными коэффициентами доверия, табличная функция распределения.
должен на языке моделирования (ЯМ) MICIC определить параметры и от-
клики ИМ, компоненты ИМ и их параметры, активности контактов компо-
нентов. По своему синтаксису ЯМ MICIC «погружен» в язык программиро-
вания Си. Это обеспечивает процесс программирования и отладки модели
всем сервисом, который предоставляет пакет Borland C. На рис. 5.1 схемати-
71 72
чески представлены этапы создания загрузочного модуля и отладки про- – корректировка параметров ИМ;
граммы имитационной модели средствами Borland C. – просмотр значений откликов ИМ в динамике имитации;
– управление списком событий ИМ;
MS - DOS – организация мониторинга процесса имитации;
(1) (2)
– постановка и реализация планов эксперимента на ПЭВМ;
– экспорт результатов многопрогонного эксперимента на ИМ.
При этом при мониторинге имитации обеспечивается контроль за со-
Borland C стоянием ИМ СТС в ходе имитации путем использования различных графи-
ческих объектов. Исследователю предоставляются возможности перезагруз-
x.c Текст.Ред. ки и сохранения промежуточных состояний ИМ для продолжения имитации
с прерванного места в ИМ. При экспорте результатов ИЭ данные ИМ преоб-
Транслятор разуются в dbf или txt форматы для последующей их обработки другими
x.exe программами исследователя.
x.obj Интегрированная Интегрированная среда конструктора ИМ предоставляет следующие воз-
Ред.Связей среда исследователя можности организации ИЭ:
(1) модели – создание и удаление элементов структуры ИМ;
Отладчик Интегрированная – изменение состояний элементов и связей между ними;
Ядро СМ – генерации сигналов к элементам ИМ;
среда конструктора – просмотр и корректировка параметров элементов ИМ;
модели – управление очередями в ИМ;
------------- – получение разнообразной справочной информации.
Стандартная
Аналитик модели разрабатывает концептуальную модель и формальное
часть описание СТС, опираясь на базовую схему формализации ЯМ MICIC. Дан-
*.obj ный этап невозможно автоматизировать. Как правило, от его качественного
выполнения зависит достоверность выходной выборки. Задачей аналитика
также является интерпретация результатов ИЭ. Для этого используются
средства экспорта выборки из СМ MICIC в наиболее распространенные
Программа Вызовы программ форматы и дальнейшая обработка данных пакетами OLAP, имеющимися в
распоряжении пользователя.
Ф айл Потоки данных Таким образом, совокупность усилий перечисленных выше специалистов
приводит к выдаче экспертных оценок и рекомендательных решений руко-
Рис. 5.1. Схема получения загрузочного модуля ИМ в СМ MICIC водителям высшего звена управления, заказавших проект на моделирование
Из схемы видны два способа вызова программы ИМ: СТС.
1) из отладчика Borland C (используется при отладке текста ИМ);
2) из MS DOS (используется как звено технологической цепочки при ре- 5.2. Базовая схема формализации системы моделирования
шении задач системного анализа). MICIC
Таким образом, во втором случае загрузочный модуль ИМ представляет Под базовой схемой формализации понимают совокупность понятий, ко-
собой СМ конечного пользователя на двух уровнях: исследователя и конст-
торые используются для построения формального описания моделируемой
руктора модели. Определение структуры и имитация различных сценариев
функционирования системы обеспечиваются диалоговыми средствами кор- системы и непосредственно представлены в языке моделирования. На уров-
ректировки параметров и изменения состояния компонентов в ИС СМ не конструктора модели объект моделирования есть система массового об-
MICIC. служивания, компонентами которой являются обслуживающие устройства и
Интегрированная среда исследователя ИМ позволяет выполнить сле- очереди на обслуживание (статические элементы модели) и транзакты (ди-
дующие функции: намические элементы). Мы хотим обратить внимание на различие между

73 74
понятиями компонент и элемент имитационной модели. Оно напоминает ной активности и убирает ее из списка событий, а второй, соответственно,
различие между классом и объектом в концепции объектно- возвращает эту активность в список и передает на нее управление в текущий
ориентированного программирования. Компонент есть совокупность набора момент модельного времени, если активность оказалась просроченной.
параметров и механизма обслуживания транзакта на устройстве. Конкретные – Транзакт может принимать сигналы «Задержать», «Отпустить», «Поки-
элементы любого компонента модели типа «устройство» называются вер- нуть», «Повторить», «Уничтожить». Первый сигнал временно запрещает
сиями устройства, а элементы типа «транзакт» – копиями транзакта. Эле- выполнение очередной активности канала и убирает ее из списка событий, а
менты одного и того же компонента модели совпадают по набору парамет- второй, соответственно, возвращает эту активность в список и передает на
ров и механизму обслуживания, но различаются по конкретным значениям, нее управление в текущий момент модельного времени, если активность
присвоенным параметрам элементов. оказалась просроченной. Фактически эти сигналы являются аналогами сиг-
Механизм обслуживания транзакта на устройстве представляет собой налов «Активизировать»/ «Пассивизировать» для устройства-сервера. Одна-
процесс (т. е. множество многофункциональных активностей, объединенных ко они подаются на транзакты, чтобы исключить неоднозначность, связан-
в виде связного ориентированного графа, в котором дуги показывают пути ную с многоканальностью устройства. Третий и четвертый типы сигналов
передачи управления между активностями – вершинами), состоящий по обеспечивают переход соответственно на конечную и начальную активности
крайней мере из двух активностей (начальной и конечной). Начальная ак- механизма обслуживания. В случае получения последнего сигнала транзакт
тивность при поступлении транзакта на свободное устройство или при осво- поглощается системой моделирования.
бождении устройства с непустой очередью реализует передачу управления – Транзакт обладает встроенными приоритетом и указателем направле-
на первую активность, аппроксимирующую непосредственно обслуживание ния движения по устройствам модели. Конечная активность переправляет
(при отсутствии таковой управление сразу передается на конечную актив- транзакт на очередное устройство по значению этого указателя. Во время
ность). Конечная активность завершает процесс, освобождая обслужившее обслуживания на любом устройстве это значение можно изменять сколь
устройство и перемещая транзакт в очередь к следующему устройству. Ни- угодно много раз.
каких других ограничений на структуру процесса и механизма обслужива- – Транзакт обладает встроенным транзактным буфером. Это позволяет
группе транзактов передвигаться по модели как единому элементу. При по-
ния между крайними активностями не накладывается (т. е. допускаются вме-
явлении на устройстве транзактов, находящихся в транзактном буфере, про-
сте с линейными участками условные переходы и циклы).
цесс-механизм обслуживания не запускается. Данный механизм позволяет
Рассмотрим свойства введенных элементов.
достаточно просто описывать на детальном уровне поведение, например,
– Устройство многоканально, т. е. в любой момент модельного времени
транспортных систем, где потоки пассажиров и/или грузов накладываются
на устройстве можно одновременно обслуживать более одного транзакта, но
на также динамические потоки транспортных средств.
не более заранее заданного количества. Взаимодействующая пара – версия – Транзакты сохраняемы, т. е., приходя на обслуживание на занятое или
устройства и копия транзакта – называется каналом. закрытое устройство, транзакт автоматически становится во встроенную к
– Устройство может функционировать в одном из двух режимов: сервер, нему очередь.
процесс. Они различаются тем, что устройство-процесс не принимает тран- – Очередь упорядочена по неубыванию приоритета и времени прибытия
закты на обслуживание. Очевидно основное назначение таких устройств – транзакта в очередь.
генерация внешних потоков транзактов. Описанный подход к формализации СТС с помощью вышеприведенных
– Устройство полиморфно, т. е. выбор соответствующего механизма об- базовых элементов носит название транзактно-процессный способ представ-
служивания происходит при попадании транзакта на устройство и, естест- ления объекта моделирования.
венно, реализуется начальной активностью.
– Устройство-сервер может принимать сигналы типа «Открыть» и «За- 5.3. Методика построения имитационной модели
крыть». Первый сигнал разрешает принятие на обслуживание новых тран-
для системы моделирования MICIC
зактов из очереди, а второй, наоборот, запрещает. Данные сигналы никаким
образом не влияют на транзакты, которые начали обслуживаться до приема с помощью языка программирования СИ
этих сигналов.
– Устройство-процесс может принимать сигналы «Пассивизировать», 5.3.1. Назначение методики
«Активизировать». Первый сигнал временно запрещает выполнение очеред- Одной из составных частей системы моделирования (СМ) MICIC являет-

75 76
ся язык разработчика элементов ИМ. Он позволяет описывать программы "строка 1","строка 2","строка 3","строка 4"};
обслуживания устройств, классов транзактов и очередей. Однако, как прави-
typedef struct {
ло, разработкой ИМ занимаются специалисты, достаточно уверенно вла-
float f1;
деющие языком программирования Си. Поэтому для них идеальным реше-
long l1[4];
нием является возможность использования функций языка моделирования
} GlobalPar GRes;
при соблюдении некоторой дисциплины построения программы ИМ. Далее,
получив объектный модуль ИМ и скомпоновав его с ядром СМ MICIC, ис- Особенностью технологических оболочек (интегрированной среды (ИС))
следователи СТС могут работать в интегрированной среде СМ в соответст- СМ MICIC является возможность просмотра и корректировки глобальных
вии с руководством пользователя. данных ИМ. Это достигается за счет введения следующих макроопределе-
ний:
5.3.2. Определение глобальных данных имитационной модели IEGlobal (data_type) – описание заголовка глобальных данных, где
В СМ MICIC под глобальными данными понимают входы и выходы ИМ, data_type принимает значение Prm для параметров и Res – для откликов;
т. е. параметры и отклики. В программе ИМ глобальные данные описывают- IEVar (name,type) – описание простой переменной ИС с именем name
ся с помощью уникальных для каждой ИМ структур переопределенных ти- (любая не взятая в кавычки последовательность из не более 15 ASCII симво-
пов GlobalPar и GlobalRes с именами GPar и GRes соответственно. За опи- лов) и типом type, принимающим одно из значений: INT, FLOAT,
санием параметров ИМ может следовать их определение (начальная инициа- DEVICE,TRANSACT,LONG,STRING;
лизация) стандартным для языка Си способом. Глобальные данные могут IEArray (name,type,measures) – описание массива ИС с именем name, ти-
иметь следующие типы (в скобках приведен их контекст в программе ИМ на пом type и одномерным целым массивом measures, в котором находятся гра-
Си): ницы массива name по каждому измерению и который должен быть опреде-
1) целый (int); лен заранее.
2) вещественный (float); ПРИМЕР 5.3.2. Определить глобальные данные для ИМ из примера
3) устройство (dvC *); 5.3.1.
4) транзакт (tns *); int m1[]={3,2},m2[]={4};
5) целый расширенного диапазона (long); IEGlobal (Prm) = {
6) строковый (string). IEVar (целое1,INT),
Строковые данные по длине не могут превышать 15 символов, поскольку IEVar (устройство1,DVC),
тип «string» переобъявлен следующим образом: IEArray (транзакт1,TNS,m1),
typedef Char string [16]. IEArray (строка1,STRING,m2)
Данные ИМ будем подразделять на массивы и простые переменные. В }
программе ИМ запрещается использование массивов, имеющих более семи IEGlobal (Res) = {
измерений. IEVar (веществ1,FLOAT),
ПРИМЕР 5.3.1. ИМ имеет следующие параметры и отклики: i1 – пере- IEArray (длинный1,LONG,m2)
менную целого типа; d1 – переменную типа устройство; t1 – массив типа }.
устройство; s1 – массив типа строка; f1 – переменную вещественного типа;
l1 – массив расширенного целого типа. Определить параметры и описать Таким образом, чтобы обеспечить эффективное управление данными в
отклиёки, выбрав произвольно границы массивов. ИМ для СМ MICIC, необходимо их двойное описание. Первый раз глобаль-
ные данные описываются для обращения к ним из программы ИМ, а второй
typedef struct { раз определяются в соответствии с шаблоном примера 5.2.2 для совершения
int i1; операций над ними из ИС СМ MICIC.
dvc *d1;
tns *t1[3][2]; 5.3.3. Описание параметров компонентов ИМ
string s1[4];
Параметры каждого компонента ИМ должны быть описаны в соответст-
}GlobalPar GPar =
вии с приведенным в предыдущем разделе принципом дублирования. Един-
{200,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
ственное исключение состоит в том, что для параметров каждого компонен-

77 78
та вводится отдельный тип, который как раз и является параметром макро- ние следующего вида:
определения IEGlobal. enum {KOMPONENT_1, KOMPONENT_2, ... , KOMPONENT_N},
ПРИМЕР 5.3.3. Пусть некоторый компонент модели с именем «Генера- где KOMPONENT_i – некоторый идентификатор i-го компонента в мак-
тор заявок» имеет следующие параметры: интервал между заявками; устрой- росе IEKomponents.
ство, на которое подаются заявки, и его номер очереди; частотное распреде- ПРИМЕР 5.3.4. ИМ модель включает следующие компоненты:
ление вероятностей для определения типа заявки. Описать параметры ком- 1) генератор заявок с параметрами: интервал между заявками и частотное
понента для программы ИМ и для ИС. распределение вероятностей для определения типа заявки, время начала ра-
Описание параметров для программы ИМ: боты;
typedef struct { 2) обслуживающий прибор с параметром «время обслуживания»;
float Interval; 3) поглотитель без параметров;
dvc *Receiver; 4) заявка с параметром «тип заявки».
int numQuene; Определить компоненты ИМ.
float Frequency [10];
} ReqGenerator; typedef struct {
Описание параметров для ИС: float Interval;
int m1[]={10}; float Frequency[10];
IEGlobal (ReqGenerator) = { float StartTime;
IEVar(интервал,FLOAT), } ReqGnerator;
IEVar(получатель,DVC), int m1[]={10};
IEVar(номер_очереди,INT), IEGlobal (ReqGnerator) = {
IEArray(частота,FLOAT,m1) IEVar(интервал,FLOAT),
}. IEArray(частота,FLOAT,m1)
Если у компонента ИМ параметры отсутствуют, то не требуется никакого IEVar(ВремяНачала,FLOAT)
описания. }
typedef struct {
5.3.4. Определение компонентов ИМ float ServiceTime;
} Server;
Чтобы можно было совершать операции над компонентами ИМ в ИС СМ
IEGlobal (Server) = {
MICIC, необходимо определить их типы в программе ИМ с помощью сле-
IEVar(ВремяОбслуживания,FLOAT)
дующих описателей:
}
IEKomponents – заголовок определения;
typedef struct {
IEKmp (name,type,Kind) – определение компонента ИМ с именем name
int Type;
(любая не взятая в кавычки последовательность из не более 15 ASCII симво-
} Request;
лов ) ; здесь
IEGlobal (Request) = {
type – переопределенный тип структуры описания параметров для про-
IEVar(тип,INT)
граммы ИМ,а Kind принимает значение PRC для устройств-процессов,
}
SRV – для обслуживающих устройств, TNS – для транзактов;
IEKomponents = {
IEKmp0 (name,Kind) – определение компонента ИМ, не имеющего пара-
IEKmp(ГенераторЗаявок,ReqGenerator,PRC),
метров.
IEKmp(Сервер,Server,SRV),
Вообще, в программе ИМ для обращения к ее компонентам можно не
IEKmp0(Поглотитель,SRV),
вводить никаких дополнительных конструкций, так как тип компонента есть
IEKmp(Заявка,Request,TZT)
порядковый номер его определения в макросе IEKomponents. Однако для
}
описания более мобильных программ ИМ рекомендуется ввести перечисле-

79 80
enum { или обслуживаемого транзакта, то необходимо использовать макроопреде-
REQGENERATOR, SERVER, ABSОRBER, REQUEST ления DServPar() и TServPar(). Переменные ptr1 и ptr2 есть указатели на па-
}; раметры компонента, структура описания которых имеет переопределенные
типы Dtype и Ttype (см. п. 5.3). Тело активности содержит раздел описания
5.3.5. Структура программы ИМ локальных переменных активности и раздел, состоящий из последователь-
Программу ИМ на языке программирования Си для СМ MICIC рекомен- ности операторов языка Си, вызовов библиотечных функций языка Си,
дуется писать, придерживаясь нижеприведенной схемы: #inClude функций моделирования СС для СМ MICIC (см. п. 5.6), а также собственных
<MICIC.h>; определение (описание) глобальных данных ИМ (п. 5.2); описа- функций разработчика ИМ. Эта последовательность аппроксимирует функ-
ние параметров компонентов (п. 5.3); определение компонентов ИМ (п. 5.4); циональную часть активности (т. е. совокупность функциональных дейст-
BEGIN (name); перечисление активностей; последовательность активностей вий, приводящих к появлению нового события в ИМ). Если id является
ИМ; последовательность обязательных функций ИМ; определение массивов, идентификатором параметра ИМ, отклика ИМ, параметра компонента, ло-
активностей, очередей; END. кальной переменной активности, то их значения есть соответственно
Рассмотрим те части схемы, которые не упоминались в предыдущих раз- GPar.id, GRes.id, ptr->id, id.
делах. Функциональная часть программы ИМ ограничивается двумя макро- На разработчика модели возложена также обязанность формирования по-
определениями ВEGIN и END. Параметром макроса BEGIN является имя следовательности переходов между активностями процесса «механизм об-
ИМ для ИС, т. е. последовательность не более 15 ASCII символов, не взятых служивания». Это достигается с помощью макроса NextActivity, чьим пара-
в кавычки. метром является номер NUMActivity той активности, которая следует после
Под активностью будем понимать реализованный в виде функции сред- выполняющейся активности компонента. Подчеркнем особо, что активность
ствами языка программирования Си некоторый алгоритм, аппроксимирую- NUMACtivity является следующей после текущей в локальном времени опи-
щий определенные функциональные действия компонента и заканчиваю- сываемого компонента. Порядком смены активностей в модельном времени
щийся вызовом функции преобразования списка событий. Выполнение ак- управляет подсистема имитации с помощью списка событий.
тивности приводит к свершению очередного события в ИМ, а следовательно, Разработчик ИМ должен с помощью функции преобразования списка со-
и к изменению состояния ИМ. бытий подсказать только, когда следует вызвать активность NUMACtivity.
В СМ MICIC [4] цепочка активностей составляется либо для каждой па- Другими словами, этими функциями разработчик указывает, сколько единиц
ры: тип обслуживающего устройства – тип обслуживающегося транзакта, модельного времени требуется на реализацию функциональной части актив-
либо для каждого типа устройства – процесса. Способ обращения к данным ности. Принадлежность функции к группе преобразующих список событий
ИМ является стандартным для языка Си. Рекомендуется определять актив- отдельно оговаривается в п. 5.6.
ность по следующей схеме: Осталось раскрыть вопрос о начале и завершении каждой цепочки актив-
byte activity (void) { ностей. Чтобы инициализировать цепочку, разработчик ИМ должен опреде-
DServPar(Dtype,ptr1); лить массив начальных активностей (см. ниже).Завершение цепочки зависит
TServPar(Ttype,ptr2); от того, сколько единиц модельного времени приходится на функциональ-
тело активности ную часть его конечной активности. Если она является единовременной, т. е.
NextActivity(NUMActivity); не требуется сдвига локальной временной координаты компонента, то мак-
функция преобразования списка событый роопределение NextActyvity() для конечной активности отсутствует, а в ка-
return InterruptionSign; честве функции преобразования списка событий вызывается StopService().
} Во всех остальных случаях в конечной активности указывается, что сле-
дующей выполняемой активностью будет StopService(), т. е. вставляется
Активность возвращает признак прерывания процесса имитации макроопределение NextActivity(STOPSERVICE).
InterruptionSign переопределенного типа byte. Этот признак может прини- Для устройств, работающих в режиме процесс, StopServiCe() заменяется
мать одно из двух значений: CONTINUE или BREAK , соответственно про- на Stopprocess(), а STOPSERVICE на STOPPROCESS.
должать или прервать моделирование. Если разработчик модели должен по- К обязательным функциям языка описания ИМ для СМ MICIC относятся
лучить доступ к параметрам соответственно обслуживающего устройства следующие функции:

81 82
void Constructor(void); предназначена, как правило, для определения ACTIVITY_5, ACTIVITY_6, ... ,
структуры модели и ее начального состояния. ИС СМ MICIC позволяет вы- ACTIVITY_K
звать эту функцию единственный раз по нажатию клавиши F2 из главного };
меню.
где ACTIVITY__i – некоторый идентификатор i-й активности в макросе
void AfterStep(void); предназначена для определения функциональных
ACtivities. Подчеркнем, что согласно схеме это перечисление определяется
действий, которые должны выполняться при каждой смене модельного
до текста первой активности в программе ИМ.
времени.
2. Массив начальных активностей цепочек.
void AfterStop(void); предназначена для определения функциональных
Элемент массива содержит три поля: номер начальной активности це-
действий, которые должны выполняться при каждой остановке имитацион-
почки, номер типа обслуживающего устройства в макроопределении
ного эксперимента.
IEKomponents, номер типа обслуживающегося транзакта (там же). Вместо
void PrintState(FILE*); предназначена для сохранения промежуточных
номера транзакта иногда можно ставить макросы PROCESS, ALL, OTHERS.
данных о состоянии имитационной модели в виде текстового файла с име-
Первый макрос PROCESS должен указываться для устройств, работающих в
нем, совпадающем с именем загрузочного модуля ИС ИМ, и расширением
режиме «процесс». Макрос ALL экономит память, если все транзакты долж-
«.out». Вызывается каждый раз по нажатию клавиши F5 из главного меню
ны обслуживаться с помощью одной и той же цепочки. Наконец, пусть неко-
ИС СМ MICIC.
торые фиксированные типы транзактов взаимодействуют с устройством
void BaCKground(void); предназначена для создания собственного фона
уникальным образом, что описывается стандартно. Остальные же типы тран-
при работе в ИС СМ. Для корректной работы разработчику программы ИМ
зактов должны обслужиться по одинаковой цепочке для всех активностей.
следует знать, что графическая система инициализирована в режиме
Тогда на месте типа транзакта ставится макрос OTHERS.
VGAMED, т. е. 640x350 пикселов и 16 цветов. Причем пользователь должен
Заголовком массива служит макроопределение InitialACtivities. За ним рас-
рисовать изображение в прямоугольной области с координатами {(0; 14) –
полагаются тройки макросов, если придерживаться данной методики. Поря-
(639; 335)}.
док элементов массива практически не играет существенной роли. Некото-
За последовательностью обязательных функций располагаются опреде-
рого ускорения процесса имитации можно достигнуть, расположив в начале
ления следующих массивов: активностей; начальных активностей цепочек;
массива элементы, соответствующие наиболее часто выполняемым меха-
очередей.
низмом обслуживания. Однако записи с третьим полем, равным OTHERS,
1. Массив активностей.
рекомендуется располагать последними.
Его заголовком является макроопределение Activities, а его элементы пред-
3. Массив очередей.
ставляют собой имена всех активностей. Первыми должны быть определены
В СМ MICIC существует три встроенных механизма обслуживания оче-
четыре активности из подсистемы имитации: EOSimulation, StartService,
редей (т. е. способов нахождения того транзакта из очереди, который должен
StopService, StopProcess. Таким образом, массив всех активностей выглядит
отправиться на обслуживание следующим): Fifo (первый пришел – первый
следующим образом:
обслужен), Lifo (последним пришел – первый обслужен), Priority (приори-
Activities = {
тетным является транзакт, имеющий минимальное значение некоторого сво-
EOSimulation, StartService, StopService, StopProcess,
его параметра). Кроме этого, два и более устройств могут иметь одну и ту же
Activity_5, Activity_6, ... ,
очередь, называемую совместной. Одно из таких устройств должно обладать
Activity_K
одним из трех встроенных или одним из определенных разработчиком ИМ
};
механизмом обслуживания очередей. Остальные устройства извлекают тран-
Как в случае с компонентами ИМ, для описания более мобильных про- закты, пользуясь функцией Joint.
грамм ИМ при формировании цепочки активностей рекомендуется ввести Если разработчику ИМ достаточно стандартных возможностей СМ
перечисление следующего вида: MICIC, то массив очередей выглядит следующим образом:
enum {
StandardQueues;
EOSIMULATION, STARTSERVICE,
STOPSERVICE, STOPPROCESS, Каким образом определяются уникальные механизмы очередей и их
массивы описано в п. 5.3.6.
83 84
сивы описано в п. 5.3.6. StopService(ptr);
ПРИМЕР 5.3.5. Привести схему программы ИМ для примера 5.3.1. Заме- return CONTINUE;
тим, что компоненты и их параметры были определены в примере 5.3.1. }
void Constructor(void) {
BEGIN (ТривиальнаяСМО)
.....
enum {
}
EOSIMULATION, STARTSERVICE,
void AfterStep(void){ }
STOPSERVICE, STOPPROCESS,
void AfterStep(void){ }
GENERATOR1, GENERATOR2,
void Background(void){ }
REQ_ON_SERVER, REQ_ON_ABSORBER
void PrintState(FILE*){ }
};
byte Generator1(void){
//определение массива активностей
DServPar(RegGenerator,ptr);
Aktivities={
// тело первой активности пусто
EOSimulation, StartProcess, StopService, StopProcess,
NextActivity(GENERATOR2);
Generator1, Generator2, Req_on_Server, Req_on_Absorber
функция изменения локальной временной
};
координаты на время ptr -> StartTime
return CONTINUE; //определение массива начальных активностей фрагментов
} InitialActivities={
byte Generator2(void){ GENERATOR1, REQGENERATOR, PROCESS,
DServPar(RegGenerator,ptr); REQ_ON_SERVER,SERVER,REQUEST,
//генерация очередной заявки REQ_ON_ABSORBER,ABSORBER,REQUEST
NextActivity(GENERATOR2); };
// можно и не указывать, если очередная
// активность совпадает с текущей //определение массива очередей
функция изменения локальной временной StandardQueues;
координаты на время ptr -> Interval END
return CONTINUE;
} 5.3.6. Описание функций языка моделирования
byte Req_on_Server(void){
DServPar(Server,ptr); 1. Функция преобразования списка событий
указать,что направлением движения
является устройство ABSORBER Согласно методу имитационного моделирования, аппроксимированные
NextActivity(STOPSERVICE); активностями функциональные действия компонент, приводящие к некото-
функция изменения локальной временной рому событию в ИМ, реализуются в некоторый момент модельного времени.
координаты на время ptr -> ServiceTime В свою очередь в СТС реальные функциональные действия происходят в
return CONTINUE; непрерывном времени. Чтобы отразить функционирование компонент, каж-
} дая активность завершается вызовом функции, указывающей, сколько еди-
ниц модельного времени проходит от одного до другого события. В резуль-
byte Req_on_Absorber(void){ тате очередная активность перемещается вперед по списку событий и будет
указать об окончании движения вызвана в требующийся момент модельного времени. Ее заголовок выглядит
пересчет откликов ИМ следующим образом:
void WaitTime(float Time);
85 86
Time – модельное время реализации активности. ется NULL.
К функциям, преобразующим список событий, относятся также некото- Serving(tns *tt) - возвращает указатель (dvc *) для транзакта tt.
рые частные случаи функций изменения структуры ИМ.
ПРИМЕР 5.3.6. Определить активность Generator1 примера 5.3.5. 3. Функции выбора транзактом маршрута
byte Generator1(void){ MoveTo(dvc *dd)
DServPar(RegGenerator,ptr); Это макроопределение модифицирует встроенный в транзакт указатель
NextActivity(GENERATOR2); направления движения так, что транзакт, покинув обслуживающее устрой-
WaitTime(ptr->StartTime); ство, станет в очередь к устройству dd.
return CONTINUE; Если необходимо, чтобы транзакт поглотился СМ по окончанию обслу-
} живания на устройстве, то это макроопределение используется следующим
образом:
2. Доступ к компоненту ИМ и его параметрам Moveto(NULL)
dvc *Movement(tns *tt)
В подавляющем большинстве случаев параметрами приводимых в сле-
С помощью данного макроопределения пользователь получает доступ к
дующих пунктах функций являются либо сам активный компонент, либо
встроенному в транзакт tt указателю направления движения. Может быть
парный компонент. Поэтому имеет смысл ввести последовательность макро-
использовано как с левой, так и с правой стороны от оператора присваива-
определений, облегчающих локализацию нужных элементов модели. ния.
Tself – возвращает указатель (tns *) на активизированный транзакт.
DServ – возвращает указатель на обслуживающее устройство (точнее на 4. Функции изменения состояния ИМ
устройство, очередная активность которого вызвана из подсистемы имита-
void Instal(word Kmp,word VersionQuantity,float InitTime,
ции).
word Maxtns,byte QueType,void *ptr);
TServ – возвращает указатель на обслуживающийся транзакт.
Функция Instal вводит в ИМ VersionsQuantity версий устройств (word
VServ – возвращает номер версии обслуживающего устройства.
определен как unsigned int) типа Kmp (номер в массиве IEKomponents). Для
Kmp(kk) – возвращает номер компонента в массиве IEKomponents для устройств, работающих в режиме, процесс InitTime есть модельное время
элемента KK, который может быть типа устройства или транзакта, т.е. dvc активизации процесса, а остальные два параметра не имеют значения. Для
* или tns *. обслуживающих устройств, наоборот, InitTime не играет роли, а макси-
KPar(type,kk) – возвращает указатель на параметры, определяемые мально возможное количество обслуживающихся одновременно транзактов
структурой типа type (см. п. 5.3), элемента kk (см. предыдущий макрос); этот задается параметром Maxtns. Механизм обслуживания очередей к устрой-
указатель может появляться в выражениях как с левой, так и с правой сторо- ству представляет собой номер QueType в массиве очередей (см. п. 5.6).
ны от знака присваивания. Указатель Ptr содержит адрес, начиная от которого, находятся начальные
DHead(word kmp) – возвращает указатель (dvc *) на первое устройство в значения параметров устройств. Пример записи:
списке компонентов типа kmp; если список пуст, то возвращенное значение- void Run(word Kmp,word CopiesQuantity,dvc *dd, byte Priority,
NULL. word buflen, void *ptr);
THead(word kmp) – возвращает указатель (tns *) на первый транзакт в По данной функции генерируется подсистемой имитации CopiesQuantity
списке компонентов типа kmp; если список пуст, то возвращенное значение- новых транзактов, принадлежащих компоненту ИМ с номером Kmp в мас-
NULL. сиве IEKomponents. Они направляются на обслуживание к устройству dd,
Next(kk) – возвращает указатель на элемент, следующий за элементом kk имея внутренний приоритет Priority. Указатель ptr содержит адрес, начиная
(типа dvc * или tns *) в списке компонентов того же типа, что и kk; если от которого находятся начальные значения параметров рожденных транзак-
kk – последний элемент списка, то возвращенное значение – NULL. тов. Параметр buflen задает объем транзактного буфера для генерируемых
Device(word kk, word num) – возвращает указатель (dvc *) на устройство транзактов.
типа kk с номером версии num. Если такого устройства нет, то возвраща- word OpenDvc(word num, dvc *dd);
87 88
Перевести num версий устройства типа Kmp(dd), начиная с dd, работаю- транзакта tt.
щих в режиме обслуживания , в открытое состояние. Возвращается реаль- word FindPlace(tns *tt);
ное количество переведенных в указанное состояние версий. Возвращает номер свободного места в транзактном буфере транзакта tt.
word CloseDvc(word num, dvc *dd); Если все места заняты, то возвращается MAXUINT.
Перевести num версий устройства типа Kmp(dd), начиная с dd, работаю- word TakePlace(tns *tt, que *qq, dvc *dd);
щих в режиме обслуживания, в закрытое состояние. Возвращается реальное Транзакт, находящийся внутри элемента qq очереди к устройству dd,
количество переведенных в указанное состояние версий. размещается в транзактном буфере транзакта tt. Если все места заняты, то
word ActivDvc(word num, dvc *dd); возвращается MAXUINT.
Перевести num версий устройства типа Kmp(dd), начиная с dd, работаю- byte FreePlace(tns *tt, word i, dvc *dd);
щих в режиме обслуживания, в активное состояние. Возвращается реальное Транзакт, находящийся на месте i в транзактном буфере транзакта tt, от-
количество переведенных в указанное состояние версий. правляется в очередь к устройству dd.
word PassivDvc(word num, dvc *dd);
Перевести num версий устройства типа Kmp(dd), начиная с dd, работаю- 6.Функции генерации псевдослучайных потоков
щих в режиме обслуживания, в пассивное состояние. Возвращается реальное double rnd(void);
количество переведенных в указанное состояние версий.
Возвращает псевдослучайные числа, равномерно распределенные на
word DelayTns(word num, tns *tt);
полуинтервале [0;1).
Транзакты, начиная от tt (num копий), и обслуживающие их устройства
double Urnd(double m,double h);
приостанавливают выполнение своих активностей.
Возвращает псевдослучайные числа, равномерно распределенные на
word ReleaseTns(word num, tns *tt);
полуинтервале [m-h,m+h).
Транзакты, начиная от tt (num копий), и обслуживающие их устройства
double Nrnd(double m,S2);
продолжают выполнение своих активностей с прерванного места.
Возвращает псевдослучайные числа, нормально распределенные со
word LeaveTns(word num, tns *tt);
Транзакты, начиная от tt (num копий), покидают устройства, на которых средним m и среднеквадратичным отклонением S2.
они обслуживались. double Ernd(double m);
word RestartTns(word num, tns *tt); Возвращает псевдослучайные числа, экспоненциально распределенные
Транзакты, начиная от tt (num копий), должны повторить обслуживание со средним m.
сначала на тех устройствах, где находятся. double Hi2rnd(int ν);
word KillTns(word num, tns *tt); Возвращает псевдослучайные числа, χ2-распределенные с ν степенями
Уничтожить транзакты, начиная от tt (num копий). свободы.
ЗАМЕЧАНИЕ. Если вызов функций DelayTns(1,TServ), LeaveTns(1, double Brnd(int ν1, int ν2);
TServ), RestartTns(1,TServ), KillTns(1,TServ), PassivDvc(1, DServ) следует в Возвращает псевдослучайные числа, бета-распределенные с ν1 и ν2 сте-
приведенном контексте, то они изменяют список событий. Поэтому перед пенями свободы.
ними необходимо указывать следующую активность, а после нее ставить double Frnd(int ν1, int ν2);
оператор return (см. п. 5.5). Возвращает псевдослучайные числа, F-распределенные с ν1 и ν2 cтепе-
нями свободы.
5.Функции изменения состояния транзактного буфера double Trnd(int ν);
word BufferVolume(tns *tt); Возвращает псевдослучайные числа, t-распределенные с ν степенями
Возвращает объем транзактного буфера для транзакта tt. свободы.
tns *Place(tns *tt, word i); unsigned UCrnd(unsigned k);
Возвращает транзакт, находящийся на месте i в транзактном буфере Возвращает псевдослучайные числа, выбираемые из множества 0...k – 1 с

89 90
равными вероятностями.
unsigned WCrnd(unsigned k,double p[]); 6. ОСНОВЫ ПРИНЯТИЯ РЕШЕНИЙ
Возвращает псевдослучайные числа, выбираемые из множества 0...k – 1 с В ЗАДАЧАХ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ
вероятностями p[0]...p[k – 1],где сумма всех значений массива p равна 1.
unsigned Grnd(double p);
Возвращает псевдослучайные числа согласно геометрическому 6.1. Виды стратегий исследователя при анализе процессов,
распределению с вероятностью p. протекающих в СТС
unsigned Prnd(double m); Рассмотренные ранее типы математических моделей представляют собой
Возвращает псевдослучайные числа согласно распределению Пуассона как инструмент анализа ситуаций в СТС, так и основное средство исследо-
со средним m. ваний при проектировании СТС. Управление СТС с помощью ММ, проекти-
рование устройств или компонентов СТС предполагают, как правило, дос-
7. Справочные функции тижение определённой цели. Для этого исследователям или проектировщи-
кам СТС приходится принимать определённые решения. Однако только в
Для оперативного контроля за развитием процессов в модели можно ис-
простейших случаях удаётся указать шкалу (целевую функцию), значения
пользовать следующий набор функций. которой измеряют качество решения. В сложных ситуациях качество реше-
float ModelTime(void); ния не может быть оценено единственной функцией. Поэтому механизм ра-
Функция возвращает текущее значение модельного времени. ционального выбора в таких случаях требует некоторой дополнительной
word MaxTD (dvc *dd); косвенной информации, позволяющей сравнивать возможные альтернативы
Функция возвращает максимально возможное количество транзактов на решений. Очень часто возникает необходимость принимать решения, для
устpойстве dd. которых не удаётся полностью учесть предопределяющие их условия, а так-
word NumTD (dvc* dd , word kk); же последующее их влияние (эффект неопределённости) на функционирова-
Функция возвращает количество транзактов типа kk на устройстве dd. ние СТС. Например, любое планирование производства обычно связано с
Если второй параметр равен MAXUINT, то возвращается общее количество подобными факторами неопределенности. В таких ситуациях ответствен-
транзактов. ность за принимаемые решения очень велика. Поэтому исследователи стре-
word NumTQ (dvc *dd , byte num , word kk ); мятся к оптимальному использованию имеющейся информации относитель-
Функция возвращает количество транзактов типа kk в очереди с номе- но поставленной задачи, чтобы, взвесив все возможные варианты решения,
ром num к устройству dd. Если последний параметр равен MAXUINT, то постараться найти среди них наилучший. Учёт возможных последствий от
возвращается общее количество транзактов в очереди. принятия решений на основе математического моделирования процессов в
float BirthTime (tns *tt); СТС определяет актуальность изучения основ принятия решений в составе
Функция возвращает значение времени рождения копии транзакта tt. курса» Исследование операций».
float ServingTime (tns *tt); Обычно исследователи могут придерживаться разных стратегий при ана-
лизе процессов, протекающих в СТС. В зависимости от имеющейся в их
Функция возвращает значение времени начала обслуживания или при-
распоряжении осведомительной информации и от наличия ресурсов для ор-
бытия в очередь транзакта tt.
ганизации исследований возможны разные комбинации вариантов анализа
char *Name (word kk);
СТС (стратегий изучения СТС и оценки последствий от принятия решений).
Функция возвращает строковое имя по номеру компонента в массиве На выбор стратегии исследования операций влияют следующие основные
IEKomponents. факторы:
word Version (dvc *dd); – наличие информации об исследуемом процессе;
Функция возвращает номер версии устройства dd. – величина риска потерь от ошибочных решений;
word Priority(tns *tt); – размеры ресурсов для организации исследований на ММ;
Данное макроопределение дает доступ к приоритету транзакта и может – количество и иерархия целей, преследуемых исследователем при выбо-
быть использовано с любой стороны от знака присваивания. ре решения.
91 92
Если информации о СТС недостаточно, то имеет место принятие реше- eij. Рассмотрим пример, иллюстрирующий подобную ситуацию.
ний в условиях неопределённости. Когда же при этом необходимо учиты- Пусть требуется изготовить изделие, долговечность которого зависит от
вать возможный риск от ошибочных решений, то перед исследователем сто- вида материала, из которого оно состоит, и внешних условий, связанных с
ит дополнительная задача – принятия решений в условиях риска. Если коли- той или иной степенью нагрузки при эксплуатации изделия. Нагрузки счи-
чество целей большое и они зачастую противоречат друг другу, то исследо- таются известными. Требуется определить вид материала, из которого целе-
вателю приходится иметь дело с многоцелевым выбором решений. Как пра- сообразно изготовить изделие .
вило, наиболее трудными являются задачи векторной оптимизации, решение Варианты решений в данном примере таковы:
которых предполагает нахождения оптимального соотношения параметров E1 – выбор вида материала из соображений максимальной долговечности;
управления СТС. Наконец, размеры ресурсов, которыми располагает иссле- Em – выбор вида материала из соображений минимальной долговечности;
дователь при использовании ММ ИСО, играют существенную роль при вы- Ei – промежуточные решения (i = 2, m − 1 ).
боре решения. На практике при решении большинства практических задач Внешние условия, учет которых необходим, следующие:
ИСО исследователи ощущают недостаток ресурсов для постановки исследо- F1 – условия, обеспечивающие максимальную долговечность;
ваний, анализа результатов и принятия обоснованного решения. Fn – условия, обеспечивающие минимальную долговечность;
Исходя из вышеизложенного, в данном разделе рассмотрены наиболее
часто используемые традиционные методы принятия решений, ставшие уже Fj – промежуточные условия (j = 2, n − 1 ).
классическими. По нашему мнению, без владения основами принятия реше- Под результатом решения eij будем понимать оценку, соответствующую
ний, излагаемыми ниже, методики исследования операций будут неэффек- варианту решения Ei и условию Fj и характеризующую экономический эф-
тивными и слабо используемыми на практике. Поэтому курс исследования фект (прибыль), полезность или надежность изделия.
операций завершается элементарными основами по принятию решений. Ситуация, соответствующая описанному примеру, характеризуется сле-
Учитывая ориентацию данного пособия на подготовку специалистов техни- дующей матрицей решений ||eij||:
ческих университетов, основное внимание уделяется наиболее употреби-
F1 F2 … Fn
тельным алгоритмам принятия решений.
E1 e11 e12 … e1n
6.2. Принятие решений в условиях неопределенности и риска E2 e21 e22 … e2n
… … … … …
6.2.1. Основная формальная структура принятия решений. Em em1 em2 … emn
Матрица решений. Оценочная функция
По данной матрице необходимо выбрать тот вариант решения, которому
Принятие решений представляет собой выбор одного из некоторого соответствует наилучший результат, но так как неизвестно, какое из внеш-
множества вариантов: Ei ∈ E. Условимся, что каждый вариант Ei вырабаты- них условий может наступить, необходимо принимать во внимание все
вает некоторую количественную оценку ei. Будем искать вариант решения с оценки eij. Таким образом, первоначальная задача максимизации согласно
наибольшим значением ei, полагая, что ei характеризует такие величины, как критерию (6.1) должна быть теперь заменена другой.
полезность, надежность, выигрыш, прибыль. Таким образом, выбор опти- Процедура выбора в случае нескольких внешних состояний может быть
мального варианта производится с помощью критерия представлена по аналогии с применением критерия (6.1). При этом матрица
решений ||eij|| дополняется некоторым столбцом, т. е. каждому варианту Ei
E0 = {Ei0 | Ei0 ∈ E^ei0 = max ei}. (6.1)
i приписывается некоторый результат eir. Проблема в том, какой смысл вло-
жить в результат eir. Оценочные функции можно вводить различным обра-
Рассмотренный случай, когда каждому варианту решения соответствует зом. Если, например, последствия каждого из альтернативных решений ха-
единственное внешнее состояние (случай детерминированных решений), с рактеризовать комбинацией из его наибольшего и наименьшего результатов,
точки зрения его применения является простейшим. то можно принять:
При решении большинства практических задач каждому допустимому
варианту решения Ei могут соответствовать вследствие различных внешних eir = min eij + max eij, (6.2)
j j
условий различные внешние состояния Fj и количественные оценки решений
93 94
наилучший в этом смысле результат имеет вид внешним состояниям при m вариантах решения.
Введем прямоугольную систему координат. По оси абсцисс отложим
max eir = max { min eij + max eij}. (6.3)
i i j j значения результатов решений ei1, соответствующие внешнему состоянию
F1, а по оси ординат – значения ei2, соответствующие состоянию F2.
Определяя таким образом желаемый результат, лицо, принимающее решение Каждый вариант решения Ei, таким образом, соответствует точке (ei1, ei2),
(ЛПР), исходит из компромисса между оптимистическим и пессимистиче-
i= 1, m на плоскости. Все m точек (ei1, ei2) лежат внутри прямоугольника, сто-
ским подходами.
Целесообразность применения той или иной оценочной функции опреде- роны которого параллельны координатным осям, а противоположные вер-
ляется комплексом условий. Приведем некоторые другие примеры оценоч- шины – утопическая точка с координатами (max ei1, max ei2) и антиутопиче-
ных функций. ская точка с координатами (min ei1, min ei2), i = 1, m . Данный прямоугольник
Оптимистическая позиция: называется полем полезности решений.
Чтобы сравнить варианты решений с точки зрения их качества, назовем
max eir = max { max eij}, (6.4)
i i j вариант Ei не худшим, чем вариант Ej, если для соответствующих точек (ei1,
ei2) и (ej1, ej2) выполняются неравенства: ei1 ≥ ej1 и ei2 ≥ ej2, причем решение Ei
следуя которой, ЛПР становится на точку зрения азартного игрока, делая считается лучшим, если хотя бы одно из двух неравенств является строгим.
ставку на то, что при любом его решении внешняя среда будет находиться в Очевидно, что при таком определении не все варианты решения допус-
максимально благоприятном состоянии. кают сравнение друг с другом, так как в общем случае существуют варианты
Позиция нейтралитета: решений Ei и Ej, такие, что, например, ei1 < ej1 и ei2 > ej2. Это означает, что в
1 n поле полезности решений установлено отношение частичного порядка.
max eir = max { ∑ eij }; (6.5)
i i n j =1 Выберем в поле полезности некоторую точку РТ. С помощью прямых,
параллельных координатным осям, разобьем плоскость на четыре части и
в этом случае ЛПР исходит из того, что все встречающиеся отклонения ре- обозначим их I, II, III, IV. В случае произвольной размерности эти части
зультата решения от «среднего» случая допустимы, и выбирает решение, будем называть конусами. Все точки конуса I в смысле введенного выше
оптимальное с этой точки зрения. порядка являются лучшими, чем точка РТ, и, соответственно, все точки ко-
Позиция пессимиста: нуса III являются заве-
домо худшими, чем
max eir = max { min eij} (6.6) точка РТ. Поэтому ко-
i i j
нус I называется кону-
ориентируется на то, что выпадет наименее благоприятный случай и припи- сом предпочтения, а
сывает каждому из альтернативных вариантов наихудший из возможных конус III – антикону-
результатов. После этого ЛПР выбирает самый выгодный вариант, т. е. ожи- сом. Оценка же точек
дает наилучшего результата при наихудшем состоянии внешней среды. конусов II и IV являет-
Позиция относительного пессимизма: ся неопределенной,
min eir = min max { max eij – eij}; (6.7) поэтому эти конусы
i i j i носят название конусов
неопределенности. Для
в этом случае для каждого варианта решения ЛПР оценивает потери по
точек конусов неопре-
сравнению с определенным по каждому варианту наилучшим результатом, а
деленности оценки по-
затем из совокупности наихудших результатов выбирает наилучший соглас-
лучаются только с по-
но данной оценочной функции.
мощью выбранного
Влияние исходной позиции ЛПР на эффективность результатов можно Рис. 6.1. Поле полезности решений
критерия принятия ре-
интерпретировать, исходя из наглядных представлений. Простейшим здесь
шений (рис. 6.1).
является графическое изображение на плоскости, соответствующее двум
95 96
6.2.2. Критерии принятия решений в условиях неопределенности и риска. – решение реализуется (теоретически) бесконечно много раз;
Анализ ситуации принятия решений – для малого числа реализаций решения допускается некоторый риск.
Минимаксный критерий (ММ-критерий). Этот критерий использует Критерий Ходжа-Лемана (HL-критерий). Этот критерий опирается на
оценочную функцию, соответствующую позиции крайнего пессимизма: BL-критерий и MM-критерий. С помощью параметра ν выражается степень
доверия к использованному распределению вероятностей. Если это доверие
ZMM = max eir, eir = min eij, (6.8)
i j велико, то акцентируется BL-критерий, в противном случае предпочтение
отдается MM-критерию.
т. е. множество оптимальных решений E0 определяется соотношением Оценочная функция определяется равенством
E0 = {Ei0 | Ei0 ∈ E ^ ei0 = max min eij}. (6.9)
i j ZHL = max eir,
i
Выбранные таким образом варианты полностью исключают риск. Однако n
это достоинство стоит некоторых потерь. Применение ММ-критерия бывает eir = ν ∑ eij q j + (1 – ν) min eij, 0 ≤ ν ≤ 1, (6.13)
i
j =1
оправдано, если ситуация характеризуется обстоятельствами:
– о возможности появления состояний Fj ничего не известно; n

– решение реализуется один или очень малое число раз; т. е. E0 = {Ei0 | Ei0 ∈ E ^ ei0 = max [ν ∑ eij q j + (1 – ν) min eij] ^ 0 ≤ ν ≤ 1}.
i i
j =1
– необходимо исключить какой бы то ни было риск.
Критерий Севиджа (S-критерий). Оценочная функция критерия Се- Критерий Ходжа-Лемана предъявляет к ситуации принятия решения сле-
виджа имеет вид дующие требования:
ZS = min eir = min max { max eij – eij} (6.10) – вероятности появления состояний Fj неизвестны, но некоторые предпо-
i i j i ложения о распределении вероятностей возможны;
и множество оптимальных вариантов решения строится следующим обра- – принятое решение теоретически допускает бесконечно много реализа-
зом: ций;
– при малых числах реализаций допускается некоторый риск.
E0 = {Ei0 | Ei0 ∈ E ^ ei0 = min eir}. (6.11)
i Критерий Гурвица (HW-критерий). Стараясь занять наиболее уравно-
Для понимания величины aij = max eij – eij нужно трактовать как дополни- вешенную позицию, ЛПР также может воспользоваться критерием Гурвица,
i оценочная функция которого находится как средневзвешенное между точ-
тельный выигрыш, если вместо варианта Ei в состоянии Fj выбрать другой, ками зрения предельного оптимиста и крайнего пессимиста:
оптимальный для этого внешнего состояния результат.
Условия для применения критерия Севиджа такие же как и для ММ- ZHW = max eir,
i
критерия. eir = c min eij + (1 – c) max eij, 0 ≤ c ≤ 1, (6.14)
Критерий Байеса-Лапласа (BL-критерий). Пусть qj – вероятность по- i j
явления внешнего состояния Fj, тогда для критерия Байеса-Лапласа оценоч- т. е. E0 = {Ei0 | Ei0 ∈ E ^ ei0 = max [c min eij + (1 – c) max eij] ^ 0 ≤ c ≤ 1}.
ная функция примет вид i i j
n
ZBL = max eir, eir =
i
∑ eij q j , (6.12) Чаще всего весовой множитель c = 0,5. Критерий предъявляет к ситуации
принятия решений следующие требования:
j =1
n n – о вероятности появления состояний ничего не известно;
т. е. E0 = {Ei0 |Ei0 ∈ E ^ ei0 = max
i
∑ eij q j ^ ∑ q j = 1 }. – решение реализуется лишь малое количество раз;
j =1 j =1 – допускается некоторый риск.
Применение критерия рекомендуется, если ситуация характеризуется Критерий Гермейера (G-критерий). Критерий Гермейера ориентирован
следующим образом: на величины потерь, т. е. при его применении предполагается, что eij – отри-
– вероятности появления состояний Fj известны и не зависят от времени; цательные.

97 98
В качестве оценочной функции G-критерия выступает Величина εi = ei0 j0 – min eij для всех i ∈ I1 характеризует наибольшие воз-
j
ZG = max eir,
i можные потери по сравнению со значением, задаваемым MM-критерием. С
eir = min eijqj. (6.15) другой стороны, в результате такого снижения открываются возможности
i для увеличения выигрыша по сравнению с тем, который обеспечивается
G-критерий имеет следующее множество решений: MM-критерием.
E0 = {Ei0 | Ei0 ∈ E ^ ei0 = max min eijqj ^ eij < 0}. Поэтому мы рассматриваем также некоторое выигрышное подмножество
i i
Поскольку, например, при решении целого ряда производственных и I2 = {i | i ∈ {i, ..., m} ^ ( ei0 j0 – min eij) = εi ≤ max eij – max ei0 j }.
j j j
экономических задач преимущественно имеют дело с ценами и затратами, то
условие отрицательности оценок eij обычно выполняется. Если среди eij Тогда в множество-пересечение I1∩I2 соберутся только такие варианты
имеются положительные величины, то путем преобразования eij – a при под- решений, для которых, с одной стороны, в определенных состояниях могут
ходящем выборе a > 0 матрица решений преобразуется к отрицательному иметь место потери по сравнению с состоянием, задаваемым MM-критерием,
виду, однако следует учитывать, что оптимальное решение может зависеть но зато в других состояниях имеется по меньшей мере такой же прирост вы-
от величины a. игрыша. Теперь оптимальными в смысле составного BL(MM)-критерия бу-
G-критерий некоторым образом обобщает MM-критерий, а в случае рав- дут решения из множества
n n
номерного распределения qj (qj = 1/n, j = 1, n ) они становятся идентичными.
Условия применимости G-критерия таковы:
E0 = {Ei0 | Ei0 ∈ E ^ ei0 = max
i∈I1 ∩ I 2
∑ eij q j ^ ∑ q j = 1 }.
j =1 j =1
– вероятности появления состояний Fj известны;
– допускается некоторый риск; Применение BL(MM) критерия бывает целесообразным, если:
– решение может реализовываться как малое, так и большое число раз. – вероятности появления состояний Fj неизвестны, однако имеется неко-
Если функция распределения известна с малой надежностью, и числа торая априорная информация в пользу какого-либо определенного распреде-
реализаций малы, то при использовании G-критерия, вообще говоря, имеется ления;
неоправданно большой риск. – необходимо считаться с появлениями различных состояний как по от-
Составной BL(MM)-критерий. Стремление получить критерии, которые дельности, так и в комплексе;
бы лучше приспосабливались к имеющейся ситуации, чем все до сих пор – допускается ограниченный риск;
рассмотренные, привело к построению так называемых составных критери- – принятое решение реализуется один раз или многократно.
ев. Исходным для построения данного был BL-критерий. Вследствие того, BL(MM)-критерий хорошо приспособлен для построения практических
что распределение q = (q1, ..., qn) устанавливается эмпирически и потому из- решений прежде всего в области техники и может считаться достаточно на-
вестно не точно, происходит, с одной стороны, ослабление критерия, а с по- дежным.
мощью заданных границ для риска и посредством MM-критерия обеспечива- Однако задание границы риска и, соответственно, оценок риска не учи-
ется соответствующая свобода действий. тывает ни число применений решения, ни иную подобную информацию.
Зафиксируем прежде всего задаваемое MM-критерием опорное значение Условие εi ≤ max eij – max ei0 j существенно в тех случаях, когда решение
j j
ZMM = max min eij = ei0 j0 ,
i j реализуется один или малое число раз.
где i0, j0 – оптимизирующие индексы для рассматриваемых вариантов реше-
ний и, соответственно, состояний. 6.2.3. Пример применения классических и производных критериев
в задаче принятия решений в условиях неопределенности
Посредством некоторого заданного или выбираемого уровня допустимо-
го риска определим некоторое множество согласия, являющееся подмноже- Пусть некоторую технологическую установку требуется подвергнуть
ством множества индексов {i, ..., m}: проверке с приостановкой ее эксплуатации. Из-за этого на некоторое время
будет, естественно, приостановлен и выпуск продукции. Если же сущест-
I1 = {i | i ∈ {i, ..., m} ^ ( ei0 j0 – min eij) ≤ εдоп}. (6.16) вующая неисправность не будет вовремя обнаружена, то это приведет к еще
j

99 100
большим потерям, поскольку технологическая установка выйдет из строя. решения и только потом выбрать подходящий критерий. Если принимаемое
У руководства предприятия есть возможность выбора одного из следую- решение относится к сотням работающих установок с одинаковыми пара-
щих альтернативных вариантов решения: метрами и если информация о вероятностях состояний Fj достаточно точна,
E1 – осуществить полную проверку оборудования с привлечением спе- то целесообразно воспользоваться BL-критерием. Если число реализаций
циалистов-ремонтников со стороны; решения на практике невелико, то больший вес приобретают более осторож-
E2 – провести проверку и возможный ремонт своими силами; ные рекомендации S- или MM-критериев.
E3 – вообще отказаться от какой-либо проверки и не приостанавливать Если рассмотреть ситуацию, когда состояние F3 – серьезная неисправ-
выпуск продукции. ность установки – наиболее вероятно, например q1 = q2 = 1/4, q3 = 1/2, то тогда
После длительного срока эксплуатации установка может находиться в и BL-критерий и MM-критерий рекомендуют провести полную проверку ус-
одном из следующих состояний: тановки.
F1 – неисправностей нет, и установка может продолжать работать без ка- Применяя производные критерии для принятия решения по данной про-
кого-либо ремонта; блеме, получим следующие результаты:
F2 – требуется незначительный ремонт отдельных деталей; Критерий Гурвица. При с = 0,5 рекомендуется отказаться от проверки
F3 – дальнейшая эксплуатация установки возможна лишь после капи- (E3). При с > 0,57 в качестве рекомендуемого будет выступать уже решение
тального ремонта. E1.
Накопленный на предприятии опыт позволил составить следующую мат- Критерий Ходжа-Лемана. При ν = 0,5 и q1 = q2 = q3 = 1/3 по HL-критерию
рицу решений, элементы которой отрицательны, поскольку включают в себя рекомендуется воспользоваться решением E1 – выполнить полную проверку
затраты на проверку и устранение неисправностей, а также затраты, связан- установки. Лишь при ν > 0,94 рекомендуются менее осторожные варианты
ные с потерями в выпускаемой продукции и с поломкой установки: решений – E2 или E3.
F1 F2 F3 Критерий Гермейера. Также рекомендует в случае равномерного распре-
E1 –20 –22 –25 деления состояний установки придерживаться более осторожного варианта
E2 –14 –23 –31 решения E1.
E3 0 –24 –40 Составной BL(MM)-критерий. Данный критерий является одним из наи-
более гибких критериев и довольно часто может применяться на практике
Применяя MM-критерий, получаем, что следует проводить полную про- при решении конкретных технических задач. BL(MM)-критерий при
верку: E0 = E1. Этого и следовало ожидать, так как данный критерий соответ- q1 = q2 = q3 = 1/3 в большинстве случаев при незначительном уровне допусти-
ствует позиции крайнего пессимиста и исключает какой-либо риск, который мого риска также указывает на осторожный вариант E1, как на оптимальный.
в данной ситуации при отсутствии информации о вероятностях возможных Вариант E3 (отказ от проверки) принимается этим критерием лишь при
состояний установки сопряжен, например, с ее поломкой в случае отказа от εдоп > 15, однако во многих технических и хозяйственных задачах уровень
проверки и продолжения ее эксплуатации при имеющихся серьезных неис- допустимого риска бывает намного ниже, составляя лишь незначительный
правностях. процент от возможных затрат.
Если предположить, что все возможные состояния установки равноверо-
ятны (q = 1/3), то при применении BL-критерия будет рекомендовано реше- 6.3. Принятие решений в многоцелевых задачах
ние E3 – отказ от проверки. Если применить S-критерий, то в качестве опти- производства и планирования деятельности предприятий
мального будет рекомендовано принять решение E2 – провести проверку
оборудования без привлечения специалистов со стороны.
6.3.1. Традиционные методы принятия решений
Итак, воспользовавшись теоретическими рекомендациями, мы мало что в многокритериальных задачах
выиграли, поскольку ситуация осталась неопределенной: каждый из крите-
риев рекомендует свой вариант решения. Но следует помнить о том, что раз- При решении большинства задач проектирования, планирования и
личные критерии связаны с различными аспектами ситуации, в которой ре- управления техническими и экономическими системами возникает необхо-
шение принимается. Поэтому прежде чем воспользоваться тем или иным димость оптимизации этих систем по совокупности противоречивых крите-
критерием, необходимо тщательно проанализировать ситуацию принятия риев эффективности их функционирования.

101 102
Такая оптимизация получила название векторной или многокритериаль- ставной критерий:
ной. Ее отличительной особенностью является наличие не одного оптималь- m
ного решения, как в задачах с одним критерием эффективности, а целого u(x) = ∑ γ i f i ( x) → max, (6.18)
множества недоминируемых решений (множества Парето), каждое из кото- i =1

рых может быть выбрано в качестве оптимального. Центральная проблема где γi – вес i-го критерия, γi > 0, если fi(x) → max, γi < 0, если fi(x) → min.
задач векторной оптимизации – выбор одного «оптимального в некотором Несмотря на удобную форму записи, «составные» критерии имеют суще-
смысле» решения. Объективный выбор одного решения из множества недо- ственные недостатки, связанные с произволом в выборе весов γi, а также с
минируемых (компромиссных) решений невозможен без участия ЛПР, без тем фактом, что недостатки эффективности по одним критериям могут ком-
получения от него информации о его предпочтениях. пенсироваться за счет преимуществ по другим критериям.
В общем виде задачи векторной оптимизации могут быть записаны сле- Нормативные методы векторной оптимизации. Нормативные методы
дующим образом: являются своего рода обобщением рассмотренных выше методов и состоят в
fi(x) → max, i = 1, k , предварительном получении нормативов ξ fi , i = 1, m на основе приближен-
fi(x) → min, i = k + 1, m , (6.17) ного решения многоцелевой задачи и приближения к этим нормативам по
x ∈ G ⊂ ℜ m. некоторой заданной метрике ρ(f (x), ξ f ) → min, где ρ(f (x), ξf) может быть
Понятие оптимального решения заменяется для таких задач понятием определено различными способами, например:
эффективного решения. Решение представляет собой эффективное решение
∑ [ f i ( x) − ξ fi ]2 ;
m
многокритериальной задачи, если не существует решения, не уступающего ρ12 ( f ( x), ξ f ) =
ему по всем критериям и превосходящего его хотя бы по одному из них. i =1
Рассмотрим некоторые часто применяемые на практике методы много- m
критериальной оптимизации. ρ 2 ( f ( x), ξ f ) = ∑ f i ( x) − ξ fi ;
Метод выделения главного критерия. Определяется главный критерий i =1
(предположим f1(x)) и задача (6.17) преобразуется в следующую: ρ3 ( f ( x), ξ f ) = max f i ( x) − ξ fi .
i
f1(x) → max,
fi(x) ≥ fi*, i = 2, k , Методы логического объединения критериев. Предположим, что кри-
терии f1(x), f2(x), ..., fm(x) могут принимать только два значения: 0 или 1:
fi(x) ≤ fi*, i = k + 1, m ,
x ∈ G ⊂ ℜ m. 1, если i-я цель достигнута,
fi(x) = 
Метод последовательных уступок. Критерии эффективности распола- 0, если i-я цель не достигнута.
гаются в порядке уменьшения степени важности: fi1, fi2, ..., fin. Допустим, Тогда обобщенный критерий может быть записан:
что соответствующая нумерация была осуществлена в самом начале при – в виде конъюнкции критериев fi(x), если общая цель состоит в выпол-
постановке задачи (6.17) и, кроме того, допустим, что для всех i fi(x) → max. n
Алгоритм получения решения сводится к следующему. Вначале находится нении всех целей одновременно, т. е. F(x) = ∏ f i ( x) ;
решение, обращающее в максимум главный критерий f1. Затем из практиче- i =1
ских соображений назначается некоторая «уступка» ∆f1. Требуя выполнения – в виде дизъюнкции критериев, когда общая цель достигается, если дос-
n
неравенства f1 ≥ f1* – ∆f1, где f1* = max f1, находим такое решение x, при кото-
ром f2(x) → max. Далее снова назначается «уступка» по критерию f2, с помо-
тигнута хотя бы одна частная цель, т. е. F(x) = 1 – ∏ (1 − f i ( x))
i =1
щью которой можно максимизировать f3 и т. д. Рассмотрим пример, иллюстрирующий применение метода уступок для
Метод «составного» критерия. ЛПР определяет важность каждого кри- решения многокритериальных задач.
терия, а дисперсия выражается весом критерия fi. Затем формулируется со- Пример. Найти компромиссное решение задачи при условии, что откло-

103 104
нение по первому критерию от максимального значения составляет 50 %: симплекс-таблиц:
f1 = 3x1 + 2 x3 (max); БП 1 –x1 –x2 –x3 БП 1 –x5 –x2 –x3
x4 6 –2 –1 5 x4 10 2 –1 1
f2 = x1 + 2 x2 + x3 (min); x5 2 1 0 –2 x1 2 1 0 –2
x6 5 0 2 –1 x6 5 0 2 –1
− 2 x1 − x 2 + 5 x 3 ≤ 6;
 x7 -103 –3 0 –2 x7 –97 3 0 –8
 x1 − 2 x 3 ≤ 2; f2 0 –1 –2 –1 x4 2 1 –2 –3
2 x − x ≤ 5;
 2 3
БП 1 -x5 -x2 -x4 БП 1 -x1 -x3 -x2
 x ≥ 0 ( j = 1,3).
 i x3 10 2 -1 1 x3 97/8
x1 22 15 -2 2 x1 105/4
Поскольку данная задача является задачей линейного программирования, x6 15 2 1 1 x6 137/8
то на каждом шаге для решения соответствующих однокритериальных задач x7 -17 19 -8 8 x2 17/8
можно воспользоваться симплекс-методом. Решим однокритериальную за- f2 32 7 -5 3 f2 341/8 -39/8 -5/8 -2
дачу по первому критерию. Составляем симплекс-таблицу
Таким образом, при заданных условиях задачи эффективным является
БП 1 -x1 -x2 -x3 следующий план:
x4 6 -2 -1 5 r
x5 3 1 0 -2 x * = (x1*; x2*; x3*) = (105/4; 17/8; 97/8); f1 = 103; f2 = 341/8.
x6 5 0 2 -1
f1 0 -3 0 -2 6.3.2. Многошаговая человеко-машинная процедура
решения задач многокритериальной оптимизации,
Поскольку данный план не удовлетворяет условию оптимальности, то, основанная на методе ЛПτ -последовательностей
находя разрешающий элемент и применяя преобразование Гаусса-Жордана, Процесс решения задач векторной оптимизации предполагает диалог с
строим такую последовательность симплекс-таблиц: ЛПР для получения дополнительной информации о его предпочтениях уже в
БП 1 –x5 –x2 –x3 БП 1 –x5 –x2 –x4 ходе решения проблемы. Поэтому программные комплексы, реализующие
x4 10 2 –1 1 x3 10 2 –1 1 процесс принятия решений в многокритериальных задачах на основе вычис-
x1 2 1 0 –2 x1 33 5 –2 2 лительных алгоритмов и диалога с ЛПР, называются человеко-машинными
x6 5 0 2 –1 x6 15 2 1 1 процедурами (ЧМП).
f1 6 3 0 –8 f1 86 19 –8 8 Прежде чем перейти собственно к изложению метода ЛПτ-
последовательностей, лежащего в основе соответствующей ЧМП, рассмот-
БП 1 –x5 –x6 –x4
рим кратко соответствующие математические понятия и факты.
x3 25
Рассмотрим единичный n-мерный куб Kn, состоящий из точек с декарто-
x1 52
выми координатами x1, x2, ..., xn,
x2 15
f1 260 35 8 16 P = (x1, x2, ..., xn),

Максимальное значение целевой функции f1 достигается, таким образом, удовлетворяющими неравенствам 0≤ xj ≤ 1, при j = 1, n .
r Кубические решетки. Обычно полагают, что наиболее равномерное
для плана x * = (x1*; x2*; x3*) = (52; 15; 25); f1 = 206.
зондирование такого куба обеспечивает кубическая решетка, состоящая из
Делая уступку на 50 %, получаем: f1 = 0,5⋅206 = 103 и вводим дополни- N n = M точек с координатами
тельное ограничение: 3x1 + 2x3 ≥ 103.
Решаем теперь однокритериальную задачу для второй целевой функции с  i1 + 12 i2 + 12 in + 12 
 ; ;...; ,
учётом дополнительного ограничения. Получаем такую последовательность  M M M 
 
105 106
где i1, ..., in – независимо принимают все значения 0, 1, ..., M – 1. Однако это произвольный n-мерный параллелепипед П со сторонами, параллельными
неверно. Такая решетка оптимальна только в одномерном случае при n = 1. координатным граням. Обозначим через SN (П) количество точек Pi с номе-
Уже при n = 2 она не очень хороша, а с увеличением n «равномерность» ее рами 1 ≤ i ≤ N, принадлежащих П.
быстро ухудшается. Определение. Последовательность точек P1, ..., Pi, ... называется рав-
Сравним двумерные сетки, изображенные на рис. 6.2. В обоих случаях номерно распределенной (р.р.) в Rn, если для любого П
каждому из 16 элементарных объемов принадлежит одна и только одна точ-
ка сетки, так что, казалось бы, равномерность расположения точек обеих S N (∏ )
lim = VП, (6.19)
сеток примерно одинакова. Ситуация, однако, изменится, если потребуется N →∞ N
исследовать функцию f (x1, x2), определенную в K2, которая сильно зависит где VП – объем (n-мерный) параллелепипеда П.
лишь от одного аргумента: например, f (x) = f (x1). В этом случае, вычислив Можно доказать, что если G – произвольная область, расположенная в Rn
значения функции f в точках кубической решетки, мы получим лишь четыре и имеющая объем VП , то из (6.19) вытекает
различных значения, каждое повторенное четыре раза; а при расчете f(x) в
точках улучшенной сетки получим 16 значений, дающих гораздо лучшее S N (G )
представление о диапазоне изменения функции f(x). lim = VG. (6.20)
N →∞ N
Соотношение (6.20) показывает, что при достаточно больших N количе-
ство точек последовательности, принадлежащих G, пропорционально объе-
му G: SN(G) ∼ NVG .
Легко также доказать, что проекции точек р.р. последовательности на
любую m-мерную грань куба Kn при m < n образуют р.р. последовательность
в Km.
Несмотря на то, что определение и первые примеры р.р. последователь-
ностей были указаны Г. Вейлем еще в 1916 году, использование таких по-
следовательностей в вычислительной математике началось только в 60-х
годах, когда удалось построить последовательности, для которых скорость
сходимости в (6.19) при N → ∞ близка к наилучшей, а равномерность распо-
ложения наблюдается начиная с небольших N.
Использование в качестве сеток начальных участков P1, ..., PN р.р. после-
довательности имеет еще одно достоинство: количество точек сетки может
быть удвоено добавлением еще N точек PN+1, ..., P2N. При использовании ку-
бических решеток удвоение M вынуждает увеличить количество точек сразу
в 2n раз; а замена M на M + 1 заставляет все точки новой сетки считать зано-
во.
Простейший поиск. Предположим, что функция F(P) кусочно-

Рис. 6.2. Кубическая решетка (▄) и улучшенная сетка (•) при n = 2 (N = 16) непрерывна в Kn , и требуется приближенно найти точку P такую, что

В многомерном случае кубическая решетка оказывается еще хуже, так F( P ) = minn F ( P) .
как «потеря информации» при вычислении f (x1, ..., xn) может еще больше P∈K
возрасти: вычислив N n = M значений функции f (x), мы получим всего Приближенных методов отыскания минимума функции очень много, но в
M = N 1/n различных значений. большинстве своем это все локальные методы, сходимость которых гаранти-
Равномерно распределенные последовательности точек. Пусть руется лишь в достаточно малой окрестности минимума. Если же речь идет
P1, ..., Pi,... – последовательность точек, принадлежащих Rn . Выберем в Rn
107 108
о нахождении глобального минимума, то выбор методов поиска гораздо бо- Предположим, что задана математическая модель исследуемой или про-
лее ограничен. ектируемой системы, и модель эта зависит от n параметров a1, ..., an. Слова
Рассмотрим простейший случайный поиск, который состоит в следую- «задана математическая модель» означают, что имеются формулы (или го-
щем. В Kn выбираем N независимых случайных точек Г1, ..., ГN, равномерно товые программы), позволяющие по заданному набору a1, ..., an вычислить
распределенных в Kn (здесь равномерное распределение понимается в теоре- любые интересующие нас характеристики системы. Если функционирование
тико-вероятностном смысле). Среди значений F(Г1), ..., F(ГN) находим наи- системы описывается дифференциальными уравнениями, то в качестве па-
меньшее F(Гi0) = min F ( Г i ) (если таких несколько, то выбираем любое из раметров можно выбирать коэффициенты или начальные значения этих
1≤i≤ N
дифференциальных уравнений.

них). И считаем, что F(Гi0) ≈ min F(P), Гi0 ≈ P . Пространство параметров. Пространством параметров называется n-
Сходимость такого поиска доказывается достаточно просто. Пусть H- мерное пространство, состоящее из точек A с декартовыми координатами
∧ (a1, ..., an). Таким образом, каждой точке A пространства параметров соответ-
произвольная окрестность единственной точки P , и объем VH положителен. ствует конкретный набор параметров (a1, ..., an) и наоборот.
Так как вероятность P{Г ∈ H} = VH , то вероятность того, что хотя бы одна из Как правило, проектировщики могут указать разумные пределы измене-
точек Г1, ..., ГN попадет в H, равна 1 – (1 – VH)N и при N → ∞ стремится к 1. ния каждого из параметров, которые мы будем называть параметрическими
Следовательно, при достаточно больших N вероятность попадания хотя бы ограничениями
∧ aj* ≤ aj ≤ aj**, (j = 1, n ). (6.21)
одной пробной точки в любую окрестность точки минимума P как угодно
близка к 1. Эти ограничения выделяют в пространстве параметров параллелепипед
Легко показать, что в качестве пробных точек в простейшем поиске мож- П = {A | (6.21)}, объем которого (n-мерный объем) равен произведению
но использовать точки P1, …, Pi, …, образующие р.р. последовательность. VП = (a1** – a1*) … (an** – an*). В дальнейшем нас будут интересовать только
Поиск будет тем лучше, чем более равномерно расположены в Kn проб- точки A, принадлежащие П, так как только им соответствуют системы, па-
ные точки (если, конечно, нет никакой предварительной информации о по- раметры которых удовлетворяют ограничениям (6.21).
ложении минимума). Случайны ли они или нет – не столь важно. Так как данный метод основан на зондировании параллелепипеда П ко-
ЛПτ-поиск. И. М. Соболь и Р. Б. Статников предложили использовать в нечным числом пробных точек, то без необходимости расширять границы
качестве пробных точки ЛПτ-последовательности, которые являются наибо- (6.21) не рекомендуется.
лее равномерно распределенными среди всех известных в настоящее время Функциональные ограничения. Кроме параметрических ограничений
последовательностей. Многочисленные эксперименты, проведенные с целью обычно в условия задачи включаются функциональные ограничения
сравнения ЛПτ-поиска с простейшим случайным поиском, показали пре-
cl* ≤ fl (A) ≤ cl**, (l = 1, t ). (6.22)
имущество ЛПτ-поиска, хотя количественные характеристики «выигрыша»
от его применения меняются в зависимости от рассматриваемых задач. Здесь fl(A) – некоторые функции от параметров A = (a1, ..., an). Они могут
Наиболее перспективным оказалось применение ЛПτ-поиска при реше- быть заданы явно. Но если, например, функционирование системы описыва-
нии задач следующих двух классов. Во-первых, это задачи, в которых одно- ется дифференциальными уравнениями, то fl(A) часто представляют собой
временно требуется оценить максимумы и (или) минимумы нескольких функционалы, зависящие от интегральных кривых этих уравнений. Предпо-
функций, заданных в Kn, так как это можно сделать по одним и тем же проб- ложим, что все функции fl(A) непрерывны в П.
ным точкам. Во-вторых, это задачи, в которых для отыскания глобального Обозначим через G подмножество параллелепипеда П, состоящее из то-
экстремума многоэкстремальной функции используются локальные методы чек A, удовлетворяющих ограничениям (6.22):
оптимизации. Для того чтобы не попасть вместо глобального в какой-нибудь
G = {A | (6.21), (6.22)}.
из локальных экстремумов, приходится повторять локальный поиск много
раз, начиная из различных начальных точек; очевидно, что начальные точки Множество G может быть любым замкнутым множеством. Единственное
должны быть равномерно расположены в Kn. Самым эффективным способом ограничение: объем G должен быть положительным (VG > 0).
выбора начальных точек для подобных задач оказалось использование точек Можно сказать, что требование VG > 0 исключает из рассмотрения задачи
ЛПτ-последовательности. с функциональными ограничениями в форме равенств, например, f (A) = c.
109 110
Впрочем в некоторых случаях удается разрешить систему ограничений Критериальное ограничение Ф*ν* – это худшее значение критерия, кото-
вида
рое проектировщик считает приемлемым.
fl(a1, ..., an) = cl, (l = 1, t , t < n), Пусть D – множество точек A, которые удовлетворяют всем ограничени-
ям (6.21), (6.22), (6.23): D = {A | (6.21) – (6.23)}, так что D ⊆ G ⊆ П; если мно-
относительно at+1, ..., an: aj = ϕj(a1, ..., at; c1, ..., ct), (j = t + 1, n ). жество D непустое, то оно замкнуто. Естественно назвать D множеством
Тогда можно рассматривать задачу в t-мерном пространстве параметров ~
допустимых точек, ибо если сформулировать задачу об отыскании точки A
(a1, ..., at) без этих ограничений, а значения at+1, ..., an считать известными такой, что
функциями aj = ϕj от a1, ..., at . ~
Критерии качества. Критерием качества называется характеристика Фν( A ) = min Ф( A) , (6.24)
A∈D
системы, которая связана с ее качеством монотонной зависимостью. Иными
то решение этой задачи всегда существует и конструктора устраивает: как
словами, при прочих равных условиях система тем лучше, чем больше
(меньше) значение критерия. бы ни был выбран решающий критерий Ф(A), все значения Фν(A) удовлетво-
Для простоты записи в дальнейшем будем предполагать, что все задан- ряют ограничениям (6.23).
Таким образом, главная трудность при переходе к математической задаче
ные критерии Ф1(A), ..., Фk(A) желательно уменьшить: Фν(A) → min.
(6.24) состоит в выборе критериальных ограничений и в обеспечении непус-
Следовательно, чем меньше Фν(A), тем лучше система (при прочих рав-
тоты множества допустимых точек D. Требования, предъявляемые к множе-
ных условиях).
ству D, такие же, как и требования к множеству П.
Формально, любой критерий можно привести к такому виду, заменяя, ес-
Диалоговый алгоритм метода ЛПτ -последовательностей.
ли это нужно, Фν на 1/Фν или на – Фν. Однако делать это совсем не обяза-
В основе алгоритма лежит численное исследование (зондирование) про-
тельно: конструктору удобнее оперировать привычными реальными величи-
странства параметров проектируемой системы. Исследование проводится в
нами. Как видно будет из дальнейшего, алгоритм выбора критериальных
три этапа.
ограничений легко реализовать и тогда, когда некоторые из критериев жела-
1-й этап: составление таблиц испытаний. Этот этап выполняется ЭВМ без
тельно максимизировать. Относительно функций Фν(A) будем предполагать, вмешательства человека. Последовательно выбираются N пробных точек
что они непрерывны в П. A1, ..., AN , равномерно расположенных в П. В каждой из точек Ai рассчиты-
Сформулировать математическую оптимизационную задачу при наличии вается система и вычисляются значения всех критериев Ф1(Ai), Ф2(Ai), ...,
нескольких критериев качества совсем непросто, ибо критерии эти часто ФK(Ai), По каждому критерию составляется таблица испытаний, в которой
противоречат друг другу. Например, уменьшая вес машины (что часто очень
значения Фν(A1), ..., Фν(AN) расположены в порядке возрастания:
желательно), мы в то же время уменьшаем ее прочность (что как раз нежела-
тельно). Фν(Ai1) ≤ Фν(Ai1) ≤ ... ≤ Фν(AiN) (6.25)
Считают, что все дело в удачном выборе решающего критерия качества
и указаны номера i1, i2, ..., iN соответствующих пробных точек (свои для каж-
Фν(A), который «должен» соединить в себе значения и важность каждого из
дого Фν). Такие таблицы представляют собой аналог статистических вариа-
индивидуальных критериев Ф1(A), ..., Фk(A). Однако замена нескольких кри-
териев единым – проблема сложная и не всегда разрешимая. В большинстве ционных рядов. При N → ∞ наименьшее значение Фν(Ai1) стремится к min
реальных задач такой подход себя не оправдывает, так как при грубом выбо- Фν(A), а наибольшее Фν(AiN) → max Фν(A).
~ Но таблица испытаний показывает не только приближенные значения
ре Ф(A) решение математической задачи об отыскании точки A , в которой
~ максимума и минимума Фν(A) в области G: по таблице можно судить о час-
Ф( A ) = min Ф( A) , оказывается практически плохим из-за того, что некото- тоте тех или иных значений Фν(A).
A∈G
~ 2-й этап: выбор критериальных ограничений. Этот этап предполагает
рые из значений Фν( A ) превышают допустимые (по мнению проектировщи-
вмешательство ЛПР (специалиста-проблемщика).
ков) пределы. Чтобы избежать такой ситуации, необходимо ввести критери-
Стоит подчеркнуть, что режим диалога очень удобен для проблемщика:
альные ограничения
он не должен «комбинировать», уменьшая одни критерии за счет других:
Фν(A) ≤ Ф*ν* , (ν = 1, k ). (6.23) ему показывают одну таблицу испытаний и предлагают назначить одно ог-

111 112
раничение, затем повторяют то же с другой таблицей испытаний. Конструк- тивном случае точка A = A(i) отбрасывается. Используемые на первом этапе
тор заинтересован в том, чтобы все Фν** были по возможности меньше, но пробные точки – это первые N отобранных таким образом точек. Эти проб-
необходимо понимать, что если выбирать Фν** неоправданно малыми, то ные точки при N → ∞ образуют последовательность, равномерно распреде-
множество допустимых точек окажется пустым. ленную в G.
3-й этап: проверка непустоты D. Этот этап также выполняется автомати- Функциональные ограничения и псевдокритерии. При традиционном
чески, без вмешательства человека. Фиксируем какой-нибудь из критериев, подходе к многокритериальным задачам нередко пытаются сократить коли-
например, Ф1(A) и рассмотрим соответствующую ему таблицу испытаний. чество критериев, заменяя их функциональными ограничениями. Например,
Пусть s – количество значений в этой таблице, удовлетворяющих выбранно- встречается рекомендация выбрать один из критериев в качестве решающе-
му критериальному ограничению Фν**, так что го, а на остальные наложить ограничения (при этом предполагается, что эти
ограничения задаются априорно, хотя, как мы уже отмечали, обоснованно
Ф1(Ai1) ≤ Ф1(Ai2) ≤ ... ≤ Ф1(Ais) ≤ Ф1**. (6.26) задать их совсем непросто).
Путем перебора значений всех критериев в точках Ai1,...,Ais нетрудно про- С точки зрения методики применения метода ЛПτ-последовательности
верить, есть ли среди этих точек хотя бы одна такая, в которой справедливы желательно поступать иначе: если функциональное ограничение
одновременно все неравенства (6.26)
cl** ≤ fl(A) ≤ cl**
Фν(Aij) ≤ Фν**, (ν = 1, k ) не абсолютное, т. е. если конструктор допускает, что сl* и (или) сl** могут
быть изменены, то стоит вместо этого ограничения ввести псевдокритерий,
(при n = 1 можно не проверять). Если такая точка Aij существует, то множе-
например Фk+1 = fl(A) (не критерий, ибо здесь нет монотонной зависимости от
ство D, определенное неравенствами (6.21) – (6.23), непустое, и задача (6.24)
качества). Однако разумные ограничения для Фk+1 можно будет выбрать,
разрешима.
изучив таблицу испытаний этой величины.
В противном случае следует вернуться ко второму этапу и потребовать
от конструктора уступок при назначении Фν**. Если такие уступки невоз- Если по мнению конструктора, значение cl для величины fl(A) было бы
можны, то необходимо вернуться к первому этапу и увеличить количество N «весьма хорошим», то в качестве псевдокритерия удобно ввести величину
пробных точек, чтобы повторить второй и третий этапы с таблицами испы-
таний большего объема. Фk+1 = | fl(A) – cl |.
Наконец, если при неоднократном увеличении N точки Aij , принадлежа- Тогда для Фk+1 можно будет выбрать лишь одностороннее ограничение
щие D, не обнаруживаются, то есть все основания считать, что выбранные
критериальные ограничения Фν** несовместны. Конечно, нельзя категориче- вида Фk+1(A) ≤ Ф*k*+1 , и при этом окажется, что
ски исключить возможность того, что в некоторой точке A’, отличной от
всех пробных точек A1, ..., AN , все неравенства (6.21) – (6.23) выполнены; од- cl* = cl – Ф*k*+1 , cl** = cl + Ф*k*+1 .
нако если даже такая точка A’ существует, то ее окрестность, в которой эти Возможность использования псевдокритериев – важное достоинство
неравенства сохраняются, очень мала и практически система, соответст- данного метода. Это позволяет во многих случаях выбирать не произволь-
вующая точке A’, будет неустойчивой (неконструктивной). ные, а обоснованные функциональные ограничения.
Выбор пробных точек. По декартовым координатам точек ЛПτ- Таблицы испытаний. Таблицы испытаний часто встречаются в инже-
последовательности Q0, Q1, ..., Qi, ...: Qi = (qi,1, ..., qi,n) вычисляются декартовы нерной практике. Особенность таблиц, построенных по ЛПτ-методу, в том,
координаты точки A(i) = (a1(i),..., an(i)), принадлежащей параллелепипеду П: что испытания равномерно распределены в области G пространства пара-
метров. Благодаря этому таблицы позволяют получить правильное пред-
a (ij ) = aj* + (aj** – aj*) qi,j, (j = 1, n ). (6.27)
ставление о распределении значений каждой из функций Фν(A) при A ∈ G и
При A = A(i) рассчитываем проектируемую систему и проверяем выполне- гарантируют достаточно подробный просмотр любой наперед заданной час-
ние функциональных ограничений. Если они выполнены, то точка A = A(i) ти G, когда N → ∞ .
отбирается в качестве пробной точки в G и вычисляются все Фν(A); в про- Если количество пробных точек N велико, то вместо просмотра всей таб-
лицы испытаний можно ограничиться просмотром ее части, содержащей M
113 114
наилучших значений (M < N): 6.3.3. Неформализуемые задачи многокритериального принятия решений.
Использование экспертных оценок
Фν(Ai1) ≤ Фν(Ai2) ≤ ... ≤ Фν(AiM).
Вводные замечания. В исследовании операций и науке об управлении
Такая таблица называется усеченной таблицей испытаний. Чрезмерное разработано много методов и моделей, механически применяемых для ре-
усечение таблиц может оказаться причиной пустоты множества D, но это шения сложных проблем. Самые большие неудачи этих наук – в сфере обу-
будет обнаружено на третьем этапе диалога, и тогда, возвращаясь ко второ- чения и адаптации, политике и разрешении конфликтов. Дело в том, что ни
му этапу, следует увеличить объем таблиц. одна достаточно сложная проблема не встречается в таком виде, в каком
Диалоговый алгоритм метода может быть наглядно представлен в виде люди пытаются ее предвидеть и осознать, строя строго формализованные
блок-схемы ( рис. 6.3). математические модели.
Экономика представляет собой еще один пример сложности. Частые не-
удачи в прогнозировании экономических процессов подтверждают, что
Исход- Границы изменения параметров, сложность, свойственная социоэкономическому поведению, может превы-
ные Функциональные ограничения, шать пределы наших интеллектуальных возможностей: многие долгосроч-
данные Критерии качества ные прогнозы всего на несколько лет выливаются не более чем в обоснован-
ные догадки. Исследователи часто применяют в экономическом прогнозиро-
вании методы линейного программирования для нахождения наилучших
решений в задачах, включающих не десятки, а сотни и даже тысячи искомых
Выбор пробной точки Генератор ЛПτ- переменных, предполагая, что все они линейно влияют на качество функ-
последовательности ционирования исследуемой сложной системы (но, например, даже размеры
Расчёт пробной точки кучи камней больше, чем сумма габаритов всех ее камней). Более того, оп-
I этап
тимизация на основе строго формализованной модели вынуждает специали-
ста по планированию концентрировать внимание на одной или нескольких
Составление таблиц
целях, фактически исключая из рассмотрения остальные.
испытаний
В 60 – 70-е годы быстрое развитие компьютерной техники открыло новые
горизонты моделирования и прогнозирования. Кроме того, это была «золо-
тая эра» исследования операций (ИСО), когда специалисты этой области
Выбор критериальных Совет специалистов знаний, основываясь на строго формализованных моделях, «дирижировали»
II этап
ограничений всем, начиная от бомбежки Северного Вьетнама и кончая построением на-
ционального бюджета США.
Однако с конца 70-х годов для исследователей все более очевидным ста-
новился тот факт, что большинство задач, связанных с изучением сложных
Проверка непустоты множества экономических и социальных систем, не может быть строго формализовано.
III этап
D=0 D≠ 0 Более того, зачастую строгая математическая формализация задачи приво-
дит к ее упрощению и, как следствие, к получению результатов, являющихся
Выдача допустимых точек далеко не оптимальными. Именно в этот период возрос интерес к так назы-
ваемым методам экспертного оценивания, одним из которых является метод
анализа иерархий (МАИ), разработанный американским ученым Т. Л. Саати.
Метод анализа иерархий (метод Т. Л. Саати). Он состоит в декомпози-
IV этап Оптимизация Совет специалистов ции проблемы на все более простые составные части и дальнейшей обработ-
ке последовательности суждений ЛПР по парным сравнениям. В результате
может быть выражена относительная степень (интенсивность) взаимодейст-
Рис. 6.3. Схема диалогового алгоритма метода ЛПτ-последовательности
вия элементов в иерархии проблемы. МАИ включает в себя процедуры де-

115 116
композиции проблемы, синтеза множественных суждений эксперта, получе- т. е. альтернативных решений, по степени их соответствия каждому из N
ния приоритетных критериев и нахождения альтернативных решений. Метод критериев.
базируется на следующих принципах. 3. Принцип синтеза приоритетов. Итак, будем считать, что построены
1. Принцип идентичности и декомпозиции. Данный принцип предусмат- матрицы парных сравнений: одна – для второго уровня иерархии, а на каж-
ривает структурирование проблемы в виде иерархии или сети, что является дом последующем уровне – столько матриц парных сравнений, сколько эле-
первым этапом применения МАИ. Иерархия считается полной, если каждый ментов содержит предшествующий уровень иерархии. Какую информацию
элемент заданного уровня связан со всеми элементами последующего уров- содержат эти матрицы?
ня. Простейшая полная иерархия проблемы многокритериального выбора Для каждой матрицы мы можем рассчитать локальные приоритеты
включает в себя следующие три уровня: сравниваемых элементов. Каждой строке матрицы ставим в соответствие
геометрическое среднее ее элементов. Суммируя полученные результаты,
Цель делим геометрические средние каждой из строк матрицы на эту сумму. В
результате получаем локальные приоритеты соответствующих сравнивае-
мых элементов.
Критерий 1 Критерий 2 ... Критерий N Важно также вычислить так называемый индекс согласованности (ИС)
суждений по каждой матрице:
Альтернатива 1 Альтернатива 2 ... Альтернатива M ИС = (λmax – n)/(n – 1), (6.28)
где n – размерность матрицы, а λmax считается следующим образом: вначале
Рис. 6.4. Иерархии проблем многокритериального выбора
суммируется каждый столбец суждений, затем сумма первого столбца ум-
2. Принцип дискриминации и сравнительных суждений. Чтобы устано- ножается на величину первой компоненты нормализованного вектора при-
вить приоритеты критериев, получить оценки для альтернативных решений оритетов, сумма второго столбца – на вторую компоненту и т. д., затем по-
в МАИ используется метод парных сравнений: строятся матрицы парных лученные числа суммируются.
сравнений A = || aij ||, где aij = ϕi / ϕj , ϕi – «вес» i-го элемента иерархии. Оче- Теперь необходимо сравнить ИС с той величиной, которая получилась
видно, что aii = 1, aij = 1/aji. бы при случайном выборе суждений по нашей шкале: 1/9 ... 9. Значения этой
При заполнении матриц парных сравнений ЛПР рекомендуется пользо- величины – случайной согласованности (СС) – представлены в следующей
ваться следующей шкалой относительной важности для aij: таблице:
Таблица 6.1. Шкала относительной важности Размер матрицы 1 2 3 4 5 6 7 8 9 10
aij Пояснения Случайная
согласованность 0 0 0,58 0,9 1,12 1,24 1,32 1,41 1,45 1,49
1 Равная важность сравниваемых элементов иерархии
3 Умеренное превосходство i-го элемента иерархии над j-тым Определяя ИС и СС, находим отношение согласованности
5 Существенное или сильное превосходство i-ого элемента
ОС = ИС/СС. (6.29)
7 Значительное превосходство i-го элемента
9 Очень значительное превосходство i-го элемента Если для конкретной матрицы окажется, что ОС > 0,17, то можно утвер-
2, 4, 6, 8 Промежуточные степени превосходства ждать, что суждения эксперта, на основе которых заполнена исследуемая
матрица, сильно рассогласованы, и ему надлежит заполнить матрицу заново,
Следует помнить, что между собой сравниваются элементы, принадле- более внимательно используя при этом шкалу парных сравнений.
жащие к одному уровню иерархии. Сравнение происходит по степени их Теперь обратимся непосредственно к принципу синтеза приоритетов.
соответствия конкретному элементу вышестоящего уровня. Таким образом, Приоритеты синтезируются, начиная со второго уровня вниз. Локальные
для проблемы, обладающей приведенной выше простой иерархией, необхо- приоритеты альтернатив перемножаются на приоритеты соответствующих
димо составить N + 1 матрицу парных сравнений (одну – для сравнения эле- критериев предшествующего уровня и суммируются по каждому элементу в
ментов второго уровня, т. е. критериев, по степени их важности для ЛПР при соответствии с критериями. Приоритеты элементов второго уровня умно-
достижении цели) и N матриц – для сравнения элементов третьего уровня, жаются на единицу.
117 118
Использование метода МАИ может быть проиллюстрировано на сле- После создания иерархии проблемы необходимо приступить к заполне-
дующем примере. Предположим, что некоторая крупная преуспевающая нию матриц парных сравнений. Матрица парных сравнений для второго
фирма ставит перед собой цель строительства своего филиала в одной из уровня первой иерархии имеет следующий вид (предположим, что эксперт
стран с так называемой «переходной экономикой». Пусть в качестве таковых фирмы заполнил ее с учетом интересов и суждений своих и руководства):
определены Египет, Турция, Хорватия, Беларусь и Россия. Цель строитель- Выгоды Экономические Управленческие
ства – получение доступа к зарубежным рынкам сбыта и снижение издержек Экономические 1 3
производства за счет более низкой оплаты труда в этих странах. При этом не Управленческие 1/3 1
сбрасываются со счета и потенциальные издержки: некоторая потеря кон-
троля за управлением, преобладание неквалифицированной рабочей силы, Из вида заполненной матрицы следует, что эксперт при решении пробле-
риск изменения политических и экономических условий в выбранной стра- мы отдает предпочтение (хотя и незначительное) достижению экономиче-
не. ских выгод перед управленческими. После этого для данной матрицы по
Воспользовавшись методом Саати для решения данной проблемы, над- описанной выше методике рассчитываются локальные приоритеты и ее со-
лежит в первую очередь четко определить те потенциальные выгоды и из- гласованность.
держки, которые необходимо учитывать. Допустим, что в результате полу- Приведем здесь незаполненные матрицы парных сравнений для третьего
чены следующие иерархии выгод и издержек (рис. 6.5, 6.6): уровня – уровня критериев:
Иерархия выгод Важность критерия при Дешевая Финансовая Близость Сила валюты
достижении экономиче- рабочая помощь к рынку страны-
ских выгод сила страны-хозяина хозяина
Экономические выгоды Управленческие выгоды Дешевая рабочая сила 1
Финансовая помощь
1
Дешевая Финан- Близость Сила Знание Несущест- Надежность страны-хозяина
рабочая совая к рынку валюты местных венное вме- транспортных Близость к рынку 1
сила помощь страны- условий шательство ком- Сила валюты страны-
страны- хозяина государства муникаций 1
хозяина
хозяина
Важность критерия при Знание Несущественное Надежность транс-
достижении управлен- местных вмешательство портных коммуни-
ческих выгод условий рынка государства каций
Египет Турция Хорватия Беларусь Россия
Знание местных усло-
1
вий рынка
Рис. 6.5. Иерархия выгод Несущественное вме-
1
шательство государства
Иерархия издержек Надежность транспорт-
1
ных коммуникаций
Экономические издержки Управленческие издержки Что касается последнего, четвертого, уровня, то для него необходимо со-
ставить семь (по числу критериев) элементов вышестоящего уровня матриц
Высокая Большие Высокие Слабая Полити- Участие Языковые и для сравнения стран-альтернатив предполагаемого строительства филиала
стоимость местные тарифы на подго- ческая местных культурные
сырья налоги на импорти- барьеры
по степени их соответствия каждому критерию:
товка нестабиль- управ-
произве- руемые персонала ность ленцев
денные материалы
Дешевая рабочая сила Египет Турция Хорватия Беларусь Россия
правите-
товары льства Египет 1
Турция 1
Хорватия 1
Египет Турция Хорватия Беларусь Россия Беларусь 1
Россия 1
Рис. 6.6. Иерархия издержек

119 120
и т. д.
Надежность
транспортных Египет Турция Хорватия Беларусь Россия
коммуникаций
Египет 1
Турция 1
Хорватия 1
Беларусь 1
Россия 1

После того как все эти матрицы будут заполнены, нужно проверить со-
гласованность суждений эксперта при заполнении каждой из них и в случае
удовлетворительного значения ОС по этим матрицам рассчитать локальные
приоритеты сравниваемых объектов. Зная локальные приоритеты всех эле-
ментов иерархии, можно переходить к этапу синтеза глобальных приорите-
Рис. 6.7. Иерархия выгод пересечения реки
тов. Таким образом будут получены глобальные приоритеты стран-
альтернатив с точки зрения выгод строительства в них филиала фирмы.
Повторяя описанные выше действия для иерархии издержек, получим
глобальные приоритеты стран-альтернатив с точки зрения возможных из-
держек строительства филиала. И, наконец, вычислив отношения приорите-
тов выгод к приоритетам издержек по каждой из стран, определим ту страну,
для которой это отношение является максимальным. Это и будет та страна,
которая в наибольшей степени удовлетворяет требованиям фирмы.
Данный подход, основанный на методе МАИ, опирается на рассмотрении
доходов и издержек одновременно. Это выгодно отличает его от подходов,
опирающихся в основном лишь на учет доходов. Но единственный критерий
величины доходов – не очень подходящая основа для сравнения, поскольку
чем больше ресурсов будет потрачено, тем больше могут быть доходы. Од-
нако ресурсы в большинстве случаев ограничены. С другой стороны, если
специалисты по планированию, оценивая возможные проекты, выбирают
лишь те из них, которые требуют минимальных инвестиций, то можно ска- Рис. 6.8. Иерархия издержек пересечения реки
титься к подходу «ничего неделания» или, что более реально, производить
незначительные действия, не способствующие существенным прогрессив- После применения процедуры, реализующей метод Саати, решение мо-
ным сдвигам. жет быть рекомендовано к принятию для сравнения выгод и издержек по
Рассмотрим в качестве примера еще одну проблему. Допустим, что перед каждому из возможных решений. Уточним понимание конкретных выгод и
неким правительственным комитетом, в ведении которого находится про- издержек, приведенных в иерархиях.
блема строительства мостов и туннелей, встал вопрос: построить или нет Выгоды. Экономические факторы, влияющие на выбор, содержат выго-
туннель или мост через крупную реку, на которой в настоящее время рабо- ды, связанные с выигрышем во времени при передвижении по новому мосту
тает частный паром. Допустим, что эксперты комитета, комплексно подходя или туннелю по сравнению со временем переправы на пароме. Увеличение
к решению данной проблемы, опираясь на метод МАИ, сумели разработать транспортного потока в районе может также принести ощутимый доход от
следующие иерархии выгод и издержек (рис. 6.7, 6.8). эксплуатации дорог при введении платы за проезд, что положительно долж-
но сказаться на местном бюджете. Более интенсивное движение будет спо-
собствовать и развитию торговли как в окрестностях моста, так и вдоль всей
121 122
дороги, будут построены новые бензоколонки, магазины и рестораны. Воз- манипулирования этими силами.
никнет также возможность дополнительного привлечения местного населе- Четвертый уровень – преследуемые цели каждого актора.
ния на строительные работы. Нельзя сбрасывать со счетов и социальные вы- Пятый (не обязательный) уровень включает политики акторов, посред-
годы проекта: мост или туннель может обеспечить большую безопасность и ством которых они пытаются достичь своих целей.
надежность переправы по сравнению с паромом, а также будет способство- Шестой уровень – альтернативные возможные сценарии или исходы, за
вать большему количеству пересечений реки для посещения родственников, которые борется каждый актор ради достижения своих целей.
друзей, в целях посещения музеев, выставок и т. д.; строительство моста или Седьмой уровень – обобщенный исход как результат реализации и взаи-
туннеля может привести также к повышению статуса населенного пункта. модействия возможных альтернативных сценариев развития проблемы.
Выгоды среды напрямую связаны с социальными выгодами и большим пси- Методы ЭЛЕКТРА, Подиновского и порядковой оптимизации в за-
хологическим комфортом жителей. дачах экспертного выбора. Как уже отмечалось, выделение множества Па-
Издержки. Как и выгоды, издержки, связанные с выбором той или иной рето при решении многокритериальных задач довольно часто является лишь
альтернативы переправы через реку, включают факторы экономического и предварительным этапом процесса принятия решений, поскольку при доста-
социального плана, а также факторы среды. Основные экономические из- точно большом исходном множестве вариантов множество Парето также
держки: капитальные вложения на строительство, затраты на управление и оказывается недопустимо большим для того, чтобы ЛПР мог осуществить
эксплуатацию, а также последствия свертывания уже налаженного паромно- окончательный выбор без затруднений самостоятельно. Следовательно, вы-
го бизнеса. При планировании социальных последствий следует просчитать деление множества Парето можно рассматривать лишь как предварительный
возможность отрицательного влияния последствий разрушения существую- этап оптимизации, и налицо проблема дальнейшего сокращения этого мно-
щего стиля жизни. Издержки, связанные со средой, должны учитывать воз- жества. Собственно говоря, те методы многокритериальной оптимизации,
можный вред, причиняемый экосистеме каждой из альтернатив. которые нами уже рассматривались ранее, также посвящены проблеме су-
Допустим, что при вычислении приоритетов альтернативных проектов жения множества Парето. В данном разделе рассмотрим методы оптимиза-
экономические факторы имели бóльший приоритет, и глобальные приорите- ции, основанные на построении бинарного отношения предпочтения, более
ты по выгодам и издержкам следующие: сильного, чем отношение Парето.
Мост Тунель Паром
Методы ЭЛЕКТРА. Группа методов (ЭЛЕКТРА I, ЭЛЕКТРА II, ЭЛЕК-
Выгоды 0,57 0,36 0,07
ТРА III) была разработана коллективом французских ученых, возглавляе-
Издержки 0,36 0,58 0,05
мым профессором Б. Руа. В этих методах бинарное отношение предпочте-
ния, более сильное, чем отношение Парето, строится следующим образом.
В предыдущем примере при выборе проектов мы опирались на критерий Для каждого из n критериев (предполагается, что критерии числовые)
«стоимость – эффективность», определяя проект с наибольшим отношением определяется вес – число, характеризующее важность соответствующего
выгод к издержкам. В данной задаче таким проектом является строительство критерия, которое тем больше, чем важнее для ЛПР соответствующий кри-
моста. Однако поскольку паромная переправа уже существует, то представ- терий. Эти веса могут быть определены либо ранжированием, либо, напри-
ляется также важным учесть критерий сравнения приращения выгод (0,57 – мер, по методу Саати. Для того чтобы определить, превосходит альтерна-
0,07) с приращением издержек (0,36 – 0,05), т. е. имеем 0,5/0,31 > 0,07/0,05. тивный вариант x = (x1, ..., xn) вариант y = (y1, ..., yn), где xi, yi – значения i-го
Таким образом, и с точки зрения этого подхода строительство моста – наи- критерия, сообщаемые ему вариантами x и y соответственно, производятся
более предпочтительная из всех альтернатив. следующие действия.
Для решения более сложных проблем, иерархия которых не может быть Множество I критериев разбивается на три подмножества:
сведена к 3- или 4-уровневой структуре, возможна следующая их декомпо- – I+(x, y) – критерии, по которым x превосходит y;
зиция по иерархии. – I=(x, y) – критерии, по которым x и y имеют одинаковые оценки;
В вершине иерархии устанавливается единственный элемент – фокус – – I-(x, y) – критерии, по которым y превосходит x.
формулировка исследуемой проблемы. Далее определяется относительная важность Pxy+ , Pxy= , Pxy− каждого из
Во второй (не обязательный) уровень следует включать различные эко-
номические, политические и социальные силы, влияющие на исход. этих подмножеств. Устанавливается также некоторый порог с и считается,
Третий уровень – акторы, которые реально влияют на ситуацию путем что вариант x превосходит вариант y только в том случае, когда некоторая

123 124
функция, называемая индексом согласия, удовлетворяет условию (критерий 3) и внешнего вида автомобиля (критерий 4). Кроме того, крите-
рии 3 и 4 имеют одинаковую важность, а рассматриваемые совместно, име-
f( Pxy+ , Pxy= , Pxy− ) ≥ с. (6.30) ют большую важность, чем критерий 1 (цена). Таким образом, ЛПР сообщил
информацию о критериях качественного типа, и на ее основе необходимо
Вид функции f определяется по-своему для каждой модификации метода назначить веса критериев pi, i = 1, 2, 3 ,4 так, чтобы выполнялись соотноше-
ЭЛЕКТРА. ния
Условие (6.30) является необходимым, но не достаточным условием пре- p1 > p2 > p3 = p4, p3 + p4 > p1.
восходства x над y. В методах ЭЛЕКТРА формулируются дополнительные
условия, предназначенные учитывать не только порядок следования оценок Ясно, что, например, решение p1 = 5, p2 = 4, p3 = p4 = 3, далеко не единст-
x и y по критериям, но и значения модулей разностей xi – yi . Эти условия, венное. И хотя описанную неоднозначность при переводе чисто качествен-
называемые индексом несогласия, могут быть записаны в виде ной информации о критериях в числовую полностью устранить невозможно,
использование метода Саати будет способствовать более корректному выбо-
dxy ≤ d, (6.31) ру весов критериев.
где d – пороговое значение индекса несогласия dxy; dxy для каждой модифи- Далее определяются важности групп критериев I+(x, y), I=(x, y) и I-(x, y)
кации метода ЭЛЕКТРА определяются по-своему. для каждой пары сравниваемых альтернатив x и y:
Таким образом, отношение предпочтения R определяется следующим об-
разом:
Pxy* = ∑ pi , *∈{+, –, =}.
i∈I * ( x , y )
x R y ⇔ f ( Pxy+ , Pxy= , Pxy− ) ≥ с ^ dxy ≤ d. (6.32)
В качестве условия в методе ЭЛЕКТРА I предлагается рассматривать вы-
Особенность методов ЭЛЕКТРА состоит в том, что в них несколько от- ражение вида
ступают от традиционных методов выделения подмножества недоминируе- n
мых вариантов. Следуя теории игр, их создатели предлагают несколько рас- ( Pxy+ + Pxy= ) / ∑ pi > c1, (0,5 ≤ с1 ≤1), (6.33)
i =1
ширить это подмножество путем выделения в исходном множестве некоего
ядра, все элементы которого несравнимы между собой, а любой вариант, в в методе ЭЛЕКТРА II – выражение вида
ядро не вошедший, доминируется хотя бы одним элементом ядра.
Выделение ядра на множестве исходных вариантов является заключи- Pxy+ / Pxy− > c2, (с2 ≥ 1). (6.34)
тельным этапом методов ЭЛЕКТРА. Дальнейшее сужение ядра может быть
Следует отметить, что условие (6.33) можно применять лишь тогда, когда
достигнуто заданием других, более жестких ограничений в условиях (6.30) –
(6.31), т. е. увеличением порогового значения индекса согласия с и умень- сравнение альтернатив происходит в строгих шкалах (множество Pxy= пусто)
шением порогового значения индекса несогласия d. или когда число совпадающих оценок у различных вариантов достаточно
Опишем более конкретно применение данного метода. мало по сравнению с n. В другом случае отношение предпочтения может
Во всех модификациях метода ЭЛЕКТРА на первом этапе с помощью оказаться симметричным (x лучше y и y лучше x одновременно). Поэтому,
ЛПР определяются веса критериев – положительные действительные числа, если используются нестрогие шкалы, то лучше пользоваться условием
которые тем больше, чем важнее для ЛПР соответствующий критерий. Та- (6.34).
кой подход, конечно, имеет существенный недостаток – неоднозначность Использование порядковых отношений, т. е. отношений, основанных
определения весовых коэффициентов. Однако полностью избежать субъек- лишь на порядковой информации о сравниваемых альтернативных вариан-
тивных оценок в процедуре принятия решений невозможно, следует лишь с тах, связано с двумя существенными проблемами.
большой тщательностью подходить к определению весов. Здесь можно вос- Первая, присущая всему классу порядковых отношений, – это то, что не-
пользоваться, например, процедурой описанного выше метода Саати. Пусть значительный выигрыш по одному критерию может сопутствовать большо-
при назначении весов критериям, по которым предстоит выбрать автомо- му проигрышу по другому критерию. Например, если n = 5,
биль, от ЛПР получена следующая информация: цена (критерий 1) важнее x = (10, 10, 10, 1, 1), y = (9, 9, 9, 10, 10) и все критерии имеют одинаковую
комфортности (критерий 2), а та, в свою очередь, важнее скоростных качеств важность, то при с = 1 вариант x превосходит y в соответствии с зависимо-

125 126
стью (6.7), хотя преимущество x над y по первым трем критериям весьма на основе консультаций с ЛПР с2 = 1,25. Как видно из таблицы, приведенной
незначительно, а по двум последним критериям x значительно уступает y. ниже, любой из семи вариантов доминируется хотя бы одним из остальных:
Чтобы как-то избежать возможных ситуаций в ЭЛЕКТРА и используется –– 6 1,3 0,75 0,75 0,75 0,17
условие (6.31). Используя это условие, мы определяем некоторую область 0,17 –– 0,75 0,75 0,75 0,75 0,17
несравнимости – область несогласия D, такую, что для любых вариантов x и 0,75 1,3 –– 0,75 0,75 0,75 0,17
y из того, что (x, y) ∈ D, следует, что x и y – не сравнимы. Если, например, 1,3 1,3 1,3 –– 0,75 0,75 0,75
D = {(x, y) : ∃ i = 1, 2, ..., n : xi – yi > 5 }, то это означает, что y не может домини- 1,3 1,3 1,3 1,3 –– 0,4 1,3
ровать x, если уступает ему более пяти единиц хотя бы по одной компоненте 1,3 1,3 1,3 1,3 2,5 –– 0,75
(критерию). 6 6 6 1,3 0,75 1,3 ––
Вторая сложность, возникающая при использовании порядковых отно-
шений и их модификаций, связана с возможностью появления циклов, т. е. Поэтому без учета индекса несогласия подмножество оптимальных ва-
таких ситуаций, когда x1 лучше, чем x2; x2 лучше, чем x3; ...; xk-1 лучше, чем риантов оказалось бы пустым.
xk, а вот xk, в свою очередь, лучше x1. В связи с этим при использовании по- 3-й этап. С помощью ЛПР устанавливается индекс несогласия. Пусть
рядковых отношений необходимо помнить о возможности возникновения D = {(x, y) : xi -yi ≥ 5}. В этом случае один из вариантов – x7 – оказывается
подобных ситуаций и избегать их. Методы ЭЛЕКТРА данную проблему не недоминируемым, оптимальным будет считаться также и вариант x5, кото-
решают. Если говорить о методе Саати, то наличие процедуры проверки со- рый несравним с x7.
гласованности матриц парных сравнений как раз и нацелено на то, чтобы Таким образом, применение метода ЭЛЕКТРА позволило более полно
избежать подобных ситуаций. учесть мнение ЛПР и сократить исходное множество не доминируемых по
В заключение описания метода ЭЛЕКТРА приведем иллюстративный Парето решений до двух элементов. Однако следует отметить, что группа
пример. Пусть в исходном множестве альтернативных вариантов, сравни- методов ЭЛЕКТРА не лишена традиционных недостатков, присущих мно-
ваемых по пяти критериям, определены следующие семь, не доминируемых гим современным методам многокритериальной оптимизации.
по Парето: Метод Подиновского. Метод Подиновского также имеет своей целью по-
x1 = (5, 3, 2, 7, 2) x5 = (1, 6, 6, 4, 5) строение более сильного, нежели паретовское, бинарного отношения пред-
2
x = (4, 2, 3, 5, 1) x6 = (2, 7, 5, 2, 6) почтения. Как и в ЭЛЕКТРА, для этого используется дополнительная ин-
3
x = (3, 4, 1, 6, 3) x7 = (6, 5, 6, 3, 4). формация о сравнительной важности критериев. Однако основное и сущест-
4
x = (7, 1, 4, 1, 7) венное отличие метода Подиновского состоит в том, что качественная ин-
Применим метод ЭЛЕКТРА для того, чтобы, получив у ЛПР дополни- формация о критериях, получаемая от ЛПР, не преобразуется в количествен-
тельную информацию, сократить число вариантов, которое будет предложе- ную. Автору метода впервые в практике многокритериальной оптимизации
но ему для окончательного выбора. удалось освободиться от необходимости ввода весовых коэффициентов важ-
1-й этап. От ЛПР получается информация о сравнительной важности ности критериев, вносящих большую неопределенность в решение задачи.
критериев. Пусть ЛПР сообщил, что: Информация о сравнительной важности критериев задается совокупно-
– критерии 1 и 2 имеют одинаковую важность; стью сообщений ЛПР типа:
– критерии 3, 4 и 5 имеют также одинаковую важность; – критерий i важнее, чем критерий j (i Β j);
– каждый из первых двух критериев важнее каждого из оставшихся. – критерии i и j равноценны (i S j);
Пусть в соответствии с этой информацией критериям назначены веса – набор критериев (i1, ..., il) важнее, чем набор (j1, ..., jm);
– наборы критериев (i1, ..., il) и (j1, ..., jm) равноценны по важности.
p1 = p2 = 2, p3 = p4 = p5 = 1. Построенное на основании информации о важности критериев бинарное
2-й этап. Строим матрицу 7×7, в которой элемент aij определяется сле- отношение предпочтения позволяет существенно сузить множество Парето.
дующим образом: Так, если имеется информация о том, что все n критериев равноценны, то
aij = Px+i x j / Px−i x j . при большом числе сравниваемых вариантов это позволяет сузить паретов-
ское множество приблизительно в n! раз.
Допустим, что в качестве порогового значения индекса согласия выбрано Рассмотрим применение метода Подиновского для решения описанной
127 128
выше задачи в наиболее благоприятном случае, когда все критерии для ЛПР важности критериев: входящие в группы L1 = {1, 2} и L2 = {3, 4, 5} имеют
равноценны. Тогда, следуя методу Подиновского, нам необходимо упорядо- одинаковую важность, причем каждый критерий из L1 важнее любого крите-
чить оценки каждого из альтернативных вариантов (например, по убыва- рия из L2. Кроме того, после дополнительного уточнения структуры пред-
нию) и среди полученных векторов выбрать в качестве оптимальных не до- почтений покупателя, проведенного на основе его опроса специалистом по
минируемые по Парето. Упорядочив оценки, получаем: маркетингу, было определено, что в качественное понятие «быть лучше»
~ ~ ЛПР вкладывает следующий смысл: «быть лучше – значит быть лучше по
x 1 = (7, 5, 3, 2, 2) x 5 = (6, 6, 5, 4, 1) первым двум и по любой паре из оставшихся трех критериев». Нетрудно
~ 2
x = (5, 4, 3, 2, 1) ~
x 6 = (7, 6, 5, 2, 2) показать, что в этом случае аппроксимирующий полином имеет вид
~ 3
x = (6, 4, 3, 3, 1) ~
x 7 = (7, 6, 5, 4, 3).
~ 4 fR*(u) = u1 u2 (u3 u4 + u3 u5 + u4 u5).
x = (7, 7, 4, 1, 1)
Если рассматривать предыдущий пример, то не доминируемыми по R*
Среди вновь образованных упорядоченных векторов оценок недомини-
будут варианты x4, x5, x6, x7. Чем сильнее будут упорядочены критерии, тем
руемыми по Парето оказались векторы ~ x4и ~ x 7. Следовательно, руково- меньшее число альтернативных вариантов будет рассматриваться в качестве
дствуясь методом Подиновского, в качестве эффективных решений при рав- эффективных. Пусть, например, удалось упорядочить все критерии, кроме
нозначности критериев рекомендуются варианты x4 и x7. двух последних:
Метод Подиновского в описанном виде может быть применен только в
случае однородности критериев, т. е. критериев, значения которых принад- крит.1 → крит.2 → крит.3 → (крит.4 ↔ крит.5).
лежат одному и тому же множеству. Примером однородных критериев мо- В этом случае аппроксимирующий полином имеет вид
жет служить, например, множество суждений одинаково компетентных экс-
пертов, оценивающих варианты по одной и той же шкале. В этом случае по- fR*(u) = u1 (u2 + u3 (u4 + u5)),
лучил вариант x оценки экспертов x1 = a, x2 = b или x1 = b, x2 = a. Сложности и выбранными окажутся только два варианта: x4 и x7. Как видим, вариант x7
появляются, когда критерии оказываются неоднородными, что бывает до- всегда оказывался в числе рекомендуемых ЛПР для окончательного выбора.
вольно часто. При неоднородных критериях определение их сравнительной Метод порядковой аппроксимации также не лишен недостатков. К ним
важности сводится по существу к определению коэффициентов важности можно отнести следующие:
критериев. Это является основным недостатком метода Подиновского, и в 1. Процесс получения от ЛПР информации о сравнительной важности
этом случае чаще целесообразнее использовать методы ЭЛЕКТРА. критериев достаточно трудоемок. В общем случае мы должны задать ЛПР
Метод порядковой оптимизации. В основе данного метода лежит ап- порядка n2 вопросов. Хотя надо отметить, что на практике при благоприят-
проксимация изнутри структуры предпочтений ЛПР, описываемой бинар- ных условиях число вопросов к ЛПР может быть снижено до n.
ным отношением. 2. ЛПР, не отдавая себе в этом отчета, может давать противоречивую ин-
В основе метода порядковой оптимизации лежит следующая процедура: формацию о сравнительной важности критериев.
1. определение упорядочения критериев по важности; 3. Главный недостаток: информация по сравниваемым альтернативам
2. нахождение порядковых отношений, удовлетворяющих этому упоря- должна быть представлена в строгих шкалах, иначе составление аппрокси-
дочению; мирующего полинома будет крайне затруднено.
3. построение некоторого полинома по всем этим порядковым отношени- Что касается положительных сторон данного метода, то необходимо от-
ям, который и будет аппроксимацией k штук предпочтений ЛПР. метить следующее. Для решения задач выбора в строгих шкалах при сравни-
Для иллюстрации метода вновь рассмотрим пример сравнения семи ва- тельно небольшом числе критериев (5-9) этот метод особенно эффективен.
риантов по пяти критериям. Он дает возможность обоснованно, без внесения произвола, аппроксимиро-
Допустим, что в роли ЛПР выступает покупатель автомобиля; он сфор- вать предпочтения ЛПР. Несомненное достоинство метода также и в том,
мулировал пять критериев, которыми будет руководствоваться при выборе: что он не зависит (в отличие от ЭЛЕКТРА) от числа сравниваемых вариан-
цена (критерий 1), комфортность (критерий 2), фирма-производитель (кри- тов. Кроме того, критерии могут иметь произвольную природу и не обязаны
терий 3); скоростные качества (критерий 4); внешний вид автомобиля (кри- быть однородными, как при использовании метода Подиновского.
терий 5). Пусть в результате опроса ЛПР получена следующая информация о

129 130
}
void MoveAE (float Step) {
7. ПРИМЕРЫ ПОСТРОЕНИЯ AE -> TInit+=Step;
ИМИТАЦИОННЫХ МОДЕЛЕЙ СТС /*вычислить новое время инициализации активности AE->numAct*/
сдвинуть событие на новое место вперед по списку;
/* как правило, после перемещения AE будет указывать на новое событие */
7.1. Построение УПМ на языке Си, }
реализующей процессный способ имитации. void DeleteAE (void) {
При процессном способе организации имитации любая ИМ СТС пред- /* в некоторых случаях элемент ИМ заканчивает
ставляется последовательностью происходящих внутри ее элементарных функционирование до завершения моделирования (см. e14 рис.1).*/
событий. При этом каждый элемент СТС Ki∈K характеризуется множеством удалить заключительное событие элемента после реализации из списка
AE;
состояний {zi} (переменных, содержащих информацию, необходимую для
}
прогноза будущей динамики элемента). В каждом элементе Ki в результате Любая активность ai j определяется по одной схеме.
выполнения функциональных действий происходят события eij . Время на- int Act_ty (int numElement) {реализация алгоритма αi j события ei j ;
ступления события τij и его содержание полностью определяются состояни- if (ei j – последнее событие элемента)
ем zi элемента Ki. Реакцией УПМ на наступление события eij является кор- DeleteAE(); /* удаление AE из списка событий */
ректировка модельного времени t0 и реализация активности aij. Для реализа- else {
ции на языке Си алгоритма квазипараллелизма в ИМ СТС рассмотрим необ- AE->Act=k; /* номер события ei j+1 в массиве Activity */
ходимые для этого структуры данных и схему описания активностей. MoveAE(τij ); /* определить новое время активизации элемента */
Основной управляющей структурой является список событий AE, пред- }
назначенный для хранения информации, необходимой для активизации оче- return 1;
}
редного для каждого элемента ИМ события.
struct Events { Для алгоритма организации квазипараллелизма в ИМ необходимо вве-
int Element; /* уникальный идентификатор элемента */ сти еще две переменные:
int numAct; /* номер активности в массиве Activity */ float ModelTime; /* текущее значение модельного времени */
float TInit; /* время инициализации активности */ int eoS; /* признак окончания моделирования */
struct Events *Next; /* список событий упорядочивается по */ Алгоритм можно условно разделить на три части: начало моделирования,
} *AE ; /* возрастанию TInit */ имитация, завершение моделирования.
Массив активностей Activity определяется следующим образом :
typedef int(*Action)(int); /* начало моделирования */
Action Activity[]={eoSimulation, Act1, Act2, ..., ActN}; инициализация элементов Ki и их начальных состояний (параметров z i );
Параметром активностей является номер элемента. Если выполнение ак- NewEvent(0,0,TeoSimulation); /* определить интервал моделирования */
тивности должно привести к окончанию моделирования, то соответствую- инициализация начальных событий ei 0 ;
щая функция возвращает значение 0. Во всех остальных случаях возвраща-
ется ненулевое значение. Поскольку имитационный эксперимент обычно /* имитация */
задается на некотором временном интервале, то имеет смысл для обеспече- ModelTime=AE->TInit; еoS=1;
while (eoS) {
ния окончания ИЭ определить специальную функцию, причем как нулевой
while(AE->TInit==ModelTime&eoS)
элемент массива Activity: eoS=(*(AE->Activity[AE->Act]))(AE->Element);
int eoSimulation (int Element) { return 0; }. /* смена модельного времени */
Для модификации списка событий целесообразно написать следующие ModelTime=AE->TInit;
функции: }
void NewEvent (int Element, int numAct, float TInit) {
добавить в список AE новое событие, /* окончание моделирования */
сохранив его упорядоченность по полю TInit; пересчет откликов модели и их запись на диск.
131 132
Итак, для правильной работы приведенного алгоритма требуется соблю- пители TR; SRi – устройства, обслуживающие TRi; ПГ – поглотитель TR.
дение простых правил составления активностей, а именно: каждая актив- Конвейера представлены сочетанием накопителя (очереди TR) и устройства
ность должна завершаться указанием следующей выполняемой активности и (обрабатывающего станка). В качестве деталей выступают транзакты, кото-
передвижением ее по списку событий на соответствующий интервал мо- рые поступают из источника И с интенсивностью, заданной экспоненциаль-
дельного времени. ной функцией распределения (EXPON FUNCTION).
Перейдем к сопоставлению программы модели на языке GPSSV. Ниже
7.2. Примеры построения имитационных моделей представлен текст модели. Строки, начинающиеся символами «*», являются
на языках моделирования GPSSV и МК АСИМ комментариями.
Сопоставим возможности двух языков моделирования, основанных на * МОДЕЛЬ ЦЕХА ОБРАБОТКИ ДЕТАЛЕЙ
одном и том же способе формализации СТС (транзактом). Для этой цели SIMULATE
выберем простейший пример, когда преимущества языка МК АСИМ прак- * ОПИСАНИЕ ФУНКЦИЙ
EXPON FUNCTION RN1, C24
тически не сказываются из-за того, что нет надобности строить модель
0,0/.1,.104/.2,.222/.3,355/.4,.509/.5,.69,.0915/.7,1.2/.75,1.38
управления процессами. Итак, имеется следующая содержательная форму- /8,1.6/.84,1/83/.88,2.12/.9,2.3/.92,2.52/.94,2.82/.95,2.9/.96,3.2
лировка технологического процесса обработки деталей в цеху с двумя кон- /.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9997,8
вейерными линиями. Нужно построить ИМ обработки потока деталей двумя * ОПИСАНИЕ ПАМЯТЕЙ
конвейерами в течение трех циклов длительностью в 3600 с. С некоторой STORAGE S1-S2,10
вероятностью (p = 0,25) осуществить выборочный контроль деталей, обрабо- * ОПИСАНИЕ ТАБЛИЦ
танных ранее на одном из конвейеров. Конвейеры состоят из буфера деталей QTIME QTABLE ACPU,0,60,20
(Hi, i = 1, 2) и обрабатываемых станков (SRi). Выборочный контроль деталей * МОДЕЛИРОВАНИЕ ПРОЦЕССА ОБРАБОТКИ ДЕТАЛЕЙ
осуществляется для деталей, полученных на любом из конвейеров. Детали GENERATE 5,FNSEXPON,,,1PB входной поток
GATE SNF 1,COMP2 выбор станка
поступают в цех на первый конвейер, и только при условии, что первый кон-
* ОБРАБОТКА ДЕТАЛЕЙ НА СТАНКЕ 1
вейер занят, детали поступают на второй конвейер. Детали поступают в цех ENTER 1 занятие места на станке
с заданной функцией распределения интенсивностей. Целью моделирования ASSIGN 1,1,,PB запоминание номера станка
является получение статистики: загрузки узлов обработки и контроля дета- SEIZE COMP1 занятие станка
лей; использования буферов обоих конвейеров; времен обработки деталей. ADVANCE 8,FNSEXPON обработка детали
Функция распределения входного потока деталей имеет табличный вид. RELEASE COMP1 освобождение станка
Построим ИМ на языке моделирования GPSSV. Блок-схема ИМ цеха об- * НАПРАВЛЕНИЕ ДЕТАЛЕЙ НА ВЫБОРОЧНЫЙ КОНТРОЛЬ
работки деталей представлена на рис. 7.1. Здесь И – источник TR; Hi – нако- TRANSFER .250,NACPU,ACPU
* ВЫПОЛНЕНИЕ ЗАДАНИЙ НА СТАНКЕ 2
Конвейер 1 COMP2 ENTER 2
1 SR1 ASSIGN 1,2,,PB
H1 SEIZE COMP2 занятие станка
ADVANCE 12,FNSEXPON
Конвейер 1 Выборочный 0 RELEASE COMP2
И свободен? контроль?
* НАПРАВЛЕНИЕ ДЕТАЛЕЙ НА ВЫБОРОЧНЫЙ КОНТРОЛЬ
(p=0.25)
Входной Конвейер 2 TRANSFER .750,NACPU
поток 1 * ВЫБОРОЧНЫЙ КОНТРОЛЬ
SR2
0 H2
ACPU QUEUE ACPU
SR3
Выходной
SEIZE ACPU
поток DEPART ACPU
ADVANCE 12,8
ПГ
RELEASE ACPU
* ОСВОБОЖДЕНИЕ БУФЕРОВ СООТВЕТСТВУЮЩЕГО КОНВЕЙЕРА
Рис. 7.1. Блок-схема ИМ цеха на GPSSV

133 134
NACPU LEAVE PB1 МЕХАНИЗМ ОБСЛУЖИВАНИЯ: FIFO;
TERMINATE выход из системы ВРЕМЯ ОБСЛУЖИВАНИЯ: РАСПРЕДЕЛЕНИЕ ТАБЛИЧНОЕ (0, 0.05, 0.104,
* ЗАДАНИЕ ВРЕМЕНИ МОДЕЛИРОВАНИЯ 0.22, 0.355, 0.509, 0.69, 0.7, 1.2, 1.38, 1.6, 1.83, 2.12, 2.3, 2.52, 2.82, 2.99, 3.2, 3.5, 3.9,
GENERATE 3600.,3600. 4.6, 5.3);
TERMINATE 1 прогон 1 ВЫХОДЯЩИЙ ПОТОК: (ИП=1) С ВЕРОЯТНОСТЬЮ 0.25 (SR3);
START 1 УСТРОЙСТВО (SR,3);
CLEAR 1 ВХОДЯЩИЙ ПОТОК: (ИП=1,SR1,SR2);
START 1 прогон 2 ОЧЕРЕДЬ: ОТДЕЛЬНАЯ;
CLEAR 1 МЕХАНИЗМ ОБСЛУЖИВАНИЯ: FIFO;
START 1 прогон 3 ВРЕМЯ ОБСЛУЖИВАНИЯ: ПОСТОЯННОЕ (0.5);
END ВЫХОДЯЩИЙ ПОТОК: (ИП=1);
ВРЕМЯ МОДЕЛИРОВАНИЯ: (3600, 0.1);
Построим ИМ того же цеха, но на языке МК АСИМ. Графическая схема ПЕЧАТЬ ТРАФИКА СРЕДНЕГО (ОЧЕРЕДЬ1, ОЧЕРЕДЬ2, ОЧЕРЕДЬ3, УСТР
ИМ представлена на рис. 7.2. SR1, УСТР SR2, УСТР SR3) КОЭФФИЦИЕНТ ПОДТВЕРЖДЕНИЯ 3;
ОЧ1 0 За счет русского текста с содержательной трактовкой предложений в
И ОУ (SR1) ПВ1
терминах специалиста по СМО размеры программы на языке МК АСИМ
1
больше. Но у МК АСИМ имеется ряд конструкций и приемов сокращенного
описания и использования системы ссылок, которые сокращают текст ИМ на
порядок без снижения наглядности и естественной прозрачности текста про-
ОЧ2 ОЧ3 граммы ИМ.
Для иллюстрации указанных средств на рис. 7.3 приведен фрагмент мо-
дели СМО, состоящий из управляемых источников ИМ сети и одного из уз-
1 лов сети, обладающего ресурсом, к которому транзакты выстраиваются в
0 очередь. Управляемые источники ИП = 1, ИП2, ИП3 сгруппированы на уст-
ОУ (SR2) ПВ2 ПГ ОУ (SR3) ройстве (УПР, 1). Предполагается, что порядок прихода управляющих сиг-
налов на каждый из управляемых источников различен. Так, на источник
Рис. 7.2. Графическая схема ИМ процесса обработки деталей
ИП = 2 одновременно поступают 20 сигналов запуска источника, что приво-
дит к генерации на выходе устройства (УПР, 1) 20 транзактов, поступающих
Сравнивая рис. 7.1 и 7.2, видим, что обе блок-схемы похожи из-за того, в ИМ сети. На источник ИП = 1 поступают одиночные управляющие сигна-
что не задействовано основное достоинство МК АСИМ – описание схем лы «Включить», поэтому на выходе устройства (УПР, 1) генерируются оди-
управления. Для данного примера это не нужно делать. Перейдем к состав- ночные TR с индекс-потоком, равным 1. На управляемый источник ИП = 3
лению текста программы модели. Она представляет собой не программу в поступает групповой управляющий сигнал с некоторого узла сети. Допус-
традиционном понимании, а набор деклараций. тим, что по этому групповому управляющему сигналу необходимо генери-
УСТРОЙСТВО (SR,1); ровать 25 транзактов, которые затем поступают в модель сети на очередной
ВХОДЯЩИЙ ПОТОК: (ЧП=1, И) РАСПРЕДЕЛЕНИЕ (RN1,C24); этап обслуживания. Не рассматривая подробно структуру и связи узлов мо-
ОЧЕРЕДЬ 1: ОТДЕЛЬНАЯ ПРИОРИТЕТНАЯ; дели сети, предположим, что все копии TR поступают на устройство
МЕХАНИЗМ ОБСЛУЖИВАНИЯ: FIFO; (ЭВМ, 1) и требуют захвата ресурса, объем которого перед началом имита-
ВРЕМЯ ОБСЛУЖИВАНИЯ: РАСПРЕДЕЛЕНИЕ ТАБЛИЧНОЕ (0, 0.05, 0.104, ции составляет 400 единиц. На входе узла сети (УСТРОЙСТВО (ЭВМ, 1))
0.22, 0.355, 0.509, 0.69, 0.7, 1.2, 1.38, 1.6, 1.83, 2.12, 2.3, 2.52, 2.82, 2.99, 3.2, 3.5, 3.9, имеются три очереди для каждого из типов TR. На рис. 7.3 показано, что
4.6, 5.3); операция сборки TR, рождаемых одним и тем же источником, реализуется с
ВЫХОДЯЩИЙ ПОТОК: (ИП=1) С ВЕРОЯТНОСТЬЮ 0.25 (SR3);
помощью очередей TR. Поскольку все TR используют единый ресурс, то они
УСТРОЙСТВО (SR,2);
ВХОДЯЩИЙ ПОТОК: (ИП=1,И) РАСПРЕДЕЛЕНИЕ EXP(RN1,C24); выстраиваются в единую очередь на захват части ресурса. После выделения
ОЧЕРЕДЬ: ОТДЕЛЬНАЯ, БЕЗ ПРИОРИТЕТА; ресурса некоторому TR последний поступает в соответствующую очередь

135 136
Вкл.ИП=2 денного фрагмента сети на языке МК АСИМ имеет вид
УСТРОЙСТВО (УПР.1);
Вкл.ИП=3 ВХОДЯЩИЙ ПОТОК: (ИП=1-3,УПР);
ВРЕМЯ ОБСЛУЖИВАНИЯ: ПОСТОЯННОЕ (0.5);
Вкл.ИП=1 ВЫХОДЯЩИЙ ПОТОК: (ИП=3) С РАЗДЕЛЕНИЕМ НА ЗАЯВКИ (25 УСТРОЙ-
СТВО (СЕТЬ.1));
<ДАЛЕЕ ТЕКСТ ОПИСАНИЯ ИМ СЕТИ>
УСТРОЙСТВО (ЭВМ.1) РЕСУРС (400);
УСТРОЙСТВО (УПР.1) ВХОДЯЩИЙ ПОТОК: (ИП=1 У(КАНАЛ.1))
РЕСУРС (ПОСТОЯННОЕ(80)), (ИП=2 У (КАНАЛ.1))
СБОРКА=20 РЕСУРС (РАВНОМЕРНОЕ (20,320)), (ИП=3 у (КАНАЛ.1))
СБОРКА=25 РЕСУРС (ТАБЛИЧНОЕ(60,20,0.5,0.3,0.15,0.1,0.05);
ОЧЕРЕДЬ: ОТДЕЛЬНАЯ;
ИМ сети (СЕТЬ.1) <ДАЛЕЕ СЛЕДУЮТ ОСТАЛЬНЫЕ ПРЕДЛОЖЕНИЯ, СОСТАВЛЯЮЩИЕ
ОПИСАНИЕ ДАННОГО УЗЛА>

7.3. Пример составления программы имитационной модели


на языке моделирования MICIC 2.0 простейшей системы
массового обслуживания
Пусть объектом моделирования является следующая система массового
обслуживания (рис. 7.4). Имеется M источников заявок на обслуживание.
frequency 1
Генератор 1
N lQue; mQue K
u СЕРВЕР
... m FIFO U(mm; hh)
Поглотитель
I
n NumOut
Генератор M
УСТРОЙСТВО (ЭВМ.1)
frequency M
Рис. 7.4. Граф-схема модели простейшей системы массового обслуживания.

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


Рис. 7.3. Фрагмент модели СМО с управляемыми источниками
закону с уникальной для каждого генератора частотой frequency.
устройства (ЭВМ, 1). Удовлетворение запросов TR на ресурс производится Обслуживающий прибор имеет K каналов, причем время обслуживания
по алгоритму, описанному выше. Потоки TR обозначены на рис. 7.3 распределено равномерно на отрезке [mm – hh, mm + hh] единиц модельного
ИП = 1, …, ИП = 3. Таким образом, возможно неявное создание трехуровне- времени. При занятом приборе заявки скапливаются в очереди, откуда из-
вой системы очередей (на сборку, к ресурсу на обслуживание). Причем явно влекаются в соответствии с дисциплиной FIFO. Требуется получить сле-
описываются только очереди на обслуживание, а остальные очереди форми- дующие выходные характеристики системы массового обслуживания: общее
руются УПМ МК АСИМ автоматически. Указателями для организации количество сгенерированных заявок Numin, общее количество обслуженных
сборки TR служат конструкции вида СБОРКА = ИНДЕКС. Описание приве- заявок NumOut, длина очереди lQue, среднее время ожидания в очереди
mtQue.
137 138
Очевидно, что имитационная модель такой системы может быть по- float frequency; // частота поступления заявок в систему
строена с помощью трех компонентов типа «устройство», которые назовем } ReqGenerator;
«Генератор», «Сервер», «Поглотитель», а также одного компонента типа IEGlobal (ReqGenerator)={
«транзакт» с названием, например, «Заявка». Для отображения механизма IEVar (Частота,FLOAT)
};
обслуживания всех устройств достаточно одной активности. Ниже приво-
дится полный текст программы имитационной модели простейшей системы // Устройство Сервер
массового обслуживания, удовлетворяющей данному описанию, в котором typedef struct {
прокомментированы все детали формализации: int nReq; // количество заявок, прибывших на обслуживание
} Srvr;
#include <micic.h> IEGlobal (Srvr)={
// описание глобальных параметров, откликов и собственных IEVar (КолЗаявок,INT)
// параметров компонентов для обращения к ним };
// в Си-тексте программы
// Устройство Поглотитель – параметры отсутствуют
struct GlobalPar {
// Класс транзактов Заявка – параметры отсутствуют
int M; // количество генераторов заявок
int K; // максимальное количество одновременно //определение компонентов модели
// обслуживающихся заявок на приборе IEKomponents={
float mm,hh; // среднее и отклонение равномерного IEKmp (ГенераторЗаявок,ReqGenerator,PRC),
// распределения для времени обслуживания заявки IEKmp (Сервер,Srvr,SRV),
} GPar={3,4,5,1.5}; // параметры модели по умолчанию IEKmp0 (Поглотитель,SRV),
struct GlobalRes { IEKmp0 (Заявка,TNS)
int NumIn; // общее количество сгенерированных заявок };
int NumOut; // общее количество обслуженных заявок
//определение порядковых номеров
int lQue; // длина очереди
//компонентов в макросе IEKomponents
float mtQue; // среднее время ожидания в очереди
enum {
} GRes;
REQGENERATOR, SERVER, ABSORBER, REQUEST
// описание глобальных параметров, откликов и собственных };
// параметров компонентов для обращения к ним
BEGIN (ПростейшаяСМО)
// в интегрированной среде СМ MICIC
//определение номеров активностей
IEGlobal (Prm)={
enum {
IEVar (КолГенераторов,INT),
EOSIMULATION, STARTSERVICE,
IEVar (КолКаналов,INT),
STOPSERVICE, STOPPROCESS,
IEVar (СрВремяОбсл,FLOAT),
RGEN, SRVR, ABSORB
IEVar (ОтклВремОбсл,FLOAT)
};
};
IEGlobal (Res)={ void Constructor(void) {
IEVar (КолВхЗаявок,INT), byte i;
IEVar (КолВыхЗаявок,INT), // определение параметров элементов по умолчанию
IEVar (ДлинаОчереди,INT), ReqGenerator RG_[3]={ 0.25, 0.3, 0.4 };
IEVar (СрВрОжидания,FLOAT) Srvr SR_={0};
}; // определение структуры модели
for(i=0;i<GPar.M;i++)
//описание параметров компонентов ИМ
Instal(REQGENERATOR, 1, Ernd(RG_[i].frequency), 0, 0, RG_+i);
// Устройство ГенераторЗаявок Instal(SERVER, 1, 0.0, GPar.K, 0, &SR_);
typedef struct { Instal(ABSORBER, 1, 0.0, 1, 0, NULL);

139 140
} int x,y,dx,dy,prh=20,cy=190;
int i,j;
byte RGen(void) {
char str[]="ГЕНЕРАТОРЫ",s[2]=" ";
DServPar(ReqGenerator,a);
setlinestyle(0,0,3);
Run(REQUEST,1,Device(SERVER,1),1,0,NULL); // очередная заявка
setcolor(0);
GRes.NumIn++; // корректировка
settextstyle(0,HORIZ_DIR,2);
GRes.lQue++; // откликов модели
settextjustify(LEFT_TEXT,BOTTOM_TEXT);
WaitTime(Ernd(a->frequency));
outtextxy(90,60,"СТРУКТУРА ИМИТАЦИОННОЙ МОДЕЛИ");
return CONTINUE;
for(i=0;i<10;i++) {
}
s[0]=str[i];
byte Srvr0(void) { outtextxy(15,110+20*i,s);
DServPar(Srvr,a); }
GRes.lQue--; // корректировка длины очереди x=40;dx=50;dy=50;
// пересчет среднего времени ожидания в очереди for(i=95;i<=235;i+=140) {
GRes.mtQue *= a->nReq++; y=i;
GRes.mtQue += ModelTime()-ArrivalTime(TServ); line (x,y,x,y+dy);
GRes.mtQue /= a->nReq; line (x,y,x+dx,y+dy/2);
// обслуживание отображается единственной активностью line (x,y+dy,x+dx,y+dy/2);
MoveTo(Device(ABSORBER,1)); line (x+dx,y+dy/2,x+dx+prh,y+dy/2);
NextActivity(STOPSERVICE); outtextxy(x+10,y+35,(i<100)?"1":"M");
WaitTime(Urnd(GPar.mm,GPar.hh)); }
return CONTINUE; dy=25;
} for(j=0;j<=1;j++) {
byte Absorb(void) { circle(65,cy+j*dy,2);
GRes.NumOut++; // корректировка отклика circle(65,cy-j*dy,2);
MoveTo(NULL); // указание на поглощение заявки }
StopService(); // непосредственный вызов конечной активности dy=70;x+=dx+prh;
return CONTINUE; line(x,cy-5,x,cy-dy);
} line(x,cy+5,x,cy+dy);
// массив активностей line(x,cy-5,x+30,cy-5);
Activities={ line(x,cy+5,x+30,cy+5);
EOSimulation, StartService, StopService, StopProcess, outtextxy(80,295,"NumIn");
RGen, Srvr0, Absorb for(i=140;i<=370;i+=230) {
}; x=i;dx=40;dy=20;y=cy-dy/2;
// массив начальных активностей rectangle(x,y,x+dx,y+dy);
InitialActivities={ line(x+dx,cy,x+dx+prh,cy);
RGEN,REQGENERATOR,PROCESS, outtextxy(x-5,y-5,"l,t");
SRVR,SERVER,ALL, line(x+25,y-27,x+41,y-27);
ABSORB,ABSORBER,ALL x+=dx/2;dx/=6;
}; for(j=0;j<=2;j++) {
// определение вспомогательных функций line(x+dx*j,y,x+dx*j,y+dy);
void AfterStep(void) { line(x-dx*j,y,x-dx*j,y+dy);
} }
x=i+40+prh;dy=60;dx=50;y=cy-dy/2;
void AfterStop(void) { rectangle(x,y,x+dx,y+dy);
} line(x+dx,cy,x+dx+prh,cy);
void Background(void) { outtextxy(x+5,y+dy+25,"m,h");

141 142
outtextxy(x+32,cy-10,"k"); седних поездов в любой точке линии τ = 2T/N, где T – время движения
outtextxy(x+18,cy+11,(i==140)?"1":"N"); (включая остановки) по линии в одном направлении, N – количество поездов
} на линии.
line(350,cy,350+prh,cy);
Пусть пассажиры, прибывающие на остановку Sti ,образуют экспоненци-
x=310;dx=10;
for(j=1;j<=3;j+=2) { альный поток с параметром li , причем вероятности pi j того, что пассажирам
circle(x+j*dx,cy+10,2); со станции Sti необходимо прибыть на станцию St j, принимается постоян-
circle(x-j*dx,cy+10,2); ным в течение ИЭ. Если Stj и Sti принадлежат разным линиям, то пассажир,
} прибывая на пересадочную станцию, переходит на другую линию, затрачи-
outtextxy(215,140,"С Е Р В Е Р Ы"); вая на это время, нормально распределенное с параметрами m и S2, и возму-
x=500;y=150;dx=120;dy=80; щая тем самым экспоненциальный поток пассажиров на пересадочных стан-
rectangle(x,y,x+dx,y+dy); циях. Для небольшого упрощения алгоритмов активностей сделаем правдо-
outtextxy(515,265,"NumOut"); подобные заключения о том, что pi j = 0, если Sti и Stj находятся на разных
outtextxy(x+22,y+dy/2-3,"ПОГЛО");
линиях и Stj – пересадочная станция.
outtextxy(x+15,y+dy/2+22,"ТИТЕЛЬ");
settextjustify(LEFT_TEXT,TOP_TEXT); Единицей модельного времени будем считать 1 секунду. Длительность
} ИЭ задается с помощью переменной TSimulation. В качестве откликов моде-
ли выберем следующие характеристики:
void PrintState(FILE *pout) {
1. Средний коэффициент загрузки поездов на линии:
fprintf(pout,"Общее количество сгенерированных заявок : %8d\n",GRes.NumIn);
fprintf(pout,"Общее количество обслуженных заявок : %8d\n",GRes.NumOut); Ni  1
Ni S ij0 
fprintf(pout,"Длина очереди : %8d\n",GRes.lQue); K i = ∑ kij = ∑  ∑ ijs ijs 
n t (7.1)
fprintf(pout,"Среднее время ожидания в очереди : %8.3f\n",GRes.mtQue); j =1 j =1  Tij N p s =1
fprintf(pout,"===================================\n\n\n");  
} где i = 1, 2 – номер линии; Ni – количество поездов на линии; Np – вмести-
// определение FIFO-очереди
StandardQueues;
мость поезда; Kij – коэффициент загрузки поезда j на линии i; S i0 j –общее
END количество отрезков между остановками, пройденными поездом (рис. 7.5);
tijs – время прохождения отрезка s; nijs – количество пассажиров в поезде на
7.4. Построение ИМ метрополитена на языке MICIC 2.0 S ij0
отрезке s; Tij = ∑ tijs – общее время движения поезда.
7.4.1. Содержательное описание объекта имитации s =1
Очевидно, что для подсчета Kij требуется использовать рекуррентные
Для реализации ИМ предлагается рассмотреть функционирование метро-
формулы
полёитена, состоящего из двух пересе-
кающихся линий (рис. 7.5). О каждой σs = σs-1 + nijs * tijs; (7.2)
линии известно: количество станций на θs = θs-1 + tijs. (7.3)
ней, количество курсирующих поездов и tijs 2. Среднее время ожидания поезда на остановке
время передвижения между станциями.
nijs 1
N ϖi
Постоянными принимаются времена ⋅ ∑ τij
остановки на станциях и перехода с од- ϖi = N ϖ i j =1
(7.4)
ного направления на обратное. Будем
считать, что вместимость всех поездов τij где i = 1, …, Ns – количество остановок на двух линиях; Nωi – количество
одна и та же, и они равномерно распре- пассажиров, вошедших в поезд на остановке Sti; τi j – время ожидания поезда
делены по линии. Последнее означает, пассажиром j на остановке Sti;
что интервал между появлениями со- Рис. 7.5. Схема метрополитена В программе ωi будут высчитаны с помощью рекуррентных соотноше-
143 144
ний: Вторая часть включает взаимодействия динамических элементов ИМ
τj = τj-1 + τij; (7.5) (поездов и пассажиров) на станции (рис. 7.7).
Nωj = Nωj-1 +1. (7.6)
Станция

7.4.2. Формальное описание ИМ метрополитена для СМ MICIC Дорога Дорога


Согласно концепции многоуровневого представления объекта моделиро-
вания в системе моделирования MICIC, рассмотрим описание ИМ двух пе-
ресекающихся линий метро с точек зрения исследователя, конструктора и
Остановка
разработчика ИМ.
Исследователь модели должен определить параметры и отклики ИМ на
основе содержательного описания. Ожидание
Параметры ИМ:
1. Количество станций на линии.
2. Общее количество поездов на линии. Уход Переход
3. Номер пересадочной станции на линии.
4. Время движения между станциями.
5. Количество мест в поезде.
6. Время стоянки поезда на станции.
7. Параметр экспоненциального потока пассажиров на станциях. Генератор пассажиров
8. Распределение вероятностей пунктов назначения пассажиров.
9. Параметры нормального распределения для времени, затрачиваемого
на переход.
Отклики ИМ: Поток транспортных средств
1. Коэффициенты загрузки поездов на линиях.
Поток пассажиров
2. Время ожидания поезда на станциях.
Конструктор модели, основываясь на базовой схеме формализации сис- Рис. 7.7. Граф-схема взаимодействия пассажиров с поездами на остановке
темы моделирования MICIC, должен раскрыть содержимое «черного ящи-
ка», представив структуру модели в виде граф-схемы. Чтобы не загромож- На основании декомпозиции ИМ введем следующие типы ее компонен-
дать структуру ИМ повторяющимися деталями, разделим общую граф-схему тов, представив их в виде табл. 7.1.
на две части. Первая из них отображает взаимодействие статических элемен- Наконец, разработчик имитационной модели должен каждой паре тран-
тов (линий и станций) с динамическими элементами – поездами (рис. 7.6). закт – устройство (входящая дуга графа - вершина) поставить в соответствие
граф активностей. В данном случае для любой пары граф активностей пред-
Станция Станция Станция
11 12 13
ставляет собой крайний случай: одну вершину - активность. Это соответст-
Переход вие приведено в табл. 7.2, причем алгоритмы активностей по сравнению с
Станция моделью метро, реализованной средствами языка программирования Си, не
Станция Станция
14
Станция изменяются. Они упрощаются из-за использования языка моделирования
21 22 23 системы моделирования MICIC. В частности, исчезают списки динамиче-
Станция
15 ских и массивы статических элементов модели, функции преобразования
- Генератор поездов Станция списка событий, обработка массива пассажиров в поезде и другое. Анало-
Станция 24 гичные действия осуществляются с помощью таких функции языка модели-
16
рования, как Run(), WaitTime(), MoveTo(), обработки транзактного буфера и,
Рис. 7.6. Граф-схема перемещения поездов между станциями разумеется, NextActivity(), StopService(), StopProcess().

145 146
Таблица 7.1. Назначение и параметризация компонентов модели метро.
Компонент Назначение Параметры ЗАКЛЮЧЕНИЕ
Устройство Отправляет поезда на линию в начале ра- Временной интервал между двумя
Генератор бочего дня, равномерно распределяя поезда соседними поездами на линии Данная часть завершает изложение типовых методик курса исследования
поездов по линии; когда все поезда выедут на ли- Счетчик отправленных на линию операций. Последовательно, от первой до третьей части материал пособия
нию, генератор пассивизирует сам себя поездов подавался во всё возрастающей полноте и требовал постоянного накопления
Устройство Соединяет две соседние станции; одновре- Время, затрачиваемое на переезд знаний как по прикладной математике, так и по технологии программирова-
Дорога менно на дороге может находиться любое до следующей станции
количество поездов ния на ПЭВМ. Быть может, число практических примеров не столь велико и
Устройство Принимает поезда для выхода пассажиров, разнообразно, как этого хотелось бы. Однако авторы сознательно уменьшали
Станция достигших пункта назначения, и входа количество примеров и за счёт этого каждому примеру уделили достаточно
новых пассажиров в поезд; вышедшие внимания для обеспечения глубины рассматриваемых вопросов. В результа-
пассажиры в зависимости от типа станции
и своих целей могут передвигаться далее те все примеры можно рассматривать в качестве базы для выполнения лабо-
не более чем в двух направлениях: исчезать раторных и расчётно-графических работ.
из модели или переходить на другую ли- Предлагаемое пособие будет также полезно аспирантам и соискателям в
нию их практической работе над диссертациями по различным предметным на-
Устройство Имитирует прибытие очередного пассажи- Распределение вероятностей по
Генератор ра на остановку метро, порождая транзакт с перемещению пассажира из теку-
правлениям. Пособие будет полезно и тем инженерам-практикам, которые
пассажиров соответствующими концептуальной моде- щей станции к любой другой используют имитацию в своей практической работе. Зачастую многие спе-
ли начальными значениями циалисты и аспиранты обращаются к имитационному методу исследований,
Устройство Накапливает пассажиров в очереди до Количество вошедших в поезд не представляя при этом тех трудностей, с которыми они встретятся, и со-
Ожидание прибытия очередного поезда и статистику пассажиров
вершают множество ошибок методологического характера. Затем наступает
по ним; всегда закрыто Суммарное время ожидания поез-
да пассажирами разочарование, иногда преждевременное. Поэтому в данном пособии авторы
Устройство Имитирует переход пассажира на другую Среднее значение и дисперсия обращают внимание на возможные трудности, возникающие перед исследо-
Переход линию времени на переход между стан- вателями при решении задач исследования операций. Для их преодоления
циями авторы представляют для знакомства целый спектр аналитических, вероят-
Устройство Реализует удаление из системы моделиро-
Уход вания прибывшего в пункт назначения
ностных и имитационных моделей и на их примере дают методики, позво-
пассажира ляющие преодолевать указанные трудности.
Транзакт Отображает движение поезда в модели Количество пассажиров в поезде Авторы благодарят рецензентов за полезные замечания, способствовашие
Поезд метро; обладает транзактным буфером, Средний коэффициент загрузки улучшению качества пособия и облегчению усвоения излагаемого материа-
заполняемым транзактами – пассажирами поезда
ла.
Транзакт Имитирует перемещение пассажиров меж- Время прибытия в метро
Пассажир ду станциями Конечный пункт назначения Все замечания по содержанию и оформлению пособия будут приняты ав-
торами с благодарностью.
Таблица 7.2. Соответствие между компонентами модели
и механизмом обслуживания
Транзакт Устройство Активность
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
Генератор поездов TrainStart 1. Максимей И. В. Имитационное моделирование на ЭВМ. –М.: Радио и связь,
Генератор пассажиров PassengerArrival 1989. – 230 с.
Поезд Дорога TrainMovement 2. Киндлер Е. Языки моделирования. – М.: Энергоатомиздат, 1985. – 288 с.
Поезд Станция TrainArrival 3. Жогаль С. П., Жогаль С. И., Максимей И. В. Основы регрессионного анализа и
Пассажир Переход ChangeLine планирования экспериментов. Учеб. пособие. – Гомель: ГГУ, 1997. – 94 с.
Пассажир Уход StopService 4. Maximey I. V., Levchuk V. D., Sukach E. I. Program Technological Complex of Simu-
lation Modeling. Applied Modelling and Simulation. Proceeding International AMSE Con-
Машинный вариант данной имитационной модели для системы модели- ference. Ukraine, September 30. October 2, 1993. AMSEPRES. P.40 – 45.
рования MICIC предлагается реализовать самостоятельно по образу приве-
денного выше примера простейшей сети массового обслуживания.
147 148
ОГЛАВЛЕНИЕ 5.3.1. Назначение методики ................................................................................ 39
5.3.2. Определение глобальных данных имитационной модели ..................... 40
ВВЕДЕНИЕ ..........................................................................................................................3 5.3.3. Описание параметров компонентов ИМ.................................................. 40
1. ИМИТАЦИОННЫЕ МОДЕЛИ СЛОЖНЫХТЕХНИЧЕСКИХ СИСТЕМ .................4 5.3.4. Определение компонентов ИМ................................................................. 41
1.1. Когда и в каких случаях переходят к имитации процессов в СТС .....................4 5.3.5. Структура программы ИМ ........................................................................ 42
1.2. Понятие о модельном времени и принципы организации квазипараллелизма 5.3.6. Описание функций языка моделирования ............................................... 44
операций на ЭВМ ....................................................................................................4 6. ОСНОВЫ ПРИНЯТИЯ РЕШЕНИЙ В ЗАДАЧАХ ИССЛЕДОВАНИЯ
1.3. Способы организации квазипараллелизма в имитационных моделях СТС .......7 ОПЕРАЦИЙ .................................................................................................................. 47
1.4. Технологические этапы имитационного моделирования СТС..........................13 6.1. Виды стратегий исследователя при анализе процессов,
1.5. Автоматизация этапов создания имитационных моделей СТС ........................16 протекающих в СТС ............................................................................................. 47
2. ИСПЫТАНИЕ И ИССЛЕДОВАНИЕ СВОЙСТВ МАТЕМАТИЧЕСКИХ 6.2. Принятие решений в условиях неопределенности и риска............................... 48
МОДЕЛЕЙ СТС ............................................................................................................18 6.2.1. Основная формальная структура принятия решений.
2.1. Процедуры верификации математических моделей СТС..................................18 Матрица решений. Оценочная функция .................................................. 48
2.2. Оценка точности, чувствительности и устойчивости моделирования ИМ ......19 6.2.2. Критерии принятия решений в условиях неопределенности и риска.
2.3. Проверка адекватности модели реальному объекту исследований ..................21 Анализ ситуации принятия решений ....................................................... 50
3. ОСНОВЫ ПЛАНИРОВАНИЯ ЭКСПЕРИМЕНТОВ С МОДЕЛЯМИ СТС.............23 6.2.3. Пример применения классических и производных критериев
3.1. Особенности планирования и организации имитационных экспериментов....23 в задаче принятия решений в условиях неопределенности.................... 51
3.2. Определение требуемого размера выборки при планировании ИЭ..................23 6.3. Принятие решений в многоцелевых задачах производства и планирования
3.3. Определение интервалов изменения параметров ИМ и исключение деятельности предприятий................................................................................... 52
источников ошибок имитации .............................................................................24 6.3.1. Традиционные методы принятия решений в многокритериальных
3.4. Технология эксплуатации имитационных и вероятностных моделей СТС .....26 задачах ........................................................................................................ 52
4. СИСТЕМЫ МОДЕЛИРОВАНИЯ, РЕАЛИЗУЮЩИЕ ТРАНЗАКТНЫЙ 6.3.2. Многошаговая человеко-машинная процедура решения задач
СПОСОБ ИМИТАЦИИ СТС .......................................................................................28 многокритериальной оптимизации, основанная на методе
4.1. Общая характеристика языка моделирования GPSS..........................................28 ЛПτ -последовательностей ........................................................................ 54
4.1.1. Объекты языка GPSS .................................................................................28 6.3.3. Неформализуемые задачи многокритериального принятия решений.
4.1.2. Правила составления программ ИМ на GPSS..........................................29 Использование экспертных оценок .......................................................... 59
4.1.3. Организация потоков транзактов в GPSS.................................................29 7. ПРИМЕРЫ ПОСТРОЕНИЯ ИМИТАЦИОННЫХ МОДЕЛЕЙ СТС........................ 67
4.1.4. Изменение маршрутов движения транзактов в GPSSV ..........................30 7.1. Построение УПМ на языке Си, реализующей процессный способ
4.1.5. Организация вычислений и накопление результатов имитации ............30 имитации. .............................................................................................................. 67
4.1.6. Дополнительные возможности GPSSV ....................................................30 7.2. Примеры построения имитационных моделей на языках моделирования
4.2. Особенности организации и возможности системы моделирования GPSSV и МК АСИМ............................................................................................. 68
GPSSV/PC ..............................................................................................................31 7.3. Пример составления программы имитационной модели на языке
4.2.1. Дополнительные возможности GPSSV/PC ..............................................31 моделирования MICIC 2.0 простейшей системы массового обслуживания.... 70
4.2.2. Операторы GPSS/PC ..................................................................................31 7.4. Построение ИМ метрополитена на языке MICIC 2.0 ........................................ 73
4.2.3. Управление имитацией в GPSS/PC...........................................................32 7.4.1. Содержательное описание объекта имитации......................................... 73
4.2.4. Средства интерфейса GPSS/PC с пользователем.....................................33 7.4.2. Формальное описание ИМ метрополитена для СМ MICIC ................... 74
4.3. Возможности моделирующего комплекса АСИМ .............................................34 ЗАКЛЮЧЕНИЕ ................................................................................................................. 75
4.3.1. Графическое представление ИМ СТС ......................................................34 РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА .............................................................................. 75
4.3.2. Средства АСИМ для создания ИМ ...........................................................35
4.3.3. Средства АСИМ для эксплуатации ИМ ...................................................36
5. АВТОМАТИЗАЦИЯ ЭТАПОВ ПОСТРОЕНИЯ ИМИТАЦИОННЫХ
МОДЕЛЕЙ В СИСТЕМЕ МОДЕЛИРОВАНИЯ MICIC ............................................37
5.1. Основная идея применения и построения ИМ в СМ MICIC .............................37
5.2. Базовая схема формализации системы моделирования MICIC.........................38
5.3. Методика построения имитационной модели для системы моделирования
MICIC с помощью языка программирования СИ..............................................39

149 150

You might also like