Имитационная модель СТО с использованием программы С++

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

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

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

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

Случайные числа, g 2i

Время ремонта, мин.

Случайные числа, g i

Стоимость ремонта, руб.

1

0,65671

0,970213

43,34725

0,481822

726,3686

2

0,529158

0,620039

48,74525

0,034647

145,0411

3

0,460358

0,349485

49,32399

0,75438

1080,694

4

0,445785

0,761956

41,91791

0,194049

352,2637

5

0,840672

0,978321

44,21576

0,852098

1207,727

6

0,423906

0,688784

46,04819

0,778864

1112,523

7

0,763808

0,273752

46,6651

0,653691

949,7983

5574,416

Л Время на сложный ремонт равномерно распределено в интервале 80-150:

Xпрi = gi (150 - 80) + 80

Стоимость сложного ремонта также равномерно распределена в интервале 350-2550:

Xпрi = gi (2550 - 350) + 350

Таблица 7.

Случайные числа, g i

Время ремонта, мин.

Случайные числа, g i

Стоимость ремонта, руб.

1

0,471298

112,9909

0,831532

2179,37

2

0,548324

118,3827

0,631296

1738,851

3

0,752037

132,6426

0,82604

2167,288

4

0,270129

98,90903

0,910576

2353,267

5

0,37024

105,9168

0,231733

859,8126

6

0,914679

144,0275

0,351011

1122,224

7

0,058792

84,11544

0,274889

954,7558

11375,57

Нужно определить среднее время обслуживания автомобилей на СТО. Для этого сначала определяем среднее время обслуживания для ТО, простого, среднего и сложного ремонтов в отдельности.

Ш Среднее время тех. обслуживания = общее время тех. обслуживания / число обслуживающихся машин. = 480 / 15 = 32 мин.

Ш Среднее время простого ремонта = общее время простого ремонта / число обслуживающихся машин. = (50+43) / 2 = 46,5 мин.

Ш Среднее время среднего ремонта = общее время среднего ремонта / число обслуживающихся машин. = 466 / 7 = 66,57 мин.

Ш Среднее время сложного ремонта = общее время сложного ремонта / число обслуживающихся машин. = (64+27+27+66+37) / 7 = 31,57 мин.

Ш Общая стоимость обслуживания на СТО = 3591,664 + 500,094 + 5574,416 + 11375,57 =

21041,74 руб.

Итого среднее время обслуживания автомобилей = (32+46,5+66,57+31,57) / 4 = 44,16 мин.

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

Интервал времени обслуживания всех машин на графике составляет 546 мин. Имеется 5 обслуживающих блоков: 2 блока для ТО, и по 1 блоку на простой, средний и сложный ремонты.

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

Канал может обслуживать одновременно только одну заявку. Обслуживание заявок производится в таком порядке: сначала в очереди нет ни одной машины, и колонка свободна. В момент поступления машины начинается его обслуживание. Если следующая машина приезжает в тот момент, когда канал занят, то она становится в очередь. Далее дисциплина обслуживания такова: обслуживается машина, стоящая первая в очереди.

(См. Приложение).

По полученному графику определяем следующие характеристики работы СМО:

« Среднее время задержки (автомобилей):

Тех. обслуживание: (11+38+26) /3 = 25

Простой ремонт: нет задержки

Средний ремонт: 265 / 6 = 44,2

Сложный ремонт: 42 / 2 =21

« Средняя длина очереди (автомобилей): ,

Где: T(n) - конечное время работы системы;

T0, T1, T2 … - промежуток времени, в течении которого в системе находилось соответственно 0, 1, 2 и более требований.

Тех. обслуживание: T(n)=546; T0=471; T1=75; g(n) = 75 / 546 = 0,14

Простой ремонт: нет очереди

Средний ремонт: T(n)=515; T0=249; T1=128, T2=108, T3=29; g(n) = (128+108*2+29*3) / 515 = 0,84

Сложный ремонт: T(n)=493; T0=451; T1=42; g(n) = 42 / 491 = 0,09

« Максимальная длина очереди (автомобилей): L(max) = 3 машины

« Коэффициент использования устройства (блоков на СТО):

; ;

Тех. обслуживание: Un = 480 / 546 = 0,88 => 88% - работает, 12% - простой;

Простой ремонт: Un = 92/ 517 = 0,18 => 18% - работает, 72% - простой;

Средний ремонт: Un = 316 / 546 = 0,61 => 61% - работает, 39% - простой;

Сложный ремонт: Un = 221 / 546 = 0,45 => 45% - работает, 55% - простой.

3.3 Блок - схема

3.4 Перевод модели на язык программирования

3.4.1 Выбор языка программирования

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

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

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

Языки программирования высокого уровня не учитывают особенности конкретных компьютерных архитектур, поэтому создаваемые программы на уровне исходных текстов легко переносятся на другие платформы, если для них созданы соответствующие трансляторы.

Си - был создан в 70- е годы первоначально не рассматривался как массовый язык программирования. Он планировался для замены ассемблера, чтобы иметь возможность создавать такие же эффективные и короткие программы, но не зависеть от конкретного процессора. Он во многом похож на Паскаль и имеет дополнительные возможности для работы с памятью.

Си++ - объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980г.

3.4.2 Программа

Принятые сокращения:

tk - количество минут (в нашей программе tk = 7200, т.е. 5 дней);

kol - количество машин, прибывших на СТО за 5 дней;

st - счетчик машин, поступивших на СТО за 5 дней;

i - переменная;

j - кол-во машин, поступивших на тех. обслуживание;

r1 - кол-во машин, поступивших на простой ремонт;

r2- кол-во машин, поступивших на средний ремонт;

r3- кол-во машин, поступивших на сложный ремонт;

k, l, m, n - переменные;

p - случайное число;

s_to - выручка на блоке тех. обслуживания за 5 дней;

s_pr- выручка по простому ремонту за 5 дней;

s_sr- выручка по среднему ремонту за 5 дней;

s_sl- выручка по сложному ремонту за 5 дней;

SUM- общая выручка на СТО за 5 дней.

Программный код:

#include<iostream.h>

#include<math.h>

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

void main()

{

int tk,kol,i=0,j=0,r1=0,r2=0,r3=0,k=1,l=1,m=1,n=1;

float p, st=0, s_to=0, s_pr=0, s_sr=0, s_sl=0, SUM;

cin>>tk;

while (st<=tk)

{

p = - log(rand()))/32767*14;

st=st+p;

i++;

}

kol=i;

for (i=1; i<=kol; i++)

{

p=float(rand())/32767;

if (p<=0,12) {j++; r2++;}

else if (p>0,12 && p<=0,36) j++;

else if (p>0,36 && p<=0,57) r1++;

else if (p>0,57 && p<=0,78) r2++;

else r3++;

}

while (k<=j)

{

p= float(rand())/32767*300+100;

s_to=s_to+p;

k++;

}

while (l<=r1)

{

p=float(rand())/32767*400+50;

s_pr=s_pr+p;

l++;

}

while (m<=r2)

{

p=float(rand())/32767*1300+100;

s_to=s_to+p;

k++;

}

while (n<=r3)

{

p=float(rand())/32767*2200+350;

s_sl=s_sl+p;

n++;

}

SUM=s_to+s_pr+s_sr+s_sl;

cout<<"viruchka za 5 dnei ravna"<<SUM<<endl;

}

Рис.9 Результат выполнения программы

Заключение

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

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

Список использованной литературы

1. Емельянов А.А. «имитационное моделирование экономических процессов» 2002г

2. Советов В.Я., Яковлев С.А. «Моделирование системы» 2001г.

3. Соболь И.М. «Метод Монте-Карло» 1968г.

4. Шеннон Р. «Имитационное моделирование систем - искусства и науки» 1978г.

5. «Машинные имитационные эксперименты с моделями экономических систем» под редакцией Нейлера.

6. Бусленко М.П. «Моделирование сложных систем».

7. Кеольтон В., Лод А. «Имитационное моделирование. Классика CS» издание 3-е, 2004г.


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

  • Построение модели, имитирующей процесс работы отдела обслуживания ЭВМ, разрабатывающего носители с программами для металлорежущих станков с ЧПУ. Этапы решения задач по автоматизации технологических процессов в среде имитационного моделирования GPSS World.

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

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

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

  • Моделирование процесса массового обслуживания. Разнотипные каналы массового обслуживания. Решение одноканальной модели массового обслуживания с отказами. Плотность распределения длительностей обслуживания. Определение абсолютной пропускной способности.

    контрольная работа [256,0 K], добавлен 15.03.2016

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

    дипломная работа [224,3 K], добавлен 05.09.2009

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

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

  • Формулировка проблемы в практической области. Построение моделей и особенности экономико-математической модели транспортной задачи. Задачи линейного программирования. Анализ постановки задач и обоснования метода решения. Реализация алгоритма программы.

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

  • Понятие, цели и область применения имитационного моделирования. Исследование основных бизнес-процессов транспортной компании. Построение имитационной модели логистических процессов транспортной компании, её калибровка и верификация в целях оптимизации.

    дипломная работа [4,7 M], добавлен 18.02.2017

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

    контрольная работа [135,3 K], добавлен 01.06.2014

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

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

  • Статические и динамические модели. Анализ имитационных систем моделирования. Система моделирования "AnyLogic". Основные виды имитационного моделирования. Непрерывные, дискретные и гибридные модели. Построение модели кредитного банка и ее анализ.

    дипломная работа [3,5 M], добавлен 24.06.2015

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