Инновации в имитационном моделировании
Крупский Александр Юльевич
Монахов Анатолий Дмитриевич
НОУ ВПО ИГУПИТ
E-mail: info@igupit.ru
Инновации в имитационном моделировании
Аннотация: В настоящей статье показан инновационный подход к созданию методик исследования сложных систем на базе имитационных моделей. Чтобы показать суть инноваций, в статье приводится исторический экскурс в разработку методологии оценки эффективности сложных систем с помощью имитационных моделей.
Ключевые слова: Имитационная модель, классическая имитационная модель,
параметрически настраиваемая имитационная модель.
The Abstract: An innovating approach to creating research techniques of complex systems on the basis of imitation models has been demonstrated. To show the essence of innovations proposed, a historical excursus is undertaken into attempts at working out a methodology of complex systems efficiency evaluation by means of imitating models.
The Keywords: Imitation model, classical imitation model, adjusted imitation model.
***
В настоящей статье показан инновационный подход к созданию методик исследования сложных систем на базе имитационных моделей. Чтобы показать суть инноваций в статье приводится исторический экскурс в разработку методологии оценки эффективности сложных систем с помощью имитационных моделей.
История методологии исследования сложных систем с помощью математических моделей своими корнями уходит «в века». Можно считать, что с появлением таких разделов классической высшей математики, как аналитическая геометрия, высшая и и линейная алгебра, дифференциальное и интегральное исчисление, дифференциальные уравнения, появились методики оценки эффективности сложных систем, поведение которых можно было описать с помощью математических моделей. Но только появление первых вычислительных машин, с помощью которых можно было бы проводить массовые вычисления, позволили создать методологию оценки эффективности сложных систем, поведение которых невозможно было корректно описать с помощью классических моделей, и это стимулировало развитие прикладной математики математическое (линейное и нелинейное) программирование, метод динамики средних, теория игр, теория массового обслуживания, теория графов, сетевое планирование и управление и другие методы, которые давали возможность описать поведение сложных систем, привлекая для этого все возможные методы, использующие, наряду с математическими моделями, различного рода эвристические алгоритмы.
Имитационное моделирование, как новое научное направление в прикладной математике и кибернетике, начало интенсивно развиваться в конце 60-х годов, когда стали широко внедряться и использоваться сложные технические системы в самых разнообразных отраслях человеческой деятельности (космос, транспорт, биология, медицина, экономика, новые технологии на производстве и др.). Согласно Википедии [1], имитационное моделирование - метод, позволяющий строить модели, описывающие процессы так, как они проходили бы в действительности. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного количества испытаний. При этом результаты будут определяться случайным характером процессов. По этим данным можно получить достаточно устойчивую статистику. То есть имитация - это постижение сути явления, не прибегая к экспериментам на реальном объекте. Согласно Р. Шеннону [2] - "Имитационное моделирование систем - искусство и наука. Имитационное моделирование является экспериментальной и прикладной методологией, имеющей целью: описать поведение системы; построить теории и гипотезы, которые могут объяснить наблюдаемое поведение; использовать эти теории для предсказания будущего поведения и оценки (в рамках ограничений, накладываемых некоторым критерием или совокупностью критериев) различных стратегий, обеспечивающих функционирование данной системы".
С точки зрения компьютерной реализации имитационное моделирование - это комплексный метод исследования сложных систем на ЭВМ, включающий построение концептуальных, математических и программных моделей, выполнение широкого спектра целенаправленных имитационных экспериментов, обработку и интерпретацию результатов этих экспериментов. Методологической основой имитационного моделирования явились работы Бусленко Н.П., Глушкова В.М., Марчука Н.Н, Коваленко И.Н., Вентцель Е.С. и целого ряда других ученых, составивших Московскую, Ленинградскую и Киевские школы.
Для того, чтобы стало понятным, в чем состоят инновации, рассмотрим этапы становления и развития имитационного моделирования [3,4]:
Этап 1 (1955-1960). Программы для задач
моделирования разрабатывались на основе таких общеизвестных универсальных
языков как FORTRAN и ALGOL.
Этап 2 (1961-1965). Появились первые языки
моделирования: GPSS, SIMSCRIPT, SIMULA, CSL, SOL.
Этап 3 (1965-1970). Появилось второе поколение языков моделирования GPSS V, SIMSCRIPT II.5, SIMULA 67.
Этап 4 (1971-1978). Развитие уже
разработанных языков и средств моделирования, ориентированное на прежде всего
повышение эффективности процессов моделирования и превращение моделирования в
более простой и быстрый метод исследования сложных систем.
Этап 5 (1979-1984). Годы перехода от
программирования к развитию моделей. Основной акцент был перенесен на
идентификацию интегрированных средств имитационного моделирования
Этап 6 (1985-1994). Перенос программного
обеспечения для имитационного моделирования на персональные ЭВМ с
использованием средств графического интерфейса (для визуализации и анимации
процессов моделирования).
Этап 7 (1998- настоящее время) – разработка систем
моделирования с использованием новых возможностей современной
аппаратно-программной платформы персональных компьютеров, в том числе создание технологической
поддержки процессов распределенного имитационного моделирования на
мультипроцессорных ЭВМ и сетях.
В [1] приведен перечень современных языков и систем имитационного моделирования. Анализ всех (!) этих языков и систем позволяет выделить один, но исключительно важный, с точки зрения понимания предлагаемых в настоящей статье инноваций, аспект – все системы работают по одной принципиальной схеме, представленной на рис. 1. Назовем эту схему схемой моделирования компилирующего типа. Из схемы видно, что в перечне этапов исследования имеются этапы «разработка алгоритма модели» и «разработка программы модели».
Рис.1. Схема моделирования компилирующего типа
Рис. 1 - это классическая схема решения задач на ЭВМ. В случае использования данной схемы надо, как минимум, иметь соответствующую систему программирования (редактор, отладчик, компилятор и другие стандартные элементы, обеспечивающие разработку программ) и уметь составлять программу модели. Анализ современного рынка такого рода систем программирования показывает, что их цена составляет от нескольких десятков до нескольких сотен тысяч рублей. Более дешевые – университетские (учебные) варианты. Более дорогие - так называемые академические варианты. Например, Система программирования для создания имитационных моделей на языке GPSS (General Purpose Simulation System — общецелевая система моделирования) стоит порядка 30-100 тыс. рублей. Система программирования AnyLogic (Многоподходное Имитационное Моделирование) стоит 250-300 тыс. рублей. Но не только стоимость является некоторой преградой к использованию этих систем. Понятно, что для написания программы, надо знать язык программирования и, таким образом, существуют два варианта:
Вариант 1 - исследователь (модельер) должен освоить язык программирования и все премудрости по созданию модели.
Вариант 2 - исследователь должен нанять программиста и, таким образом, стать заложником знаний, настроения и коммерческой заинтересованности обслуживающего его программиста.
Понятно, что первый вариант предпочтительней, но изучение языка для составления моделей - не простая, и, самое главное, не продуктивная, с точки зрения исследователя системы, задача. На самом деле его (исследователя) волнует, чтобы модель как можно точнее воспроизводила моделируемую систему, а не достижение высокой квалификации как программиста.
Что же можно сделать для того, чтобы исследователь-модельер мог сам проводить исследования путем создания интересующих его моделей и при этом не был бы озадачен разработкой соответствующей программы ?
Ответ на это вопрос надо искать на пути создания параметрически настраиваемых моделей, имеющих такой набор настраиваемых параметров, который позволит исследователю провести свое исследование с требуемой в каждом конкретном случае точностью и не требующих какого-либо программирования и перепрограммирования. На первый взгляд, эта задача не решаемая по двум причинам. Первая причина – «нельзя охватить необъятное», т.к. типов сложных систем настолько много, что даже трудно себе представить математический аппарат, с помощью которого можно было бы создать модель, с помощью которой можно было бы имитировать все существующие системы. Вторая причина – о каких параметрах и о каком их количестве может идти речь, если мы имеет в виду некоторую абстрактную сложную систему.
Обе эти причины можно «обойти» если сузить задачу – разработать параметрически настраиваемую модель, имитирующую функционирование систем определенного класса - в этом и есть суть предлагаемых инноваций. Тогда все-таки можно попытаться подобрать математический аппарат и количество параметров будет вполне обозримо, учитывая специфику систем данного класса.
Задачу моделирования в таком подходе можно свести к схеме, которую назовем параметрической схемой моделирования (рис.2)
Рис. 2. Параметрическая схема моделирования
В отличие от схемы, представленной на рис. 1, в параметрической схеме моделирования отсутствует этапы разработки алгоритма функционирования модели и реализующий этот алгоритм программы.
Выше говорилось о том, что предлагаемая схема «работает» только для систем определенного класса. К одному из таких классов можно отнести системы массового обслуживания (СМО), для которых имеется практически исчерпывающий математический аппарат и все другие элементы, обеспечивающие создание параметрически настраиваемых моделей. Это умозрительное заключение можно «подпереть» тем фактом, что самые распространенные системы моделирования, о которых упоминалось выше (GPSS и AnyLogic) реализуют только (!) алгоритмы функционирования СМО.
Модель, которую можно было бы считать универсальной моделью СМО, должна «уметь» имитировать все основные режимы функционирования СМО, и уметь воспроизводить СМО с возможностью установки и корректировки (без какого-либо программирования) таких параметров СМО, как:
· Структура системы - обслуживающие каналы;
· Потоки заявок - маршруты прохождения заявок по обслуживающим каналам;
· Дисциплины обслуживания заявок;
· Набор статистических оценок результатов моделирования
· Критерии оценки эффективности исследуемой системы
Можно отметить еще одно качество параметрически настраиваемой модели - она должна быть открыта для внесения различных нововведений в части типов обслуживающих каналов, дисциплин обслуживания и других параметров, с которыми может столкнуться исследователь. Понятно, что эти изменения будут вноситься разработчиком модели. И все-таки, по нашему мнению, системы класса СМО настолько консервативны, что вряд ли можно предположить, что могут возникнуть большие проблемы по наращиванию возможностей модели.
И последнее - эффективное использование параметрически настраиваемой модели возможно только при условии доброжелательного во всех отношениях пользовательского интерфейса между моделью и использующего ее исследователем.
ЛИТЕРАТУРА
1. http://ru.wikipedia.org
2. Шеннон К. Работы по теории информации и кибернетике. — М.: Изд-во иностранной литературы, 1963. – 832 с.
3. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. - Издательство: БХВ-Петербург, 2006.-400 с.
4. Максимей И. В. Имитационное моделирование сложных систем. Математические основы. – Минск: БГУ, 2009.-264 с.