Реферат Курсовая Конспект
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ - Лекция, раздел Философия, Библиотека 5Баллов.ru Соглашение Об Использовании...
|
Библиотека 5баллов.ru Соглашение об использовании Материалы данного файла могут быть использованы без ограничений для написания собственных работ с целью последующей сдачи в учебных заведениях. Во всех остальных случаях полное или частичное воспроизведение, размножение или распространение материалов данного файла допускается только с письменного разрешения администрации проекта www.5ballov.ru. Ó РосБизнесКонсалтинг |
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N1 (ВВОДНАЯ)
I. ОРГВОПРОСЫ
1. Списки групп
2. Расписание занятий
II. ПРОБЛЕМЫ СИСТЕМЫ ОБРАЗОВАНИЯ РОССИИ
Денег на систему образования у государства нет и не будет:
- проблемы обеспечения учебного процесса литературой, техникой и т.д. в конечном итоге будут так или иначе переложены на плечи студентов - они вынуждены будут сами себе покупать книги и даже компьютеры;
- возможна реформа системы образования с непредсказуемыми последствиями;
- возможна (замаскированная) ликвидация бесплатного образования вообще.
III. ПРОБЛЕМЫ МИРОВОЙ КОМПЬЮТЕРНОЙ ИНДУСТРИИ
Западная экономика построена по принципу совместного функционирования двух систем: планирующей (для крупных фирм) и рыночной (для мелких фирм и частных лиц). Планирующая система является доминирующей - она диктует цены рыночной системе.
В планирующей системе не действуют законы рынка:
- она может произвольным образом устанавливать цены на товары и услуги;
- может навязывать потребителю любой товар ("промывая мозги" при помощи рекламы);
- кризисы перепроизводства почти не затрагивают планирующующую систему - все издержки она может переложить на рыночную систему, которая, в конечном итоге, всегда платит за ошибки планирующей системы.
Фирмы Intel, IBM и Microsoft явно принадлежат к планирующей системе и пользуются всеми ее преимуществами. Однако их деятельность явно вызывает кризис в мировой компьютерной индустрии.
Архитектура компьютеров IBM AT и микропроцессоров 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 из 218 возможных оттенков.
1.2. Режимы с более высоким разрешением и стандарт VESA.
Возможна либо страничная адресация через сегменты по 64 кб (по адресу A0000h-AFFFFh), либо линейная адресация пространства объемом до 64 Мб (по адресу E0000000h-E3FFFFFFh).
2. 24- и 32-битовый режимы (True color).
Возможна либо страничная адресация через сегменты по 64 кб (по адресу A0000h-AFFFFh), либо линейная адресация пространства объемом до 64 Мб (по адресу E0000000h-E3FFFFFFh).
II. АНИМАЦИЯ В ДВУМЕРНОМ
ПРОСТРАНСТВЕ И ПСЕВДОТРЕХМЕРНАЯ АНИМАЦИЯ.
Экономия процессорного времени (обмен "память-быстродействие"): при реализации двумерной графики обычно не нужно перерассчитывать изображение для каждого объекта в каждом новом кадре. Изображения всех объектов могут быть рассчитаны заранее (с помощью профессиональных анимационных программ), записаны в файлах на диске и, по мере необходимости, перенесены в оперативную память компьютера. Движущиеся объекты отличаются от неподвижных тем, что требуют по несколько картинок для описания отдельных фаз
каждого возможного движения (3-16 фаз на один тип движения).
Аппроксимация. Влияние разрешения на качество картинки. Лестничный эффект.
Скорость обмена данными с кеш-памятью, оперативной памятью и видеопамятью.
Необходимо вначале накопить данные в оперативной памяти, и уже затем выводить в видеопамять изображение нового кадра.
Расход памяти. Использование симметрии при отображении поступательных и вращательных движений для экономии оперативной памяти. Разделение сложных объектов на несколько независимо отображаемых элементов.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N3
АНИМАЦИЯ В ДВУМЕРНОМ
ПРОСТРАНСТВЕ И ПСЕВДОТРЕХМЕРНАЯ АНИМАЦИЯ.
Расход памяти. Использование симметрии при отображении поступательных и вращательных движений для экономии оперативной памяти. Разделение сложных объектов на несколько независимо отображаемых элементов.
Объекты с несколькими осями симметрии. Круг - объект с бесконечным числом осей симметрии. Иллюзия вращения круга.
Сколько разных подвижных и неподвижных объектов заданного размера (при заданном числе фаз движения) можно сохранить в оперативной памяти компьютера (заданного объема)?
Фон. Лабиринты и псевдокарты. Прокрутка изображения.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N4
АНИМАЦИЯ В ДВУМЕРНОМ
ПРОСТРАНСТВЕ И ПСЕВДОТРЕХМЕРНАЯ АНИМАЦИЯ.
Необходимо задать жесткие ограничения:
- на размерность отображаемого пространства (на число координатных осей);
- на размер отображаемого пространства (площадь и глубину);
- на сложность фона;
- на число и сложность формы неподвижных объектов;
- на число и сложность формы подвижных объектов, число типов движений и число фаз движений;
- на масштабируемость объектов (на сколько допустимо увеличение и уменьшение объекта);
- на направление взгляда и угол обзора.
Направление взгляда: сверху, сбоку, сверху-сбоку.
Координатные оси. Двумерное, псевдотрехмерное и трехмерное пространство.
Ориентация осей в двумерном пространстве (относительно экрана монитора).
-------- x
|
|
|
y
Ориентация осей в трехмерном пространстве (оси x и y - как в двумерном, ось z направлена от оператора вглубь экрана).
Соотношение между сферическими и прямоугольными координатами:
x = r sin f cos Q
y = r sin f sin Q
z = r cos f
Алгоритм художника. Примитивный вариант z-буферизации в псевдотрехмерной графике.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N5
ЗАДАНИЕ НА ЗАЧЕТ
Задание: написать программу, выполняющую моделирование функционирования какой-либо системы и отображающую результаты моделирования на экране монитора в графическом виде.
Каждый студент может выбрать себе задание (тип моделируемой системы) самостоятельно. Программа может иметь форму игры, но обязательно должна моделировать какую-то реальную систему или процесс.
ОГРАНИЧЕНИЯ:
1. Программа должна работать под операционной системой DOS. Нельзя использовать возможности Windows.
2. Языки программирования: С, Паскаль или Ассемблер. Объектно-ориентированные возможности языков использовать нельзя.
3. Ограничение на графические режимы: можно использовать только режим 256 цветов (1 байт видеопамяти на каждую точку) с разрешением 320х200 точек или (в случае крайней необходимости) 640х400 точек.
4. Нельзя использовать никакие графические библиотеки - вывод информации должен производиться напрямую в видеопамять.
5. Ограничение по быстродействию: программа должна сохранять работоспособность на медленных 486-х компьютерах.
6. Ограничение по оперативной памяти - нельзя использовать более 500 кб основной памяти и более 1 Мб расширенной.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N7
РИСОВАНИЕ ЛИНИЙ, ОКРУЖНОСТЕЙ И ЭЛЛИПСОВ.
ЗАЧЕМ ЭТО НУЖНО ЗНАТЬ?
Основной недостаток всех универсальных графических библиотек
- медленная работа (универсальная система всегда значительно уступает по производительности специализированной).
Использование чужой библиотеки всегда сопровождается серьезным риском:
- программы библиотеки могут содержать ошибки, которые вы не можете исправить (исходные коды программ обычно не поставляются);
- возможны ошибки в документации на библиотеку (либо просто неточное описание ее функционирования);
- в продажу, как правило, поступают уже сильно устаревшие библиотеки - фирмы-разработчики не нуждаются в конкуренции с вашей стороны. Покупка чужой технологии всегда приводит к технологическому отставанию - вы сами себя изгоняете с рынка за свои же собственные деньги;
- разработчик библиотеки в любой момент может перестать ее развивать;
- в компьютерной промышленности периодически происходят кризисы, уничтожающие целые классы ("ряды") морально устаревших вычислительных машин. Заменяющие их принципиально новые системы в течение нескольких лет могут не иметь необходимого программного обеспечения.
Проектировщики систем управления постоянно имеют дело с новейшей аппаратурой, и часто вынуждены сами создавать для нее программное обеспечение.
РИСОВАНИЕ ЛИНИИ
(алгоритм Брезенхема)
"Несмотря на всю сложность программирования графики, в основе любой графической функции лежит несколько на удивление простых функций, называемых графическими примитивами. Такими примитивами являются прорисовка точек, линий, окружностей, а также заполнение областей и перемещение битовых образов. Многие годы в графическое оборудование встраивался тот или иной набор графических примитивов. Такой примитив, как рисование линии, особенно широко используется конструкторскими программами, а также программами автоматизированной разработки.
У каждой функции рисования линии есть две важнейшие характеристики. Во-первых, функция должна хорошо приближать то, что она рисует, к реальной линии. Разрешение компьютера ограничено, поэтому программа может приближать реальную линию только сериями точек, устанавливаемых в заданном направлении. Эта последовательность точек должна создавать хороший зрительный эффект - то, что нарисовано, должно быть похоже на линию. Во-вторых, чтобы быть полезной, функция рисования линии должна работать быстро. Мини-компьютеры и большие машины имеют аппаратно встроенные функции рисования линии. У персональных же компьютеров аппаратной поддержки рисования линии нет."
Майкл Абраш
Появление аппаратной поддержки графики в ПЭВМ (графические ускорители, команды MMX).
Приближение реальной линии набором пикселей. Лестничный эффект.
Алгоритм Брезенхема:
Алгоритм идет по оси, проекция линии на которую больше (основной оси), и проверяет соседние точки по другой оси, выбирая ту, что ближе к реальной линии. Текущая ошибка отклонения используется как критерий того, что пора менять неосновную координату, чтобы лучше приблизить реальную линию.
Для того, чтобы можно было работать только с целыми числами, избегая вычислений с плавающей запятой, достаточно промасштабировать картинку.
Благодаря использованию только целочисленной арифметики алгоритм Брезенхема является одним из самых простых и быстрых алгоритмов.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N8
РИСОВАНИЕ ОКРУЖНОСТЕЙ
(алгоритм Харденбурга)
Уравнение окружности:
R2 = X2 + Y2
С точки зрения программирования достаточно рассчитать 1/8 часть окружности - остальные точки могут быть получены за счет симметрии.
Обычно начинают рисовать из точки, где координата по основной оси (по которой приращение больше) равна 0, а по неосновной - радиусу. Каждая следующая точка получается из формулы:
|\\\\
MinorAxis = ? R2 - MajorAxis2
где R - радиус,
MinorAxis - координата по неосновной оси,
MajorAxis - координата по основной оси.
Недостаток - нужно вычислять квадратный корень и использовать арифметику с плавающей запятой. Желательно, однако, работать только с целочисленной арифметикой.
Вместо вычисления такого выражения для каждой точки достаточно отслеживать текущие значения MinorAxis2 и R2 - MajorAxis2 и декрементируйте один пиксель по неосновной оси, как только MinorAxis2 становится меньше R2 - MajorAxis2.
Ошибка накопления - не целое число. Однако никаких проблем это не создает. Координату по неосновной оси нужно изменять, когда
(Y - 0.5)2 > R2 - X2
Однако:
(Y - 0.5)2 = Y2 - Y + 0.25
Разность Y2 - Y вычисляется в целых числах, а 0.25 можно просто игнорировать, потому что разность R2 - X2, которую мы будем сравнивать с ошибкой накопления по Y, всегда целое число. Если R2 - X2 равен Y2 - Y, то на самом деле R2 - X2 меньше ошибки. Следовательно, неосновную координату нужно менять, когда
Y2 - Y >= R2 - X2.
Кроме того, при необходимости можно ускорить вычисления, заменив операцию взведения в квадрат (умножения) на сдвиг, сложение и инкремент (для 486-х и более мощных процессоров такая замена не имеет смысла):
(a + 1)2 = a2 + 2a + 1.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N9
Установка видеорежима
Видеорежим устанавливается вызовом прерывания 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
ОРГАНИЗАЦИЯ ВИДЕОПАМЯТИ
Организация памяти в режиме True Color
Каждый пиксел описывается четырьмя байтами данных - по одному для задания интенсивности каждого из основных цветов и один резервный - для "выравнивания" длины передаваемых данных на 2N:
31 24 23 16 15 8 7 0
--------- --------- --------- ---------
--------- --------- --------- ---------
3 2 1 0
резервный красный зеленый синий
(ноль)
Имитационное моделирование есть процесс конструирования модели реальной системы и постановки экспериментов на этой модели с целью либо понять поведение системы, либо оценить (в рамках ограничений, накладываемых некоторым критерием или совокупностью критериев) различные стратегии, обеспечивающие функционирование данной системы.
Таким образом, процесс имитационного моделирования мы понимаем как процесс, включающий и конструирование модели, и аналитическое применение модели для изучения некоторой проблемы. Под моделью реальной системы мы понимаем представление группы объектов или идей в некоторой форме, отличной от их реального воплощения. Термин "реальный" используется в смысле "существующий или способный принять одну из форм существования". Системы, существующие еще только на бумаге или находящиеся в стадии планирования, могут моделироваться так же, как и действующие системы.
Согласно нашему определению, термин имитационное моделирование может также охватывать стохастические модели и эксперименты с использованием метода Монте-Карло. Иными словами, входы модели и функциональные соотношения между ними могут содержать, а могут и не содержать элемент случайности, подчиняющийся вероятностным законам. Более того, мы не ограничиваем наше определение имитационного моделирования лишь экспериментами, проводимыми с помощью машинных моделей. Много полезных видов имитационного моделирования может быть осуществлено всего лишь при помощи карандаша и листа бумаги.
Имитационное моделирование является экспериментальной и прикладной методологией, имеющей целью:
- описать поведение систем;
- построить теории и гипотезы, которые могут объяснить наблюдаемое поведение;
- использовать эти теории для предсказания будущего поведения системы, т.е. тех воздействий, которые могут быть вызваны изменениями в системе или изменениями способов ее функционирования.
В отличие от большинства технических методов, которые могут быть классифицированы в соответствии с научными дисциплинами, в которые они уходят своими корнями (например, с физикой или химией), имитационное моделирование применимо в любой отрасли науки.
Для моделирования системы нам необходимо поставить искусственный эксперимент, отражающий основные условия моделируемой ситуации. Для этого мы должны придумать способ имитации искусственной последовательности происходящих в системе событий.
Модель является представлением объекта, системы или понятия (идеи) в некоторой форме, отличной от формы их реального существования. Модель служит обычно средством, помогающим нам в объяснении, понимании или совершенствовании системы. Модель какого-либо объекта может быть или точной копией этого объекта (хотя и выполненной из другого материала и в другом масштабе), или отображать некоторые характерные свойства объекта в абстрактной форме.
Примечание: абсолютно точной моделью объекта является сам этот объект. Все остальные модели - приближенные.
Модель - это используемый для предсказания и сравнения инструмент, позволяющий логическим путем спрогнозировать последствия альтернативных действий и достаточно уверенно указать, какому из них отдать предпочтение. Кроме того, модель может служить эффективным средством общения и осмысления действительности. Имитация
- всего лишь один из видов моделирования.
По существу, прогресс науки и техники тесно связан с развитием способности человека создавать модели естественных явлений. Одним из главных элементов, необходимых для эффективного решения сложных задач, является построение и соответствующее использование модели. Такая модель может принимать разнообразные формы, но одна из наиболее полезных и наиболее употребительных форм - это математическая, выражающая посредством системы уравнений существенные черты изучаемых реальных систем и явлений. К сожалению, не всегда возможно создать математическую модель в узком смысле слова. При изучении большинства промышленных и военных систем мы можем определить цели, указать ограничения и предусмотреть, чтобы наша конструкция подчинялась техническим и экономическим законам. При этом могут быть вскрыты и представлены в той или иной математической форме существенные связи в системе. В отличие от этого решение, к примеру, экологических проблем связано с неясными и противоречивыми целями, а также с выбором альтернатив, диктуемых политическим и социальным факторами.
Классификация моделей
Модели вообще и имитационные модели в частности можно классифицировать различными способами. К сожалению, ни один из них не является полностью удовлетворительным, хотя каждый служит определенной цели. Укажем некоторые типовые группы моделей, которые могут быть положены в основу системы классификации:
- статические (например, поперечный разрез объекта) и динамические (временные ряды);
- детерминистские и стохастические;
- дискретные и непрерывные;
- натурные, аналоговые, символические.
Удобно представлять себе имитационные модели в виде непрерывного спектра, простирающегося от точных моделей или макетов реальных объектов до совершенно абстрактных математических моделей.
Физи- ческие модели | Масштабированные модели | Анало- говые модели | Управленческие игры | Моделирование на ЭВМ | Матема- тические модели |
Точность Абстрактность
Модели, находящиеся в начале спектра, часто называются физическими или натурными, потому что они внешне напоминают изучаемую систему. Для удобства экспериментатора физическая модель может быть масштабирована - подвергнута уменьшению или увеличению,
Аналоговыми моделями являются модели, в которых свойство реального объекта представляется некоторым другим свойством аналогичного по поведению объекта. Задача иногда решается путем замены одного свойства другим, после чего полученные результаты надо истолковывать применительно к исходным свойствам объекта. Аналоговая ЭВМ, в которой изменение напряжения в электрической схеме определенной конфигурации может отображать поток товарок к некоторой системе, является превосходным примером аналоговой имитационной модели.
График представляет собой аналоговую модель другого типа; здесь расстояние отображает такие характеристики объекта как время, срок службы, количество единиц и т. д. График может также показывать соотношение между различными количественными характеристиками и может предсказывать, как будут изменяться некоторые величины при изменении других величин. Для некоторых относительно простых случаев график может служить средством решения поставленной задачи. Часто применяются также аналоговые модели в виде схем, описывающих взаимосвязи между элементами объекта.
По мере нашего продвижения по спектру моделей мы достигнем
тех из них, где во взаимодействие вступают люди и машинные компоненты. Такое моделирование часто называют играми (управленческими, военными, планировочными). Поскольку процессы принятия решений управленческим звеном или командным составом армии моделировать трудно, часто считают целесообразным отказаться от подобной попытки. В так называемых управленческих (деловых) играх человек взаимодействует с информацией, поступающей с выхода вычислительной машины (которая моделирует другие свойства системы), и принимает решения на основе полученной информации. Решения человека затем снова вводятся и машину в качестве входной информации, которая используется системой. Продолжая этот процесс дальше, мы приходим к полностью машинному моделированию, которое обычно и понимается под термином "моделирование". Вычислительная машина может быть компонентом всех имитационных моделей рассмотренной части спектра, хотя это и не обязательно.
К символическим, или математическим, моделям относятся те, в которых для представления процесса или системы используются символы, а не физические устройства. Обычным примером представления систем в этом случае можно считать системы дифференциальных уравнений. Поскольку они представляют собой наиболее абстрактные и, следовательно, наиболее общие модели, математические модели находят широкое применение в системных исследованиях. Однако применение математических моделей таит в себе весьма реальные опасности и ловушки. Символическая модель является всегда абстрактной идеализацией задачи, и, если хотят, чтобы эта модель позволяла решить задачу, необходимы некоторые упрощающие предположения. Поэтому особое внимание должно быть обращено на то, чтобы модель служила действительным представлением данной задачи.
При моделировании сложной системы исследователь обычно вынужден использовать совокупность нескольких моделей. Любая система или подсистема может быть представлена различными способами, которые значительно отличаются друг от друга по сложности и детализации. В большинстве случаев в результате системных исследований появляются несколько различных моделей одной и той же системы. Но обычно по мере того, как исследователь глубже анализирует и лучше понимает проблему, простые модели заменяются все более
сложными.
Эволюционный характер процесса конструирования модели неизбежен и желателен, поэтому мы не должны думать, что этот процесс сводится к построению одного-единственного базового варианта модели. По мере того как достигаются цели и решаются поставленные задачи, ставятся новые задачи либо возникает необходимость достижения большего соответствия между моделью и реальным объектом, что приводит к пересмотру модели и все лучшим ее реализациям. Этот процесс, при котором начинают с построения простой модели, а затем усложняют и отрабатывают ее, имеет ряд преимуществ с точки зрения успешного завершения разработки модели. Темп и направление эволюционного изменения модели зависят от двух главных факторов. Первый из них - это, очевидно, присущая модели гибкость, и второй
- взаимоотношения между создателем модели и ее пользователем. При их тесном сотрудничестве в течение всего процесса эволюции модели ее разработчик и пользователь могут создать атмосферу взаимного доверия и взаимоотношения, которые будут способствовать получению конечных результатов, удовлетворяющих поставленным целям, задачам и критериям.
Искусством моделирования могут овладеть те, кто обладает оригинальным мышлением, изобретательностью и находчивостью, равно как и глубокими знаниями систем и физических явлений, которые необходимо моделировать.
Не существует твердых и эффективных правил относительно того, как надо формулировать задачу в самом начале процесса моделирования, т.е. сразу же после первого знакомства с ней. Не существует и магических формул для решения при построении модели таких вопросов, как выбор переменных и параметров, соотношений, описывающих поведение системы, и ограничений, а также критериев оценки эффективности модели. Помните, что никто не решает задачу в чистом виде, каждый оперирует с моделью, которую он построил, исходя из поставленной задачи.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ N 15
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
ТРЕБОВАНИЯ К "ХОРОШЕЙ" МОДЕЛИ
Мы определили имитацию как процесс создания модели реальной системы и проведения с этой моделью экспериментов с целью осмысления поведения системы или оценки различных стратегий, которые могут использоваться при управлении системой. Это определение подсказывает ряд существенных черт, которыми должна обладать хорошая имитационная модель, и устанавливает границы ее использования. Согласно этому определению, модель должна быть
- связана с функционированием системы;
- ориентирована на решение проблем реального мира;
- построена так, чтобы служить подспорьем тем, кто управляет системами.
Имитация тесно связана с функционированием системы. Система
есть группа или совокупность объектов, объединенных какой-либо
формой регулярного взаимодействия или взаимозависимости с целью
выполнения определенной функции.
Примерами систем могут быть: система оружия, промышленное предприятие, организация, транспортная сеть, больница, проект застройки города, человек и машина, которой он управляет. Функционирование системы представляет собой совокупность координированных действий, необходимых для выполнения определенной задачи. С этой точки зрения системам, которыми мы интересуемся, свойственна целенаправленность. Это обстоятельство требует от нас при моделировании системы обратить самое пристальное внимание на цели или задачи, которые должна решать данная система. Мы должны постоянно помнить о задачах системы и модели, чтобы достичь необходимого соответствия между ними.
Поскольку имитация связана с решением реальных задач, мы должны быть уверены, что конечные результаты точно отражают истинное положение вещей. Следовательно, модель, которая может нам дать абсурдные результаты, должна быть немедленно взята под подозрение. Любая модель должна быть оценена по максимальным пределам изменений величины ее параметров и переменных. Модель также должна быть способна отвечать на вопросы типа "а что, если...", поскольку это именно те вопросы, которые для нас наиболее полез-
ны, так как они способствуют более глубокому пониманию проблемы и
поиску лучших способов оценки наших возможных действий.
Наконец, всегда следует помнить о потребителе информации, которую позволяет получить наша модель. Нельзя оправдать разработку имитационной модели, если ее в конечном счете нельзя использовать или если она не приносит пользу лицу, принимающему решения.
Потребителем результатов может быть лицо, ответственное за создание системы или за ее функционирование; другими словами, всегда должен существовать пользователь модели- в противном случае мы попусту потратим время и силы. Поиски знания ради самого знания - дело весьма благородное, но мало найдется руководителей, которые будут в течение продолжительного времени оказывать поддержку группам ученых, занятых исследованием операций, теорией управления или системным анализом, если результаты их работы не смогут найти практического применения.
Приняв во внимание все это, мы можем сформулировать конкретные критерии, которым должна удовлетворять хорошая модель. Такая модель должна быть:
- простой и понятной пользователю,
- целенаправленной,
- надежной в смысле гарантии от абсурдных ответов,
- удобной в управлении и обращении, т. е. общение с ней должно быть легким,
- полной с точки зрения возможностей решения главных задач,
- адаптивной, позволяющей легко переходить к другим модификациям или обновлять данные,
- допускающей постепенные изменения в том смысле, что, будучи вначале простой, она может во взаимодействии с пользователем становиться все более сложной.
Необходимость большинства этих критериев совершенно очевидна, но они будут рассмотрены более полно в последующих главах, посвященных вопросам организации и руководства работами по моделированию. Здесь же достаточно сказать следующее: для того чтобы моделью можно было пользоваться, при ее разработке должны быть тщательно продуманы и потребности, и психология ее конечного потребителя. Имитационное моделирование должно быть процессом обучения - как для создателя модели, так и для ее пользователя. И действительно, это может стать самой привлекательной стороной имитации при применении ее для решения сложных задач.
ПРОЦЕСС ИМИТАЦИИ
Исходя из того что имитация должна применяться для исследования реальных систем, можно выделить следующие этапы этого процесса:
1. Определение системы - установление границ, ограничений и измерителей эффективности системы, подлежащей изучению.
2. Формулирование модели - переход от реальной системы к некоторой логической схеме (абстрагирование).
3. Подготовка данных-отбор данных, необходимых для построения модели, и представление их в соответствующей форме.
4. Трансляция модели-описание модели на языке, приемлемом для используемой ЭВМ.
5. Оценка адекватности - повышение до приемлемого уровня степени уверенности, с которой можно судить относительно корректности выводов о реальной системе, полученных на основании обращения к модели.
6. Стратегическое планирование - планирование эксперимента, который должен дать необходимую информацию.
7. Тактическое планирование - определение способа проведения каждой серии испытаний, предусмотренных планом эксперимента.
8. Экспериментирование - процесс осуществления имитации с целью получения желаемых данных и анализа чувствительности.
9. Интерпретация - построение выводов по данным, полученным путем имитации.
10. Реализация - практическое использование модели и результатов моделирования.
11. Документирование-регистрация хода осуществления проекта и его результатов, а также документирование процесса создания и использования модели.
Перечисленные этапы создания и использования модели определены в предположении, что задача может быть решена наилучшим образом с помощью имитационного моделирования. Однако, как мы уже отмечали, это может быть и не самый эффективный способ. Неоднократно указывалось, что имитация представляет собой крайнее средство или грубый силовой прием, применяемый для решения задачи. Несомненно, что в том случае, когда задача может быть сведена к
простой модели и решена аналитически, нет никакой нужды в имитации. Следует изыскивать все возможные средства, подходящие для решения данной конкретной задачи, стремясь при этом к оптимальному сочетанию стоимости и желаемых результатов. Прежде чем приступать к оценке возможностей имитации, следует самому убедиться, что простая аналитическая модель для данного случая не пригодна.
Поскольку необходимо и желательно подобрать для решения задачи соответствующие средства, решение о выборе того или иного средства или метода должно следовать за формулированием задачи. Решение об использовании имитации не должно рассматриваться как окончательное. По мере накопления информации и углубления понимания задачи вопрос о правомерности применения имитации следует подвергать переоценке. Поскольку для этого часто требуются мощные ЭВМ и большие выборки данных, издержки, связанные с имитацией, почти всегда высоки по сравнению с расходами, необходимыми для решения задачи на небольшой аналитической модели. Во всех случаях следует сопоставлять возможные затраты средств и времени, потребные для имитации, с ценностью информации, которую мы ожидаем получить.
Проектирование модели начинается обычно с того, что какойлибо сотрудник организации приходит к выводу о возникновении проблемы, которая нуждается в изучении. Для проведения предварительных исследований выделяется соответствующий работник (обычно из группы, связанной с данной проблемой). На некотором этапе признается, что для изучения проблемы могут быть полезны количественные методы исследования, и тогда на сцене появляется математик. Так начинается этап определения и постановки задачи.
ПОСТАНОВКА ЗАДАЧИ И ОПРЕДЕЛЕНИЕ ТИПА МОДЕЛИ
Эйнштейн как-то сказал, что правильная постановка задачи даже более важна, чем ее решение. Для того чтобы найти приемлемое или оптимальное решение задачи, необходимо сначала знать, в чем она состоит. Как это ни покажется странным, слишком много ученых, занимающихся проблемами управления, полностью игнорируют очевидные факты. Ежегодно расходуются миллионы долларов, чтобы получить изящные и хитроумные ответы на некорректно поставленные вопросы.
В отличие от примеров, приводимых в учебниках, большинство практических задач сообщается руководителям научно-исследователь-
ских подразделений в недостаточно четкой, неточной форме. Во многих случаях руководство не может или не способно правильно выразить суть своих проблем, 0но знает, что некая проблема существует, но не может точно сформулировать, какая это проблема. Поэтому анализ системы обычно начинается с поискового изучения системы под руководством ответственного лица, уполномоченного принимать решения. Исследовательская группа должна понимать и четко формулировать ряд подходящих к данному случаю задач и целей. Опыт показывает, что постановка задачи есть непрерывный процесс, пронизывающий весь ход исследования. Это исследование непрерывно порождает новую информацию, касающуюся ограничений, задач и возможных альтернативных вариантов. Такая информация должна периодически использоваться в целях обновления формулировки и постановки задачи.
Важной частью постановки задачи является определение характеристик системы, подлежащей изучению. Все системы - это подсистемы других более крупных систем. Поэтому мы должны определить цели и ограничения, которые нам надлежит учитывать в процессе абстрагирования или построения формальной модели. Любая проблема может быть определена как состояние неудовлетворенной потребности. Ситуация становится проблемной, когда действие какой-либо системы не дает желаемых результатов.
Если желаемые результаты не достигаются, возникает потребность модифицировать систему или окружающие условия, в которых она функционирует. Математически мы можем определить проблему следующим образом:
Pt = | Dt-At | ,
где Pt - состояние проблемы в момент времени t, Dt - желаемое
состояние в момент времени t, At - действительное состояние в момент времени t.
Поэтому первый шаг в определении характеристик системы, подлежащей изучению, состоит в проведении анализа потребностей той среды, для которой предназначается система. Этот анализ начинается с определения целей и граничных условий (т. е. того, что является, а что не является частью системы, подлежащей изучению). Нас интересуют здесь две функциональные границы, или два интерфейса: граница, отделяющая нашу проблему от всего остального мира, и граница между системой и окружающей средой (т. е. что мы считаем
составной частью системы и что составляет среду, в которой эта
система работает). Мы можем описать, что происходит в пределах
Самой системы, разными способами. Если бы мы не остановились на
Каком-то наборе элементов и взаимосвязей, которые надлежит изучить, имея в виду вполне определенную цель, перед нами было бы бесконечное число связей и сочетаний.
Очертив цели и задачи исследования и определив границы системы, мы далее сводим реальную систему к логической блоксхеме или к статической модели. Мы хотим построить такую модель реальной системы, которая, с одной стороны, не будет столь упрощена, что станет тривиальной, а с другой - не будет столь детализирована, что станет громоздкой в обращении и чрезмерно дорогой. Опасность, которая подстерегает нас при построении логической блок-схемы реально действующей системы, заключается в том, что модель имеет тенденцию обрастать деталями и элементами, которые порой ничего не вносят в понимание данной задачи.
Поэтому почти всегда наблюдается тенденция имитировать избыточное число деталей. Во избежание такого положения следует строить модель, ориентированную на решение вопросов, на которые требуется найти ответы, а не имитировать реальную систему во всех подробностях. Закон Парето гласит, что в каждой группе или совокупности существует жизненно важное меньшинство и тривиальное большинство. Ничего действительно важного не происходит, пока не затронуто жизненно важное меньшинство. Системные аналитики слишком часто стремились перенести все усугубленные деталями сложности реальных ситуаций в модель, надеясь, что ЭВМ решит их проблемы. Такой подход неудовлетворителен не только потому, что возрастают трудности программирования модели и стоимость удлиняющихся экспериментальных прогонов, но и потому, что действительно важные аспекты и взаимосвязи могут потонуть в массе тривиальных деталей. Вот почему модель должна отображать только те аспекты системы, которые соответствуют задачам исследования.
Во многих исследованиях моделирование может на этом закончиться. В удивительно большом числе случаев в результате точного и последовательного описания ситуаций становятся очевидными дефекты и "узкие" места системы, так что необходимость продолжать исследования с помощью имитационных методов отпадает.
ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
ЛЕКЦИЯ 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%_на .реализацию.
Документирование близко связано с реализацией. Тщательное и полное документирование процессов разработки и экспериментирования с моделью может значительно увеличить срок ее жизни и вероятность успешной реализации. Хорошо организованное документирование облегчает модификацию модели и обеспечивает возможность ее использования, если даже служб, занимавшихся разработкой модели, больше не существует. Кроме этого, тщательная документация может помочь разработчику модели учиться на своих ошибках и, быть может, послужит источником для создания подпрограмм, которые будут снова использованы в будущих проектах.
– Конец работы –
Используемые теги: кладное, Программирование, технических, системах0.075
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ В ТЕХНИЧЕСКИХ СИСТЕМАХ
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов