
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.206.48.243] |
![]() |
|
Страницы: (54) « Первая ... 50 51 [52] 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#766
,
|
|
|
Сообщ.
#767
,
|
|
|
Lazio, вообщем я этой формулы не знаю, результат деления (0,66 на 0,22) позволяют мне думать, что это коим то образом связанно с трехканальностью рассматриваемого устройства.
Больше помочь ничем не могу. так глубоко анализ не учили. |
Сообщ.
#768
,
|
|
|
TEMENb, спасибо, теперь это надо заставить работать =\ а завтра уже сдать! х_Х
|
Сообщ.
#769
,
|
|
|
Доброго времени суток форумчане!
Помогите пожалуйста разобраться с лабораторной, а именно с определением таблиц. Была задача: В парикмахерскую с одним креслом приходят клиенты; интервалы времени между ними случайны и распределены равномерно в интервале [35±15] минут. Время обслуживания также распределено равномерно на интервале [13±4] минут. Клиенты, приходящие в парикмахерскую, обслуживаются в порядке очереди «первый пришел – первым обслужен». Задание: необходимо разработать и отладить имитационную модель парикмахерской в системе моделирования GPSS; модель должна обеспечить получение статистических данных об очереди. Параметры для построения таблицы равномерного распределения [0,60] шаг 5. Таблица в модели будет выглядеть следующим образом: PARIK TABLE M1,0,5,12 ; формирование таблицы (0 - левая граница, 5 - это шаг, 12 - число интервалов (получается 5*12=60, т.е. правая граница, согласно заданию) Правильно ли я рассуждаю? Так вроде бы понятно, но при рассмотрении другого примера моделирования никак не могу понять откуда взялись параметры TABLE: Задача: Переговорный пункт имеет одно помещение с тремя кабинами для переговоров. Если посетитель застает свободной хотя бы одну кабину, то он оплачивает будущий разговор в кассе, затем ждет соединения и ведет переговоры, после чего покидает переговорный пункт. Если посетитель застает все кабины занятыми, он ждет освобождения одной из них у входа в переговорный пункт. Интервал времени между приходами посетителей – случайный, распределенный по равномерному закону, составляет 1,5±0,4 мин. Время ожидания соединения – 3,5±1,1 мин., время разговора посетителя по телефону – 4,4±1,35 мин. Длительность разговора и время ожидания соединения – случайные величины, подчиняются равномерному распределению. Сам текст: ; Вместимость переговорного пункта Punkt STORAGE 3 ; емкость переговорного пункта Transit TABLE M1,.5,1,30 ; формирование таблицы ; Имитация прихода посетителей GENERATE 1.85,1 ; приход посетителей Povtor GATE SNF Punkt,Zanyt ; регулируется поток посетителей ; Имитация работы переговорного пункта ENTER Punkt ; войти на переговорный пункт QUEUE Ocher_kassir ; включение в очередь SEIZE Kassir ; обращение к кассиру DEPART Ocher_kassir ; выход из очереди ADVANCE 1.5,0.4 ; оплата за разговор RELEASE Kassir ; освобождение кассира ADVANCE 4.4,1.35 ; время разговора посетителей LEAVE Punkt ; оставить переговорный пункт TABULATE Transit ; табулировать переговорный пункт TERMINATE ; уход посетителей Zanyt ADVANCE 3.5,1.1 ; время ожидания освобождения телефона TRANSFER ,Povtor ; переход к оператору с меткой Povtor ; Задание времени моделирования GENERATE 480 ; время работы модели TERMINATE 1 ; уменьшение общего времени моделирования на 1 мин START 1 ; пропускаются по одному посетителю Вот откуда взялись эти значения M1,.5,1,30? Это высчитывается как-то? Ткните носом конкретно на этом примере, а то не доперает до меня и все( |
Сообщ.
#770
,
|
|
|
katenokcat, у вас несколько неправильно построена логика работы.
Если транзакт создаст затор, то вы изымаете его из очереди и уничтожаете. в условии вашей задачи не сказано, что его надо уничтожать статистику по сумарному времени можно снять, используя mark и m1, запоминая время, если транзакт создавал затор, а вот по продолжительности затора - надо расчиплять первый и крайний транзакт.. примерно так, как вы это делаете, только не перенаправлять, а именно расчиплять. что б родитель продолжил движение по маршруту. Добавлено Ghza, да подбирают их. я, например, стандартно ставлю 0,1,1000 потом подганяю, что б небыло лишних интервалов. Цитата Ghza @ PARIK TABLE M1,0,5,12 ; формирование таблицы (0 - левая граница, 5 - это шаг, 12 - число интервалов (получается 5*12=60, т.е. правая граница, согласно заданию) тут вы немного ошибаетесь в суждениях. интервалов на самом деле не 12.. а 10, если память мне не изменяет. т.е. на один или два меньше, чем ожидается. вот ну не помню точно. а лезть проверять - лень ![]() |
Сообщ.
#771
,
|
|
|
Цитата TEMENb @ katenokcat, у вас несколько неправильно построена логика работы. Если транзакт создаст затор, то вы изымаете его из очереди и уничтожаете. в условии вашей задачи не сказано, что его надо уничтожать статистику по сумарному времени можно снять, используя mark и m1, запоминая время, если транзакт создавал затор, а вот по продолжительности затора - надо расчиплять первый и крайний транзакт.. примерно так, как вы это делаете, только не перенаправлять, а именно расчиплять. что б родитель продолжил движение по маршруту. Добавлено Ghza, да подбирают их. я, например, стандартно ставлю 0,1,1000 потом подганяю, что б небыло лишних интервалов. Цитата Ghza @ PARIK TABLE M1,0,5,12 ; формирование таблицы (0 - левая граница, 5 - это шаг, 12 - число интервалов (получается 5*12=60, т.е. правая граница, согласно заданию) тут вы немного ошибаетесь в суждениях. интервалов на самом деле не 12.. а 10, если память мне не изменяет. т.е. на один или два меньше, чем ожидается. вот ну не помню точно. а лезть проверять - лень ![]() Теперь вообще потерялась:( Ибо в задании где параметры для построения таблицы распределения были [0,50],с шагом 5 в исходнике было указано TABLE M1,0,5,10 Почитала литературу: num TABLE A, B, C, D, E где num – имя или номер таблицы (это понятно) А – поле, в котором может быть записан либо аргумент таблицы (это M1) B – верхняя граница нижнего интервала; (это 0) C – ширина интервала; (это шаг 5) D – число интервалов; (ну тут чисто логически определила, что пять раз по 10 - выйдет 50) В общем непонятно. И как подбирать тоже:( Я понимаю, что не понимаю (простите за тавтологию)самого принципа построения таблиц. И стремаюсь жутко, потому что наверняка задаю тут тупые вопросы), но мне надо писать курсач. Потому очень хочу разобраться:( Помогите кто-нить, а:( |
Сообщ.
#772
,
|
|
|
Ghza, ну в чем проблема провести маленький эксперимент? ))
![]() ![]() ttt table rn1,0,5,12 generate 1 tabluate ttt terminate 1 start 1000 ![]() ![]() TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.% TTT 499.794 298.497 0 _ - 0.000 4 0.40 0.000 - 5.000 8 1.20 5.000 - 10.000 9 2.10 10.000 - 15.000 7 2.80 15.000 - 20.000 7 3.50 20.000 - 25.000 4 3.90 25.000 - 30.000 3 4.20 30.000 - 35.000 5 4.70 35.000 - 40.000 4 5.10 40.000 - 45.000 3 5.40 45.000 - 50.000 6 6.00 50.000 - _ 940 100.00 как видите получили 10 полноценных интервала, + два интервала от минусбесконечности до нуля и от 50 до плюс бесконечности. Добавлено кстати, стоит заметить, что 0 попадает в интервал (минус бесконечность; ноль] ну и остальные числа аналогично. |
Сообщ.
#773
,
|
|
|
Цитата TEMENb @ Спасибо большое, теперь дошло:) |
Сообщ.
#774
,
|
|
|
prototype, вам нужно добавить параметр в initial, что бы определить время приохда
кроме того вставить блок таймера. |
Сообщ.
#775
,
|
|
|
Здравствуйте.
Подскажите пожалуйста, если у меня есть фрагмент программы TARR1 VARIABLE 0 GENERATE 1 TEST E V$TARR1,0,MET1 SAVEVALUE TARR1,4 TEST E V$TARR1,4,MET1 SAVEVALUE TARR1,8 MET1 TERMINATE 1 START 1 то почему по завершению программы значение TARR1 - 4, а не 8? Версия GPSS - 4.1.3 |
Сообщ.
#776
,
|
|
|
...и сразу дополнение: почему в аналогичной программе переменная себя так необычно ведет? если я правильно понимаю - в первый проход я сравниваю ее с нулем, она увеличивается до четырех - затем я сравниваю четыре с четырем и получается что это неверно(!), а затем, на втором проходе - четыре снова увеличивается на четыре и дает восемь.
![]() ![]() TARR1 VARIABLE 0 GENERATE 2 TEST E V$TARR1,0,MET1 SAVEVALUE TARR1+,4 TEST E V$TARR1,4,MET1 SAVEVALUE TARR1+,3 MET1 TERMINATE 1 START 2 |
Сообщ.
#777
,
|
|
|
Цитата qwert-chan @ Здравствуйте. Подскажите пожалуйста, если у меня есть фрагмент программы TARR1 VARIABLE 0 GENERATE 1 TEST E V$TARR1,0,MET1 SAVEVALUE TARR1,4 TEST E V$TARR1,4,MET1 SAVEVALUE TARR1,8 MET1 TERMINATE 1 START 1 то почему по завершению программы значение TARR1 - 4, а не 8? Версия GPSS - 4.1.3 потому что V$TARR1 всегда равно нулю и аж никак не четырем наблюдая за ходом ваших мыслей, думаю ваша программа должна выглядеть так initial x$TARR1,0 GENERATE 1 TEST E x$TARR1,0,MET1 SAVEVALUE TARR1,4 TEST E x$TARR1,4,MET1 SAVEVALUE TARR1,8 MET1 TERMINATE 1 START 1 и сразу дополнение. скачайте версию посвежее и больше не путайте переменные с сохраняемыми величинами. |
Сообщ.
#778
,
|
|
|
Черт, а я всю ночь ошибку ищу. Спасибо вам большое.)) =)
|
Сообщ.
#779
,
|
|
|
TEMENb, спасибо! Вы были правы
![]() |
Сообщ.
#780
,
|
|
|
Здравствуйте помогите пожалуйста ..
Тема. Решение задачи сетевого планирования средствами имитационного моделирования. Логическая взаимосвязь работ, подлежащих выполнению в ходе технического обслуживания средств вычислительной техники, представлена на рис. Для обозначения каждого вида работы используется пара вершин графа, соединенных дугой. Числа, записанные над дугами, означают продолжительность соответствующих работ в часах. Необходимо построить модель, позволяющую получить распределение времени всего комплекса работ. Найти вероятность того, что все работы будут выполнены не более, чем за 70 часов. Найти наиболее вероятное время завершения технического обслуживания. Прикреплённый файл ![]() |