Прикладное программирование, 1 семестр

Загрузить архив:
Файл: 1061-006.zip (52kb [zip], Скачиваний: 31) скачать

       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                       ЛЕКЦИЯ N1 (ВВОДНАЯ)

                          I. ОРГВОПРОСЫ

     1. Списки групп

     2. Расписание занятий

             II. ПРОБЛЕМЫ СИСТЕМЫ ОБРАЗОВАНИЯ РОССИИ

     Денег на систему образования у государства нет и не будет:

     - проблемы обеспечения учебного процесса литературой, техни-

кой ит.д.в  конечномитоге будут так или иначе переложены на

плечи студентов - они вынуждены будут сами себе покупать книгии

даже компьютеры;

     - возможна реформа системыобразованияс  непредсказуемыми

последствиями;

     - возможна (замаскированная) ликвидация бесплатного  образо-

вания вообще.

          III. ПРОБЛЕМЫ МИРОВОЙ КОМПЬЮТЕРНОЙ ИНДУСТРИИ

     Западная экономика построена по принципу совместного функци-

онирования двух систем: планирующей (для крупных фирм) и рыночной

(для мелких фирм и частных лиц). Планирующая система является до-

минирующей - она диктует цены рыночной системе.

     В планирующей системе не действуют законы рынка:

     - она может произвольным образом устанавливать цены на това-

ры и услуги;

     - может навязывать потребителю любой товар ("промывая мозги"

при помощи рекламы);

     - кризисы перепроизводства почти не затрагивают планирующую-

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

тему, которая, в конечном итоге, всегда платит за ошибки планиру-

ющей системы.

     Фирмы Intel,IBM и Microsoft явно принадлежат к планирующей

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

ность явно вызывает кризис в мировой компьютерной индустрии.

     Архитектура компьютеровIBMAT  имикропроцессоровIntel

принципиально устарела. Система Windows стала сверхуниверсальной,

что приводит к чрезвычайному замедлению работы компьютеров.

     За кризисв  конечномитогерасплатится рыночная система,

т.е. потребители.

                IV. ПРАВИЛА РАБОТЫ С ЛИТЕРАТУРОЙ

     Книги стоят дорого! Как найти хорошую книгу среди тысяч пос-

редственных?

     1. Хорошаякнига обычно написана от первого лица,посредс-

твенная - от третьего.

     2. Признак явной халтуры - отсутствие картинок (т.е.  образ-

ных моделей).

     3. Следуетизбегатькниг с названием "учебник" и книг "для

чайников". Обычно учебники пишут теоретики - люди,полностью от-

резанные от реальности и практических навыков по рассматриваемому

в книге предмету. Книги "для чайников" пишут люди, только начина-

ющие изучать описываемые ими вопросы.

     Проблемы: хорошиекнигиобычно  издаются малыми тиражами и

дорого стоят.

                  V. ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

     1. Что такое модель?

     Модель -это нечто,  чем можно заменить физический объект в

процессе эксперимента.

     2. Зачем нужна модель?

     Экспериментировать с физическим объектом может бытьдорого,

неудобно или опасно.

     3. Зачем нужно имитационное моделирование?

     Когда задача имеет слишком большую размерность или не подда-

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

иммитационное моделирование.

   4. Профессиональные тренажеры и компьютерные игры.

                      VI. МАШИННАЯ ГРАФИКА

     1. Компьютернаяграфикапозволяет  наглядно отображать ре-

зультаты моделирования.

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

компьютеров. На аппаратном уровне оперативная, графическая и дис-

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

     3. Организация видеопамяти.Рисование точки. Рисование ста-

тической картинки.  Рисование буквы. Рисование плоских движущихся

изображение.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                            ЛЕКЦИЯ N2

                    I. ОРГАНИЗАЦИЯ ВИДЕОПАМЯТИ

              1. Восьмибитовый режим (256 цветов).

             1.1. Режим с разрешением 320х200 точек.

     Линейное адресное пространство 64 кб (адреса A0000h-AFFFFh).

Используется таблица  цветов - можно выбрать 256 из 25180 возможных

оттенков.

    1.2. Режимы с более высоким разрешением и стандарт VESA.

     Возможна либостраничнаяадресация через сегменты по 64 кб

(по адресу A0000h-AFFFFh),либо линейная адресацияпространства

объемом до 64 Мб (по адресу E0000000h-E3FFFFFFh).

2. 24- и 32-битовый режимы (True color).

     Возможна либостраничнаяадресация через сегменты по 64 кб

(по адресу A0000h-AFFFFh),либо линейная адресацияпространства

