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

Сущность метода имитационного моделирования. Имитация случайных чисел. Автоматное моделирование входящего потока. Методы машинной имитации экономических процессов. Автоматное моделирование систем обслуживания. Замкнутая система массового обслуживания.

Рубрика Экономико-математическое моделирование
Вид курсовая работа
Язык русский
Дата добавления 17.03.2012
Размер файла 554,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

КУРСОВАЯ РАБОТА

На тему

«Моделирование случайных потоков и полных групп состояний вероятностных систем»

Введение

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

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

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

В данной курсовой работе в качестве объектов для использования методов имитационного моделирования рассматривается замкнутая система массового обслуживания (СМО).

Задание

№ варианта

m

k

r

№ 37

20,7

3,98

3,2

12,4

49

29

3

6

Вариант 37

Многоканальная замкнутая система обслуживания.

На вскрытии грунта работает N экскаваторов одинаковой производительности .

Построить имитационную модель по вывозу груза, если на вскрытие грунта выделено С самосвалов с различной частотой возврата , , …, .

Проанализировать системы вывоза груза при следующих исходных данных:

N=2; =10; С=4; =2; =4; =6; =8.

1. Примеры решения задач

Задание 1. Исходя из заданного параметра =20,7 простейшего потока, методом обратной функции найти совокупность, состоящую из k=49 значений случайных интервалов потока

Для генерации случайных экспоненциально распределённых временных интервалов нужно воспользоваться формулой

где i -- случайные числа от нуля до единицы, генерируемые функцией СЛЧИС.

Таблица 1. Результаты генерации случайных чисел

N

t

N

t

1

8,018522

26

0,641655

2

0,053046

27

0,382833

3

3,255063

28

3,796663

4

1,326004

29

1,333392

5

3,504366

30

1,744966

6

0,414184

31

0,969792

7

4,327439

32

1,546788

8

1,04077

33

5,635633

9

0,084647

34

2,719271

10

3,651133

35

0,722756

11

0,810375

36

0,821806

12

5,910987

37

0,462316

13

0,948675

38

5,36942

14

3,377839

39

2,522786

15

1,518171

40

1,682917

16

0,72563

41

3,166086

17

3,491365

42

0,218155

18

8,920257

43

0,219678

19

0,622254

44

0,488944

20

0,478114

45

2,710822

21

8,642819

46

1,370131

22

3,702068

47

0,269982

23

0,118385

48

2,710822

24

2,985492

49

1,370131

25

1,700393

Задание 2. Исходя из параметров =3,2 и m=12,4 нормального распределения, методом сумм получить совокупность, состоящую из r=29 значений случайных интервалов потока, где - стандартное отклонение, m-математическое ожидание нормального распределения

Требуется приближенно вычислить нормальную случайную величину.

Правило. Для того чтобы приближенно разыграть возможное значение хi нормальной случайной величины Х с параметрами m=0 и =1, надо сложить 12 независимых случайных чисел из интервала (0,1) и из полученной суммы вычесть 6:

Замечание. Если требуется приближенно разыграть нормальную случайную величину Z с математическим ожиданием m и средним квадратическим отклонением , то, разыграв возможное значение xi по приведенному выше правилу, находят искомое возможное значение по формуле:

Таблица 2. Возможное значение хi нормальной случайной величины X

N

xi

N

xi

1

0,193059882

16

1,211399579

2

0,999013505

17

-0,472403922

3

1,890908771

18

-0,31375589

4

0,174896384

19

0,951093175

5

1,74869004

20

-0,933603534

6

0,72871238

21

0,262727646

7

0,85317499

22

-1,215657859

8

0,109939698

23

1,19688308

9

0,706210556

24

0,652926815

10

0,846514434

25

1,890908771

11

0,436479185

26

0,174896384

12

1,373822416

27

1,74869004

13

2,01637345

28

1,017180788

14

0,683820447

29

0,049801638

15

-0,319394277

Таблица 3. Возможное значение zi нормальной случайной величины Z

N

zi

N

zi

1

13,01779162

16

16,27647865

2

