Моделирование работы внутризаводского транспорта
Структурная схема процесса функционирования внутризаводского транспорта. Структурная схема модели в символике Q-схем. Переменные и уравнения имитационной модели. Обобщенная схема моделирующего алгоритма. Особенности программирования на языке С/С++.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.01.2018 |
Размер файла | 630,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Моделируемая система относится к системам массового обслуживания. Системы массового обслуживания - это класс математических схем, разработанных в теории массового обслуживания и ее приложениях для формализации процессов функционирования систем, которые по своей сути являются процессами обслуживания.
Для формализации систем применяют Q-схемы. Q-схемы представляют собой объединение отдельных элементарных приборов обслуживания. Если каналы этих приборов соединены параллельно, то имеет место многоканальное обслуживание. Если приборы и их параллельные композиции соединены последовательно, то имеет место многофазное обслуживание. В разомкнутых Q-схемах поток обслуженных заявок не может снова поступить на какой-либо элемент, т.е. обратные связи отсутствуют. В замкнутых Q-схемах имеются обратные связи, по которым заявки двигаются в направлении, обратном направлению вход/выход.
Для описания Q-схемы необходимо задать алгоритм ее функционирования, который определяет набор правил поведения заявок в системе в различных неоднозначных ситуациях.
Существует два принципа построения моделирующих алгоритмов Q-схем:
- принцип Дt;
- принцип дz;
При построения моделирующего алгоритма Q-схемы по «принципу Дt», т.е. алгоритма с детерминированным шагом, необходимо для построения адекватной модели определить минимальный интервал времени между соседними событиями Дt'=min{ui} и принять, что шаг моделирования равен Дt'.
В моделирующих алгоритмах, построенных по «принципу дz», т.е. в алгоритмах со случайным шагом, элементы Q-схемы просматриваются при моделировании только в моменты особых состояний. При этом длительность шага Дt=var зависит как от особенностей самой системы, так и от воздействий внешней среды.
Для моделирования данной системы используем детерминированный алгоритм, построенный по принципу Дt. Этот алгоритм наиболее прост с точки зрения логики его построения, т.к. при этом используется просмотр всех элементов Q-схемы на каждом шаге моделирования. Трудности возникают с машинной реализацией алгоритма вследствие увеличения затрат машинного времени на моделирование, т.к. просматриваются все элементы Q-схемы. Затраты машинного времени на моделирование существенно увеличиваются при построении детерминированных моделирующих алгоритмов Q-схем, элементы которых функционируют в различных масштабах времени.
1. Постановка задачи
Диспетчер управляет внутризаводским транспортом и имеет в своем распоряжении два грузовика. Заявки на перевозки поступают к диспетчеру каждые 5 ± 4 мин. С вероятностью 0,5 диспетчер запрашивает по радио один из грузовиков и передает ему заявку, если тот свободен. В противном случае он запрашивает другой грузовик и таким образом продолжает сеансы связи, пока один из грузовиков не освободится. Каждый сеанс связи длится ровно 1 мин. Диспетчер допускает накопление у себя до пяти заявок, после чего вновь прибывшие заявки получают отказ. Грузовики выполняют заявки на перевозку за 12 ±8 мин.
Смоделировать работу внутризаводского транспорта в течение 10 час. Подсчитать число обслуженных и отклоненных заявок. Определить коэффициенты загрузки грузовиков.
имитационный модель программирование
2. Структурная схема процесса функционирования
Структурная схема процесса функционирования внутризаводского транспорта представлена на рисунке 1.
Рисунок 1- Структурная схема процесса функционирования
3. Структурная схема модели в символике Q-схем
Структурная схема модели в символике Q-схемы представлена на рисунке 2.
Рисунок 2 - Структурная схема модели в символике Q-схем
На рисунке 2 использованы следующие обозначения:
И - источник, К - канал, Н - накопитель;
K1 - диспетчер;
K2 - грузовик 1;
K3 -грузовик 2;
Н - накопитель(очередь заявок на перевозку).
Источник И имитирует поступление заявок, приходящие в накопитель. Если накопитель Н заполнен, то клапан 2-закрыт, клапан 1- открыт. Если в это время из источника И поступает очередная заявка, то она не обслуживается и покидает систему.
В противном случае, если накопитель пуст или в нем содержится меньше 5 заявок, клапан 2 - открывается, клапан 1 - закрывается. В накопитель начинают поступать заявки на перевозку. Накопитель заполняется до тех пор, пока количество заявок в нём не станет равным 5. После этого накопитель считается заполненным.
Заявки поступают в накопитель Н, если грузовики 1 или 2 свободны, то клапаны 3, 4 и 5 открываются и заявки поступают с вероятностью 0,5 на обработку в каналы К2 и К3. Если канал К2 занят, то клапан 3 закрыт, а клапаны 4 и 5 открыты. Если К3 занят , тогда клапаны 4 и 5 закрыты, а клапан 3 открыт. Если оба канала К2 и К3 заняты, клапаны 3 и 5 закрыты, заявка находится в накопителе до тех пор пока один из каналов К2 или К3 не освободится.
4. Переменные и уравнения имитационной модели
Независимые (экзогенные) переменные:
t_pz - интервал времени поступления заявок в накопитель (54 мин, [1,9]);
t_oz - время, необходимое для выполнения заявки (128 мин, [4,20])
Зависимые (эндогенные) переменные:
k - длительность сеанса связи между диспетчером и грузовиками (1 мин);
K1, K2 - коэффициенты загрузки грузовиков 1 и 2 соответственно;
Вспомогательные переменные:
z1,z2- состояние грузовиков 1 и 2 соответственно
Переменные состояния:
No- число обработанных заявок грузовиками;
Nn - число не обработанных заявок грузовиками;
Дополнительные переменные, используемые в программе:
Time - время моделирования;
Twork1, Twork2 - время занятости грузовиков 1 и 2 соответственно;
i - счетчик количества обслуживаемых заявок диспетчером (300);
j1, j2 - флаги, управляющие окончанием процессов в К1 и К2;
Уравнения модели:
;
;.
5. Обобщенная схема моделирующего алгоритма
Для формализации процесса функционирования системы использован алгоритм с детерминированным шагом. Детерминированный моделирующий алгоритм является наиболее простым и удобным. Обобщенная схема моделирующего алгоритма процесса функционирования системы приведена на рисунке 3.
Детальный псевдокод алгоритма представлен в приложении А.
Рисунок 3 - Обобщенная схема моделирующего алгоритма
6 Особенности программирования
6.1 Функции программы
Программа реализована на языке С/С++ и выполняет моделирование работы внутризаводского транспорта.
В программе используется функция RANDOM (А, В), которая производит генерацию случайного целого числа в интервале [А-В, А+В]. Процедура progа() обрабатывает входные данные, подсчитывает число обслуженных и не обслуженных заявок, поступивших диспетчеру, определяет коэффициенты загрузки грузовиков 1 и 2.
Листинг программы приведен в приложении Б.
6.2 Входные данные
Time - время моделирования;
k - длительность сеанса связи между диспетчером и грузовиками (1 мин);
t_pz - интервал времени поступления заявок в накопитель (54 мин, [1,9]);
t_oz - время выполнения заявки (128 мин, [4,20])
6.3 Выходные данные
No- число обработанных заявок грузовиками;
Nn - число не обработанных заявок грузовиками;
K1, K2 - коэффициенты загрузки грузовиков 1 и 2 соответственно;
6.3 Организация интерфейса
При запуске программы появляется окно, содержащее параметры моделирования, а также выходные данные, структурную схему и Q - схему (рисунок 4). Для моделирования процесса обработки информации необходимо установить требуемые входные данные. Моделирование начинается нажатием кнопки «Моделирование». Окно содержит кнопку «Задание», при нажатии которой открывается окно с заданием (рисунок 5).
Рисунок 4 - Интерфейс программы
Рисунок 5 - Окно с заданием
Рисунок 6 - Q схема
7. Результаты моделирования
Результаты моделирования работы внутризаводского транспорта представлены в таблице 1.
Таблица 1 - Результаты моделирования
№ эксперимента |
Количество обслуженных заявок |
Количество необслуженных заявок |
Коэффициент загрузки грузовика1, (%) |
Коэффициент загрузки грузовика 2, (%) |
|
1 |
92 |
82 |
91,62 |
91,78 |
|
2 |
100 |
70 |
90,25 |
90,25 |
|
3 |
112 |
54 |
89,29 |
89,75 |
|
4 |
108 |
63 |
89,54 |
90,8 |
|
5 |
100 |
72 |
90,66 |
90,82 |
|
6 |
108 |
59 |
90,97 |
90,97 |
|
7 |
108 |
57 |
91,26 |
91,26 |
|
8 |
98 |
63 |
91,29 |
90,82 |
|
9 |
112 |
60 |
89,8 |
90,69 |
|
10 |
102 |
72 |
91,15 |
91,31 |
|
11 |
98 |
74 |
91,96 |
91,96 |
|
12 |
110 |
66 |
91,05 |
91,05 |
|
13 |
99 |
67 |
90,44 |
90,75 |
|
14 |
92 |
77 |
91,85 |
91,85 |
|
15 |
111 |
58 |
91,15 |
90,85 |
|
16 |
95 |
78 |
91,02 |
90,88 |
|
17 |
101 |
58 |
91,16 |
91,16 |
|
18 |
98 |
70 |
91,13 |
91,29 |
|
19 |
102 |
68 |
90,64 |
90,64 |
|
20 |
114 |
66 |
90,31 |
90,31 |
|
Среднее количество обслуженных заявок |
Среднее количество необслуженных заявок |
Средний коэффициент загрузки грузовика 1, (%) |
Средний коэффициент загрузки грузовика 2, (%) |
||
103 |
67 |
90,82 |
90,95 |
Заключение
Анализ результатов моделирования работы внутризаводского транспорта позволяет сделать вывод о неэффективности его работы, что подтверждается большим числом необслуженных заявок- 67 из 170 заявок за 10 часов моделирования, что составляет 39% от общего числа заявок, при этом загруженность грузовиков составляет в среднем 91%. Чтобы увеличить эффективность работы внутризаводского транспорта необходимо изменить интервал времени поступления заявок к диспетчеру. При увеличении интервала времени 13±4 мин. все поступившие заявки обслуживаются, при этом коэффициент загрузки грузовиков в среднем уменьшается до 86%.
Список литературы
1. Советов Б. Я., Яковлев С. А. Моделирование систем: Учеб. для вузов, 3-е издание, перераб. и доп. - М: Высш. школа, 2001 - 343 с.
2. Советов Б. Я., Яковлев С. А. Моделирование систем: Курсовое проектирование: Учеб. пособие по специальности АСУ. - М: Высш. школа, 1988 - 135 с.
Приложение А (обязательное)
Псевдокод моделирующего алгоритма
скаляр RANDOM(скаляр A - целое, скаляр В - целое)
начало
скаляр Q - целое
Q=random(2*В+1)+(A-В);
возврат Q
конец
Алгоритм proga()
начало
скаляры Twork1,Twork2,L,z1,z2, Time, n- целые
скаляры i, j1,j2, No,Nn, T, Sum- целые
скаляры K1,K2- вещественные
массивы , t_oz, t_pz,gen_z - целые
ввод Time, t_oz, t_pz,gen_z - целые
для (i=0,i<300,i=i+1)
начало
Sum+=RANDOM(А,В);
t_pz[i]=Sum;
t_oz[i]=RANDOM(А,В);
gen_z[i]=RANDOM(51,50);
конец
Шаг1:
если(T>=Time и L=0)
начало
вывод No,Nn,K1,K2
конец
если(z1=1)
начало
если (j1=0) начало
j1=T+t_oz[n];Twork1+=t_oz[n];
конец
если (T=j1) начало
No++;z1=0;j1=0;
конец
если (gen_z[n]<=49) то z2=1;
иначе z1=1;
конец
если(z2=1)
начало
если(j2=0) начало
j2=T+t_oz[n];Twork2+=t_oz[n];
конец
если (T=j2) начало
No++;z2=0;j2=0;
конец
если(gen_z[n]<=49) то z2=1;
иначе z1=1;
начало
если((z1=0 или z2=0) и L>0)
конец
если(gen_z[n]<=49)
если(z1=1)то начало
z2=1;L--;
конец
иначе начало
z1=1;L--;
конец
иначе начало
z2=1;L--;
конец
конец
если(T>=Time) начало
T++; перейти к Шаг 1;
конец
иначе(T<=t_pz[n]) начало
T++; перейти к Шаг 1;
конец
иначе
начало
если(L<5) то L++;
иначе Nn++;
T++; n++;
конец
K1=(10000.0*Twork1/T)/100.0;
K2=(10000.0*Twork2/T)/100.0;
перейти к Шаг1;
конец
Приложение Б (обязательное)
Листинг программы
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "Unit4.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#pragma link "PERFGRAP"
TForm1 *Form1;
int *t_oz,*t_pz,*gen_z;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{ randomize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
}
int RANDOM(int A,int B)
{
int Q;
Q=random(2*B+1)+A-B;
return Q;
}
void proga()
{
int Twork1=0,Twork2=0,L=0,z1=0,z2=0, Time=0;
int i=0,n=0;
int j1=0,j2=0,j3=0, j4=0, No=0,Nn=0;
int T=0;
float K1,K2;
Time=StrToInt(Form1->Edit1->Text)*60;
step_1:;
if(T>=Time && L==0)
{
Form1->Label17->Caption=No;
Form1->Label18->Caption=Nn;
Form1->Label19->Caption= K1;
Form1->Label20->Caption=K2;
return;
}
if(z1==1)
{if(j1==0) {j1=T+t_oz[n];Twork1+=t_oz[n];}
if(T==j1) {No++;z1=0;j1=0;}
if(gen_z[n]<=49) z2=1;
else z1=1;
}
if(z2==1)
{if(j2==0) {j2=T+t_oz[n];Twork2+=t_oz[n];}
if(T==j2) {No++;z2=0;j2=0;}
if(gen_z[n]<=49) z2=1;
else z1=1;
}
if((z1==0 || z2==0) && L>0)
{
if(gen_z[n]<=49)
if(z1==1){z2=1;L--;}
else {z1=1;L--;}
else {z2=1;L--;}
}
if(T>=Time) {T++; goto step_1;}
if(T<=t_pz[n]){ T++; goto step_1;}
else
{
if(L<StrToInt(Form1->Edit6->Text.c_str())) L++;
else Nn++;
T++; n++;
}
K1=int(10000.0*Twork1/T)/100.0;
K2=int(10000.0*Twork2/T)/100.0;
goto step_1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
delete[] t_pz,t_oz,gen_z;
t_pz=new int[300];
t_oz=new int[300];
gen_z=new int[300];
int Sum=0;
for(int i=0;i<300;i++)
{
Sum+=RANDOM(StrToInt(Edit2->Text.c_str()),StrToInt(Edit3->Text.c_str()));
t_pz[i]=Sum;
t_oz[i]=RANDOM(StrToInt(Edit4->Text.c_str()),StrToInt(Edit5->Text.c_str()));
gen_z[i]=RANDOM(51,50);
}
proga();
}
Размещено на Allbest.ru
...Подобные документы
Описание моделируемой системы. Структурная схема модели системы. Q-схема системы и её описание. Математическая модель и укрупнённая схема моделирующего алгоритма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [46,7 K], добавлен 02.07.2011Разработка и реализация моделирующего алгоритма процесса обслуживания 150 кораблей путем написания программы в среде GPSS/PC. Временная диаграмма процедуры погрузки-разгрузки кораблей. Структурная схема функционирования причалов в символике Q-схем.
курсовая работа [711,4 K], добавлен 22.06.2011Моделирование работы вычислительной системы из двух процессоров и общей оперативной памяти. Структурная схема модели системы. Укрупненная схема моделирующего алгоритма. Результаты моделирования и их анализ. Машинная программа объекта исследования.
курсовая работа [1,0 M], добавлен 21.06.2011Понятие стратегического планирования, разработка схем программных блоков и основной программы. Структурная схема имитационной модели, создание модели на языке моделирования General Purpose Simulation System. Математическое описание моделируемой системы.
дипломная работа [2,6 M], добавлен 12.08.2017Структурная схема модели системы, временная диаграмма, блок-схема моделирующего алгоритма, математическая модель, описание машинной программы решения задачи, результаты моделирования. Сравнение имитационного моделирования и аналитического расчета.
курсовая работа [209,7 K], добавлен 28.06.2011Структурная схема модели системы и её описание. Временная диаграмма и Q-схема системы обмена пакетами данных, описание блоков моделирующего алгоритма. Сравнение результатов имитационного моделирования и аналитического расчёта характеристик системы.
курсовая работа [376,9 K], добавлен 03.07.2011Процесс моделирования имитационной модели функционирования класса персональных компьютеров на языке GPSS World. Поиск линейной зависимости и оценка полученного уравнения. Отчет по результатам работы имитационной модели. Листинг разработанной программы.
курсовая работа [49,2 K], добавлен 07.09.2012Структурная схема моделируемой системы и её описание. Временная диаграмма и Q-схема системы. Укрупнённая и детальная схема моделирующего алгоритма. Описание машинной программы решения задачи. Описание возможных улучшений и оптимизации в работе системы.
курсовая работа [69,2 K], добавлен 02.07.2011Характеристика работы сервиса технического обслуживания автомобилей и основные составляющие процесса. Структурная схема модели, временная диаграмма, Q-схема системы и их описание. Сравнение результатов моделирования и машинная программа работы сервиса.
дипломная работа [140,2 K], добавлен 18.06.2011Структурная схема, классификация устройств СМО и анализ динамики ее функционирования. Формализация модели СМО средствами GPSS World. Модификация имитационной модели. Реализация модельных экспериментов. Имитационное моделирование СМО в среде GPSS World.
курсовая работа [504,6 K], добавлен 14.12.2012Задачи теории массового обслуживания. Моделирование работы регулировочного участка цеха. Обобщенная схема моделирующего алгоритма. Краткая характеристика технологии реализации, особенности программирования. Описание функций программы и интерфейса.
курсовая работа [1,4 M], добавлен 15.06.2010Создание математической модели системы массового обслуживания на примере банка. Разработка имитационной модели на языке программирования С++. Блок-схема программы, перевод модели на язык программирования. Верификация и валидация имитационной модели.
курсовая работа [630,5 K], добавлен 01.06.2015Сущность понятия "имитационное моделирование". Подклассы систем, ориентированных на системное и логическое моделирование. Способы построения моделирующего алгоритма. Имитационные модели производственных процессов. Структура обобщенной имитационной модели.
реферат [453,5 K], добавлен 26.10.2010Общая характеристика ателье "Вита", схема модели рабочего процесса. Исследование заданной системы с помощью моделирования динамических рядов, модели типа "система массового облуживания". Построение имитационной модели деятельности данного ателье.
курсовая работа [1,4 M], добавлен 01.06.2016Разработка математической модели системы. Моделирование работы конвейера сборочного цеха в течении 8 часов. Определение вероятности пропуска секции. Расчет количества скомплектованных изделий за 8 часов. Исследование системы на имитационной модели.
контрольная работа [98,3 K], добавлен 24.09.2014Структурная схема процесса функционирования вычислительного центра. Моделирование процесса обслуживания ста пользователей. Оценка числа пользователей в очереди, коэффициента загрузки ЭВМ, вероятности отказа по причине отсутствия свободных мест в очереди.
курсовая работа [54,9 K], добавлен 25.06.2011Моделирование системы массового обслуживания (СМО) для транспортного цеха с использованием языка GPSS Wоrld. Детальная схема и блок-схема моделирующего алгоритма и их описание. Математическая модель и ее описание. Анализ результатов моделирования.
реферат [330,6 K], добавлен 28.06.2011Специфика работы терапевтического отделения. Разработка имитационной модели в среде AnyLogic. Выбор средств моделирования. Описание схемы моделирующего алгоритма. Организация вычислительного эксперимента над математической моделью, анализ его результатов.
курсовая работа [1,2 M], добавлен 10.06.2015Система массового обслуживания модели функционирования мастерской. Структурная и Q-схемы, построение временной диаграммы, варианты по оптимизации модели. Составление программы на языке имитационного моделирования GPSS и разбор результатов моделирования.
курсовая работа [74,2 K], добавлен 23.06.2011Создание программы на языке C++, обеспечивающей ввод исходной информации, ее обработку, реализацию алгоритма имитации процесса и выдачу необходимой информации. Разработка имитационной модели очереди с разнотипными заявками (модели работы порта).
курсовая работа [563,8 K], добавлен 13.09.2012