объемом до 64 Мб (по адресу E0000000h-E3FFFFFFh).

                    II. АНИМАЦИЯ В ДВУМЕРНОМ

            ПРОСТРАНСТВЕ И ПСЕВДОТРЕХМЕРНАЯ АНИМАЦИЯ.

     Экономия процессорноговремени(обмен  "память-быстродейс-

твие"):  приреализациидвумерной графики обычно не нужно пере-

рассчитывать изображение для каждого объекта в каждом новомкад-

ре.  Изображениявсехобъектов могут быть рассчитаны заранее (с

помощью профессиональных анимационных программ),записаны в фай-

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

память компьютера.  Движущиеся объекты отличаются от  неподвижных

тем, что требуют по несколько картинок для описания отдельных фаз


                              - 2 -

каждого возможного движения (3-16 фаз на один тип движения).

     Аппроксимация. Влияниеразрешенияна  качество   картинки.

Лестничный эффект.

     Скорость обмена данными с кеш-памятью, оперативной памятью и

видеопамятью.

     Необходимо вначаленакопить данные в оперативной памяти,и

уже затем выводить в видеопамять изображение нового кадра.

     Расход памяти.Использование симметрии при отображении пос-

тупательных и  вращательных движений для экономии оперативной па-

мяти. Разделение сложных объектов на несколько независимо отобра-

жаемых элементов.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                            ЛЕКЦИЯ N3

                      АНИМАЦИЯ В ДВУМЕРНОМ

            ПРОСТРАНСТВЕ И ПСЕВДОТРЕХМЕРНАЯ АНИМАЦИЯ.

     Расход памяти.Использование симметрии при отображении пос-

тупательных и  вращательных движений для экономии оперативной па-

мяти. Разделение сложных объектов на несколько независимо отобра-

жаемых элементов.

     Объекты с несколькими осями симметрии.Круг - объект с бес-

конечным числом осей симметрии. Иллюзия вращения круга.

     Сколько разныхподвижныхи  неподвижных объектов заданного

размера (при заданном числе фаз движения) можно сохранить вопе-

ративной памяти компьютера (заданного объема)?

     Фон. Лабиринты и псевдокарты. Прокрутка изображения.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                            ЛЕКЦИЯ N4

                      АНИМАЦИЯ В ДВУМЕРНОМ

ПРОСТРАНСТВЕ И ПСЕВДОТРЕХМЕРНАЯ АНИМАЦИЯ.

     Необходимо задать жесткие ограничения:

     - на размерность отображаемого пространства (на числокоор-

динатных осей);

     - на размер отображаемого пространства (площадь и глубину);

     - на сложность фона;

    - на число и сложность формы неподвижных объектов;

     - на число и сложность формы подвижных объектов, число типов

движений и число фаз движений;

     - намасштабируемость объектов (на сколько допустимо увели-

чение и уменьшение объекта);

     - на направление взгляда и угол обзора.

     Направление взгляда: сверху, сбоку, сверху-сбоку.

     Координатные оси.Двумерное,псевдотрехмерное и трехмерное

пространство.

     Ориентация осей в двумерном пространстве (относительно экра-

на монитора).

     ┌─────── x

     │

     │

     │

     y

     Ориентация осей в трехмерном пространстве (оси x и y - как в

двумерном, ось z направлена от оператора вглубь экрана).

.

                              - 2 -

     Соотношение междусферическими и прямоугольными координата-

ми:

     x = 7r0 sin 7f0 cos 7Q

     y = 7r0 sin 7f0 sin 7Q

     z = 7r0 cos 7f

     Алгоритм художника.Примитивныйвариант  z-буферизации   в

псевдотрехмерной графике.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                            ЛЕКЦИЯ N5

                        ЗАДАНИЕ НА ЗАЧЕТ

     Задание: написать программу, выполняющую моделирование функ-

ционирования какой-либо системы и отображающую результаты модели-

рования на экране монитора в графическом виде.

     Каждый студентможет выбрать себе задание (тип моделируемой

системы) самостоятельно.  Программа может иметьформуигры,  но

обязательно должна  моделироватькакую-тореальную  систему или

процесс.

                          ОГРАНИЧЕНИЯ:

     1. Программа должна работать под операционной системой  DOS.

Нельзя использовать возможности Windows.

     2. Языки программирования: С, Паскаль или Ассемблер. Объект-

но-ориентированные возможности языков использовать нельзя.

     3. Ограничение награфическиережимы:  можноиспользовать

только режим  256цветов(1 байт видеопамяти на каждую точку) с

разрешением 320х200 точек или (вслучае  крайнейнеобходимости)

640х400 точек.

     4. Нельзяиспользовать никакие графические библиотеки - вы-

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

     5. Ограничение по быстродействию: программа должна сохранять

работоспособность на медленных 486-х компьютерах.

     6. Ограничение по оперативной памяти -нельзяиспользовать

более 500 кб основной памяти и более 1 Мб расширенной.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                            ЛЕКЦИЯ N6

                  ПЕРЕНОС И ПОВОРОТ ИЗОБРАЖЕНИЯ

           2Перенос и поворот в двумерном пространстве

     Перенос точки P(x,y) в точку P(x',y'):

     x' = x + 7D0x

     y' = y + 7D0y

     Поворот вокругцентра  координат(точка P(x,y) переходит в

точку P(x',y')):

     x' = x cos 7f0 - y sin 7f

     y' = x sin 7f0 + y cos 7f

                  Вычисления в матричной форме

     Перенос:

                                     ┌      ┐

                                     │ 10 │

                   [x' y'] = [x y 1] │ 01 │

                                     │7D0x 7D0y │

                                     └      ┘

     Удобнее работать с квадратной матрицей переноса (которая мо-

жет быть получена введением фиктивной переменной):

                                     ┌         ┐

                                     │ 10  0 │

                 [x' y' 1] = [x y 1] │ 010 │

                                     │7D0x 7D0y  1 │

                                     └         ┘

     Такую записьпринято называть записью в системе "однородных

координат".

     Поворот вокруг центра координат на угол 7f0:

                                ┌               ┐

                                │cos 7f0sin 7f0 │

                [x' y'] = [x y] │               │

                                │ -sin 7f0cos 7f0 │

                                └               ┘

.

                              - 2 -

                               ┌                     ┐

                               │cos 7f0sin 7f0   0   │

           [x' y' 1] = [x y 1] │ -sin 7f0cos 7f0   0   │

                               │   0      0      1   │

                               └                     ┘

     Поворот вокругпроизвольной точки с координатами (x400,y400) на

угол 7f0 может быть представлен формулой:

                      [x' y' 1] = [x y 1] R

     где через R обозначена матрица поворота размером 3x3.

     Такой поворот состоит из трех операций:

     1. Преобразование для переноса точки (x400,y400) в началокоор-

динат О:

                            ┌┐

                            │1   0   0 │

                       T' = │0   1   0 │

                            │ -x400 -y4001 │

                            └┘

     2. Поворот вокруг начала координат на угол 7f0:

                       ┌                     ┐

                       │cos 7f0sin 7f0   0   │

                  R400 = │ -sin 7f0cos 7f0   0   │

                       │   0      0      1   │

                       └                     ┘

     3. Перенос из начала координат в точку (x400,y400):

                            ┌           ┐

                            │ 1   0   0 │

                        T = │ 0   1   0 │

                            │ x400y4001 │

                            └           ┘

     Матрица R = T'R400T:

                       ┌                     ┐

                       │cos 7f0sin 7f0   0   │

                   R = │ -sin 7f0  cos 7f0   0   │

                       │   c410     c420     1   │

                       └                     ┘

     где

     c410 = x400 - x400 cos 7f0 + y400 sin 7f

     c420 = y400 - x400 sin 7f0 - y400 cos 7f

.

                              - 3 -

           2Перенос и поворот в трехмерном пространстве

     Перенос точки P(x,y,z) в точку P'(x',y',z'):

     x' = x + 7D0x

     y' = y + 7D0y

     z' = z + 7D0z

     В матричной форме:

                   [x' y' z' 1] = [x y z 1] T

                           ┌┐

                           │ 10  00 │

                       T = │ 01  00 │

                           │ 00  10 │

                           │7D0x 7D0y 7D0z1 │

                           └┘

     Поворотвокругосина угол 7a0:

                       ┌                     ┐

                       │   1      0      0   │

                  R4x0 = │   0     cos 7a0sin 7a0│

                       │   0    -sin 7a0cos 7a0│

                       └                     ┘

                       ┌                     ┐

                       │cos 7a0   0    -sin 7a0│

                  R4y0 = │   0      1      0   │

                       │sin 7a0   0     cos 7a0│

                       └                     ┘

                       ┌                     ┐

                       │cos 7a0sin 7a0   0   │

                  R4z0 = │ -sin 7a0cos 7a0   0   │

                       │   0      0      1   │

                       └                     ┘

     Поворот на угол 7a0 вокруг произвольной оси, заданной вектором

v, может быть представлен формулой:

                   [x' y' z' 1] = [x y z 1] R

где через R обозначена матрица обобщенного поворота размером 4x4.

.

                              - 4 -

     Такой поворот состоит из трех операций:

     1. Преобразованиедляпереноса  начальнойточки   вектора

v(x400,y400,z400) в начало координат О:

                          ┌                ┐

                          │1   0   00│

                     T' = │0   1   0 0  │

                          │0   0   10│

                          │ -x400 -y400 -z400 1│

                          └                ┘

     2. Поворот вокруг начала координатвыполняетсяв  полярных

координатах (как комбинация из нескольких поворотов):

                        ┌                     ┐

                        │cos 7Q0 -sin 7Q0   0   │

                 R4z5-10 = │  sin 7Q0cos 7Q0   0   │

                        │   0      0      1   │

                        └                     ┘

                        ┌                     ┐

                        │cos 7f0   0     sin 7f0│

                 R4y5-10 = │   0      1      0   │

                        │ -sin 7f0   0     cos 7f0│

                        └                     ┘

                        ┌                     ┐

                        │cos 7a0sin 7a0   0   │

                 R4v0=  │ -sin 7a0cos 7a0   0   │

                        │   0      0      1   │

                        └                     ┘

                        ┌                     ┐

                        │cos 7f0   0    -sin 7f0│

                 R4y0=  │   0      1      0   │

                        │sin 7f0   0     cos 7f0│

                        └                     ┘

                        ┌                     ┐

                        │cos 7Q0sin 7Q0   0   │

                 R4z0=  │ -sin 7Q0cos 7Q0   0   │

                        │   0      0      1   │

                        └                     ┘

     В результате получим матрицу:

                                    ┌             ┐

                                    │ r4110 r4120 r4130 │

              R5*0 = R4z5-10R4y5-10R4v0R4y0R4z0 = │ r4210 r4220 r4230 │

                                    │ r4310 r4320 r4330 │

                                    └             ┘

.

                              - 5 -

     Расширим эту матрицу до размера 4х4:

                          ┌               ┐

                          │ r4110 r4120 r41300  │

                     R400 = │ r4210 r4220 r42300│

                          │ r4310 r4320 r43300  │

                          │0   0   0   1│

                          └                 ┘

     3. Перенос из начала координат в точку (x400,y400,z400)):

                         ┌                ┐

                         │1   0   00│

                     T = │0   1   00│

                         │0   0   10│

                         │x400y400z400 1│

                         └                ┘

             Получаем матрицу обобщенного поворота:

                            R = T'R400T

     Следует отметить,чтов  компьютерной графике одновременно

используются оба способа описания пространства:в  прямоугольных

координатах рассчитывают перемещения, а в сферических - повороты.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                            ЛЕКЦИЯ N7

            РИСОВАНИЕ ЛИНИЙ, ОКРУЖНОСТЕЙ И ЭЛЛИПСОВ.

                     ЗАЧЕМ ЭТО НУЖНО ЗНАТЬ?

     Основной недостаток всех универсальных графических библиотек

- медленная работа (универсальная система всегда значительноус-

тупает по производительности специализированной).

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

ным риском:

     - программы библиотеки могут содержать ошибки, которые вы не

можете исправить (исходные коды программ обычно не поставляются);

     - возможны ошибки в документации на библиотеку (либо  просто

неточное описание ее функционирования);

     - в продажу,как правило,поступают уже сильноустаревшие

библиотеки- фирмы-разработчики не нуждаются в конкуренции с ва-

шей стороны.  Покупка чужой технологии всегда приводит к техноло-

гическому отставанию  - вы сами себя изгоняете с рынка за свои же

собственные деньги;

     - разработчикбиблиотекив любой момент может перестать ее

развивать;

     - в компьютерной промышленности периодически происходят кри-

зисы, уничтожающие целые классы ("ряды") морально устаревшихвы-

числительных машин.  Заменяющиеих принципиально новые системы в

течение нескольких лет могут не иметьнеобходимого  программного

обеспечения.

     Проектировщики систем управления постоянно имеют дело с  но-

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

программное обеспечение.

.

                                - 2 -

                         РИСОВАНИЕ ЛИНИИ

                      (алгоритм Брезенхема)

     "Несмотря на всю сложность программирования графики, в осно-

ве любой графической функции лежит несколько на удивление простых

функций, называемых графическими примитивами.Такими примитивами

являются прорисовка точек, линий, окружностей, а также заполнение

областей и перемещение битовых образов. Многие годы в графическое

оборудование встраивался  тот или иной набор графических примити-

вов. Такой примитив, как рисование линии, особенно широко исполь-

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

тизированной разработки.

     У каждой функции рисования линии есть две важнейшие характе-

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

рисует, к реальной линии.  Разрешение компьютера ограничено, поэ-

тому программа может приближать реальную линию только сериями то-

чек, устанавливаемых  в заданном направлении.Эта последователь-

ность точек должна создавать хороший зрительный эффект - то,что

нарисовано, должно  быть похоже на линию.  Во-вторых,чтобы быть

полезной, функция рисования линиидолжна  работатьбыстро.Ми-

ни-компьютеры и большие машины имеют аппаратно встроенные функции

рисования линии.У персональных же компьютеров  аппаратнойпод-

держки рисования линии нет."

                                                      Майкл Абраш

     Появление аппаратной поддержки графики вПЭВМ(графические

ускорители, команды MMX).

     Приближение реальной линии набором пикселей.  Лестничный эф-

фект.

     Алгоритм Брезенхема:

     Алгоритм идет по оси,проекция линии на которую больше (ос-

новной оси),и проверяет соседние точки по другой  оси,выбирая

ту, что ближе к реальной линии. Текущая ошибка отклонения исполь-

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

чтобы лучше приблизить реальную линию.

     Для того, чтобы можно было работать только с целыми числами,

избегая вычислений с плавающей запятой, достаточно промасштабиро-

вать картинку.

     Благодаря использованиютолько целочисленной арифметики ал-

горитм Брезенхема является одним из самых простых и быстрых алго-

ритмов.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                            ЛЕКЦИЯ N8

                      РИСОВАНИЕ ОКРУЖНОСТЕЙ

                     (алгоритм Харденбурга)

     Уравнение окружности:

    R520 = X520 + Y52

     С точки зрения программированиядостаточнорассчитать  1/8

часть окружности  -остальныеточки могут быть получены за счет

симметрии.

     Обычно начинают рисовать из точки,где координата по основ-

ной оси (по которой приращение больше) равна 0, а по неосновной -

радиусу. Каждая следующая точка получается из формулы:

                  7|\\\\\\\\

     MinorAxis = 7?0 R520 - MajorAxis52

     где R - радиус,

     MinorAxis - координата по неосновной оси,

    MajorAxis - координата по основной оси.

     Недостаток - нужно вычислять квадратный кореньииспользо-

вать арифметику с плавающей запятой. Желательно, однако, работать

только с целочисленной арифметикой.

     Вместо вычисления такого выражения для каждой  точкидоста-

точно отслеживать текущие значения MinorAxis520иR520 - MajorAxis52

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

MinorAxis520 становится меньше R520 - MajorAxis520.

     Ошибка накопления- не целое число.Однако никаких проблем

это не создает. Координату по неосновной оси нужно изменять, ког-

да

                      (Y - 0.5)520 > R520 - X52


                              - 2 -

     Однако:

                   (Y - 0.5)520 = Y520 - Y + 0.25

     РазностьY520 - Yвычисляется  в целых числах,а 0.25 можно

просто игнорировать,  потому что разность R520 - X520, которую мы бу-

дем сравнивать с ошибкой накопления по Y, всегда целое число. Ес-

ли R520 - X520 равен Y520 - Y,то на самом деле R520 - X520 меньше ошибки.

Следовательно, неосновную координату нужно менять, когда

                       Y520 - Y>=R520 - X520.

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

менив операцию взведения в квадрат (умножения) на сдвиг, сложение

и инкремент (для 486-х и более мощных процессоров такая замена не

имеетсмысла):

                     (a + 1)520 = a520 + 2a + 1.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                            ЛЕКЦИЯ N9

                       2РИСОВАНИЕ ЭЛЛИПСОВ

     Современные микропроцессоры,используемыев   персональных

ЭВМ, включают  всебябыстродействующиеблоки для вычислений с

плавающей запятой. Это позволяет рассчитывать любые эллипсы.

     Однако ненаклонныеэллипсы можно достаточно быстро прорисо-

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

эллипс описывается уравнением:

                          x520    y52

                         ─── + ─── = 1.

                          A520    B52

     следовательно

                              7|\\\\

                             7/0     B520x52

                       y =7/0 B520 - ──── ,

                           7?0        A52

     где полученное значение Y необходимо округлить до ближайшего

целого.

     Так как эллипс имеет две оси симметрии, то вычисления доста-

точно выполнить для оного из четырех квадрантов. Сначала рисуется

дуга, гдеосновной осью является X,затем - дуга,где основной

осью является Y.  Затем полученные точки отображаются на триос-

тальных октанта.

     Точка, в которой ось перестает быть основной, вычисляется по

формуле

                          B520x520 = A520y520 .

.

                              - 2 -

     2ПРЯМАЯ РАБОТА С ПАМЯТЬЮ В СОВРЕМЕННЫХ ВИДЕОКОНТРОЛЛЕРАХ

     Вообще говоря,изобилиевидеорежимов  является результатом

несогласованной и непродуманной технической и маркетинговой поли-

тики фирм-изготовителей аппаратуры. Фирмы просто не смогли вовре-

мя выработать общий стандарт, что и породило хаос.

     Само посебе  использование данных ПЗУ видеокарты для прог-

раммирования режимов работы той же карты являетсягрубым  техни-

ческим просчетом- гораздо рациональнее было бы возложить проце-

дуру переключения режимов не на основной процессор,а  насобс-

твенный процессор видеокарты.

     Кроме того,со времени разработки первых видеокарт дляIBM

PC вконструкции видеокарт сохранилось множество нелепых анахро-

низмов, что делает невозможным прямое управлениеработой  видео-

карты на аппаратном уровне.

     Для обеспечения нормальной работы видеокарты в режимахSVGA

встроенная в  картумикросхема видео-BIOS должна соответствовать

стандарту VESA  v2.0 или более позднему.Ранние версии стандарта

VESA не поддерживали режимы True Color и прямую адресациювидео-

памяти.

                      2Установка видеорежима

     Видеорежим устанавливаетсявызовом прерывания 10h с номером

функции 4F02h. В регистр BX нужно код видеорежима:

     100h-   640x400 256 цв.,

     101h-   640x480 256 цв.,

     103h-   800x600 256 цв.,

     105h  -1024x768 256 цв.,

     107h  - 1280x1024 256 цв.,

     112h  -   640x480 TrueColor,

     115h  -   800x600 TrueColor,

     118h  -1024x768 TrueColor,

     11Bh- 1280x1024 TrueColor.

     Например, нужно установить режим 640x480 TrueColor:

     mov   AX,4F02h

     mov   BX,112h

     int   10h

.

                              - 3 -

                     2Выбор окна видеопамяти

     Вследствие ошибки,допущенной еще при разработке процессора

Intel 8086, вся размещенная на видеокарте память оказалась разде-

ленной на кусочки размером по 64 кб - так называемые"окна"или

"страницы".  Процессорувкаждый момент времени доступно только

одно такое окно,и для доступа к другому требуется вызвать прог-

рамму видео-BIOS,  переключающую окна (на аппаратном уровне такое

переключение выполнить сложно - видеокарты разных фирм используют

для этого регистры с разными номерами).

     Например, в режиме TrueColor 640x480 при четырехбайтовой ко-

дировке цвета точки одному кадру соответствует 1228800 байт памя-

ти, или 18,75 страниц по 64 кб.

     Переключение номераактивного(доступного процессору) окна

выполняется вызовом прерывания 10h с номером функции 4F05h. В ре-

гистр BH нужно записать 0,в регистр DX - номер окна.Само окно

будет размещено по адресу A0000h.

     Например, нужно обратиться к данным в девятом окне:

     mov   AX,A000h

     mov   ES,AX

     mov   AX,4F05h

     mov   BH,0

     mov   DX,9

     int   10h

           2Установка логической длины строки развертки

     Страницы видеопамяти отображаются на экран  последовательно,

друг за  другом.При этом на экран отображается только некоторая

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

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

шрифтов и масок, для z-буферизации и пр.

     ╔══════════════╗

     ║              ║

     ║              ║─── видимая часть видеопамяти

     ║              ║

     ╠══════════════╣

     │              │

     │              │

     │              │─── невидимая часть

     │              │

     │              │

     └──────────────┘


                              - 4 -

     Однако, если ширина экрана в пикселах не равна 25N0 (256, 512,

1024 или 2048), то концы страниц не будут совпадать с концами ви-

деострок, что порождает множество проблем - привычерчивании,  к

примеру, линии на экране, придется при выводе каждой точки выпол-

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

переключать страницу.

     Постоянный контроль границы страницыичастое  программное

(через VESA-BIOS)  переключение страниц чудовищно замедляет вывод

информации на экран (в сотни или тысячи раз).

     Эту проблему можно частично разрешить,реорганизуя видеопа-

мять таким  образом,чтобы логическая длина строки (длина строки

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

25N0:

      видимая область

             │

     ╔══════════════╦────────┐

     ║              ║        │

     ║              ║        │

     ║              ║        │

     ╠══════════════╝        │

     │                       │─── невидимая область

     │                       │

     └───────────────────────┘

     Установка новой логической длины строки выполняется  вызовом

прерывания 10h с номером функции 4F065h. В регистр BL нужно запи-

сать 0, в регистр CX - требуемую ширину строки в пикселах.

     Например, устанавливаем длину строки равной 1024 пиксела:

     mov   AX,4F06h

     mov   BL,0

   mov   CX,1024

     int   10h

     В 8-битовом режиме (256 цветов) на одну точку  приходится1

байт данных, в 32-битовом режиме True Color - 4 байта. Если логи-

ческая длина строки равна 1024 пиксела, то на одну страницу будет

приходиться соответственно 64 строкив 256-цветном режимеи16

строк - в режиме True Color.

     Более радикальный способ используется в программах  трехмер-

ной графики, где каждую точку в каждом кадре приходится перезапи-

сывать по несколько раз.  Видеопамять работаетмедленнееОЗУи

намного медленнее  кэш-памяти.Поэтому(с точки зрения скорости

работы) выгодно выделить в ОЗУ буфер кадра (от 2 до 8 Мб),пост-


                              - 5 -

роить там  изображениеи переписать готовый кадр в память видео-

карты.

     Для двумернойграфикитакой  способвыигрышапо скорости

обычно не дает - двумерная графика работает с небольшими областя-

ми экрана,а не с целым кадром,и переписывать весь кадр только

ради изменения незначительной его части невыгодно.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                           ЛЕКЦИЯ N10

                     2ОРГАНИЗАЦИЯ ВИДЕОПАМЯТИ

             2Организация памяти в режиме True Color

     Каждый пиксел описывается четырьмя байтами данных - по одно-

му для задания интенсивности каждого из основныхцветов  иодин

резервный - для "выравнивания" длины передаваемых данных на 25N0:

             31     24 23     16 15     8   7     0

             ┌┬┬┬┬┬┬┬┐ ┌┬┬┬┬┬┬┬┐ ┌┬┬┬┬┬┬┬┐ ┌┬┬┬┬┬┬┬┐

             └┴┴┴┴┴┴┴┘ └┴┴┴┴┴┴┴┘ └┴┴┴┴┴┴┴┘ └┴┴┴┴┴┴┴┘

                 3         2         1         0

             резервныйкрасный   зеленый    синий

              (ноль)

       2Пограммирование таблицы цветов в 256-цветном режиме

     В восьмибитовомрежиме каждому из 256 кодов поставлен в со-

ответствие определенный оттенок.Часто бывает необходимо переоп-

ределить набор оттенков (стандартный набор неудобен).

     Каждый оттенок задается тремя 6-битовыми значесниями,  опре-

деляющими интенсивности красного, зеленого и синего.

     Перезапись таблицыоттенковвыполняется вызовом прерывания

10h с номером функции 1012h. В регистр BX нужно записать 0, в ре-

гистр CX записать 256,  в пару регистров ES:DX - указатель на на-

чало таблицы размером 3*256 байтов,где в каждой группе изтрех

байтов записаны (побайтно) значения интенсивностей красного,си-

него и зеленого (могут принимать значения только от 0 до 63).

     Пример:

     mov   AX,DATASEG

     mov   ES,AX

     mov   DX, offset ColorTable

     mov  AX,1012

     mov   BX,0

     mov   CX,256

     int   10h

.

                                - 2 -

                    ЗАКРАСКА МНОГОУГОЛЬНИКОВ

     Проблема закраски многоугольников возникает в двух  основных

случаях:

     - в двумерной графике - при рисовании многоугольников в гра-

фических редакторах;

     - в трехмерной графике - при отображении на экране какой-ли-

бо плоской поверхности.

     Наиболее эффективным (быстрым) способом  закраски(заливки)

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

     - если многоугольник невыпуклый,его разделяют на несколько

треугольников или выпуклых многоугольников;

     - определяют вершины выпуклого многоугольника, имеющие мини-

мальную и максимальную координаты по Y (верхнюю и нижнюю вершины);

    - сканируют  многоугольник построчно,  определяя начальную и

конечную координаты по X,  для чего (используя алгоритм Брезенхе-

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

     - используя массив начальных и конечных точек (XB[i],XE[i]),

выводят многоугольник построчно в видеопамять.

     На самом деле, таким способом можно строить не только выпук-

лые многоугольники.  Важно только,чтобы любую строку пересекало

ровно два ребра многоугольника.

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

на экран будет состоять из ряда многоугольников. Однако на экране

видны не все грани фигуры - перед выводом на экран необходимо тем

или иным способом удалить невидимые поверхности, для чего сущест-

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

числить интенсивность цвета (сумму интенсивностейотраженного  и

рассеянногосвета) в зависимости от расположения источников све-

та.

     При работе с кривыми поверхностями их также  представляютв

виде многоугольников (обычно - треугольников),однако таких эле-

ментов для достаточно точной аппроксимации нужно многои  прихо-

дится использовать  алгоритмысглаживания,что сильно замедляет

вычисления - на каждую точку поверхности приходится несколько ма-

тематических операций. В настоящее время даже графические станции

не позволяют в реальном времени изображать движение сложного объ-

екта в реальном мире.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                           ЛЕКЦИЯ N 11

                   ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

     1. Что такое модель?

     Модель -это нечто,  чем можно заменить физический объект в

процессе эксперимента.

     2. Зачем нужна модель?

     Экспериментировать с физическим объектом может бытьдорого,

долго, неудобно или опасно.

     3. Зачем нужно имитационное моделирование?

     Когда задача имеет слишком большую размерность или не подда-

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

чинам, используют иммитационное моделирование.

     Управление всовременноммире становится все более трудным

делом, поскольку организационная структура нашего общества услож-

няется. Эта сложность объясняется характером взаимоотношений меж-

ду различными элементами наших организаций и физическими система-

ми, с которыми они взаимодействуют.Хотя эта сложность существо-

вала давно,мы только сейчас начинаем понимать ее значение.  Те-

перь мы сознаем, что изменение одной из характеристик системы мо-

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

ниях вдругихчастях системы.В связи с этим получила развитие

методология системного анализа ("исследование операций","теория

управления"), котораябыла призвана помочь руководителям и инже-

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

ности, с появлением электронных вычислительных машин одним из на-

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

сов и систем стало имитационное моделирование.Имитировать, зна-

чит "вообразить,  постичь суть явления, не прибегая к эксперимен-

там на реальном объекте".

     По существу, каждая модель есть форма имитации. Имитационное

моделирование является  широким и недостаточно четко определенным

понятием, имеющим очень большое значение длялиц,  ответственных

за проектирование и функционирование систем.

     Подобно всем мощным средствам,существенно зависящим от ис-

кусства их применения,  имитационное моделирование способно  дать

либо очень хорошие,  либо очень плохие результаты. Оно может либо

пролить свет на решение проблемы, либо ввести в заблуждение. Поэ-

тому важно,чтобы руководитель или тот,кто принимает решения и

будет пользоваться результатами моделирования,представлял  себе


                                - 2 -

смысл вводимых  допущений,сильные и слабые стороны метода,его

преимущества и тонкости.  Подлинное умение пользоваться  техникой

имитационного моделирования можно приобрести лишь на опыте.

     Определение:

     2Имитационное моделирование  есть процесс конструирования мо-

2дели реальной системы и постановки экспериментов на этой модели с

2целью либо понять поведение системы, либо оценить (в рамках огра-

2ничений, накладываемых некоторым критерием или совокупностью кри-

2териев) различные стратегии, обеспечивающие функционирование дан-

2ной системы.

     Таким образом,процесс имитационного моделирования мы пони-

маем как процесс, включающий и конструирование модели, и аналити-

ческое применение модели для изучения некоторой проблемы. Под мо-

делью реальной  системы мы понимаем представление группы объектов

или идей в некоторой форме,отличной от их реального воплощения.

Термин "реальный" используется в смысле "существующий или способ-

ный принять одну из форм  существования".  Системы,существующие

еще только на бумаге или находящиеся в стадии планирования, могут

моделироваться так же, как и действующие системы.

     Согласно нашему определению, термин имитационное моделирова-

ние может также охватывать стохастические модели и эксперименты с

использованием метода Монте-Карло.Иными словами, входы модели и

функциональные соотношения между ними могут содержать,а могут и

не содержать элемент случайности, подчиняющийся вероятностным за-

конам. Более того, мы не ограничиваем наше определение имитацион-

ного моделирования лишь экспериментами, проводимыми с помощью ма-

шинных моделей.  Много полезных видов имитационного моделирования

может быть осуществлено всего лишь при помощи карандашаилиста

бумаги.

     Имитационное моделированиеявляется   экспериментальной   и

прикладной методологией, имеющей целью:

     - описать поведение систем;

     - построить теории и гипотезы,которые могут объяснить наб-

       людаемое поведение;

     - использоватьэти теории для предсказания будущего поведе-

       ния системы, т.е. тех воздействий, которые могут быть выз-

       ваны изменениями в системеилиизменениями  способовее

       функционирования.

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

быть классифицированы в соответствии с научнымидисциплинами,  в

которые они уходят своими корнями (например,с физикой или хими-

ей), имитационное моделирование применимо в любой отрасли науки.


                                - 3 -

     Для моделирования системы нам необходимо  поставитьискусс-

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

туации. Для этого мы должны придумать способ имитации искусствен-

ной последовательности происходящих в системе событий.

     Модель является представлением объекта,системы или понятия

(идеи) в некоторой форме,  отличной от формы их реального сущест-

вования. Модель служит обычно средством,помогающим нам в объяс-

нении, понимании или совершенствовании системы. Модель какого-ли-

бо объекта может быть или точной копией этого объекта (хотя и вы-

полненной из другого материала и в другом масштабе),или отобра-

жать некоторые характерные свойства объекта в абстрактной форме.

     2Примечание: абсолютно  точноймодельюобъекта является сам

2этот объект. Все остальные модели - приближенные.

     Модель -это используемый для предсказания и сравнения инс-

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

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

них отдать предпочтение.  Кроме того, модель может служить эффек-

тивным средством общения и осмысления действительности.Имитация

- всего лишь один из видов моделирования.

     По существу,прогресс науки и техники тесно связан с разви-

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

Одним из главных элементов,необходимых для эффективного решения

сложных задач,  является построение и соответствующее использова-

ние модели.Такая модель может принимать разнообразные формы, но

одна из  наиболееполезных и наиболее употребительных форм - это

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

венные черты изучаемых реальных систем и явлений. К сожалению, не

всегда возможно создать математическую модель в узком смысле сло-

ва. При изучении большинства промышленных и военных систем мы мо-

жем определить цели,  указать ограничения и предусмотреть,  чтобы

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

При этом могут быть вскрыты и представлены в той или иной матема-

тической форме  существенные связи в системе.В отличие от этого

решение, к примеру,  экологических проблем связано с  неяснымии

противоречивыми целями,  а также с выбором альтернатив, диктуемых

политическим и социальным факторами.

     2Следовательно, модель должна описыватькак  количественные,

2так и качественные характеристики системы.0

     Модель может применяться в качестве:

     - средства осмысления действительности;

     - средства общения;

     - средства обучения и тренировки;


                                - 4 -

     - инструмента прогнозирования;

     - средства постановки экспериментов.

     Полезность модели как средства осмысления реальных связей  и

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

ши нечеткие или противоречивые понятия инесообразности.Модель

помогает нам выявить взаимосвязи,временные соотношения, требуе-

мые ресурсы и т.п.  2Уже сама попытка представить  нашисловесные

2формулировки и  мысли в какой-то иной форме часто выявляет проти-

2воречия и неясности.0Правильно построенная модель вынуждаетнас

организовать наши замыслы, оценить и проверить их обоснованность.

     Как средство общения хорошо продуманная модель не имеет себе

равных. "Лучше один раз увидеть,чем сто раз услышать". Все язы-

ки, в основе которых лежит слово, в той или иной мере оказываются

неточными, когда дело доходит до сложных понятий и описаний.2 Пре-

2имущество модели перед словесными описаниями - в сжатости иточ-

2ности представления заданной ситуации.0 Модель делает более понят-

ной общую структуру исследуемого объекта и 2вскрывает важныепри-

2чинно-следственные связи.

     Модели применялись и продолжают широко применяться в качест-

ве средства профессиональной подготовки и обучения. Модель - пре-

восходное средство подготовки операторов, которые должны научить-

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

альной критической ситуации в системе управления.

     Одним из наиболее важных применений моделей является прогно-

зирование поведения моделируемых объектов.Строить сверхзвуковой

реактивный самолет для определения его летных характеристикэко-

номически нецелесообразно,однако  онимогутбыть  предсказаны

средствами моделирования.

     Наконец, применение моделей позволяет проводить контролируе-

мые эксперименты в ситуациях, где экспериментирование на реальных

объектах было бы практически невозможным или экономически нецеле-

сообразным. Непосредственное экспериментирование с системой(на-

турный эксперимент)  обычносостоитв варьировании некоторых ее

параметров; поддерживая остальные параметры неизменными, наблюда-

ют результат эксперимента.Когда ставить эксперимент на реальной

системе слишком дорого, используют ее модель.2 При экспериментиро-

2вании с моделью сложной системы мы часто можем больше узнать о ее

2внутренних взаимодействующих факторах, чем могли бы узнать, мани-

2пулируя реальной системой. Это становится возможным благодаря из-

2меряемости структурных элементов модели,благодаря тому,что мы

2можем полностью контролировать ее поведение, легко измерять пара-

2метры.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                           ЛЕКЦИЯ N 12

                   ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

     Модель может служить для достижения одной ид  двухосновных

целей:либоописательной,  еслимодель служит для объяснения и

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

воляет предсказывать и воспроизвести характеристики объекта,оп-

ределяющие его поведение.  Модель предписывающего типа обычно яв-

ляется и описательной,  но не наоборот, Это означает, что предпи-

сывающая модель почти всегда является описательной по отношению к

моделируемому  объекту,но описательная модель не всегда полезна

для целей планирования и проектирования.

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

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

средств,которые использовались при построении моделей, и разли-

чий в конечных целях, которые при этом ставились. В технике моде-

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

или более совершенных систем,в то время как в социальных науках

модели объясняют существующие системы.Модель, пригодная для це-

лей разработки системы, должна также и объяснять ее, но очевидно,

чтомодели,создаваемые исключительно для объяснения,часто не

соответствуют даже своему прямому назначению.

                      2Классификация моделей

     Модели вообще и имитационные модели в частности можно  клас-

сифицировать различными способами. К сожалению, ни один из них не

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

ленной цели. Укажем некоторые типовые группы моделей, которые мо-

гут быть положены в основу системы классификации:

    - статические (например, поперечный разрез объекта) и динами-

      ческие (временные ряды);

    - детерминистские и стохастические;

    - дискретные и непрерывные;

    - натурные, аналоговые, символические.


                              - 2 -

     Удобно представлятьсебеимитационные модели в виде непре-

рывного спектра,  простирающегося от точных моделей  илимакетов

реальныхобъектов до совершенно абстрактных математических моде-

лей.

┌────────┬───────────┬────────┬───────────┬───────────┬──────────┐

│ Физи-  │ Масштаби- │ Анало- │ Управлен- │ Моделиро- │ Матема-│

│ ческие │ рованные│ говые  │ ческие    │ вание на│ тические │

│ модели │ модели    │ модели │ игры      │ ЭВМ       │ модели   │

└────────┴───────────┴────────┴───────────┴───────────┴──────────┘

Точность                                             Абстрактность

     Модели, находящиеся в начале спектра, часто называются 2физи-

2ческими0 или натурными, потому что они внешне напоминают изучаемую

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

быть 2масштабирована0 - подвергнута уменьшению или увеличению,

     2Аналоговыми0 моделями являются модели, в которых свойство ре-

альногообъекта представляется некоторым другим свойством анало-

гичного по поведению объекта. Задача иногда решается путем замены

одного свойства другим, после чего полученные результаты надо ис-

толковывать применительно к исходным свойствам объекта.Аналого-

вая ЭВМ, в которой изменение напряжения в электрической схеме оп-

ределенной конфигурации может отображать поток товарок кнекото-

рой системе, является превосходным примером аналоговой имитацион-

ной модели.

     График представляет собой аналоговую  модельдругоготипа;

здесь расстояние отображает такие характеристики объекта как вре-

мя, срок службы, количество единиц и т. д. График может также по-

казывать соотношение между различными количественными характерис-

тиками и может предсказывать,как будут изменяться некоторые ве-

личиныпри изменении других величин.Для некоторых относительно

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

нойзадачи.Часто  применяютсятакжеаналоговые модели в виде

схем, описывающих взаимосвязи между элементами объекта.

     По меренашего  продвижения по спектру моделей мы достигнем


                              - 3 -

тех из них, где во взаимодействие вступают люди и машинные компо-

ненты.Такое моделирование часто называют 2играми0 (управленчески-

ми,военными, планировочными). Поскольку процессы принятия реше-

нийуправленческим звеном или командным составом армии моделиро-

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

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

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

ной машины (которая моделирует другие свойства системы), и прини-

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

затем снова вводятся и машину в качестве входной информации,ко-

торая используется системой.Продолжая этот процессдальше,  мы

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

понимается под термином  "моделирование".  Вычислительнаямашина

можетбытькомпонентом  всех имитационных моделей рассмотренной

части спектра, хотя это и не обязательно.

     К 2символическим0, или математическим, моделям относятся те, в

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

волы,а не физические устройства. Обычным примером представления

систем в этом случае можно считать системы дифференциальных урав-

нений.Поскольку они представляют собой наиболее абстрактные  и,

следовательно, наиболее общие модели, математические модели нахо-

дят широкое применение в системных исследованиях. Однако примене-

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

и ловушки. Символическая модель является всегда абстрактной идеа-

лизацией задачи, и, если хотят, чтобы эта модель позволяла решить

задачу,необходимы некоторые упрощающиепредположения.Поэтому

особое внимание должно быть обращено на то,чтобы модель служила

действительным представлением данной задачи.

     При моделировании сложной системы исследователь  обычновы-

нужден использовать совокупность нескольких моделей. Любая систе-

ма или подсистема может быть представленаразличными  способами,

которые значительно отличаются друг от друга по сложности и дета-

лизации.В большинстве случаев в результате системных исследова-

нийпоявляются несколько различных моделей одной и той же систе-

мы.Но обычно по мере того, как исследователь глубже анализирует

илучшепонимает проблему,простые модели заменяются все более


                              - 4 -

сложными.

      2Достоинства и недостатки имитационного моделирования

     Все имитационные модели представляют собой модели  типатак

называемого "черного ящика".Это означает,  что они обеспечивают

выдачу выходного сигнала системы,если на  еевзаимодействующие

подсистемы поступает входной сигнал.Поэтому для получения необ-

ходимой информации или результатов необходимо осуществлять"про-

гон" имитационных моделей,а не "решать" их. Имитационные модели

не способны формировать свое собственное решение втом  виде,в

каком это имеет место в аналитических моделях,а могут лишь слу-

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

ях, которые определяются экспериментатором. Следовательно, имита-

ционное моделирование - не теория, а 2методология0 решения проблем.

Болеетого,имитационное моделирование является только одним из

нескольких имеющихся в распоряжении системного аналитикаважней-

ших методов решения проблем. Поскольку необходимо приспосабливать

средство или метод к решению задачи,а не наоборот, то возникает

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

полезно?

     Мы определили имитационное моделирование как экспериментиро-

ваниесмоделью реальной системы.Необходимость решения задачи

путем экспериментирования становится очевидной,когда  возникает

потребность получить о системе специфическую информацию,которую

нельзя найти в известных источниках. Непосредственное эксперимен-

тированиена реальной системе устраняет много затруднений,  если

необходимо обеспечить соответствие между моделью и реальнымиус-

ловиями;  однаконедостаткитакого  экспериментированияиногда

весьма значительны, поскольку:

     1. Оно может нарушить установленный порядок работы объекта.

     2. Если составной частью системы являются люди,  тонаре-

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

эффект, проявляющийся в том, что люди, чувствуя, что за ними наб-

людают, могут изменить свое поведение.

     3. Может оказаться сложным поддержание одних и тех  рабочих.


                              - 5 -

условийприкаждом  повторении эксперимента или в течение всего

времени проведения серии экспериментов.

     4. Для получения одной и той же величины выборки (и,  следо-

вательно, статистической значимости результатов экспериментирова-

ния) могут потребоваться чрезмерные затраты времени и средств .

     5. При экспериментировании с реальными системами может  ока-

затьсяневозможным исследование множества альтернативных вариан-

тов.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                           ЛЕКЦИЯ N 13

                   ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

     По этим причинам исследователь должен рассмотреть  целесооб-

разность применения имитационного моделирования при наличии любо-

го из следующих условий:

     1. Несуществует законченной математической постановки дан-

ной задачи,либо еще не разработаны аналитические методы решения

сформулированной математической модели. К этой категории относят-

ся многие модели массового обслуживания, связанные с рассмотрени-

ем очередей.

     2. Аналитические методы имеются, но математические процедуры

столь сложны и трудоемки, что имитационное моделирование даст бо-

лее простой способ решения задачи.

     3. Аналитические решения существуют, но их реализация невоз-

можна вследствие недостаточной математической подготовкиимеюще-

гося персонала. В этом случае следует сопоставить затраты на про-

ектирование, испытания и работу на имитационной модели с затрата-

ми, связанными с приглашением специалистов со стороны.

     4. Кроме оценки определенных параметров, желательно осущест-

вить на  имитационной модели наблюдение за ходом процесса в тече-

ние определенного периода.

     5. Имитационноемоделированиеможет оказаться единственной

возможностью вследствие  трудностейпостановкиэкспериментов  и

наблюдения явлений в реальных условиях;соответствующим примером

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

межпланетных полетов.

     6. Для долговременно действующих систем или процессов  может

понадобиться  сжатие временной шкалы.  Имитационное моделирование

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

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

желанию.

     Дополнительным преимуществом   имитационного   моделирования

можно считать широчайшие возможности его применения в сфере обра-

зования и профессиональной подготовки. Разработка и использование

имитационной модели позволяют экспериментатору видеть и "разыгры-


                              - 2 -

вать" на модели реальные процессы и ситуации. Это в свою очередь.

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

проблему, что стимулирует процесс поиска нововведений.

     Когда руководитель достигает подлинного понимания проблемы и

начинает  свободноуправлять своей моделью,он обретает способ-

ность видеть содержание своей работы с иных точек зрения.Он за-

хочет  проверитьнамодели  множество альтернативных вариантов,

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

использует  модельдляповышения  своего мастерства управления,

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

ные последствия вносимых в систему изменений. Возможно, он мог бы

проделать это и на реальной системе,но вследствие еесложности

это было бы очень утомительно и сопряжено с ошибками.Вот почему

он обращается к модели как к 2средству оценки0 своихновыхинтуи-

тивных предположений и умозаключений.

     Идея имитационного моделирования интуитивно привлекательна и

для руководителей,  и для исследователей систем  благодарясвоей

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

применять для решения каждой задачи, с которой приходится сталки-

ваться.И хотя людям с высокой математической подготовкой имита-

ционный подход представляется грубым силовым приемом илипослед-

ним средством,к которому следует прибегать,факт заключается в

том,что этот метод является распространенным инструментом в ру-

ках ученых.

     Несмотря на недостаточное математическое изящество, имитаци-

онное моделирование является одним из наиболее широко распростра-

ненных  количественных методов,  используемых при решении проблем

управления.  Большинство администраторов и исследователей заинте-

ресованы главным образом в решении своих неотложных задач,руко-

водствуясь девизом "цель оправдывает средства!". Но именно .забо-

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

вопросом: можно ли вообще опираясь на имитационное моделирование,

получить результаты также и наиболее эффективным способом?Ответ

нередко будет отрицательным по следующим причинам:

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

дорого и требует много времени,а также наличиявысокоодаренных

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


                              - 3 -

     2. Может показаться, что имитационная модель отражает реаль-

ноеположениевещей,  хотя в действительности это не так.  Если

этого не учитывать, то некоторые свойственные имитации особеннос-

ти могут привести к неверному решению.

     3. Имитационная модель в принципе не точна, и мы не в состо-

янии измерить степень этой неточности. Это затруднение может быть

преодолено лишь частично путем анализа чувствительности моделик

изменению определенных параметров.

     4. Результаты,которые дает имитационная модель, обычно яв-

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

после запятой,  выбираемым экспериментатором. В связи с этим воз-

никает  опасность  "обожествления  чисел",т.е.приписывания им

большей значимости, чем они на самом деле имеют.

     Приведенные соображения показывают,что,хотя имитационное

моделирование  является чрезвычайно ценным и полезным методом ре-

шения сложных задач,  этот метод, конечно, не панацея для решения

всех проблем управления. Разработка и применение имитационных мо-

делей все еще в большей степени искусство, нежели наука. Следова-

тельно, как и в других видах искусства, успех или неудача опреде-

ляется не столько методом, сколько тем, как он применяется.

                 СТРУКТУРА ИМИТАЦИОННЫХ МОДЕЛЕЙ

     Прежде чем начать разработку модели,необходимо понять, что

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

Хотя  математическаяилифизическая структура модели может быть

очень сложной, основы ее построения весьма просты. В общем случае

структуру модели мы можем представить в виде

                          E = f(x4i0,y4j0),

где E - результат действия системы:x4i0 - переменные и параметры,

которыми мы можем управлять; y4j0 - переменные и параметры, которы-

ми мы управлять не можем; f -4 0функциональная зависимость между х4i

и у4j0, которая определяет величину Е.

     Столь явное и чрезмерное упрощение полезно лишь тем, что оно


                              - 4 -

показывает зависимость функционирования системы как отконтроли-

руемых нами,так и от неконтролируемых переменных.Почти каждая

модель представляет собой,вообще говоря,некоторую  комбинацию

таких составляющих, как

     - структурные компоненты,

     - переменные,

     - параметры,

     - функциональные зависимости,

     - ограничения,

     - целевые функции.

     Под 2компонентами0 мы понимаем составныечасти,  которыепри

соответствующем  объединении образуют систему.  Иногда мы считаем

компонентами также элементы системы илиее  подсистемы.2Система

определяетсякак группа или совокупность объектов,  объединенных

некоторой формой регулярного взаимодействия или взаимозависимости

для выполнения заданной функции. Компоненты суть объекты, образу-

ющие изучаемую систему.

     2Параметры0 суть величины, которые оператор, работающий на мо-

дели,может выбирать произвольно, в отличие от переменных, кото-

рыемогутпринимать только значения,определяемые видом данной

функции. Смотря на это под другим углом зрения, мы можем сказать,

что параметры,  после того как они установлены, являются постоян-

ными величинами,  не подлежащими изменению. Например, в уравнении

y=3x число 3 есть параметр.

     В модели системы мы различаем 2переменные0 двух видов -экзо-

генные и эндогенные. Экзогенные переменные называются также вход-

ными,это значит,что они порождаются вне системы илиявляются

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

называются переменные,  возникающие в системеилив  результате

воздействия внутренних причин.Эндогенные переменные подразделя-

ются на переменные состояния (когда онихарактеризуют  состояние

или условия, имеющие место в системе) и выходные переменные (ког-

да речь идет о выходах системы). Статистики иногда называют экзо-

генные переменные независимыми, а эндогенные - зависимыми.


                              - 5 -

     2Функциональные зависимости0 описывают поведение переменныхи

параметроввпределах компонента или выражают соотношения между

компонентами системы.  Эти соотношения, или операционные характе-

ристики,посвоей природе являются либо детерминистскими,либо

стохастическими.  2Детерминистские соотношения0 - это тождества или

определения, которые устанавливают зависимость между определенны-

ми переменными или параметрами в тех случаях,когда  процессна

выходе  системы  2однозначно0  определяется заданной информацией на

входе. В отличие от этого 2стохастические соотношения0 представляют

собой такие зависимости,  которые при заданной входной информации

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

обычно выражаются в форме математического уравнения,которое ус-

танавливает зависимость между эндогенными переменными (переменны-

мисостояния) и экзогенными переменными.Обычно эти соотношения

можно строить лишь на основе гипотез или выводить с помощьюста-

тистического или математического анализа.

     2Ограничения0 представляют собой устанавливаемые пределы изме-

нениязначений переменных или ограничивающие условия распределе-

ния и расходования тех или иных средств (энергии, запасов, време-

ни и т.п.). Они могут вводиться либо разработчиком (искусствен-

ные ограничения),  либо самойсистемойвследствие  присущихей

свойств (естественные ограничения). Примерами искусственных огра-

ничений могут быть заданные максимальный и минимальный уровни за-

нятости  рабочихили установленная  максимальная сумма денежных

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

такоготипа,как ракета,  искусственным ограничением может быть

заданный радиус действия или максимальнодопустимый  вес.Боль-

шинствотехнических требований к системам представляет собой на-

бор искусственных ограничений.Естественные ограничения обуслов-

лены самой природой системы.Например, нельзя продать больше из-

делий,нем система может изготовить, и никто не может сконструи-

ровать систему, нарушающую законы природы. Таким образом, ограни-

чения одного типа обусловлены неизменными законами природы,в то

времякак ограничения другого типа,будучи делом рук человечес-

ких,могут подвергаться изменению.  Исследователювесьмаважно

помнитьоб этом,потому что в ходе своих исследований он должен

постоянно оценивать привнесенныечеловеком  ограничения,стем

чтобы ослабить или усилить их по мере необходимости.


                              - 6 -

     2Целевая функция0,или функция критерия, - это точное отобра-

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

полнения. Обычно выделяют два типа целей: 2сохранение0 и 2приобрете-

2ние0.  Цели сохранения связаны с сохранением или поддержаниемка-

ких-либо 2ресурсов0 (временных, энергетических, творческих и т. д.)

или 2состояний0 (комфорта, безопасности, уровня занятости н т. д.).

Целиприобретения связаны с приобретением новых ресурсов (прибы-

ли,  персонала,заказчиков и т. п.) или достижением определенных

состояний, к которым стремится организация или руководитель (зах-

ват части рынка и т.п.).  Выражение дляцелевойфункции  должно

быть  однозначнымопределением целей и задач,с которыми должны

соразмеряться принимаемые решения.

     2Критерий0 - это мерило оценки,правило или вид проверки, при

помощи которых составляется правильное суждение о чем-либо.Изб-

ранный критерий оказывает громадное влияние напроцесс  создания

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

обычно ведет к неправильным заключениям.Функция критерия (целе-

ваяфункция) обычно является органической составной частью моде-

ли, и весь процесс манипулирования с моделью направлен на оптими-

зацию или удовлетворение заданного критерия.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                           ЛЕКЦИЯ N 14

                   ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

                         АНАЛИЗ И СИНТЕЗ

     Даже небольшие участки реального мира слишком сложны,  чтобы

человек смог их полностью понять и описать.2Почти все проблемные

2ситуации чрезвычайно сложны и включают в себяпочти  бесконечное

2число элементов, переменных, параметров, соотношений, ограничений

2и т. д.0 Пытаясь построить модель, мы могли бы включить в нее бес-

конечное число фактов и потратить уйму времени,собирая мельчай-

шие факты,  касающиеся любой ситуации, и устанавливая связи между

ними.  Рассмотрим,например,простое действие, состоящее в том,

что вы берете лист бумаги и пишите на нем письмо. Ведь можно было

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

феля и резинки, влияние атмосферных условий на влажность бумаги и

влияние последней на силу трения,действующую на острие каранда-

ша, движущегося по бумаге; исследовать статистическое распределе-

ниебукв во фразах текста и т.д.Однако если единственный ас-

пект,который нас в данной ситуации интересует, это факт отправ-

ления письма,то ни одна из упомянутых подробностей не относится

к делу. 2Следовательно, мы должны отбросить большую часть реальных

2характеристик изучаемого события и абстрагировать из реальной си-

2туации только те особенности, которые воссоздают идеализированный

2вариант реального события.0 Все модели суть упрощенные представле-

ния реального мира или абстракции.Если они выполнены корректно,

то эти идеализации дают нам полезноё приближенное отображение ре-

альной ситуации или по крайней мере ее определенных особенностей.

     Сходство модели с объектом,который она отображает, называ-

ется 2степенью изоморфизма0.Для того чтобы быть изоморфной (т. е.

идентичной или сходной по  форме),модельдолжна  удовлетворять

двум условиям.

     Во-первых, должно существовать взаимно однозначное соответс-

твиемежду элементами модели и элементами представляемого объек-

та. Во-вторых, должны быть сохранены точные соотношения или взаи-

модействиямежду элементами.Степень изоморфизма модели относи-


                              - 2 -

тельна,и большинство моделей скорее гомоморфны,  чем изоморфны.

Под2гомоморфизмом0 мы понимаем сходство по форме при различии ос-

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

между различными группами элементов модели и объекта. Гомоморфные

модели являются результатом процессов упрощения и абстракции.

     Для разработки идеализированной гомоморфной модели мы обычно

разбиваем систему на некоторое число более мелких частей. Это де-

лается для того, чтобы должным образом интерпретировать их, т. е.

произвести требуемый анализ задачи. Такой способ действий зависит

от наличия частей или элементов,которые в первом приближении не

зависят друг от друга или взаимодействуют между собой относитель-

но простым образом.  Так,мы можем проанализировать режим работы

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

привод,систему подвески и т. д., хотя эти узлы не полностью не-

зависимы.

     С такогорода  анализом при построении модели близко связан

процесс упрощения реальнойсистемы  (подупрощениемпонимается

пренебрежение несущественными деталями или принятие предположений

о более простых соотношениях).Например,  мы часто предполагаем,

что между двумя переменными имеет место линейная зависимость, хо-

тя можем подозревать или дажезнать,  чтоистиннаязависимость

между ними нелинейна.  Мы предполагаем, что по крайней мере в ог-

раниченном диапазоне значений переменных такое приближениебудет

удовлетворительным.  Инженер-электрикработает с моделями цепей,

предполагая, что резисторы, конденсаторы и т. д. не изменяют сво-

их параметров;это упрощение,потому что мы знаем, что электри-

ческие характеристики этих компонентов изменяютсяа  зависимости

от температуры, влажности, срока службы и т. д.

     Ученый, изучающий проблемы управления, для построения полез-

ных моделей также прибегает к упрощению. Он предполагает, что его

переменные либо детерминированы (чрезвычайно упрощенная трактовка

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

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

как нормальное,  пуассоновское, экспоненциальное и т. д. Он также

зачастую  предполагает,чтозависимости между переменными носят


                              - 3 -

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

но.

     Другим аспектом анализа является абстракция - понятие, кото-

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

2Абстракция0  содержитили сосредоточивает в себе существенные ка-

чества или черты поведения объекта,но не обязательно втойже

формеи столь детально,как это имеет место в оригинале.Боль-

шинство моделей - это абстракции в том смысле,что они стремятся

представить  качестваиповедение моделируемого объекта в форме

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

всхемеорганизации работ мы пытаемся в абстрактной форме отра-

зить трудовые взаимоотношения между различными группамиработаю-

щихили отдельными членами таких групп.То обстоятельство,что

подобная схема только поверхностно отображает реальныевзаимоот-

ношения, не умаляет ее полезности для определенных целей.

     После тогокак  мы проанализировали и промоделировали части

или элементы системы, мы приступаем к их объединению в единое це-

лое.Иными словами,мы можем путем 2синтеза0 относительно простых

частей сконструировать некоторое приближение ксложной  реальной

ситуации.Здесь важно предусмотреть два момента.  Во-первых, ис-

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

во-вторых,  должнобыть корректно предсказано их взаимодействие.

Если все это выполнено должным образом,то эти процессы анализа,

абстракции, упрощения и синтеза в итоге приведут к созданию моде-

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

Необходимо помнить,  однако, что модель является только приближе-

нием,а поэтому не будет себя вести в точности как реальный объ-

ект.Мыоптимизируем модель,но не реальную систему.Вопрос о

том,существует ли действительно взаимосвязь между характеристи-

ками нашей модели и реальностью,зависит от того, 2насколько пра-

2вильно и разумно мы провели нашипроцессы  анализа,абстракции,

2упрощения и синтеза.

.

                              - 4 -

                     ИСКУССТВО МОДЕЛИРОВАНИЯ

    Процесс, при помощи которого инженер, занимающийся системами,

или ученый, исследующий вопросы управления, создает модель изуча-

емой им системы, может быть лучше всего определен как 2интуитивное

2искусство0.  2Любой набор правил для разработки  моделейвлучшем

2случае имеет ограниченную полезность и может служить лишь предпо-

2ложительно в качестве каркаса будущей модели или отправного пунк-

2та в ее построении.0При попытке выразить процесс моделирования в

точных терминах мы стремимся систематизировать знания, основанные

наинтуиции и опыте тех,кто ранее занимался моделированием.К

сожалению,  результаты всех научных исследований излагаются и со-

общаютсянамв форме логической реконструкции событий,имеющей

целью оправдать смысл полученных результатов.2Эта логическая ре-

2конструкция  имеетмало общего со способом,при помощи которого

2исследования проводились в действительности.0Ни в одномнаучном

отчете вы не найдете описаний фальстартов,ошибочных предположе-

ний, принятых и затем отвергнутых, разочарований, вызванных ошиб-

ками, и внезапных озарений. В таких отчетах или статьях приводит-

ся только последовательность событий и объяснениетого,  2какбы

2теперь поступил исследователь0,пользуясь своими 2ретроспективными

знаниями и знанием конечного результата.

     Конечно, длянеопытного разработчика моделей опасность зак-

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

емлогически построенных ретроспективных описаний,он принимает

их за описание процесса открытия. Затем, когда он видит, что дела

идут вовсе не так,  как говорится в книгах,он легко теряет уве-

ренность в себе,и его охватывает разочарование.  2Опытный разра-

2ботчик моделей знает, что мыслительные процессы, связанные с раз-

2работкой модели,  значительно отличаются от того, что написано об

2этом в учебниках и литературе.

     По-видимому, 2основойуспешной методики моделирования должна

2быть тщательная отработка моделей.Обычно, начав с очень простой

2модели, постепенно продвигаются к более совершенной ее форме, от-

2ражающей сложную ситуацию более точно.0Аналогии и  ассоциациис

хорошо построенными структурами,по-видимому, играют важную роль

в определении отправной точки процесса совершенствования иотра-

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


                              - 5 -

ратной связи между реальной ситуацией и моделью.Между процессом

модификации модели и процессом обработки данных, генерируемых ре-

альным объектом,  имеет место непрерывное взаимодействие. По мере

проведения  испытанийи оценки каждого варианта модели возникает

новый вариант,  который приводит к повторным испытаниям иперео-

ценкам.

     До тех пор пока модель поддается  математическомуописанию,

аналитикможет добиваться все больших ее улучшений или усложнять

исходные предположения. Когда же модель становится "непослушной",

т.е. неразрешимой, разработчик прибегает к ее упрощению и исполь-

зованию более глубокой абстракции.

     2Таким образом, искусство моделирования состоит в способности

2анализировать  проблему,выделять из нее путем абстракции ее су-

2щественные черты,  выбирать и должным образом модифицироватьос-

2новные предположения,характеризующие систему, а затем отрабаты-

2вать и совершенствовать модель до тех пор, пока она не станет да-

2вать полезные для практики результаты.0 Разработчику модели надле-

жит:

   - разложить общую задачу исследованиясистемына  рядболее

     простых задач,

   - четко сформулировать цели,

   - подыскать аналогии,

   - рассмотреть специальныйчисленныйпример,  соответствующий

     данной задаче,

   - выбрать определенные обозначения,

   - записать очевидные соотношения,

   - если полученная модель поддается  математическомуописанию,

     расширить ее. В противном случае упростить.

     Вообще говоря,упростить модель можно, выполнив одну из пе-

речисленных ниже операций (в то время как длярасширения  модели

требуется как раз обратное):

   - превратить переменные величины в константы;

   - исключить некоторые переменные или объединить их;

   - предположить линейную зависимость между исследуемыми величи-

     нами;

   - ввести более жесткие предположении и ограничения;

   - наложить на систему более жесткие граничные условия.


                              - 6 -

     2Эволюционный характер  процесса конструирования модели неиз-

2бежен и желателен,0поэтому мы не должны думать, что этот процесс

сводитсяк построению одного-единственного базового варианта мо-

дели.По мере того как достигаются цели и решаются  поставленные

задачи, ставятся новые задачи либо возникает необходимость дости-

жения большего соответствия между модельюи  реальнымобъектом,

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

Этот процесс, при котором начинают с построения простой модели, а

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

зрения успешного завершения разработки модели. Темп и направление

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

2Первый из них - это, очевидно, присущая модели гибкость, и второй

2- взаимоотношения между создателем модели и ее пользователем.0 При

их тесном сотрудничестве в течение всего процесса эволюции модели

ее разработчик и пользователь могут создатьатмосферу  взаимного

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

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

и критериям.

     Искусством моделированиямогутовладеть  те,кто обладает

оригинальным мышлением, изобретательностью и находчивостью, равно

как и глубокими знаниями систем и физических явлений, которые не-

обходимо моделировать.

     2Не существуеттвердых и эффективных правил относительно то-

2го, как надо формулировать задачу в самом начале процесса модели-

2рования, т.е. сразу же после первого знакомства с ней.0 Не сущест-

вуети магических формул для решения при построении модели таких

вопросов,как выбор переменных и параметров, соотношений, описы-

вающих поведение системы, и ограничений, а также критериев оценки

эффективности модели.  Помните, что 2никто не решает задачу в чис-

2том виде, каждый оперирует с моделью, которую он построил, исходя

2из поставленной задачи.0


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                           ЛЕКЦИЯ N 15

                   ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

                  ТРЕБОВАНИЯ К "ХОРОШЕЙ" МОДЕЛИ

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

системыи проведения с этой моделью экспериментов с целью осмыс-

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

могут  использоватьсяприуправлении системой.Это определение

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

рошая имитационная модель, и устанавливает границы ее использова-

ния.Согласно этому определению,модель должна быть

    - связана с функционированием системы;

     - ориентирована на решение проблем реального мира;

     - построена так, чтобы служить подспорьем тем, кто управляет

системами.

     Имитация тесно связана с функционированием системы.  2Система

есть группа или совокупностьобъектов,  объединенныхкакой-либо

формой  регулярноговзаимодействия или взаимозависимости с целью

выполнения определенной функции.

     Примерами системмогут быть:система оружия,промышленное

предприятие,  организация,транспортная сеть,больница,проект

застройки города, человек и машина, которой он управляет. Функци-

онирование системы представляет собой совокупность координирован-

ных действий,  необходимых для выполнения определенной задачи.С

этой точки зрения системам, которыми мы интересуемся, свойственна

целенаправленность. Это обстоятельство требует от нас при модели-

ровании системы обратить самое пристальное внимание нацели  или

задачи, которые должна решать данная система. Мы должны постоянно

помнить о задачах системы и модели,чтобы  достичьнеобходимого

соответствия между ними.

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

должныбыть уверены,что конечные результаты точно отражают ис-

тинное положение вещей.  Следовательно, модель, которая может нам

датьабсурдные результаты,должна быть немедленно взята под по-

дозрение. Любая модель должна быть оценена по максимальным преде-

ламизменений величины ее параметров и переменных.  Модель также

должна быть способна отвечать на вопросы типа "а что,  если...",

поскольку это именно те вопросы,которые для нас наиболее полез-


                                - 2 -

ны, так как они способствуют более глубокому пониманию проблемы и

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

     Наконец, всегда следует помнитьопотребителе  информации,

которуюпозволяет получить наша модель.2Нельзя оправдать разра-

2ботку имитационной модели,если ее в конечном счетенельзя  ис-

2пользовать или если она не приносит пользу лицу, принимающему ре-

2шения.

     Потребителем результатовможет быть лицо,ответственное за

создание системы или за  еефункционирование;другими  словами,

2всегда должен существовать пользователь модели 0- в противном слу-

чае мы попусту потратим время и силы.Поиски знания радисамого

знания - дело весьма благородное, но мало найдется руководителей,

которые будут в течение продолжительного времениоказывать  под-

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

управления или системным анализом,если результаты их работыне

смогут найти практического применения.

     Приняв во внимание все это, мы можем сформулировать конкрет-

ные критерии,  которым должна удовлетворять хорошая модель. Такая

модель должна быть:

     - простой и понятной пользователю,

     - целенаправленной,

     - надежной в смысле гарантии от абсурдных ответов,

     - удобной в управлении и обращении,т.е.  общениесней

должно быть легким,

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

     - адаптивной,позволяющей легко переходить к другим модифи-

кациям или обновлять данные,

     - допускающей постепенные изменения в том смысле, что, буду-

чи вначале простой,  она может во взаимодействии с  пользователем

становиться все более сложной.

     Необходимость большинства этих критериев совершенно  очевид-

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

посвященных вопросам организации и руководства работами помоде-

лированию.Здесь же достаточно сказать следующее: для того чтобы

моделью можно было пользоваться,при ее разработкедолжны  быть

тщательно продуманы и потребности, и психология ее конечного пот-

ребителя. Имитационное моделирование должно быть процессом обуче-

ния-как  для создателя модели,так и для ее пользователя.И

действительно,это может статьсамойпривлекательнойстороной

имитации при применении ее для решения сложных задач.


                                - 3 -

                        ПРОЦЕСС ИМИТАЦИИ

     Исходя из того что имитация должна применяться для  исследо-

вания реальных систем,  можно выделить следующие этапы этого про-

цесса:

     1. Определение системы - установление границ,  ограничений и

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

     2. Формулирование модели - переход от реальной системы к не-

которой логической схеме (абстрагирование).

     3. Подготовка данных-отбор данных,необходимых для построе-

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

     4. Трансляциямодели-описаниемодели на языке,приемлемом

для используемой ЭВМ.

     5. Оценкаадекватности  -повышениедо приемлемого уровня

степени уверенности, с которой можно судить относительно коррект-

ности выводов о реальной системе, полученных на основании обраще-

ния к модели.

     6. Стратегическоепланирование - планирование эксперимента,

который должен дать необходимую информацию.

     7. Тактическое планирование - определение способа проведения

каждой серии испытаний, предусмотренных планом эксперимента.

     8. Экспериментирование-процесс  осуществления имитации с

целью получения желаемых данных и анализа чувствительности.

     9. Интерпретация - построение выводов по данным,  полученным

путем имитации.

     10. Реализация - практическое использование модели и резуль-

татов моделирования.

    11. Документирование-регистрацияхода осуществления проекта

и его результатов,  а также документирование процесса созданияи

использования модели.

     Перечисленные этапысоздания и использования модели опреде-

лены в предположении,  что задача может быть решена наилучшим об-

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

отмечали,это может быть и не самый эффективный способ. Неоднок-

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

тво или грубый силовой прием, применяемый для решения задачи. Не-

сомненно,чтовтом случае,когда задача может быть сведена к


                                - 4 -

простой модели и решена аналитически,нет никакой нужды в имита-

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

решения данной конкретной задачи, стремясь при этом к оптимально-

му сочетанию стоимости и желаемых результатов. Прежде чем присту-

пать к оценке возможностей имитации,следует  самомуубедиться,

что простая аналитическая модель для данного случая не пригодна.

     Поскольку необходимо и желательно подобрать для решения  за-

дачи  соответствующиесредства,решение о выборе того или иного

средства или метода должно следовать заформулированиемзадачи.

Решениеобиспользовании имитации не должно рассматриваться как

окончательное. По мере накопления информации и углубления понима-

ниязадачивопрос  оправомерности применения имитации следует

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

ЭВМи большие выборки данных,издержки,связанные с имитацией,

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

решения задачи на небольшой аналитической модели. 2Во всех случаях

2следует сопоставлять возможные затраты средств и времени, потреб-

2ные для имитации,  с ценностью информации, которую мы ожидаем по-

2лучить.

     Проектирование модели начинается обычно с того, что какойли-

бо сотрудник организации приходит к выводу о возникновениипроб-

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

ных исследований выделяется соответствующий работник(обычно  из

группы, связанной с данной проблемой). На некотором этапе призна-

ется, что для изучения проблемы могут быть полезны количественные

методы исследования,  и тогда на сцене появляется математик.  Так

начинается этап определения и постановки задачи.

           ПОСТАНОВКА ЗАДАЧИ И ОПРЕДЕЛЕНИЕ ТИПА МОДЕЛИ

     Эйнштейн как-то сказал, что правильная постановка задачи да-

же более важна,  чем ее решение.Для того чтобы найти приемлемое

или оптимальное решение задачи,необходимо сначала знать,в чем

она состоит. Как это ни покажется странным, слишком много ученых,

занимающихся проблемами управления,полностью игнорируют очевид-

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

изящные и хитроумные ответы на некорректно поставленные вопросы.

     2В отличие от примеров,приводимых в учебниках,большинство

2практических задач сообщается руководителям научно-исследователь-


                                - 5 -

2ских подразделений в недостаточно четкой, неточной форме.0 Во мно-

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

зить суть своих проблем,  0но знает, что некая проблема существу-

ет, но не может точно сформулировать, какая это проблема. 2Поэтому

2анализ системы обычно начинается споискового  изучениясистемы

2под  руководством ответственного лица,  уполномоченного принимать

2решения.  Исследовательская группа должна понимать и четко форму-

2лировать ряд подходящих к данному случаю задач и целей.0Опыт по-

казывает,что 2постановка задачи есть непрерывный процесс0, прони-

зывающийвесь ход исследования.Это исследование непрерывно по-

рождает новую информацию, касающуюся ограничений, задач и возмож-

ных альтернативных вариантов. Такая информация должна периодичес-

ки использоваться в целях обновленияформулировки  ипостановки

задачи.

     2Важной частью постановки задачи является определение  харак-

2теристик системы,  подлежащей изучению. Все системы - это подсис-

2темы других более крупных систем.Поэтому мы  должныопределить

2целииограничения,  которыенам надлежит учитывать в процессе

2абстрагирования или построения формальной модели.0Любая проблема

можетбыть определена как состояние неудовлетворенной потребнос-

ти.Ситуация становится проблемной,когдадействие  какой-либо

системы не дает желаемых результатов.

     Если желаемые результаты не достигаются,  возникаетпотреб-

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

она функционирует.  Математически мыможемопределить  проблему

следующим образом:

                        P4t0 = │ D4t0-A4t0 │ ,

где P4t0  -состояниепроблемы в момент времени t,D4t0 - желаемое

состояние в момент времени t, A4t0 - действительное состояние в мо-

мент времени t.

     Поэтому первый шаг в определении характеристик системы, под-

лежащей  изучению,состоит в проведении анализа потребностей той

среды, для которой предназначается система. Этот анализ начинает-

ся с определения целей и граничных условий (т. е. того, что явля-

ется, а что не является частью системы, подлежащей изучению). Нас

интересуют здесь две функциональные границы,или два интерфейса:

граница,  отделяющая нашу проблему от всего  остальногомира,и

граница между системой и окружающей средой (т.е. что мы считаем


                                - 6 -

составной частью системы и что составляет среду,в  которойэта

система  работает).2Мы можем описать,что происходит в пределах

2самой системы,  разными способами.Если бы мы не остановились на

2каком-то  наборе элементов и взаимосвязей,  которые надлежит изу-

2чить,имея в виду вполне определенную цель,перед нами былобы

2бесконечное число связей и сочетаний.

     Очертив цели и задачи исследования и определив границы  сис-

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

к статической модели.  Мы хотим построить такую  модельреальной

системы,  которая,с одной стороны, не будет столь упрощена, что

станет тривиальной,  а с другой - не будет столь  детализирована,

что станет громоздкой в обращении и чрезмерно дорогой. Опасность,

которая подстерегает нас при построении логической блок-схемы ре-

альнодействующей системы,заключается в том,что модель имеет

тенденцию обрастать деталями и элементами,которые порой  ничего

не вносят в понимание данной задачи.

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

точное число деталей. Во избежание такого положения следует стро-

ить модель,  ориентированную на решение вопросов, на которые тре-

буетсянайтиответы,  а не имитировать реальную систему во всех

подробностях.  2Закон Парето гласит, что в каждой группе или сово-

2купности  существуетжизненноважное  меньшинство и тривиальное

2большинство.  Ничего действительно важного не происходит, пока не

2затронуто жизненно важное меньшинство.0Системные аналитики слиш-

ком часто стремились перенести все усугубленные деталями сложнос-

ти реальных ситуаций в модель,надеясь, что ЭВМ решит их пробле-

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

тают  трудностипрограммирования модели и стоимость удлиняющихся

экспериментальных прогонов, но и потому, что действительно важные

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

Вот почему модель должна отображать толькоте  аспектысистемы,

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

     Во многих исследованиях моделирование может на  этомзакон-

читься.В удивительно большом числе случаев в результате точного

и последовательного описания ситуаций становятсяочевидными  де-

фектыи "узкие" места системы,так что необходимость продолжать

исследования с помощью имитационных методов отпадает.


       ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ

                           ЛЕКЦИЯ N 16

                  ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ

                      ФОРМУЛИРОВАНИЕ МОДЕЛИ

     Каждое исследование охватывает и сбор  данных,подкоторым

обычно понимают получение каких-то "численных" характеристик.Но

это только одна сторона сбора данных. Системного аналитика должны

интересовать входные и выходные данные изучаемой системы, а также

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

соотношениях  междуними.Поэтому он заинтересован в "сборе как

количественных,  так и качественных данных; он должен решить, ка-

киеиз них необходимы,насколько они соответствуют поставленной

задаче и как собрать всю эту информацию. Учебники обычно сообщают

студенту  нужнуюдля решения задачи информацию без ссылок на то,

как она была собрана и оценена.Но когда такойстудент  впервые

сталкивается с реальной задачей и при этом сам должен определить,

какие данные ему нужны и как их отобрать,то голова у негоидет

кругом.

     Создавая стохастическую имитационную модель,  всегдаприхо-

дится решать,  следует ли в модели использовать имеющиеся эмпири-

ческие данные непосредственно или целесообразно использовать тео-

ретико-вероятностные или частотные распределения. Этот выбор име-

ет фундаментальное значение по трем причинам.Во-первых, исполь-

зование необработанных эмпирических данных означает,что, как бы

вы ни старались,  вы можете имитировать только прошлое. Использо-

ваниеданныхза один год отобразит работу системы за этот год и

не обязательно скажет нам что-либо об ожидаемых особенностяхра-

боты системы в будущем. При этом возможными будут считаться толь-

ко те события,  которые уже происходили.Одно дело предполагать,

чтоданное распределение в своей основной форме будет неизменным

во времени,и совсем иное дело считать,что характерные особен-

ности данного года будут всегда повторяться.Во-вторых,  в общем

случае применение теоретических частотных или вероятностных расп-

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

эффективно, чем использование табличных данных для получения слу-

чайных  вариационныхрядов,необходимых  вработес  моделью.

В-третьих,крайне желательно и даже, пожалуй, обязательно, чтобы

аналитик-разработчик модели определил ее чувствительность к изме-

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

параметров. Иными словами, крайне важны испытания модели на чувс-

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

Таким  образом,решенияотносительно пригодности данных для ис-

пользования, их достоверности, формы представления, степени соот-

ветствия теоретическим распределениям и прошлым результатам функ-

ционирования системы - все это в сильной степени влияет науспех

экспериментапо имитационному моделированию и не является плодом

чисто теоретических умозаключений.

     В конечномсчете перед разработчиком модели возникает проб-

лема ее описания на языке, приемлемом для используемой ЭВМ. Быст-

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

числа специализированных языков программирования, предназначенных

для этой цели. На практике, однако, каждый из большинства предло-

женных языков ориентирован только наограниченный  набормашин.

Имитационные  модели обычно имеют очень сложную логическую струк-

туру,  характеризующуюся множеством взаимосвязей между элементами

системы,  причеммногие из этих взаимосвязей претерпевают в ходе

выполнения программы динамические изменения. Эта ситуация побуди-

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

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

ния типа GPSS,  Симскрипт,Симула, Динамо и им подобные являются

языками более высокого уровня, чем универсальные языки типа Форт-

ран,Алголи Бейсик.  Требуемая модель может быть описана с по-

мощью любого универсального языка, тем не менее какойлибо из спе-

циальных  языковимитационного моделирования Может обладать теми

или иными преимуществами при определенных характеристиках модели.

     Основные отличияязыков имитационного моделирования друг от

Друга определяются:  1) способом организации учета времени и про-

исходящих действий; 2) правилами присвоения имен структурным эле-

ментам;3) способом проверки условий,прикоторых  реализуются

действия; 4) видом статистических испытаний, которые возможны при

наличии данных, и 5) степенью трудности изменения структуры моде-