15,59684322

17

10,88830745

3

18,45090807

18

11,39598115

4

12,95966843

19

15,44349816

5

17,99580813

20

9,412468691

6

14,73187961

21

13,24072847

7

15,13015997

22

8,50989485

8

12,75180703

23

16,23002586

9

14,65987378

24

14,48936581

10

15,10884619

25

18,45090807

11

13,79673339

26

12,95966843

12

16,79623173

27

17,99580813

13

18,85239504

28

15,65497852

14

14,58822543

29

12,55936524

15

11,37793831

Задание 3. Используя статистическое моделирование, построить математическую модель простейшего потока по совокупности k значений случайных интервалов потока. Проверить адекватность моделирования с помощью критериев согласия -квадрат и Романовского.

Исходные данные представлены в задании 1.

Поток характеризуется средним интервалом времени между событиями:

(час)

где n -- количество временных интервалов t и плотностью потока (событий в час).

tср= 2,3069

л= 0,4334

Найдём минимальный и максимальный временной интервал:

tMIN = 0,053, tMAX = 8,92

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

k = 1+ 3,32 lg n = 1 + 3,32 lg 50 14

Распределив временные интервалы совокупности наблюдений по частичным интервалам получим таблицу фактических частот распределения.

Таблица 4. Фактические частоты распределения.

Карман

Частота

0,69002

13

1,326994

8

1,963967

8

2,600941

1

3,269886

6

3,913253

6

4,556621

1

5,199989

0

5,843357

2

6,486725

1

7,130093

0

7,773461

0

8,416829

1

9,060196

2

Еще

0

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

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

Таблица 5. Теоретические частоты распределения

Карман

Середина

Частота фактическая

Частота теоретическая

0,69002

0,348207

13

12

1,326994

1,018098

8

9

1,963967

1,6614658

8

7

2,600941

2,3048337

1

5

3,269886

2,9482016

6

4

3,913253

3,5915695

6

3

4,556621

4,2349373

1

2

5,199989

4,8783052

0

2

5,843357

5,5216731

2

1

6,486725

6,165041

1

1

7,130093

6,8084088

0

1

7,773461

7,4517767

0

1

8,416829

8,0951446

1

0

9,060196

8,7385125

2

0

Теперь нужно сравнить эмпирические частоты распределения с теоретическими. Для этого воспользуемся критерием Пирсона ( 2 Пирсона). Его можно найти по формуле

В результате вычислений получим: 2 = 0,89111

Расчётный 2 Пирсона должен быть меньше табличного. Если таблицы с критическими значениями 2 Пирсона нет под рукой, можно проверить выполнение условия Романовского. Условие Романовского заключается в следующем

где k -- количество частичных интервалов.

В нашем случае значение левой части неравенства приблизительно равно 2,287<3.

Вывод: Так как условие Романовского выполняется, то отклонения от экспоненциального закона в распределении временных интервалов фактической совокупности носят случайный характер. Следовательно, совокупность фактических временных интервалов можно считать экспоненциальной.

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

- параметр загрузки системы,

- параметр разгрузки системы,

-число мест в накопителе,

-число обслуживающих аппаратов.

Найти формулы Эрланга и по ним построить закон распределения состояний системы (ЗАКОН_А). Определить значения всех расчетных параметров системы массового обслуживания:

-вероятность отказа,

-относительную пропускную способность СМО,

-абсолютную пропускную способность СМО,

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

-среднюю длину очереди,

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

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

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

S0 - состояние, при котором нет заявок, все аппараты свободны;

S1 - обслуживается одна заявка, 5 из 6 аппаратов свободны, все места в накопители свободны;

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

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

S4 - обслуживаются четыре заявки, 4 аппарата заняты, места в накопителе свободны;

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

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

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

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

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

Десятая заявка, видя занятость всех аппаратов и отсутствие свободных мест в накопители, покидает СМО не обслуженной, т. е. получает отказ системы. Других состояний кроме этих 10 система иметь не может. Их количество вычисляется по формуле M+N+1. Таким образом, 3+6+1=10. В процессе работы СМО наблюдается её переход от одного соседнего состояния к другому. Под действием потока заявок система загружается, переходя от состояния к состоянию в направлении S0S9. С другой стороны, система стремится саморазгрузиться (S9S0) потоком выполняемых ею услуг, т. е. аппаратами.

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

