Управление временем при проектировании имитационных моделей

№ 3 2006

А.А. Шевченко

Управление временем при проектировании имитационных моделей

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

1) для создания имитационной модели требуется предварительный анализ предметной области, выполненный с необходимой степенью точности (для решения стоящей перед разработчиком прикладной задачи);

2) определение инструментария для реализации имитационной модели: объектная, процедурная, событийно-ориентированная или иная концепция представления предметной области, агентное моделирование или вычисления на базе единой модели и т. д.;

3) определение механизмов и их точности для «оживления» имитационной модели: характеристики подсистемы управления временем и ее взаимосвязь с вычислительной подсистемой, а также с подсистемой визуализации данных и процессов.

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

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

Феномен времени

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

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

При всей своей привычности и понятности для обычного человека попытка получить точный ответ на вопрос «Что такое время?», как правило, порождает достаточно неоднозначные ответы у различных специалистов.

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

движение возможно только с одной скоростью и в одном направлении. Иными словами, живем мы в некотором 3,5-мерном пространстве: 3 измерения составляют привычные направления перемещения

Управление временем при проектировании имитационных моделей

№ 3 2006

и 0,5 измерения — время, текущее по своим законам.

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

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

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

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

счетчиков. Для удобства будем их называть «виртуальным таймером» (от англ. Virtual Timer — VT), или «модельным временем» (от англ. Model Time — MT). Второй термин уместен для обозначения часов проектируемых моделей, тогда как первый может употребляться во всех случаях.

Модельное время и реальное время

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

Исходя из этого, можно предположить, что модели продвижения времени будут соответствовать некоторым требованиям, предъявляемым к модели самой системы. Очень важно изначально предусмотреть возможность (или ее отсутствие) соответствия скорости течения модельного времени мировому времени. Системы, скорость хода времени которых соответствует мировому, принято называть «системами реального времени» (Real-Time System), а все прочие модели, функционирующие без привязки ко времени реальной системы — «non Real-Time System». В дальнейшем будем называть их сокращенно RT- и nonRT-системами. Сами nonRT-системы, в свою очередь можно классифицировать двумя способами: по возможности управления скоростью течения времени (есть такая возможность или отсутствует) и типу продвижения (дискретное или непрерывное). Классификация моделей продвижения времени приведена на рис. 1.

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

№ 3 2006

Рис. 1. Классификация моделей продвижения времени

Рис. 2. Модели продвижения времени

RT-систем и с возможностью управления временем для nonRT-систем.

Модели продвижения времени

Для начала более подробно рассмотрим модели продвижения времени. Существует две основных схемы (рис. 2): дискретная и непрерывная.

Кроме того, дискретная модель времени может работать путем продвижения от события к событию (рис. 3) или путем пошагового продвижения с равным интервалом (рис. 4). В большинстве компьютерных приложений реализация схемы продвижения времени на 1 шаг называется «turn-based» моделью или «пошаговой моделью». Пошаговые модели наиболее распространены в системах, когда каждая

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

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

Лаборатория # Математическое и компьютерное моделирование

X

115

А.А. Шевченко

Управление временем при проектировании имитационных моделей

№ 3 2006

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

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

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

Установив, какие формы и схемы управления продвижением времени модели существуют, следует перейти к рассмот-

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

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

1) не регламентирован;

2) регламентирован наступлением «критического момента»;

3) регламентирован в связи с привязкой к скорости течения процессов в реальном времени.

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

Событие 1 Событие 2 Событие 3 Событие 5

Событие 4

Рис. 3. Продвижение времени от события к событию

Событие 1 Событие 2 Событие 3 Событие 5

Событие 4

Рис. 4. Пошаговое продвижение времени

№ 3 2006

фективность работы системы управления или объекта управления.

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

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

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

Рассмотрим процесс решения задач принятия и реализации управленческих решений подробнее.

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

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

Затем, на третьем этапе, выполняется сбор или получение необходимых для расчета модели данных и информации.

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

На пятом этапе выполняется анализ полученных решений, принимаются управленческие решения.

На шестом этапе происходит реализация управленческих решений.

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

Практические аспекты управления

временем в имитационных моделях

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

Лаборатория # Математическое и компьютерное моделирование

А.А. Шевченко

Управление временем при проектировании имитационных моделей

№ 3 2006

Сам процесс получения решений может быть выполнен:

• в установленный срок;

• до истечения установленного срока;

• после истечения установленного срока.

При получении решений в установленный срок происходит переход к анализу решений (рис. 5).

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

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

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

В случае получения решений после окончания установленного срока возможны варианты:

1) были получены не все решения, например, из 1000 решений было получено 900 (рис. 8);

2) не было получено ни одного решения (рис. 9).

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

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

Поступление Окончание срока

исходных расчетов

данных

Проектирование

„ Время

решении

Период, отводимый для расчета решений

Рис. 5. Схема решения задачи

Поступление Окончание срока Окончание срока исходных расчетов расчетов

данных

1 і. і

Проектирование 1 ^Расчетрешений 1 Управление системой 1 —

Период, отводимый для расчета Время

решений

Рис. 6. Решение задачи до истечения регламентного срока решения задачи и переход к управлению системой

Поступление Окончание Окончание срока

исходных срока расчетов расчетов

данных

Проектирование |/рясчет мшвний># Ожилянма ^ Управление системой ^

Период, отводимый для расчета Время

решений

Рис. 7. Решение задачи до истечения регламентного срока, ожидание с последующим переходом к управлению системой

№ 3 2006

Поступление Окончание срока

исходных расчетов

данных

Проектирование

1 ^----------------------------*|_______________________

\^г Расчет решений I Управление системой

¥-----------------------------1—^

Период, отводимый для расчета Получена часть решений

решений Время

Рис. 8. Решение задачи после истечения регламентного срока и получение части решений

Поступление Окончание срока

исходных расчетов

данных

Проектирование

^^/^"""'расчвт решений управление системой

Период, отводимый для расчета Решений не получено

решений Время

Рис. 9. Решение задачи после истечения регламентного срока и отсутствие решений

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

Ценность исследования моделей управления временем

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

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

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

• теорию управлением временем в разнородных вычислительных средах;

• создание систем реального времени с использованием многопроцессорных вычислительных машин;

• вопросы управления потоками заданий при «обсчете» имитационной модели;

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

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

Литература

1. Емельянов А. А, Власова Е.А, Дума Р.В. Имитационное моделирование экономических процессов/Под ред. А. А. Емельянова. М.: Финансы и статистика, 2005.

2. Кельтон В., Лоу А. Имитационное моделирование. Классика СБ. Изд. 3-е. СПб.: Питер; Киев: Издательская группа BHV, 2004.

3. Лурье Б. Я., Энрайт П. Дж. Классические методы автоматического управления/Под ред. А. А. Ланнэ. СПб.: БХВ-Петер-бург, 2004.

А.А. Шевченко