ли.

     Хотя некоторые из специальных языков имитационного моделиро-

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

или иного языка, как это ни печально, чаще всего определяется ти-

пом имеющейся машины и теми языками,которые известны исследова-

телю.И если существует выбор, то правильность его, по-видимому,

зависитот того,в какой степени исследователь владеет методами

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

который легко понять и изучить, может оказаться более ценным, чем

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

вследствие присущих ему особенностей.

                         ПРОВЕРКА МОДЕЛИ

     Проверка модели представляет собой процесс,в ходе которого

достигается приемлемый уровень уверенностипользователя  втом,

что любой вывод о поведении системы,сделанный на основе модели-

рования,будет правильным.Невозможно доказать, что та или иная

имитация является правильным или <правдивым> отображением реаль-

ной системы. К счастью, нас редко занимает проблема доказательст-

ва <правдивости> модели.Вместо этого нас интересует главным об-

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

мы пришли или к которым придем на основании имитационного модели-

рования.Таким образом, нас волнует обычно не справедливость са-

мой структуры модели, а ее функциональная полезность.

     Проверка модели-этап чрезвычайно важный,  поскольку имитаци-

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

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

К сожалению,для случайного наблюдателя,а иногда и для специа-

листа, искушенного в вопросах моделирования, бывают скрыты исход-