Таблица 6. Коэффициент использования системы

Коэф. использ. системы

переход

значение

R10

5,201005025

R21

2,600502513

R32

1,733668342

R43

1,300251256

R54

1,040201005

R65

0,866834171

R76

0,866834171

R87

0,866834171

R98

0,866834171

Далее в столбцы Mn и Nn запишем количество занятых мест в накопителе и число незанятых аппаратов в каждом из состояний S0-S9 соответственно. Пребывание СМО в данный период времени в одном из состояний -- событие случайное. В силу того, что в рассматриваемом примере, СМО имеет полную комбинацию возможных состояний из десяти, сумма вероятностей нахождения системы в каждом из них равна единице. Запишем это высказывание в виде формулы: P0+P1+P2+P3+P4+P5+P6 P7+P8+P9=1. Здесь P0-P9 -- вероятности пребывания системы в состояниях S0-S8 соответственно.

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

Таблица 7. Вероятности состояний

Вероятности состояний

Состояние

Mn

Nn

Вероятность

Значение

S0

0

6

P0

0,00512134

S1

0

5

P1

0,02663611

S2

0

4

P2

0,06926726

S3

0

3

P3

0,12008646

S4

0

2

P4

0,15614257

S5

0

1

P5

0,16241966

S6

0

0

P6

0,14079091

S7

1

0

P7

0,12204237

S8

2

0

P8

0,1057905

S9

3

0

P9

0,09170282

Следующим этапом исследования является определение характеристик функционирования СМО, на основании которых сделаем вывод о её пригодности в обслуживании данного потока заявок. Сведем все вычисления в таблицу.

Таблица 8. Характеристики СМО

ср.длина очереди заявок

TM=

0,608732

вероятность отказа

Pотк=

0,16242

относительная пропускная способность

ОПС=

0,83758

абсолютный отказ

АО=

3,362087

абсол.пропускная способность

АПС=

17,33791

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

WM=

0,034041

средн.время нахожд.заяв.в СМО

WS=

0,285297

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

TN=

1,275942

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

ZN=

1,724058

ср.сумм.число заявок в СМО

TS=

2,33279

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

TM=M0P0+M1 P1+...+Mn Pn

где Mn -- количество занятых мест в накопителе в каждом из состояний S0-Sn.

Вероятность отказа очередному клиенту PОТК определяется как вероятность максимально загруженного состояния системы, при котором в накопителе нет мест ожидания.

Относительная пропускная способность ОПС=1- PОТК

Абсолютный отказ (заявок/час) определяется как произведение плотности потока заявок и вероятности отказа. АО = PОТК

Абсолютная пропускная способность (заявок/час) находится как произведение плотности потока заявок и ОПС. АПС = ОПС

Среднее время ожидания в накопителе (час) находится по формуле:

WM = TM / АПС

Среднее время нахождения заявки в СМО (час)

WS = WM + 1 /

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

TN = N0P0+N1P1+...+NnPn

где Nn -- число свободных мастеров в каждом из состояний S0-Sn.

Среднее число занятых мастеров ZN = N - TN. Понятно, что среднее число занятых мастеров равно среднему числу обслуживаемых заявок.

Среднее суммарное число заявок в СМО определяется как сумма средней длины очереди заявок в накопителе и среднего числа обслуживаемых заявок.

TS = TM + ZN

Задание 5. Используя исходные значения параметров СМО (, , ,)из задания 4, с помощью имитационного моделирования построить закон распределения состояний системы (ЗАКОН_И) и произвести сравнительный анализ адекватности (ЗАКОНА_А) и (ЗАКОНА_И) при моделировании СМО аналитическим и имитационным методами

Данная задача была выполнена в среде Delphi 7.0. Ниже представлено главное окно программы.

Рис.1 Окно программы

Листинг программы приведен в приложении А.

Задание 6.

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

Листинг программы приведен в приложении Б.

имитационный автоматный система

2. Реализация задачи

В замкнутой системе обслуживания поток заявок на обслуживание образуется ограниченным числом заявок К, каждая из которых со средней частотой оборот/час возвращается в систему обслуживания.

Параметр рассчитывается на основании экспоненциального сглаживания, с помощью которого рассчитываются параметры л и µ.

В этом случае интервалы ?t1, ?t2, …, ?tn между очередными возвращениями любой из заявок должны подчиняться экспоненциальному закону распределения.

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

Этот класс задач может быть отнесен к классу задач на оптимальный поиск решения.

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

2.1 Имитация случайных чисел

Для генерирования интервалов Дt (потока заявок), имеющих среднее значение m и стандартное отклонение используется приближенная формула

где k - общее количество заявок.

Если время следования измеряется в минутах, то вводится множитель 60:

=-(60/)Ln(Random(0,1))

2.2 Автоматное моделирование входящего потока

Для автоматного описания входящих потоков задается автоматное время. В качестве единицы автоматного времени может быть любая единица реального времени: секунда, минута, час сутки, год и т.д. или другая составная единица: 10 минут, 5 дней и т.п. Эта единица выбирается настолько малой, чтобы ее можно было бы измерять случайные интервалы потока ?ti в виде целочисленных или близких к ним величин. Т.е. такими, чтобы после округления значения измеренных интервалов ?ti мало бы отличались от исходных.

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

Пусть состояние a(t) автомата А в момент автоматного времени t означает тот промежуток времени, который остался до момента поступления следующей заявки. Тогда, если в какой-то момент времени эта величина была больше единицы (a(t)>1), то через единицу времени она уменьшится на единицу, т.е. будет a(t+1)=a(t)-1. Если a(t)=1, то через единицу времени произойдет поступление в систему заявки, а величина промежутка до поступления очередной заявки будет сгенерирована автоматом как случайное число ?t, т.е.

здесь автоматное время будет измерено в минутах. Автомат, в зависимости от своего состояния вырабатывает выходной сигнал х. Для нас в дальнейшем удобно считать, что выходной сигнал х принимает значение 1 тогда, когда через единицу времени в систему поступит заявка, и ноль в остальных случаях.

2.3 Автоматное моделирование систем обслуживания

Наряду с автоматом, генерирующим входящий поток, А рассмотрим автомат, генерирующий время обслуживания, В.

Пусть состояния a(t) автомата А обозначают остаточное время поступления заявки в систему обслуживания, а состояния b(t) автомата В обозначают остаточное время обслуживания очередной заявки.

Когда осталась одна единица времени обслуживания очередной заявки или обслуживающий аппарат свободен (а=0), а в следующий такт, когда предыдущая заявка покинет систему и появится новая заявка (х=1) автомат В должен генерировать новый случайный интервал обслуживания ?t для новой заявки. При этом будет выработан выходной сигнал у=1. Когда обслуживающий аппарат может принять заявку, а ее в следующий такт не будет (х=0)-остаточное время принимается равным 0 и вырабатывается выходной сигнал равный 1. Когда обслуживающий аппарат может принять заявку, а ее в следующий такт не будет, т.е. накопитель свободен, будет выработан выходной сигнал y=0.

2.4 Детерминированный автомат

В более сложных автоматных системах присутствуют детерминированные автоматы. Эти автоматы отличаются от вероятностных автоматов тем, что их выходные сигналы совпадают со значениями их внутренних состояний.

Для того чтобы построить систему обслуживания с ожиданием необходимо предусмотреть накопитель. В этом случае часть заявок, получивших отказ, могут ожидать обслуживание, оставаясь в накопителе. Пусть накопитель имеет емкость для М заявок.

Для моделирования накопителя как раз и служит детерминированный автомат D. Его внутреннее состояние можно записать в таком виде

Выходной сигнал этого автомата равен d, он совпадает с текущим внутренним состоянием D.

Запишем блок-схему функционирования СМО с накопителем:

Блок 1

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Блок 2

Блок 3

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

В этой блок-схеме в Блоке 2 с помощью символов max и min записаны логические скобки изменения емкости накопителя «не менее» 0 и «не более» М. Выходной сигнал х формирует накопление заявок, которые в обязательном порядке проходят через накопитель. В операторе 3.2 проверка логического условия окончания обслуживания и наличия очередной заявки организована не с помощью выходного сигнала х, как в предыдущем примере, а с помощью выходного сигнала d, детерминированного автомата. Если в накопителе есть хотя бы одна заявка (d>0) и обслуживающий аппарат в следующем такте свободен (b?1), то автомат В вырабатывает для поступающей из накопителя заявки интервал обслуживания ?ф. Выдает сигнал у=1, и одновременно уменьшает емкость накопителя на одну единицу.

2.5 Автоматы индикаторы

Автоматы индикаторы относятся к детерминированным автоматам, они предназначены для «внешнего» обслуживания системы. С помощью индикаторов формируются выходные характеристики системы. Эти числовые характеристики как правило имеют статистическую природу и получаются на основе использования вероятностных законов больших чисел.

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

3. Программная реализация

Вся программная часть проекта была выполнена в визуальной среде программирования Delphi 7.0.

3.1 Описание исходной информации

СМОЗ характеризуется следующими параметрами:

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

м - производительность погрузчика (экскаватора);

N - число экскаваторов, арендуемых у автотранспортного предприятия по цене Сп(т) за каждый погрузчик в единицу времени;

K - число автосамосвалов арендуемых у автотранспортного предприятия по цене Са(т) за каждый автосамосвал в единицу времени.

Следует подчеркнуть, что в этом случае все экскаваторы одинаковы и имеют одну и туже производительность (м);

3.2 Метод решения задачи

Рассмотрим графическую схему перевозочных работ в виде графа сети автоматов (рис 2):

Рисунок 2 - Граф сети автоматов

Автоматы, формирующие обслуживание автомашин

В связи с тем, что все машины имеют одинаковую оборачиваемость, то в этом случае можно сформировать поток, поступающих на погрузку машин в виде переменного входящего потока с плотностями Кн, (К-1)н, …, 2н, н, где числа К, K-1, …, 2, 1 обозначают число машин, находящихся в пути в данную единицу автоматного времени.

Это число L можно определить в каждую единицу автоматного времени с помощью формулы:

n

L= K-b- ? yi , где

i=1

К - общее число автомашин,

b - число автомашин в накопителе,

n

? yi - число автомашин стоящих под загрузкой,

i=1

yi - двоичный выходящий сигнал от Сi -го автомата (0,1):

0 - когда погрузчик свободен;

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

Рассмотрим таблицу условных функциональных переходов (ТУФП).

Случайные интервалы времени входящего потока будем обозначать через ?t, случайные интервалы обслуживания через ?ф.

Если ?t>1 то ?t=?t-1

x=0

n

Если ?t=1 то L= K-b- ? yi ?t =[(-60/нL)Ln(Rand(0,1))]

i=1

x=1

b=max[0,min(b+x,K)]

Цикл I=1?N

Если ?фi>1 то ?фi =?фi-1

yi=1

Если ?фi<=1 и b=0 то ?фi=0

yi=0

Если ?фi<=1 и b=>1 то b=b-1

?ф=[(-60/м)Ln(Rand(0,1))]

yi=1

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

0 1 ….. K

PS

P0 P1 ….. Pk

c помощью которого можно получить параметры системы: среднее число свободных автомашин СА и среднее число свободных экскаваторов СЕ.

Массив PS в процедуре имитационного моделирования формируется путем накопления автоматных единиц в карманах состояний S1, S2, … , Sk.

Чтобы послать очередную единицу в карман состояния нужно сформировать цикл I от 0 до K, а перед этим определить число L, т.е. число автомашин, находящихся в данную единицу автоматного времени в пути; и тот номер кармана I, который совпадает с K-L получит эту единицу

k

L= b+ ? yi ; r=K-L

i=1

