Л.Бахвалов «Компьютерное моделирование: долгий путь к сияющим вершинам?» // Компьютерра, №40, 1997

Часть 1. Моделирование и системный анализ

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

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

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

Общая теория систем, концепция которой впервые была сформулирована в 50-е годы Л. Берталанфи и которая, казалось бы, должна составлять теоретический фундамент системного анализа, сегодня так же далека от завершения, как и в 60-е годы, если не считать некоторых результатов, имеющих исключительно абстрактный, математический характер. Основные же методы и процедуры, используемые обычно при системном анализе, заимствованы из других дисциплин, в большой степени – из исследования операций, появившейся раньше, чем системный анализ. Заимствованы и другие методы, которые обычно связывают с системным анализом – теория игр, теория принятия решений, математическое программирование, теория динамических систем и др. Более того, при тщательном рассмотрении истории возникновения и перспектив развития системного анализа нельзя обнаружить даже тенденций зарождения в его недрах единого подхода к анализу сложных систем. Не говоря уже об оформлении его в строгую и законченную теорию, напоминающую по стройности хотя бы теорию систем массового обслуживания.

В чем же тут дело? Как было впервые замечено профессором Б.Г.Юдиным и впоследствии уточнено академиком Н. Н. Моисеевым, крупнейшим советским специалистом в области системного анализа, центральной процедурой в системном анализе является построение обобщенной модели, отображающей все факторы и взаимосвязи реальной ситуации, которые могут проявиться в процессе решения [3, 4, 5]. Иными словами, построение математических моделей является основой всего системного анализа, центральным этапом исследования или проектирования любой системы [5].

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

Часть 2. Виды моделирования. Компьютерное моделирование

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

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

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

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

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

· математическое (логико-математическое) моделирование, при котором моделирование, включая построение модели, осуществляется средствами математики и логики;

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

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

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

Таким образом, мы видим, что понятие «компьютерное моделирование» значительно шире традиционного понятия «моделирование на ЭВМ» и нуждается в уточнении, учитывающем сегодняшние реалии.

Начнем с термина «компьютерная модель». В настоящее время под компьютерной моделью чаще всего понимают:

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

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

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

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

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

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

 

Литература:

 

1. Бусленко Н. П., Шрейдер Ю. А. Метод статистических испытаний. М., 1961.

2. Бусленко Н. П. Моделирование сложных систем. Москва, 1961.

3. Юдин Б. Г. Системный анализ. — М.: БСЭ, 1976.

4. Бирюков Б. В., Гастеев Ю. А., Геллер Е. С. Моделирование. — М.: БСЭ, 1974.

5. Моисеев Н. Н. Математические задачи системного анализа. — М.: Наука, 1981.

6. Дал У. И., Мюрхауг Б, Нюгорд К. Универсальный язык моделирования. М.: Мир, 1969.

7. Гэйн К., Сарсон Т. Структурный системный анализ: средства и методы. В 2-х частях. Пер. с англ, под ред. А. В. Козлинского. — М.: Эйтекс, 1993.

8. Малышев Ю. Н. Угольная промышленность России, ее состояние и перспективы. Журнал «Уголь», №1, 1995.

9. Бахвалов Л. А. Метамоделирование процессов реструктуризации и функционирования горной промышленности. Горный информационно-аналитический бюллетень. — М.: Московский государственный горный университет. Выпуск 1. 1996.

10. Дэвид А. Марка, Клемент Мак-Гоуэн. Методология структурного анализа и проектирования. М., 1993.

11. Методология динамического моделирования IDEFO/CPN/WFA. Учебный курс по методологиям IDEF. Метатехнология. М., 1995.

12. Питерсон Дж. Теория сетей Петри и моделирование систем. М.: Мир, 1984, стр. 264.

13. Форрестер Дж. Мировая динамика. — М.: Наука, 1978.

14. Using Proof Animation (Wolverine). Wolverine Software Corporation, 1995, page 374.

15. Thomas J. Schriber. An Introduction to Simulation Using GPSS/H. John Wile & Sons, 1991, ISBN, 0-471-04334-6, page 425.

16. Орлов С. Программные продукты поддержки презентаций. Computer World, №39, 1995, стр. 28-31.

17. В Андрианов А. Н., Бычков С. П., Хорошилов А. И. Программирование на языке СИМУЛА-67. М.: Наука, 1985.

18. Бахвалов Л. А. Моделирование динамики России на основе модели Форрестера. Приборы и системы управления. №8. 1997.

19. Дорри М. X., Рощин А. А. Инструментальные средства «Экспресс-Радиус» для автоматизации динамических расчетов систем управления. Приборы и системы управления, №3, 1996.

20. Прицкер А. Моделирование на СЛАМ 2. — М.: Наука, 1984.

21. OR/MS today. October 1995. Volume 22, No. 5.