Автор работы: Пользователь скрыл имя, 17 Июня 2014 в 23:16, курсовая работа
При исследовании операций часто приходится сталкиваться с системами, предназначенными для многоразового использования при решении однотипных задач. Возникающие при этом процессы получили название процессов обслуживания, а системы – систем массового обслуживания (СМО). Каждая СМО состоит из определенного числа обслуживающих единиц (приборов, устройств, пунктов, станций), которые называются каналами обслуживания. Каналами могут быть линии связи, рабочие точки, вычислительные машины, продавцы и др. По числу каналов СМО подразделяют на одноканальные и многоканальные.
Заявки поступают в СМО обычно не регулярно, а случайно, образуя так называемый случайный поток заявок (требований). Обслуживание заявок также продолжается какое-то случайное время. Случайный характер потока заявок и времени обслуживания приводит к тому, что СМО оказывается загруженной неравномерно: в какие-то периоды времени скапливается очень большое количество заявок (они либо становятся в очередь, либо покидают СМО не обслуженными), в другие же периоды СМО работает с недогрузкой или простаивает.
Введение3
Имитационное моделирование5
Нормальное распределение7
Экспоненциальное распределение7
Распределение Эрланга8
Описание системы9
Модельное время10
Классы и объекты10
Класс HeavyCar12
Класс Fuller13
Класс Emptier13
События и методы14
Листинг программы15
Результат35
Анализ результатов35
Список используемой литературы35
qu1=fopen("que1", "wt");
qu2=fopen("que2", "wt");
//Инициализация самосвалов
for(i=0;i<S;i++)
masCar[i]=new HeavyCar(i+1);
//Инициализация пунктов погрузки и загрузки
Fuller fu(masCar);
Emptier em;
//Установление связи
for(i=0;i<S;i++)
{
masCar[i]->putFuller(&fu);
masCar[i]->putEmptier(&em);
}
//Основной моделирующий цикл
for(total=0L;total<N;total++)
{
for(i=0;i<S;i++)
masCar[i]->run();
fu.run();
em.run();
}
//Учет остаточного состояния самосвалов
for(i=0;i<S;i++)
if ((masCar[i]->State()!=Que_
//Очистка памяти, выделенной под объекты
for(i=0;i<S;i++)
delete masCar[i];
delete [] masCar;
fclose(qu1);
fclose(qu2);
//Вывод результатов
printf("razgrujeno samosvalov %d\n", completed);
printf("srednyaya dlina ocheredi na pogruzku %.3f\n", que1_ave);
printf("srednyaya dlina ocheredi na razgruzku %.3f\n", que2_ave);
printf("koefficient zagruzki punkta pogruzki %.3f\n", ro_fuller);
printf("koefficient zagruzki punkta razgruzki %.3f\n", ro_emptier);
printf("koefficient zagruzki buldozera %.3f\n", ((float)ro_buld)/total);
printf("samosvali: dolya vremeni, provedenogo
v puti porojnyakom %.3f\n", ((float)path_empty)/(S*total))
printf("dolya vremeni, provedenogo v puti grujenim %.3f\n", ((float)path_full)/(S*total));
printf("dolya vremeni, provedenogo v punkte pogruzki %.3f\n", ((float)take)/(S*total));
printf("dolya vremeni, provedenogo v punkte razgruzki %.3f\n", ((float)give)/(S*total));
system("PAUSE");
}
Предположим, что размеры пункта и технология погрузки не позволяют установить дополнительные бульдозеры и погрузчики, отсутствуют также более производительные модели этих устройств. Исследуем, каким образом скажется на производительности системы увеличение количества самосвалов.
После проведенных исследований, путем изменения количества самосвалов в системе, можно сделать вывод, что показатели системы утрачивают тенденцию к росту при количестве самосвалов, равном 8- 9. Видимо, это и является оптимальным количеством самосвалов для данной системы при условии, что габариты пункта погрузки или прилегающей к нему территории достаточны для стоянки как минимум 3 самосвалов. Лишь средняя длина очереди к пункту погрузки линейно возрастает при увеличении числа самосвалов, что свидетельствует о том, что пункт погрузки является наиболее узким местом системы.
Список используемой литературы
Нижний Новгород
2013 год
Информация о работе Амкнутая система с неоднородными каналами: моделирование грузовых автоперевозок