Цикл I=0?K

Если I=r то WP[2,I]=WP[2,J]+1

Иначе цикл продолжить до K

Конец цикла

Если G число тактов автоматного времени, то, чтобы получить распределение вероятностей во второй строке массива WP, необходимо сформировать следующий цикл:

Цикл I=0?K

WS[2,I]= WS[2,I]/G

Конец цикла

Число свободных экскаваторов определяется по формуле:

СЕ=NP0+(N-1)P1+… 1Pn-1

Число свободных автопогрузчиков определяется по формуле:

CA=1Pn+2Pn+1+… (K-N)Pk

На основании проведенного анализа работы СМОЗ можно построить структурный граф имитационной модели, наглядно отображающий элементы системы и связи между ними (рис 3).

Рисунок 3 - Структурный граф имитационной модели

На рисунке использованы следующие обозначения:

Avt1, … , Avtk - автомашины;

QAvt - очередь автомашин, ожидающих погрузку;

Pogr1, … , Pogrn -погрузочные механизмы;

QPogr- очередь погрузочного механизма.

3.3 Машинное представление

Главное окно программы:

Рисунок 4 - Окно программы

Заключение

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

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

Имитируя принцип «проб и ошибок» средствами математики и вычислительной техники «проигрываются» все возможные состояния системы в широком диапазоне вероятных отклонений. На модельных экспериментах проб и ошибок полностью исключаются те потери, которые бы имели место в реальных условиях.

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

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

К достоинствам метода имитационного моделирования могут быть отнесены:

* проведение ИЭ над ММ системы, для которой натурный эксперимент не осуществим по этическим соображениям или эксперимент связан с опасностью для жизни, или он дорог, или из-за того, что эксперимент нельзя провести с прошлым;

* решение задач, аналитические методы для которых неприменимы, например, в случае непрерывно - дискретных факторов, случайных воздействий, нелинейных характеристик элементов системы и т.п.;

* возможность анализа общесистемных ситуаций и принятия решения с помощью ЭВМ, в том числе для таких сложных систем, выбор критерия сравнения стратегий поведения которых на уровне проектирования не осуществим;

* сокращение сроков и поиск проектных решений, которые являются оптимальными по некоторым критериям оценка эффективности;

* проведение анализа вариантов структуры больших систем, различных алгоритмов управления, изучения влияния изменений параметров системы на ее характеристики и т.д.

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

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

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

Список литературы

1. В.С. Иозайтис, Ю.А. Львов Экономико-математическое моделирование производственных систем. - М.: В.Ш., 1991.

2. Советов Б.Я., Яковлев С.А. Моделирование систем. - М.: В.Ш., 1998.

Приложение А

unit CMO_U;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Math, Grids;

type

TForm1 = class(TForm)

Button1: TButton;

StringGrid1: TStringGrid;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label21: TLabel;

Label22: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

n: array[1..6] of integer;

K: array[1..2,0..9] of real;

G,x,i,r: integer;

a,b: integer;

y1,y2,y3,y4,y5,y6:integer;

begin

a:=1;

b:=0;

r:=0;

for i:=1 to 6 do

n[i]:=1;

for i:=0 to 9 do

K[1,i]:=0;

for G:=1 to 1000 do begin

if a>1 then begin

a:=a-1;

x:=0;

end{if a};

if a=1 then begin

x:=1;

a:= Round(-(60/20.7)*Ln(Random));

if a=0 then a:= Round(-(60/20.7)*Ln(Random));

end{if a};

//Накопитель

b:=max(0,min(2,(b+x)));

//Аппараты

for i:=1 to 6 do begin

if n[i]>1 then begin

n[i]:=n[i]-1;

if i=1 then y1:=0;

if i=2 then y2:=0;

if i=3 then y3:=0;

if i=4 then y4:=0;

if i=5 then y5:=0;

if i=6 then y6:=0;

end{if};

if (n[i]<=1) AND (b>=0) then begin

n[i]:=Round(-(60/3.98)*Ln(Random));

if n[i]=0 then n[i]:= Round(-(60/3.98)*Ln(Random));

