Xreferat.com » Рефераты по экономико-математическому моделированию » Имитационная модель СТО с использованием программы С++

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

windowtext 1.0pt;border-right:solid windowtext 1.0pt; padding:0cm 5.4pt 0cm 5.4pt;">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г.

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: