Автор работы: Пользователь скрыл имя, 13 Марта 2012 в 11:35, реферат
Система массового обслуживания – совокупность последовательно связанных между собой входящих потоков требований на обслуживание (машин, самолетов, пользователей и т.д.), накопителей, очередей, каналов обслуживания (станций техобслуживания, аэродромов, ЭВМ и т.д.) и выходящих потоков требований после обслуживания.
Введение
1.Общая характеристика СМО
2.Исходные данные для создания СМО
3. Построение алгоритма имитационной модели. Машинная программа модели
3.1 Построение алгоритма имитационной модели
3.2 Машинная программа модели
4. Описание функционирования математической модели
5. Анализ результатов испытаний
Заключение
Список использованных источников
$aa="$vp[$z]"; $aaa=length($aa); for ($aaaa=1; $aaaa < 9-$aaa; $aaaa++) {$aa="$aa ";} $vp=$aa;
$aa="$vno[$z]"; $aaa=length($aa); for ($aaaa=1; $aaaa < 11-$aaa; $aaaa++) {$aa="$aa ";} $vno=$aa;
$aa="$vko[$z]"; $aaa=length($aa); for ($aaaa=1; $aaaa < 11-$aaa; $aaaa++) {$aa="$aa ";} $vko=$aa;
$aa="$kanal[$z]"; $aaa=length($aa); for ($aaaa=1; $aaaa < 7-$aaa; $aaaa++) {$aa="$aa ";} $kanal=$aa;
$aa="$nvo[$z]"; $aaa=length($aa); for ($aaaa=1; $aaaa < 6-$aaa; $aaaa++) {$aa="$aa ";} $nvo=$aa;
$aa="$vob[$z]"; $aaa=length($aa); for ($aaaa=1; $aaaa < 7-$aaa; $aaaa++) {$aa="$aa ";} $vob=$aa;
$aa="$voo[$z]"; $aaa=length($aa); for ($aaaa=1; $aaaa < 9-$aaa; $aaaa++) {$aa="$aa "; $sr_voo = $sr_voo + $voo[$z];} $voo=$aa;
print OUT "$z| $vp| $vno| $vko| $kanal| $nvo| $vob| $voo\n";
$vp[$z] = '-';
$vno[$z] = '-';
$vko[$z] = '-';
$kanal[$z] = '-';
$nvo[$z] = '-';
$vob[$z] = '-';
$voo[$z] = '-';
}
}
$srkanal = $srkanal + $skanal[$q7] / $ppp;
print OUT "\n\nОкончание обслуживания каждым каналом:\n";
$max_T = $N[1]; # время работы СМО
for ($q8 = 1; $q8 <= $N; $q8++)
{
print OUT "канал $q8 : $N[$q8]\n";
if ($N[$q8] < $T) {$rabot = $rabot + $T;} else {$rabot = $rabot + $N[$q8];}
if ($max_T < $N[$q8]) {$max_T = $N[$q8];}
}
$vrp = $rabot - $svob;
$svrobsl = $svrobsl + $svob;
$sr_och = $sr_och + $sr_dl_och;
$skz = $skz + $ppp;
$sotkaz = $sotkaz + $otkaz;
$svpr = $svpr + $vrp;
$smaxvoo = $smaxvoo + $maxvoo;
$vrp = int($vrp * 100) / 100;
$rabot = int($rabot * 100) / 100;
print OUT "\n\n\nСуммарное время простоя на $N каналах обслуживания за общее время $rabot часов, час: $vrp\n";
$svo = int(($svoo / $ppp)*1000000)/1000000;
print OUT "Минимальное время ожидания: $minvoo\n";
print OUT "Максимальное время ожидания: $maxvoo\n";
print OUT "Среднее время ожидания: $svo\n";
$potkaz = int($otkaz/$ppp*10000)/100;
print OUT "Количество отказов: $otkaz, $potkaz%\n";
$sr_dl_och = int($sr_voo / $max_T * 100) / 100;
print OUT "Средняя длина очереди: $sr_dl_och\n\n";
$ssvo = $ssvo + $svo;
$ppp = 0;
$otkaz = 0;
$rabot = 0;
$svob = 0;
$svo = 0;
$manvoo = 0;
$maxvoo = 0;
}
$skz = int($skz / $F*1)/1;
$sotkaz = int($sotkaz / $F*100)/100;
$svpr = int($svpr / $F*100)/100;
$ssvo = int($ssvo / $F*100)/100;
$smaxvoo = int($smaxvoo / $F*100)/100;
$sr_och = int($sr_och / $F * 100) / 100;
print OUT "\n\nОТЧЕТ:\n\n";
print OUT "Среднее кол-во заявок за рабочий период: $skz\n";
$spotkaz = int($sotkaz/$skz*10000)/100;
print OUT "Среднее кол-во отказов: $sotkaz, $spotkaz%\n";
$vodsl = 100 - $spotkaz;
print OUT "Вероятность обслуживания: $vodsl%\n";
$ops = 1 - $spotkaz / 100;
print OUT "Относительная пропускная способность: $ops\n";
$aps = int($ops * $L*100) / 100;
print OUT "Абсолютная пропускная способность [ед./час]: $aps\n";
print OUT "Среднее время простоя на $N каналах обслуживания за период $T часов, час: $svpr\n";
$vprost = int($svpr / $T / $N * 10000) / 100;
print OUT "Вероятность простоя СМО: $vprost%\n";
$kz = 100 - $vprost;
print OUT "Коэффициент загузки СМО: $kz%\n";
$srkanal = int($srkanal / $F * 100) / 100;
print OUT "Среднее число занятых каналов: $srkanal из $N\n";
print OUT "Среднее время ожидания: $ssvo\n";
$svprzay = int(($ssvo + $svrobsl / $F / $skz) * 100) / 100;
print OUT "Среднее время
пребывания заявки в СМО (
print OUT "Среднее максимальное время ожидания: $smaxvoo\n";
print OUT "Средняя длина очереди: $sr_och\n\n";
}
else
{
print "файл данных не найден\n";
}
}
else
{
print "файл данных не задан\n";
}
close(OUT);
4. Описание функционирования математической модели
Приведем формулы, необходимые для вычислений:
1.
расчет времени поступления заявок в СМО, где λ – интенсивность потока заявок,
R - случайная величина, равномерно
распределенная в интервале (0,
Тk-1 – время поступления предыдущей заявки;
2. - вычисляет время обслуживания канала m;
3. - определяет интервал
времени между двумя
4. - формирует момент поступления следующей заявки;
5. - расчет среднего времени ожидания;
Под характеристиками СМО
с ограничением на количество заявок
в очереди будем понимать величины,
по которым можно оценивать
Величины эффективности:
Ротк – вероятность отказа, показывает, какая доля всех поступающих заявок не обслуживается системой из-за занятости ее каналов или большого количества заявок в очереди (для СМО без ограничений на очередь Ротк = 0);
Ротк=kотк/k, 4.1
где kотк – количество заявок, получивших отказ, k – общее количество заявок, поступивших в СМО
Робсл – вероятность обслуживания (относительная пропускная прособность), показывает, какая доля всех поступающих заявок обслуживается системой,
Робсл=1-Ротк 4.2
(для СМО без отказов Робсл = 1);
U – коэффициент загрузки
СМО, показывает, какую часть от
общего времени своей работы
СМО выполняет обслуживание
U = ρ(1 – Pотк), 4.3
где ρ - нагрузка на СМО:
где 4.4
Величина ρ представляет собой отношение интенсивности потока заявок к интенсивности, с которой СМО может их обслуживать. Для СМО с ограничениями на очередь и без очереди возможны любые значения ρ, так как в таких СМО часть заявок получает отказ, т.е. не допускается в СМО.
q – среднее число заявок
в очереди (средняя длина
S – среднее число заявок на обслуживании (в каналах), или среднее число занятых каналов;
S = mU 4.5
k – среднее число заявок в СМО, т.е. на обслуживании и в очереди;
k = q + S 4.6
w – среднее время пребывания
заявки в очереди (среднее
4.7
t – среднее время пребывания заявки в СМО, т.е. в очереди и на обслуживании;
или 4.8 - 4.9
γ – пропускная способность (среднее количество заявок, обслуживаемых в единицу времени); эта величина представляет интерес с точки зрения стороны, осуществляющей эксплуатацию СМО. Обычно желательна максимизация этой величины, особенно в случаях, когда обслуживание каждой заявки обеспечивает получение определенной прибыли.
γ = μS или γ = λ(1 – Pотк). 4.10
- абсолютная пропускная способность.
Величины U и S характеризуют степень загрузки СМО. Эти величины представляют интерес с точки зрения стороны, осуществляющей эксплуатацию СМО.
Например, если в качестве
СМО рассматривается
Величины Pотк, Pобсл, w и t характеризуют качество обслуживания заявок.
Они представляют интерес с точки зрения пользователей СМО. Желательна минимизация значений Pотк, w , t и максимизация Pобсл.
Величины q и k обычно используются в качестве вспомогательных для расчета других характеристик СМО.
Формулы (4.1)–(4.10) могут применяться
для расчета характеристик
Обозначения:
время работы СМО, час [T]: 7
интенсивность поступления заявок, ед./час [L]: 7
число обслуживающих каналов, ед. [N]: 3
максимальная длина очереди, ед. [M]: 4
закон распределения времени обслуживания (exp/evenly) [ZR]: exp
среднее время обслуживания [TO]: 0,5
погрешность вычислений [E]: 0,1
количество прогонов модели
[5].
В связи с большим объемом данных по реализации 100 прогонов, приведу результаты одного в Таблице 4.1
Таблица 4.1№ время прихода заявки
время
начала обслуживания
время
конца обслуживания канал номер в очереди время обслуживания заявки время ожидания (в очереди)
0.13423 0.13423 1.07323 1 0 0.
0.172969 0.172969 0.177969 2
0.372996 0.372996 0.498996 2
0.395133 0.395133 1.477133 3
0.454734 0.498996 0.708996 2
1.0321 1.0321 1.0741 2 0 0.
1.192161 1.192161 1.804161 1
1.304736 1.304736 1.508736 2
1.423904 1.477133 1.500133 3
1.498956 1.500133 1.501133 3
1.583731 1.583731 1.738731 2
1.72184 1.72184 2.37884 3 0 0.
1.768943 1.768943 2.605943 2
1.929808 1.929808 1.941808 1
1.949207 1.949207 4.358207 1
2.020496 2.37884 2.70784 3 0->
2.199114 2.605943 2.791943 2
2.401371 2.70784 4.36184 3 1->
2.666255 2.791943 2.986943 2
2.728184 2.986943 3.338943 2
3.364248 3.364248 3.379248 2
3.450507 3.450507 3.584507 2
3.798883 3.798883 4.041883 2
3.870281 4.041883 4.080883 2
4.028639 4.080883 5.240883 2
4.074847 4.358207 4.730207 1
4.316383 4.36184 5.63084 3 1->
4.465872 4.730207 4.902207 1
4.494469 4.902207 5.309207 1
4.528788 5.240883 5.272883 2
4.536596 5.272883 6.252883 2
4.565434 -1 - - 4->4 0 -
4.580016 -1 - - 4->4 0 -
4.644491 -1 - - 4->4 0 -
4.944335 5.309207 5.662207 1
5.064146 5.63084 5.90084 3 2->
5.117229 5.662207 5.743207 1
5.201751 5.743207 6.242207 1
5.525887 5.90084 6.12684 3 1->
5.5837 6.12684 6.68084 3 2->3
5.595149 6.242207 7.331207 1
5.626051 6.252883 6.354883 2
5.741963 6.354883 6.773883 2
5.790596 6.68084 7.11084 3 2->
6.176534 6.773883 7.871883 2
6.310764 7.11084 8.88584 3 2->
6.407596 7.331207 8.878207 1
6.592344 7.871883 8.082883 2
6.687681 8.082883 9.866883 2
6.702902 8.878207 8.940207 1
6.910557 8.88584 9.59184 3 1->
Окончание обслуживания каждым каналом:
канал 1: 8.940207
канал 2: 9.866883
канал 3: 9.59184
Суммарное время простоя на 3 каналах: 2.33993000000001 час за общее время обслуживания 28.39893 часов,
минимальное время ожидания: 0
максимальное время ожидания: 2.175304
среднее время ожидания: 0.374262
количество отказов: 3, 588%
5. Анализ результатов испытаний
Средние значения по 100 прогонам:
Среднее количество заявок за рабочий период: 49
Среднее количество отказов: 0.8, 1.63%
Вероятность обслуживания: 98.37%
Относительная пропускная способность: 0.9837
Абсолютная пропускная способность [ед./час]: 6.88
Среднее время простоя на 3 каналах 2.55ч за период обслуживания 7 часов
Вероятность простоя СМО: 12.14%
Коэффициент загрузки СМО: 87.86%
Среднее число занятых каналов: 1.94 из 3
Среднее время ожидания: 0.88
Среднее время пребывания заявки в СМО (ожидание + обслуживание): 1.38
Среднее максимальное время ожидания: 2.13
Средняя длина очереди: 0.49
По коэффициенту загрузки можно судить о качестве загрузки СМО. Используя формулы 4.1 - 4.4 и таблицу 4.1, получим значение 87.86%
Коэффициент загрузки равен 0,8786 и находится в промежутке больше 0,85. Это значит, что СМО перегружена.
Если рассматривать данную СМО с целью получения прибыли, то по формулам 4.2, 4.10 и с помощью таблицы 4.1 получим значение пропускной способности 6,88. Для получения прибыли важна ее максимизация.
Заключение
По мере усложнения производственных процессов, развития науки, проникновения в тайны функционирования и развития живых организмов появились задачи, которые не решались с помощью традиционных математических методов и в которых все больше место стал занимать собственно процесс постановки задачи, возросла роль эвристических методов, усложнился эксперимент, доказывающий адекватность формальной математической модели.
В области применения имитационного моделирования лежат задачи моделирования биологических систем, военные, экономические, социальные. Что позволяет решать проблемы различного характера и большого объема.
В данной курсовой мы рассмотрели
примитивную задачу о поступлении
заявок (клиентов) в канал (парикмахерскую),
убедились в эффективности
Список использованных источников
1 Голик Е.С. Системное
моделирование. Ч.1. Имитационное
моделирование. Факторный
2 Голик Е.С. Математические методы системного анализа и теории приятия решений. Ч. II: Учебное пособие. – СПб: СЗТУ, 2005, - 102 с.
3 Кудрявцев Е.М. GPSS World.
Основы имитационного
4 Оптимизация решений на основе методов и моделей мат. программирования: Учеб. пособие по курсу «Систем. анализ и исслед. операций» для студ. спец. «Автоматизир. системы обраб. информ.» дневн. и дистанц. форм обуч. / С.С. Смородинский, Н.В. Батин. – Мн.: БГУИР, 2003. – 136 с.: ил.