Моделирование систем
Моделирование систем
4.1. Основные понятия моделирования
Модель - объект или описание
объекта, системы для
Модели, если отвлечься от областей, сфер их применения, бывают трех типов: познавательные, прагматические и инструментальные.
Познавательная модель - форма организации и представления знаний, средство соединение новых и старых знаний. Познавательная модель, как правило, подгоняется под реальность и является теоретической моделью.
Прагматическая модель - средство
организации практических
Инструментальная модель - является
средством построения, исследования
и/или использования
Познавательные отражают существующие, а прагматические - хоть и не существующие, но желаемые и, возможно, исполнимые отношения и связи.
По уровню, "глубине" моделирования модели бывают эмпирические - на основе эмпирических фактов, зависимостей, теоретические - на основе математических описаний и смешанные, полуэмпирические - использующие эмпирические зависимости и математические описания.
Математическая модель М описывающая ситему S (x1,x2,...,xn; R), имеет вид: М=(z1,z2,...,zm; Q), где zi, i=1,2,...,m, Q, R - множества отношений над X - множеством входных, выходных сигналов и состояний системы и Z - множеством описаний, представлений элементов и подмножеств X, соответственно.
Основные требования к модели: наглядность построения; обозримость основных его свойств и отношений; доступность ее для исследования или воспроизведения; простота исследования, воспроизведения; сохранение информации, содержавшиеся в оригинале (с точностью рассматриваемых при построении модели гипотез) и получение новой информации.
Проблема моделирования состоит из трех задач:
построение модели (эта задача менее формализуема и конструктивна, в том смысле, что нет алгоритма для построения моделей);
исследование модели (эта задача более формализуема, имеются методы исследования различных классов моделей);
использование модели (конструктивная и конкретизируемая задача).
Модель М называется
Модель - динамическая, если среди xi есть временной параметр, т.е. она отображает систему (процессы в системе) во времени.
Модель - дискретная, если она описывает поведение системы только в дискретные моменты времени.
Модель - непрерывная, если она описывает поведение системы для всех моментов времени из некоторого промежутка времени.
Модель - имитационная, если она
предназначена для испытания
или изучения, проигрывания возможных
путей развития и поведения
объекта путем варьирования
Модель - детерминированная, если
каждому входному набору
Можно говорить о различных режимах использования моделей - об имитационном режиме, о стохастическом режиме и т. д.
Модель включает в себя: объект О, субъект (не обязательный) А, задачу Z, ресурсы B, среду моделирования С: М=.
Свойства любой модели таковы:
конечность: модель отображает оригинал лишь в конечном числе его отношений и, кроме того, ресурсы моделирования конечны;
упрощенность: модель отображает только существенные стороны объекта;
приблизительность: действительность отображается моделью грубо или приблизительно;
адекватность: модель успешно описывает моделируемую систему;
информативность: модель должна содержать достаточную информацию о системе - в рамках гипотез, принятых при построении модели.
Жизненный цикл моделируемой системы:
Сбор информации об объекте, выдвижение гипотез, предмодельный анализ;
Проектирование структуры и состава моделей (подмоделей);
Построение спецификаций модели, разработка
и отладка отдельных
Исследование модели - выбор метода исследования и разработка алгоритма (программы) моделирования;
Исследование адекватности, устойчивости, чувствительности модели;
Оценка средств моделирования (затраченных ресурсов);
Интерпретация, анализ результатов моделирования и установление некоторых причинно - следственных связей в исследуемой системе;
Генерация отчетов и проектных (народно - хозяйственных) решений;
Уточнение, модификация модели, если это необходимо, и возврат к исследуемой системе с новыми знаниями, полученными с помощью моделирования.
Основными операциями используемыми над моделями являются:
Линеаризация. Пусть М=М(X,Y,A), где X - множество входов, Y - выходов, А - состояний системы. Схематически можно это изобразить:
X ® A ® Y
Если X, Y, A - линейные пространства (множества), а j, y - линейные операторы, то система (модель) называется линейной. Другие системы (модели) - нелинейные. Нелинейные системы трудно поддаются исследованию, поэтому их часто линеаризуют - сводят к линейным каким-то образом.
Идентификация. Пусть М=М(X,Y,A), A={ai },
ai=(ai1,ai2,...,aik) - вектор состояния объекта
(системы). Если вектор ai зависит от
некоторых неизвестных
Агрегирование. Операция состоит в преобразовании (сведении) модели к модели (моделям) меньшей размерности (X, Y, A).
Декомпозиция. Операция состоит в разделении системы (модели) на подсистемы (подмодели) с сохранением структур и принадлежности одних элементов и подсистем другим.
Сборка. Операция состоит в преобразовании системы, модели, реализующей поставленную цель из заданных или определяемых подмоделей (структурно связанных и устойчивых).
Макетирование. Эта операция состоит в апробации, исследовании структурной связности, сложности, устойчивости с помощью макетов или подмоделей упрощенного вида, у которых функциональная часть упрощена (хотя вход и выход подмоделей сохранены).
Экспертиза, экспертное оценивание. Операция или процедура использования опыта, знаний, интуиции, интеллекта экспертов для исследования или моделирования плохо структурируемых, плохо формализуемых подсистем исследуемой системы.
Вычислительный эксперимент. Это эксперимент, осуществляемый с помощью модели на ЭВМ с целью распределения, прогноза тех или иных состояний системы, реакции на те или иные входные сигналы. Прибором эксперимента здесь является компьютер (и модель!).
Модели и моделирование
Обучение (как моделям, моделированию, так и самих моделей).
Познание и разработка теории исследуемых систем - с помощью каких - то моделей, моделирования, результатов моделирования.
Прогнозирование (выходных данных, ситуаций, состояний системы).
Управление (системой в целом, отдельными подсиситемами системы, выработка управленческих решений и стратегий).
Автоматизация (системы или отдельных подсистем системы).
В базовой четверке
Например, при имитационном
моделировании (при отсутствии
строгого и формально записанно
Основные функции компьютера при моделировании систем:
выполнять роль вспомогательного средства для решения задач, решаемых обычными вычислительными средствами, алгоритмами, технологиями;
выполнять роль средства постановки и решения новых задач, не решаемых традиционными средствами, алгоритмами, технологиями;
выполнять роль средства конструирования компьютерных обучающе - моделирующих сред;
выполнять роль средства моделирования для получения новых знаний;
выполнять роль "обучения" новых моделей (самообучающиеся модели).
Компьютерное моделирование - основа представления знаний в ЭВМ (построения различных баз знаний). Компьютерное моделирование для рождения новой информации использует любую информацию, которую можно актуализировать с помощью ЭВМ.
Разновидностью компьютерного
моделирования является
Компьютерное моделирование,
вычислительный эксперимент
Компьютерное моделирование, от постановки задачи - до получения результатов, проходит следующие этапы.
1.Постановка задачи.
Формулировка задачи.
Определение цели моделирования и их приоритетов.
Сбор информации о системе, объекте моделирования.
Описание данных (их структуры, диапазона, источника и т. д.).
2. Предмодельный анализ.
Анализ существующих аналогов и подсистем.
Анализ технических средств моделирования (ЭВМ, периферия).
Анализ программного обеспечения(языки программирования, пакеты программ, инструментальные среды).
Анализ математического
Анализ задачи (модели).
3.Разработка структур данных.
Разработка входных и выходных спецификаций, форм представления данных.
Проектирование структуры и состава модели (подмоделей).
4. Исследование модели.
Выбор методов исследования подмоделей.
Выбор, адаптация или разработка алгоритмов, их псевдокодов.
Сборка модели в целом из подмоделей.
5.Идентификация модели, если в этом есть необходимость.
6. Формулировка используемых критериев адекватности, устойчивости и чувствительности модели.
7. Программирование (проектирование программы).
8. Выбор метода тестирования и тестов (контрольных примеров).
9. Кодирование на языке программирования(написание команд).
Комментирование программы.
Тестирование и отладка.
Синтаксическая отладка.
Семантическая отладка (отладка логической структуры).
10. Тестовые расчеты, анализ результатов тестирования.
11. Оптимизация программы.
12. Оценка моделирования.
Оценка средств моделирования.
Оценка адекватности моделирования.
Оценка чувствительности модели.
Оценка устойчивости модели.
13. Документирование.
Описание задачи, целей.
Описание модели, метода, алгоритма.
Описание среды реализации.
Описание возможностей и ограничений.
Описание входных и выходных форматов, спецификаций.
Описание тестирования.
Описание инструкций пользователю.
14. Сопровождение.
Анализ использования, периодичности использования, количества пользователей, типа использования (диалог, автономно и др.), анализ отказов во время использования модели.
Обслуживание модели, алгоритма, программы и их эксплуатация.
Расширение возможностей: включение новых функций или изменение режимов моделирования, в том числе и под модифицированную среду.
Нахождение, исправление скрытых ошибок в программе, если таковые найдутся.
15. Использование модели.
Лабораторная работа №6
4.2. Модели и моделирование систем
Математическое и компьютерное моделирование.
Данный период характерен
необходимостью моделирования
Этап 1. Содержательная постановка задачи
Современное производство
Сложность и многообразие, слабая
структурированность и плохая
формализуемость основных
Рассмотрим одну такую
Этап 2. Формулировка гипотез, построение, исследование модели
Структура производства и
сбыта часто зависит от
Динамика изменения величины
капитала определяется, в основном,
в нашей модели, простыми процессами
производства и описывается
Пусть x(t) - величина основных фондов (капитала) в момент времени t, где 0 £ t £ N. Через промежуток времени Dt она будет равна x(t+Dt).
Абсолютный прирост равен
Относительный прирост будет равен
Примем следующие гипотезы:
социально-экономические
коэффициент амортизации фондов считается неизменным и равным m и при достаточно малом Dt изменение основных фондов прямо пропорционально текущей величине капитала, т.е.
Считая Dt ® 0, а также учитывая
определение производной,
где х(0) - начальное значение капитала в момент времени t=0.
Эта величина х0 везде в
дальнейшем будет считаться
Эта простейшая модель не
отражает того факта, что
Данной непрерывной,
где n - предельное значение момента времени при моделировании. Эта дискретная модель получается из непрерывной при Dt=1, а также заменой производной x'(t) на относительное приращение Dt (замена, как это следует из определения производной, справедлива при малых Dt).
Этап 3. Построение алгоритма и программы моделирования
Рассмотрим для простоты режим моделирования когда m, c, y - известны и постоянны, а также рассмотрим наиболее простой алгоритм моделирования в укрупнённых шагах.
Ввод входных данных для моделирования:
с=х(0) - начальный капитал;
n - конечное время моделирования;
m - коэффициент амортизации;
s - единица измерения времени;
y - инвестиции.
Вычисление xi от i=1 до i=n по рекуррентной формуле (2).
Поиск стационарного состояния - такого момента времени j, 0<=j<=n, начиная с которого все хj, хj+1,...,хn постоянны или изменяются на малую допустимую величину e>0.
Выдача результатов моделирования и, по желанию пользователя, графика.
Приведём
программу на Паскале для
PROGRAM MODFOND;
{Исходные
данные находятся в файле in.
{Результаты записываются в файл out.dat текущего каталога}
Uses
Crt, Graph, Textwin;
Type
Vector = Array[0..2000] of Real;
Mas = Array[0..2000] of LongInt;
Var
Time,Lag,t,dv,mv,i,yi,p
tmax,tmin
a,b,m,X0,maxx,minx,aa,bb,cc,
x
ax,ay
ch
f1,f2
{-----------------------------
Procedure InputKeyboard; { Ввод с клавиатуры }
Begin
OpenWindow(10,5,70,20,' Ввод данных ',14,4);
ClrScr; WriteLn; WriteLn('Введите время Т прогнозирования системы:');
Repeat
Writeln('Для удобства построения графика введите Т не меньше 2');
Write('Т ='); ReadLn(Time);
until Time>=2;
WriteLn('Введите лаг:');
Repeat
Write('Лаг должен быть строго меньше Т - '); ReadLn(Lag);
until Lag0 ) a = '); ReadLn(a);
Write('( b>0 ) b = '); ReadLn(b);
Repeat
Write('Введите коэффициент амортизации ( 0 < M < 1 ) - '); Readln(m);
until (m<1) and (m>0);
Write('Введите значение
CloseWindow;
end;
{-----------------------------
Procedure InputFile; { Ввод из файла }
Begin
Assign(f1,'in.dat'); Reset(f1);
Readln(f1,time,lag,a,b,m,X0); Close(f1);
End;
{-----------------------------
Procedure OutputFile; { Запись результата работы в файл }
Begin
Assign(f2,'out.dat'); Rewrite(f2);
WriteLn(f2,' Результаты моделирования:');
WriteLn(f2,'Значение фондов в
WriteLn(f2,'Максимальное
Write(f2,'Минимальное
Close(f2);
End;
{-----------------------------
Procedure InputRnd; { Ввод случайными числами }
Begin
Randomize;
Repeat Time:=Random(90); until Time>=2;
Repeat Lag:=Random(80); until Lagmaxx
then begin maxx:=x[t]; tmax:=t; end
else if x[t]'); OutTextXY(67,47,'^'); OutTextXY(57,415,'0');
OutTextXY(80,45,'X(T) - (Величина основных фондов производства)');
OutTextXY(590,415,'T'); OutTextXY(540,430,'(Время)'); SetColor(2);
For i:=1 to 16 do Line(67,70+20*i,70,70+20*i);
For i:=1 to 24 do Line(70+20*i,410,70+20*i,413);
Mas_OX; Mas_OY;
For t:=0 to time do
Вegin
SetColor(Blue); Circle(ax[t],ay[t],2);
SetFillStyle(SolidFill,Red); FloodFill(ax[t],ay[t],Blue);
End;
SetColor(Red); SetLineStyle(3,1,1);
Line(70,ay[time],ax[time],ay[
Line(ax[time],ay[time],ax[
Ipol(0,x[0],1,x[1],2,x[2]);
For i:=ax[0] to ax[2] do
Begin
sx:=p*(i-70)/20;
yi:=410-round(20*(aa*sx*sx+bb*
SetColor(Red); Circle(i,yi,1);
End;
For t:=1 to Time-2 do
Begin
Ipol(t,x[t],t+1,x[t+1],t+2,x[
For i:=ax[t+1] to ax[t+2] do
Begin
sx:=p*(i-70)/20;
yi:=410-round(20*(aa*sx*sx+bb*
SetColor(Red); Circle(i,yi,1);
End;
End;
ReadKey; CloseGraph;
End;
{-----------------------------
Begin
While true do
Begin
ClrScr; TextBackGround(2); Window(1,1,80,25); ClrScr;
OpenWindow(30,22,50,24,' Нажмите клавишу... ',4,1);
OpenWindow(5,5,75,16,' Динамика фондов производства ',14,5);
ClrScr; WriteLn;
WriteLn(' Пусть х(t) - основные фонды в момент времени t, y(t) -');
WriteLn(' инвестиции, m - коэффициент амортизации фондов.');
WriteLn(' Модель динамики основных фондов (L - лаг):');
Write(' x`(t) = y(t-L) - mx(t), где х(0) = Хо, y(t)=at+b, ( a,b>0 ).');
ReadKey; CloseWindow;
OpenWindow(15,10,65,17,' Выбирите вариант ввода: ',15,0);
ClrScr; WriteLn;
WriteLn(' С клавиатуры - < 1 >');
WriteLn(' Из файла - < 2 >');
WriteLn(' Случайными числами - < 3 >');
WriteLn(' Выход - ');
ch:=ReadKey;
Сase ch of
#49: InputKeyboard;
#50: Вegin InputFile; OutputScreen; Еnd;
#51: Вegin InputRnd; OutputScreen; End;
#27: Halt(1);
End;
CloseWindow; Worker; OutputFile; OpenWindow(22,10,58,14,'',15,
ClrScr; WriteLn;
Write('Для просмотра графика нажмите ввод'); ch:=ReadKey;
If ch=#13 then begin Graf; RestoreCrtMode; end;
CloseWindow; TextBackGround(15); Window(1,1,80,25);
ClrScr; OpenWindow(15,10,65,16,'',15,
WriteLn(' Хотите еще моделировать ?'); WriteLn;
WriteLn('Для выхода нажмите
WriteLn('Для продолжения нажми
ch:=ReadKey;
If ch=#27 then Halt(1);
CloseWindow;
End;
ClrScr; TextBackGround(0);
End.
Этап 4. Проведение вычислительных экспериментов
Эксперимент 1. Поток инвестиций постоянный и в каждый момент времени равен 111. В начальный момент капитал - 1000 руб. Коэффициент амортизации - 0.0025. Построить модель динамики (посуточно) и найти величину основных фондов через 50 суток, если лаг равен 10 суток.
Эксперимент 2. Основные фонды в момент времени t=0 была равны 50000. Через какое время общая их сумма превысит 1200000 руб., если поток инвестиций постоянный и равен 200, а m=0.02, T=5?
Этап 5. Модификация (развитие) модели
Для модели динамики фондов с переменным законом потока инвестиций:
а) построить гипотезы, модель и алгоритм моделирования;
б) сформулировать планы вычислительных, компьютерных экспериментов по модели;
в) реализовать алгоритм и планы экспериментов на ЭВМ.
Компьютерное моделирование и вычислительные эксперименты
Рассмотрим следующую модель течения эпидемии. Пусть существует группа из n контактирующих индивидуумов, в которой в момент времени t имеется x восприимчивых индивидуумов, y - источников инфекции и z - удаленных (изолированных или выздоровевших и ставших невосприимчивыми к инфекции) индивидуумов. Таким образом, имеем: x+y+z=n.
Определим исходные параметры
системы: b — частота контактов
между членами группы; g — частота
случаев удаления; m — скорость
пополнения восприимчивых
После какой — либо одной
вспышки эпидемии, в результате
которой плотность
При t=0 заданы x(0)=x0, y(0)=y0, z(0)=z0 - число
восприимчивых, инфекционных и
удаленных индивидуумов
Рассматривается промежуток времени t (0 £ t £ T). При малых Dt=1 (например, минута) получим соотношения (дискретную модель):
Приведём результаты проведённых вычислительных экспериментов.
Первые два случая
Программу компьютерного
Компьютерное моделирование.
Рассмотрим проблему расчета
влажности почвы с учетом
Страница “С/х культура”- для ввода входной информации по культуре.
Страница “Регион” - для ввода информации по региону эксперимента.
Страница “Эксперимент”
Данная страница

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