ные предположения, на основе которых строилась данная модель. По-

этому проверка, выполненная без. должной тщательности, может при-

вести к катастрофическим последствиям.

     Такого процесса, как <испытание> правильности модели, не су-

ществует.Вместоэтого экспериментатор в ходе разработки должен

провести серию проверок,  с тем чтобы укрепить свое доверие к мо-

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

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

сказать,в первом приближении. Например, следует поставить такой

вопрос: не будет ли модель давать абсурдные ответы, если ее пара-

метрыбудут принимать предельные значения?Мы должны также убе-

диться в том,что результаты,которые мы получаем, по-видимому,

имеют смысл. Последнее может быть выполнено для моделей существу-

ющих систем методом,  предложенным Тьюрингом.Он состоит втом,

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

просят сравнить результаты, полученные имитирующим устройством, с

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

такая проверка была несколько более строгой в научномотношении,

мыможем предложить экспертам указать на различия между несколь-

кими выборками имитированных данных и аналогичными выборками, по-

лученными в реальной системе.

     Второй метод оценки адекватности модели состоит  впроверке

исходных предположений,  и третий - в проверке преобразований ин-

формации от входа к выходу. Последние два метода могут привести к

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

средних значений и дисперсий, дисперсионный анализ, регрессионный

анализ,факторный анализ,спектральный анализ,автокорреляцию,

