Имитационное моделирование экономических подсистем

Федеральное агентство по образованию

Хакасский технический институт – филиал Федерального государственного образовательного учреждения высшего профессионального образования

«Сибирский  федеральный университет» 
 

                Кафедра прикладной информатики 
                 
                 
                 
                 
                 

Расчетно-пояснительная записка

к курсовой работе по дисциплине

«Имитационно моделирование экономических процессов» 

Вариант №1   
 
 
 
 
 
 
 
 
 
 
 
 
 
 

                          Выполнил:

                          студент группы 55-1

                      

                     Научный  руководитель:

                      Углев В.А. 
             
             
             
             
             
             

Абакан 2008

Оглавление 

Задание

Введение

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

  1. Изменчивость, нестабильность, динамизм экономической ситуации;
  2. Отсутствие однозначно установленных показателей (констант);
  3. Наличие сложных, неявных, нелинейных зависимостей.
  4. Отсутствие конечных границ горизонтального существования

Имитационное моделирование – это разновидность экспериментального моделирования, реализуемого с помощью математических методов, компьютерных программ, позволяющих на аналогии реального объекта (модели) осуществлять целенаправленное исследование сложного процесса путем имитации его действий средствами ЭВМ. 
 
 
 
 
 
 
 
 
 

Задание1. Генерация случайных величин с заданными параметрами

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

       Постановка  задачи: известно что скорость набора телефонного номера подчиняется равномерному закону распределения на интервале [0,2;1] минуты. Навигация по меню и указания параметров платежа происходит в соответствии с нормальным законом распределения, имеющим математическое ожидание 0,4 и дисперсию 0,09 минуты. Скорость распечатки чека об оплате составляет 15 секунд.

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

     Решение:

      Для решения этой задачи воспользуемся программой MS Excel.

     Оценку  исходных данных произведем в таблице 1 

     Таблица 1. Исходные данные

Минимал. скорость набора номера, мин.  
0,20
Максимал. скорость набора номера, мин.  
1,00
Средняя продолжительность навигации по меню, мин  
0,40
Дисперсия навигации по меню, мин  
0,09
Скорость  распечатки чека, мин.  
0,15
Число клиентских обращений, шт..  
400
 
 

Сначала сгенерируем 400 чисел распределённых по нормальному закону для нахождения времени навигации по меню. (Таблица 2) 

Матодидание 0,4
Дисперсия 0,09
Сигма           0,3
 

 

      

i c.ч. 1 c.ч. 2 c.ч. 3 c.ч. 4 c.ч. 5 c.ч. 6 c.ч. 7 c.ч. 8 c.ч. 9 c.ч. 10 c.ч. 11 c.ч. 12                           навигация по меню
1 0,474103833 0,874075506 0,912744757 0,373853062 0,368311693 0,2807088 0,748485552 0,105802 0,328734768 0,995662729 0,167488 0,97458368 0,581366234
2 0,280908978 0,685194936 0,399175638 0,974620496 0,420382382 0,4885367 0,498293273 0,036395 0,196260714 0,352980352 0,185472 0,24377775 0,028599435
3 0,747285195 0,688635201 0,779449574 0,566443002 0,269128291 0,3459197 0,907807638 0,961118 0,835222402 0,015930937 0,45083 0,34583899 0,674082741
4 0,132210994 0,05317287 0,652350105 0,205127788 0,224796382 0,2999877 0,519953861 0,817118 0,175147915 0,194469155 0,463637 0,34074062 -0,176386273
5 0,934173146 0,079517894 0,940811933 0,832349533 0,905323233 0,64627 0,824340461 0,975184 0,981380721 0,309819685 0,092931 0,95354463 1,142693692
6 0,997417661 0,226507063 0,573226463 0,642990219 0,096979858 0,2391673 0,691575231 0,165298 0,889644399 0,958881257 0,564336 0,22898517 0,482502757
7 0,724849632 0,589338538 0,00371396 0,150191524 0,822451235 0,1853742 0,875835034 0,308959 0,712986863 0,556310974 0,811514 0,76124697 0,55083169
8 0,519520117 0,143616565 0,113279154 0,685576686 0,67235431 0,9129191 0,02335033 0,660952 0,57273593 0,604135462 0,47506 0,09880248 0,244690684
9 0,691377541 0,528892428 0,162936804 0,215749543 0,796191588 0,9463592 0,900142477 0,437112 0,188784084 0,246389554 0,642932 0,96208806 0,615686528
10 0,087119105 0,848029402 0,658320561 0,174394169 0,94365329 0,6911637 0,853468439 0,313516 0,269760104 0,847431755 0,982191 0,27083346 0,681964277
11 0,010573104 0,808840012 0,252716361 0,819063776 0,967641878 0,1103025 0,450381252 0,421782 0,919985077 0,683037775 0,393391 0,36943414 0,46214466
12 0,447785159 0,199925026 0,998790192 0,065645755 0,232271659 0,0279079 0,188599686 0,745327 0,435301476 0,011164885 0,182617 0,37101208 -0,228095458
13 0,526893243 0,258215276 0,498871617 0,625972036 0,616487606 0,1378067 0,342070277 0,98216 0,460971685 0,720780607 0,798042 0,94735588 0,67468809
14 0,148522035 0,830825694 0,196916819 0,420172845 0,732803791 0,334794 0,36025319 0,05805 0,186279831 0,467876647 0,858137 0,06383841 -0,002458865
391 0,197416898 0,260306538 0,132154622 0,837283051 0,491623095 0,5563791 0,034257322 0,275594 0,385869748 0,19919093 0,616965 0,34826155 -0,099409227
392 0,108248261 0,621771976 0,555140799 0,147326139 0,167517327 0,2890989 0,347705819 0,114692 0,897605728 0,474933203 0,901188 0,60554656 0,16923252
393 0,663485043 0,835886926 0,245211798 0,169757045 0,274699045 0,5849604 0,302917985 0,829966 0,827662298 0,577011749 0,180662 0,8307185 0,496881523
394 0,22127987 0,183885805 0,755805123 0,104949533 0,851218501 0,9105937 0,668212966 0,069466 0,842233208 0,126823076 0,241308 0,12428301 0,130017901
395 0,349030676 0,011304493 0,30537943 0,499420659 0,615495909 0,5432753 0,245858506 0,758409 0,648713106 0,93392729 0,656211 0,8747972 0,532546722
396 0,604830291 0,040397951 0,089454159 0,508023847 0,87435509 0,0230676 0,525101491 0,295709 0,332923542 0,721187325 0,862162 0,86372567 0,322281515
397 0,141484129 0,221132413 0,870034852 0,124226143 0,482178798 0,0164014 0,790458559 0,086404 0,024705406 0,809626568 0,079951 0,33020923 -0,206956328
398 0,750634072 0,627752837 0,45312301 0,863305367 0,194773933 0,8558905 0,271169323 0,097899 0,071275598 0,217174228 0,829889 0,0232295 0,176834903
399 0,743539504 0,492183745 0,964988894 0,867111918 0,751451487 0,2288496 0,143808482 0,937247 0,037203737 0,286891786 0,732012 0,05753446 0,472846697
400 0,251970803 0,764679873 0,707787339 0,478875702 0,172701569 0,430152 0,470601835 0,122157 0,706170832 0,694934944 0,617726 0,2462564 0,299204429

     Таблица 2. Генерирование  времени навигации  по меню 

Навигация по меню =(СУММ(сч1:сч12)-6)*Сигма + Матожидание 

 

     Просчитаем модель для 400 клиентских обращений. (Таблица 3) 

     Таблица 3. Моделирование работы автомата 

Навигация по меню сч  (равн.) Скорость  набора номера (равн.) Длительность  клиентского обращения
1 0,232926882 0,6 0,66 1,04
2 0,377147632 0,5 0,64 1,17
3 1,161898992 0,9 0,93 2,25
4 0,710380432 0,4 0,50 1,36
5 0,587316197 0,1 0,30 1,04
6 0,170504598 0,9 0,92 1,24
7 0,066355544 0,4 0,56 0,77
8 0,600303083 0,6 0,72 1,47
9 0,280127276 0,4 0,49 0,92
10 0,116107207 0,2 0,39 0,65
11 0,690770791 0,1 0,31 1,15
12 0,007519916 0,7 0,78 0,94
13 0,306789703 0,1 0,27 0,73
14 0,394639386 0,6 0,69 1,24
15 0,109111089 0,1 0,32 0,58
16 0,355642695 0,1 0,26 0,76
17 0,329717863 0,7 0,77 1,25
18 0,43597021 0,1 0,24 0,83
19 0,497183375 0,5 0,63 1,28
20 0,736232813 0,9 0,96 1,84
21 0,491572922 0,2 0,37 1,01
22 0,178612798 0,4 0,49 0,82
23 0,542809811 0,0 0,22 0,91
24 0,518288733 0,0 0,24 0,90
25 0,432938026 0,1 0,24 0,82
382 0,106090921 0,2 0,35 0,60
383 0,72845974 0,2 0,36 1,24
384 0,790258208 0,0 0,23 1,17
385 0,627766874 0,4 0,50 1,28
386 0,861020093 0,2 0,37 1,38
387 0,677107977 0,1 0,28 1,11
388 0,302730762 0,3 0,47 0,92
389 0,267243504 0,3 0,40 0,82
390 0,042459701 0,4 0,52 0,71
391 0,653900581 1,0 1,00 1,80
392 0,576688706 0,1 0,26 0,99
393 0,44663894 0,5 0,63 1,23
394 0,866761154 0,8 0,83 1,85
395 0,022120842 1,0 0,98 1,15
396 0,486847638 0,3 0,47 1,11
397 0,423932681 0,3 0,42 0,99
398 0,863232933 1,0 0,96 1,98
399 0,488037189 0,3 0,48 1,11
400 0,459448718 0,5 0,62 1,23
 

Навигация по меню = Навигация по меню (Таблица 2)

СЧ(равн.) = СЛЧИС()

Скорость набора номера (равн.) = Минимальное время набора + СЧ(равн.)*(Макс - Мин)

Длительность  клиентского обращения = Навигация по меню + Скорость набора номера + Скорость распечатки чека

     Осуществим оценку. 

Минимальное время 0,27 минут для 400 клиентских обращений
Средние время 1,18 минут для 400 клиентских обращений
Максимальное  время 2,17 минут для 400 клиентских обращений
 

     Вывод:

     1. Среднее продолжительность одного клиентского обращения составляет 1,18 минут.

     2.Средняя скорость набора номера 60 секунд.

     3. Среднее время навигации по меню 40 секунд.

Задание2. Создание объектной модели в MatLab

Моделируемая  ситуация: На региональный рынок продуктов вышла отечественная фирма, реализующая сливочное масло, составив тем самым конкуренцию уже присутствующему на рынке зарубежному продукту новозеландскому. Требуется осуществить прогноз объемов продаж продукции обоих участников рынка на следующие 6 недель. Если начальный объем товара на рынке для отечественной компании составляет 2150 кг., а зарубежной – 946 кг.

Постановка задачи: В течении недели наблюдается следующая динамика колебания спроса на отечественную продукцию:

•    Ежемесячный поток клиентов возрастает на 25% (натуральный продукт).

•    Снижение спроса составляет 84% в месяц (перебои с поставками).

•   Постоянное снижение объемов продаж за счет высоких цен – до 7 кг. в неделю.

•    Снижение спроса за счет конкуренции имеет коэффициент 0,00045. 

Продукция зарубежной компании имеет следующую  структуру спроса:

•    Еженедельный рост уровня продаж имеет  коэффициент 2,01 за счет умеренной цены.

•    Снижение спроса составляет 74% из за высокого содержания химических добавок.

•    Высокие торговые таможенные пошлины сокращают объем продаж на 120 кг. еженедельно.

•    Розничная торговля имеет случайный объем реализации, подчиненный нормальному закону распределения с матожиданием 148 и дисперсией 36 кг. масла в неделю.

•    Снижение спроса за счет конкуренции имеет коэффициент 0,00062. 

 

Решение:

Построим диаграмму  процессов рис 4

Рис 4 Диаграмма процессов 

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

     Для построения данной модели нам понадобится пакет Simulink встроенный в MatLab рис 5.

      Опираясь  на диаграмму потоков можно составить модель:

Рис 5 Модель фирм

Рис. 6 Настройки для  блока Random Number 
 
 

Рис.7 Настройки блока Integrator 
 
 
 

Рис.8 Настройки блока Integrator 

После запуска  модели проанализируем получившийся график рис 9

Рис. 9 Объемы продаж сливочного масла для 6 недель 

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

Вывод: Объемы продаж отечественной компании упадут до нуля после 3 недели. А у зарубежной после четвертой недели наблюдается резкий рост продаж и к концу 6-й недели объем продаж будет около 700000 кг.

Задание 3 Создание модели системы массового обслуживания

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

Постановка задачи: Люди проходят на посадку с интенсивностью, подчиненной равномерному закону распределения от 2,7 до 6 минут, и встают в одну очередь для проверки документов (пропуск ведется на все рейсы через два рабочих места). Скорость проверки документов на одного пассажира составляет Гауссову величину с матожиданием 3,5 и дисперсией 1,1 минуты. После этого осуществляется досмотр (металлодетектор и рентген), ведущийся тремя работниками службы безопасности (экспоненциальное распределение с параметром 5,7 минуты). Далее пассажир поступает в одну из трех касс, в которой осуществляется выдача билетов – нормальное распределение с матожиданием 3,1 минуты и дисперсией 20 секунд. После этого пассажир выходит из системы обслуживания (поступает в зал ожидания). Промоделируйте работу системы в течении 10-ти часового рабочего дня. 

Решение:

Необходимо  смоделировать систему массового обслуживания

Синтаксис языка:

Среда программирования разделена на 3 области:

1 –  область переменных

2 –  область операторов

3 –  область параметров

4 –  область комментариев 

Основные  операторы:

  GENERATE X,Y Генератор транзактов
Название  накопителя STORAGE X Создать накопитель; Х – объем
  ENTER X Войти в накопитель Х
  LEAVE X Выйти из накопителя Х
  QUEUE X Создать очередь
  DEPART Х Покинуть очередь Х
  ADVENCE Х,Y Задержать перемещение
  RELASE X Освободить  канал обслуживания
  TRANSFER both,X,Y Попытаться  перейти по метке Х, если не удается  то метке Y
  TRANSFER ,X Перейти к метке  Х
  TERMIANATE Х Уничтожить  транзакт
  ASSIGN X,Y Модифицировать параметр требования
 

    Данная  модель состоит из трех фаз и трёх каналов. Время моделирования удобно выбрать в минутах.

    

Рис. 10 Схематическое отображение модели 

    Составим  модель в программе GPSS World. Для диспетчеризации многоканального обслуживания, воспользуемся режимом All команды TRANSFER. Он имеет следующие параметры:

    1. Первый канал (1)
    2. Последний канал (3)
    3. Число действий (команд) в одном канале (по 6 строк)

    При описании накопителя (Dosmot) нужно осуществить ввод в него транзакта (команда ENTER), а после обслуживания его вывод (команда LEAVE).

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

 

**********************************************************************

*                Masterskaia          *

*                Time Is In minut                                    *

**********************************************************************

Dosmot STORAGE 3

TAB1 QTABLE Registr,0,3,12

TAB2 QTABLE Kassa,0,3,12

QALL TABLE  M1,0,3,10

      GENERATE (UNIFORM(1,2.7,6))

      QUEUE Registr

      QUEUE Total_time

      TRANSFER Both,Reg1,Reg2

Reg1 SEIZE Registr1

      DEPART Registr

      ADVANCE (NORMAL(1,3.5,1.1))

      RELEASE Registr1

      TRANSFER ,Next1

Reg2 SEIZE Registr2

      DEPART Registr

      ADVANCE (NORMAL(1,3.5,1.1))

      RELEASE Registr2

      TRANSFER ,Next1

Next1 SAVEVALUE Ave_Queue,QT$Registr

      QUEUE Dosmotr

      ENTER Dosmot

      TRANSFER ALL,Dosm1,Dosm3,6

Dosm1 SEIZE Dosmotr1

      ASSIGN 1,Dosmotr1

      DEPART Dosmotr

      ADVANCE (Exponential(1,0,5.7))

      RELEASE Dosmotr1

      TRANSFER ,Next2

      SEIZE Dosmotr2

      ASSIGN 1,Dosmotr2

      DEPART Dosmotr

      ADVANCE (Exponential(1,0,5.7))

      RELEASE Dosmotr2

      TRANSFER ,Next2

Dosm3 SEIZE Dosmotr3

      ASSIGN 1,Dosmotr3

      DEPART Dosmotr

      ADVANCE (Exponential(1,0,5.7))

      RELEASE Dosmotr3

Next2 LEAVE Dosmot

      TABULATE QALL

      SAVEVALUE Ave_Queue,QT$Dosmotr

      QUEUE Kassa

      TRANSFER ALL,Kas1,Kas3,6

Kas1 SEIZE Kassa1

      ASSIGN 1,Kassa1

      DEPART Kassa

      ADVANCE (NORMAL(1,3.1,0.33))

      RELEASE Kassa1

      TRANSFER ,FinSh

      SEIZE Kassa2

      ASSIGN 1,Kassa2

      DEPART Kassa

      ADVANCE (NORMAL(1,3.1,0.33))

      RELEASE Kassa2

      TRANSFER ,FinSh

Kas3 SEIZE Kassa3

      ASSIGN 1,Kassa3

      DEPART Kassa

      ADVANCE (NORMAL(1,3.1,0.33))

      RELEASE Kassa3

FinSh SAVEVALUE Ave_Queue,QT$Kassa

      DEPART Total_time

  TERMINATE 1

      

    В настройках модели установим следующие  параметры: не отображать блоки, отображать очереди, каналы обслуживания и накопители. Укажем повышенную (Scientific) точность вычисления.

    

Рис. 11 Настройки параметров отчета 
 

    Для отображения табличных данных, используются объекты QTABLE (TAB1), QTABLE (TAB2) и TABLE (QALL). Объект QTABLE (TAB1) явно описывает данные, которые будут помещены в таблицу по этапу регистрации в соотве6тствии со следующими параметрами:

    1. Название блока (очередь на регистрацию)
    2. Минимальное значение для отсчёта (0)
    3. Шаг (3)
    4. Число интервалов (шагов)

    Объект  QTABLE (TAB2) описывает данные, которые будут помещены в таблицу по этапу обслуживания у кассы в соотве6тствии с теми же параметрами что и у объекта QTABLE (TAB1).

    Если  нужно измерить значение произвольного объекта, то можно воспользоваться конструкцией TABLE со следующими параметрами:

    1. М1 (системный параметр)
    2. Минимальное значение для отсчёта (0)
    3. Шаг (3)
    4. Число интервалов (10)

    Для привязки объекта измерения к  таблице, в коде должна быть конструкция  TABULATE, с названием самой таблицы. В данном случае, измеряется время прохождения транзактом второй фазы обслуживания (Досмотр).

    После запуска модели на выполнение, появится отчёт следующего содержания (start=600): 

GPSS World Simulation Report - Example.174.2 
 

                   Saturday, May 17, 2008 12:16:07   

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000           2636.742    60        8          1 
 

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

REGISTR1           479    0.637       3.507  1      603    0    0     0      0

DOSMOTR1           311    0.697       5.912  1        0    0    0     0      0

REGISTR2           124    0.165       3.505  1        0    0    0     0      0

DOSMOTR2           211    0.430       5.368  1        0    0    0     0      0

KASSA1             394    0.459       3.071  1        0    0    0     0      0

KASSA2             175    0.203       3.058  1      598    0    0     0      0

DOSMOTR3            80    0.172       5.671  1        0    0    0     0      0

KASSA3              33    0.040       3.170  1        0    0    0     0      0 
 

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

REGISTR             1    0    603    603     0.000      0.000      0.000   0

KASSA               1    0    602    598     0.001      0.003      0.502   0

TOTAL_TIME          8    2    603      0     2.825     12.353     12.353   0

DOSMOTR             3    0    602    580     0.022      0.096      2.638   0 
 

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

Имитационное моделирование экономических подсистем