if i=1 then y1:=1;

if i=2 then y2:=1;

if i=3 then y3:=1;

if i=4 then y4:=1;

if i=5 then y5:=1;

if i=6 then y6:=1;

b:=b-1;

end{if};

if (n[i]<=1) AND (b=0) then begin n[i]:=0;

if i=1 then y1:=1;

if i=2 then y2:=1;

if i=3 then y3:=1;

if i=4 then y4:=1;

if i=5 then y5:=1;

if i=6 then y6:=1;

end{if}; end{for i};

r:= b+(1-y1)+(1-y2)+(1-y3)+(1-y4)+(1-y5)+(1-y6);

for i:=0 to 9 do begin

if i=r then

K[1,i]:=K[1,i]+1;

end{for};

for i:=0 to 9 do

StringGrid1.Cells[1,i]:= FormatFloat('0.0000',K[1,i]/1000);

end{for G}; end;

procedure TForm1.FormCreate(Sender: TObject);

var i: integer;

begin

Randomize; for i:=0 to 9 do StringGrid1.Cells[0,i]:= 'P'+IntToStr(i); end; end.

Приложение Б

unit Server_U;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses

Windows, ActiveX, Classes, ComObj, Server_P_TLB, StdVcl, Variants;

type

TServer = class(TTypedComObject, IServer)

private

my,v: integer;

protected

function Get_my: Integer; stdcall;

function Get_v: Integer; stdcall;

procedure Set_my(Value: Integer); stdcall;

procedure Set_v(Value: Integer); stdcall;

function SysMasObs(n, c: Integer): OleVariant; stdcall;

end;

implementation

uses ComServ;

function TServer.Get_my: Integer;

begin

Result:= my;

end;

function TServer.Get_v: Integer;

begin

Result:= v;

end;

procedure TServer.Set_my(Value: Integer);

begin

my:= Value;

end;

procedure TServer.Set_v(Value: Integer);

begin

v:= Value;

end;

function TServer.SysMasObs(n, c: Integer): OleVariant;

var

WP:array of array of double;

A:array of array of integer;

G:array of integer;

k,ii,j,b,i:integer;

begin

Randomize;

A:=nil; G:=nil; WP:=nil;

SetLength(A,c);

SetLength(G,n);

SetLength(A[0],c);

SetLength(A[1],c);

SetLength(WP,2,c+1);

// Заполнение матрицы самосвалов

for i:=1 to c do begin

a[0,i-1]:=trunc((-60/v)*ln(random))+1;

end;

// Заполнение матрицы экскаваторов (все свободны)

for i:=1 to n do

g[i-1]:=0;

b:=0;//количество свободных машин в системе

for ii:= 1 to 100000 do begin

// Условия для матрицы А самосвалы

for i:=1 to c do begin

//если самосвал свободен

if(a[0,i-1]=0) and (a[1,i-1]=0) then begin

//ищем свободный экскаватор

for k:= 1 to n do begin

if g[k-1]=0 then begin

g[k-1]:=trunc((-60/my)*ln(random))+1; //экскаватор работает

a[1,i-1]:=k; //какой экскаватор нагружает самосвал

Break;

end;

end;

end;

//если самосвал освобождается

if (a[0,i-1]=1) then begin

a[0,i-1]:=0;

b:=b+1;

//ищем свободный экскаватор

for k:=1 to n do begin

if g[k-1]=0 then begin

g[k-1]:= trunc((-60/my)*ln(random))+1;

a[1,i-1]:=k; //какой экскаватор нагружает самосвал

Break;

end;

end;

end;

//если самосвал работает

if a[0,i-1]>1 then a[0,i-1]:=a[0,i-1]-1;//продолжает работать

end;

wp[0,b]:=wp[0,b]+1;//матрица вероятностей СМО

// Условия для матрицы G экскаваторы

for i:=1 to n do begin

//если экскаватор свободен и если самосвалы заняты

if (g[i-1]<1) and (b=0) then begin

//ищем самосвал, который в данный момент освобождается

for j:= 1 to c do begin