метод проверки с помощью критерия <хи-квадрат> инепараметричес-

кие проверки. Поскольку каждый из этих статистических методов ос-

нован на некоторых допущениях,то при использованиикаждого  из

них возникают вопросы,  связанные с оценкой адекватности. Некото-

рые статистические испытания требуют меньшего количествадопуще-

ний, чем другие, но в общем эффективность проверки убывает по ме-

ре того, как исходные ограничения ослабляются.

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

1) верификацию,  используя которую экспериментатор хочет убедить-

ся, что модель ведет себя так, как было задумано; 2) оценку адек-

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

дением  реальнойсистемыи3) проблемный анализ-формулирование

статистически значимых выводов на основе данных, полученных путем

машинного моделирования.  Для осуществления этой оценки часто бы-

вает необходимо предпринять целый ряд действий,начиная от  поэ-

тапного испытания модели на настольном калькуляторе (это делается

перед компоновкой машинной программы из этих этапов) допроведе-

ния полевых испытаний. Как бы то ни было, сами эти испытания свя-

заны с трудностями, присущими эмпирическому исследованию; к числу

такихтрудностей относятся следующие ситуации:1) высокая стои-

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

ми;2)данные  чрезмерно разделены На различные группы и 3) ис-

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

     Таким образом,вопросоценки адекватности модели имеет две

стороны:  приобретение уверенности в том,  что модель ведетсебя

таким же образом,  как и реальная система; установление того, что

выводы, полученные из экспериментов с моделью, справедливы и кор-

ректны.Оба эти момента в совокупности сводятся к обычной задаче

нахождения равновесия между стоимостью каждого действия,связан-

ногосоценкой адекватности модели,ценностью получаемой все в

больших количествах информации и последствиями ошибочных заключе-

ний.

            СТРАТЕГИЧЕСКОЕ И ТАКТИЧЕСКОЕ ПЛАНИРОВАНИЕ

     Мы определили имитационное моделирование как экспериментиро-

вание с помощью модели с цельюполучения  информацииореально

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

стратегическом планировании,т. е. о том, как планировать экспе-

римент,который дает желаемую информацию.Планирование экспери-

ментов широко применяется в биологических и физических науках,а

теперьи в моделировании систем.Цель использования планируемых

экспериментов двоякая:  1) они обеспечивают экономию с точки зре-

ния  уменьшениячислатребуемых экспериментальных проверок и 2)

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

     Цель любого экспериментального исследования, включая модели-

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

теме.Эксперимент представляет собой процесс наблюдения и анали-

за,который "позволяет получить информацию, необходимую для при-

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

сбора исходной информации,содержащей необходимые сведения о яв-

лении или системе,  которые позволяют сделать важные выводы о по-

ведении изучаемого объекта. В экспериментальном исследовании мож-

но выделить два типа задач:1) определение сочетания параметров,

которое оптимизирует переменную отклика,и 2) объяснение соотно-

шения между переменной отклика и контролируемыми в системе факто-

рами. Для обеих этих задач разработано и доступно для использова-

ния множество планов постановки экспериментов.

     Далее, чтобы обучение было успешным,требуетсяполное  ис-

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

димо при выдвижении возможныхгипотез,  подлежащихпроверке,и

стратегий, подлежащих оценке. Хороший план эксперимента позволяет

разработать стратегию сбора исходных данных,полезных для такого

синтеза и выдвижения гипотез.Существующие в настоящее время ме-

тоды планирования экспериментов и аналитические методы оченьхо-

рошоудовлетворяют нашим потребностям.Математические описания,

сопутствующие планированию эксперимента,предоставляют нам много

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

в планах эксперимента, хорошо описаны и обычно легко осуществимы.

Таким образом, планирование эксперимента может в значительной ме-

ре облегчить синтез новых сведений и выдвижение новых идейи  в.

то же время уменьшить затраты времени, усилий и денежных средств.

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

эффективности и определением способов проведения испытаний, наме-