if a[1,j-1]=1 then begin

a[1,j-1]:=0;

a[0,j-1]:=trunc((-60/v)*ln(random))+1;//самосвал едет к экскаватору

end;

end;

end;

//если экскаватор свободен и есть свободные самосвалы

if (g[i-1]<=1) and (b>0) then begin

for j:=1 to c do begin

//ищем какой самосвал свободен

if a[1,j-1]=i then begin

a[1,j-1]:=0;

a[0,j-1]:=trunc((-60/v)*ln(random))+1;

g[i-1]:=0;

b:=b-1;

end;

end;

end;

//если экскаватор работает

if g[i-1]>1 then begin

g[i-1]:=g[i-1]-1;// экскаватор продолжает работать

end;

end;

end;

Result := VarArrayCreate([0,1,0,c+1],varDouble);//матрица для хранения результата вычисления

//Из матрицы WP результат помещаем в матрицу Result

for i:=0 to c do begin

Result[0,i]:= WP[0,i];

end;

end;

initialization

TTypedComObjectFactory.Create(ComServer, TServer, Class_Server,

ciMultiInstance, tmApartment);

end.

Размещено на Allbest.ru


Подобные документы

  • Общие понятия теории массового обслуживания. Особенности моделирования систем массового обслуживания. Графы состояний СМО, уравнения, их описывающие. Общая характеристика разновидностей моделей. Анализ системы массового обслуживания супермаркета.

    курсовая работа [217,6 K], добавлен 17.11.2009

  • Характеристика метода Монте-Карло. Его преимущество и недостатки, области применения. Решение задач по оптимизации использования ресурсов, управлению запасами и системе массового обслуживания с помощью средств аналитического и имитационного моделирования.

    контрольная работа [1,4 M], добавлен 22.11.2013

  • Решение системы дифференциальных уравнений методом Рунге-Кутта. Исследованы возможности применения имитационного моделирования для исследования систем массового обслуживания. Результаты моделирования базового варианта системы массового обслуживания.

    лабораторная работа [234,0 K], добавлен 21.07.2012

  • Разработка теории динамического программирования, сетевого планирования и управления изготовлением продукта. Составляющие части теории игр в задачах моделирования экономических процессов. Элементы практического применения теории массового обслуживания.

    практическая работа [102,3 K], добавлен 08.01.2011

  • Сущность понятия термина "имитация". Сущность этапов имитационного эксперимента. Основные принципы и методы построения имитационных моделей. Типы систем массового обслуживания. Логико-математическое описание, выбор средств и анализ работы модели.

    реферат [7,5 M], добавлен 25.11.2008

  • Элементы теории массового обслуживания. Математическое моделирование систем массового обслуживания, их классификация. Имитационное моделирование систем массового обслуживания. Практическое применение теории, решение задачи математическими методами.

    курсовая работа [395,5 K], добавлен 04.05.2011

  • Система массового обслуживания типа M/M/1, ее компоненты. Коэффициент использования обслуживающего устройства. Обозначение M/D/1 для системы массового обслуживания. Параметры и результаты моделирования систем. Среднее время ожидания заявки в очереди.

    лабораторная работа [984,8 K], добавлен 19.05.2013

  • Понятие равномерно распределенной случайной величины. Мультипликативный конгруэнтный метод. Моделирование непрерывных случайных величин и дискретных распределений. Алгоритм имитационного моделирования экономических отношений между кредитором и заемщиком.

    курсовая работа [164,7 K], добавлен 03.01.2011

  • Основные понятия теории моделирования экономических систем и процессов. Методы статистического моделирования и прогнозирования. Построение баланса производства и распределение продукции предприятий с помощью балансового метода и модели Леонтьева.

    курсовая работа [1,5 M], добавлен 21.04.2013

  • Понятие случайного процесса. Задачи теории массового обслуживания. Классификация систем массового обслуживания (СМО). Вероятностная математическая модель. Влияние случайных факторов на поведение объекта. Одноканальная и многоканальная СМО с ожиданием.

    курсовая работа [424,0 K], добавлен 25.09.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.