ченных планом эксперимента. Тактическое планирование прежде всего

связаносрешением задач двух типов:1) определением начальных

условий в той мере, в какой они влияют на достижение установивше-

гося режима,и 2) возможно большим уменьшением дисперсии решений

при одновременном сокращении необходимых размеров выборки.

     Первая задача (т. е. определение начальных условий и их вли-

яния на достижение установившегося режима)возникает  вследствие

искусственного  характерафункционирования модели.В отличие от

реального объекта, который представлен моделью, сама имитационная

модель работает эпизодически. Это значит, что экспериментатор за-

пускает модель,  делает свои наблюдения и <останавливает>еедо

следующего прогона.  Всякий раз,когда начинается прогон, модели

требуется определенное .время для достижения условийравновесия,

которые соответствуют условиям функционирования реальной системы.

Таким образом,  начальный период работы модели  искажаетсяиз-за

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

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

ся к некоторой части начального периода, и, вовторых, следует вы-

бирать такие начальные условия,которые уменьшают время, необхо-

димоедлядостижения установившегося режима.Разумно выбранные

начальные условия могут уменьшить,но не полностью свести к нулю

время переходного процесса.Поэтому дополнительно необходимо оп-

ределить время начала измерений.

     Вторая задачатактического планирования связана с необходи-

мостью оценить точность результатов эксперимента и степень надеж-

ностизаключений или выводов.Это немедленно ставит нас лицом к

лицу с такими вопросами, как изменяемость условий, размер выборки

и повторяемость результатов. В любом эксперименте из ограниченно-

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

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

несколько методов (в основном в связи с процедурами взятиявыбо-

рок),которые могут существенно снизить требуемый размер выборки

и число повторений эксперимента.Использование очень больших вы-

борок может в конечном счете решить все тактические проблемы ими-

тационного моделирования, но обычно ценой больших затрат машинно-

говремени и времени,необходимого для последующего анализа ре-

зультатов.Чем сложнее имитационная модель, тем более важен этап

тактического планирования,выполняемого перед проведением экспе-

риментов.

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

     После завершения этапов разработки и планирования мы наконец

осуществляем прогон модели с целью получения желаемой информации.

На этом этапе мы начинаем находить недостатки и просчеты внашем

планировании и повторяем наши усилия до тех пор,пока не достиг-

нем первоначально поставленных целей.

     Одним изнаиболее важных понятий в имитационном моделирова-

нии является анализ чувствительности. Под ним мы понимаем опреде-

ление  чувствительности наших окончательных результатов к измене-

нию используемых  значенийпараметров.Анализ  чувствительности

обычно заключается в том,  что величины параметров систематически

варьируются в некоторых представляющихинтерес  пределахипри

этомнаблюдается влияние этих вариаций на характеристики модели.

Почти в любой имитационной модели многие переменные рождаютсяна

основании весьма сомнительных данных. Во многих случаях их значе-

ния могут быть определены только на основе предположений опытного

персоналаили с помощью весьма поверхностного анализа некоторого

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

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

исследования величин.  Если при незначительных изменениях величин

некоторых параметров результаты меняются очень сильно,это может

служить основанием для  затратыбольшегоколичества  времении

средств с целью получения более точных оценок. В то же время, ес-

ли конечные результаты при изменениях величин параметров вширо-

кихпределах не изменяются,то дальнейшее экспериментирование в

этом направлении неоправданно и не является необходимым.

     Имитационное моделированиеидеальноподходит  дляанализа

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

успешно контролировать весь ход эксперимента. В отличие от экспе-

риментирования с реальными системами пользователь модели,распо-

лагая возможностями абсолютного контроля над своей моделью, может

варьировать по желанию любой параметр и судить о поведении модели

по наблюдаемым результатам.

              РЕАЛИЗАЦИЯ ЗАМЫСЛА И ДОКУМЕНТИРОВАНИЕ

     Последние два элемента, которые должны быть включены в любое

задание по моделированию, это реализация замысла и документирова-

ние.Никакое задание на моделирование не может считаться успешно

завершенным до тех пор,  пока оно не будет принято,понято и ис-

пользовано. Наибольшие неудачи, постигавшие специалистов, занима-

ющихся проблемами управления,были связаны с восприятиемиис-

пользованием их работ. Суммарное время разработки модели разбива-

ется примерно следующим образом: 25% времени - формулирование за-

дачи, 25% - сбор и анализ статистических данных, 40% - разработка

машинной модели и 10%  - внедрение. Главной ошибкой проектных за-

данийв области исследования операций и теории управления обычно

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

вателями,  приводящее к недостаточной степени реализации замысла.

Еще трудней понять,  почему на период реализации выделяется столь

малый процент времени,  если учесть, что уточнение модели, трени-

ровка пользователя,  регулировка модели в соответствии с изменяю-

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

(что может быть выполнено только на этапереализации)  являются,

пожалуй,  наиболеетрудными проблемами,с которыми сталкивается

исследователь.По личному опыту автора, более реалистичное расп-

ределениевремени проектирования модели представляется следующим

образом:25%на постановку задачи, 20% на сбор и анализ данных,

30% на разработку модели и 25%_на .реализацию.

     Документирование близко связано с реализацией.Тщательное и

полное  документирование процессов разработки и экспериментирова-

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

ность успешной реализации. Хорошо организованное документирование

облегчает модификацию модели и обеспечиваетвозможность  ееис-

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

больше не существует.  Кроме этого, тщательная документация может

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

жет,послужит источником для создания подпрограмм, которые будут

снова использованы в будущих проектах.