
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (54) « Первая ... 10 11 [12] 13 14 ... 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#166
,
|
|
|
не совсем
![]() Цитата TEMENb @ Цитата Где и как можно вставить проверку, чтобы отрицательные значения приравнивались к 0? ![]() ![]() testing_P1 VARIABLE ((P1'G'0)#P1) ASSIGN 1,(Uniform(1,-5,100)) ASSIGN 1,V$testing_P1 Цитата TEMENb @ Цитата При большом числе опытов возникает следующая ошибка: 02/05/09 17:46:18 ADVANCE (Normal(1,10,3)) 02/05/09 17:46:18 Negative time increment. Где и как можно вставить проверку, чтобы отрицательные значения приравнивались к 0? Цитата GENERATE 10 POVT ASSIGN 1,(Normal(1,10,3)) TEST GE P1,0,POVT ADVANCE P1 TERMINATE |
Сообщ.
#167
,
|
|
|
Слушайте, я понимаю, что это немного не в тему, но все равно. Кто-нибудь знает чем GPSS лучше сетей Петри? Или не лучше, но область применения отличается? Просто я так понимаю, что моделировать можно и на том, и на том, в какой угодно отрасли..... Просто срочно надо найти какие-то недостатки сетей Петри!
![]() |
Сообщ.
#168
,
|
|
|
GPSS задача (сообщение #2201319)
Цитата bobkOFF @ Здравствуйте! Подскажите, пожалуйста, с чего начать решать задачу. С преподом на словах обговорили вроде все понятно, а вот с чего начинать даже не представляю. Сделайте хоть примерный набросок этой задачки. Пытаюсь сам разобраться ничего не получается. Заранее спасибо за любые подсказки. Задания на обработку данных, поступающие на ЭВМ, характеризуются известным требуемым временем работы процессора и условно подразделяются на короткие и длинные. Короткие задания требуют менее 6 мин времени работы процессора. Задания поступают на ЭВМ через каждые 8 ± 3 мин и требуют для своей обработки 4 ± 3 мин времени работы процессора. Короткие задания вводятся в ЭВМ с помощью дисплея за 3 ± 2 мин. Дисплей остается занятым коротким заданием до момента окончания выдачи результатов на печать. Короткие задания имеют абсолютный приоритет над длинным при использовании процессора, т. е. они прерывают выполнение длинных заданий. Длинные задания предварительно готовятся на дискетах на ПЭВМ за 8 ± 5 мин и вводятся в ЭВМ дисковода за 3 ± 2 мин. После обработки на процессоре как коротких, так и длинных заданий производится вывод результатов на печать в течение 2 ± 1 мин. Одновременно на PC обрабатывается только одно задание. Смоделировать процесс функционирования PC при условии, что обработать необходимо 100 заданий. Определить число коротких и длинных заданий, ожидающих обработки, а также число обработанных коротких заданий и коэффициент загрузки процессора. Сообщение отредактировано: bobkOFF - 21.02.09, 16:34 ХАЛЯВА: ЧКЗОО - число коротких заданий ожидающих обработки КДЗОО - число динных ВсД - ввод длинного задания с дисковода Прикреплённая картинка
|
Сообщ.
#169
,
|
|
|
Больщое спасибо! Буду разбираться..
|
Сообщ.
#170
,
|
|
|
Знатоки GPSS, помогите разобраться!
RMULT 1187 Checkout_2 EQU 2 Checkout_N EQU 5 Time_work VARIABLE 12#60#60 N_Purchases VARIABLE (RN1@96+5) Это кусочек кода. Не могу понять смысл использования RMULT 1187 и строки N_Purchases VARIABLE (RN1@96+5). Я понимаю, что генерируется переменная на основе ГСЧ RN1, но что означает "@96+5"? и каким образом этот RN1 обращается к RMULT? |
Сообщ.
#171
,
|
|
|
RMULT 1187 - начальное значение для RN1
(RN1@96+5) - (целый остаток от деления RN1 на 96 + 5) |
Сообщ.
#172
,
|
|
|
Цитата MEGERA @ RMULT 1187 Checkout_2 EQU 2 Checkout_N EQU 5 Time_work VARIABLE 12#60#60 N_Purchases VARIABLE (RN1@96+5) задаем общий множитель для генератора случайных чисел номер 1 обьявляем константу Checkout_2 равной 2 обьявляем константу Checkout_N равной 5 обьявляем вычисляемое выражение Time_work равным 12#60#60 (тупизм полнейший V$Time_work будет равно 12*60*60. проще было один раз числом написать) обьявляем вычисляемое выражение N_Purchases равным (RN1@96+5) (@ - остаток от деления. RN1 - генератор случайных чисел, дает число от 0 до 999). Добавлено З.Ы.: Евген выстрелил быстрее )) |
Сообщ.
#173
,
|
|
|
Цитата TEMENb @ ?общий множитель для генератора случайных чисел от 0 до 999 или от 0 до 1 |
Сообщ.
#174
,
|
|
|
общий множитель - это число, которое задает последовательность случайных чисел. т.к. генераторы случайных чисел на самом деле псевдо случайны, то если не менять это чило, то запуски программы дадут одни и те же значения..
А значения генератора случайных чисел действительно от 0 до 999. Хотя если честно меня иногда терзают смутные сомнения. каким образом в функциях ГСЧ генять числа 0..1 |
Сообщ.
#175
,
|
|
|
не охота проверять - все написано здесь Боев Д.В. стр 188-9
|
Сообщ.
#176
,
|
|
|
Цитата sss table p1,.5,1,10000 generate 1 assign 1,rn1 tabulate sss terminate 1 start 1000 Добавлено Цитата Eugen @ не охота проверять - все написано здесь Боев Д.В. стр 188-9 угу. 189 стр. третий абзац.. |
Сообщ.
#177
,
|
|
|
Все так от 0 до 999
![]() ![]() Rasp FUNCTION RN6,D5 .15,2/.35,5/.6,8/.82,9/1,12 |
Сообщ.
#178
,
|
|
|
Цитата TEMENb @ N_Purchases VARIABLE (RN1@96+5) наверняка имеется ввиду равномерное распредиление от 5 до 100. как раз в том-то и беда, что неизвестно, что это за распределение вообще! инфы практически нет, есть это горе-код, который мне нужно воплотить в Arena. и вот это-то и составляет основную проблему: не знаю, что это за распределение. здесь оно отталкивается от множителя RMULT, а в арене-то нет такого... ![]() |
Сообщ.
#179
,
|
|
|
кстати, будь я преподом - я б пристебался
N_Purchases VARIABLE (RN1@96+5) наверняка имеется ввиду равномерное распредиление от 5 до 100. так вот в данной формуле выпадание числа 5..45 более вероятно, чем 46..100. А это уже не равномерный закон получается.. Я бы советовал использовать конструкцию типа (RN1#95/1000+5) для непрерывного или (RN1#95\1000+5) для дискретного распредиления(в GPSS/PS оба варианта дискретны) можно еще попробовать использовать Uniform и DUniform (в PC их использовать нельзя). Добавлено забй на RMULT. Его можно смело удалить. Добавлено распредиление равномерное. интервал распредиления 5..100. Причем распредиление дискретное. Добавлено кстати. раз такое дело.. весь код в студию ) |
Сообщ.
#180
,
|
|
|
мммм, клева! спасибо за консалтинг! ща попробую добить модельку в арене! вот, собссно, код:
RMULT 1187 Checkout_2 EQU 2 Checkout_N EQU 5 Time_work VARIABLE 8#60#60 N_Purchases VARIABLE (RN1@96+5) Time_system TABLE M1,10000,10000,7 Purchases TABLE P$Qty_purchases,10,10,10 N_Customer TABLE X$Customer,100,50,12 Basket STORAGE 50 Cart STORAGE 100 Park STORAGE 100 Cashier VARIABLE P$Qty_purchases#2 Time_shop VARIABLE P$Qty_purchases#100 INITIAL X$Customer,0 Parking TRANSFER Both,,Lost ENTER Park ADVANCE 60,40 ENTRY SAVEVALUE Customer+,1 ASSIGN Qty_purchases,V$N_Purchases TEST LE P$Qty_purchases,10,QCart GATE SNF Basket,QCart QUEUE Basket_Q ENTER Basket DEPART Basket_Q ASSIGN Container,Basket TRANSFER ,Shop QCart QUEUE Cart_Q ENTER Cart DEPART Cart_Q ASSIGN Container,Cart Shop ADVANCE V$Time_shop TEST LE P$Qty_purchases,10,Norm QUEUE Xpress_Q SEIZE Xpress DEPART Xpress_Q ADVANCE V$Cashier RELEASE Xpress LEAVE P$Container TRANSFER ,Fin Norm SELECT MIN Minque,Checkout_2,Checkout_N,,Q QUEUE P$Minque SEIZE P$Minque DEPART P$Minque ADVANCE V$Cashier RELEASE P$Minque LEAVE P$Container Fin TABULATE Time_system TABULATE Purchases SAVEVALUE Customer-,1 ADVANCE 60,50 LEAVE Park TERMINATE Lost TERMINATE ***************************************************************************** * Customers arrival during 0 - 30 minutes. GENERATE (Exponential(1,0,60)),,,200 TRANSFER ,Parking * Customers arrival during 30 - 90 minutes. GENERATE (Exponential(1,0,40)),,1800,400 ;Частота появления через 0.5 часа. TRANSFER ,Parking * Customers arrival during 90 - 150 minutes. GENERATE (Exponential(1,0,80)),,5400,300 ;Частота появления через 1.5 часа. TRANSFER ,Parking * Customers arrival during 150+ minutes. GENERATE (Exponential(1,0,120)),,9000 ;Частота появления через 2.5 часа. TRANSFER ,Parking GENERATE (Exponential(1,0,60)),,,200 TRANSFER ,ENTRY GENERATE (Exponential(1,0,40)),,1800,400 ;Частота появления через 0.5 часа. TRANSFER ,ENTRY GENERATE (Exponential(1,0,120)),,9000 ;Частота появления через 2.5 часа. TRANSFER ,ENTRY ***************************************************************************** GENERATE V$Time_work TABULATE N_Customer TERMINATE 1 START 1 В общем-то, хоть он практически и без инфы был, ясно, что дело происходит в магазине, куда покупатели приезжают на машинах, потом заходят и, на основе того, сколько покупок им нужно сделать, берут тележку или корзинку. потом ходят берут товары и приходят на кассу обслуживаться. причем, для тех, кто взял 10 или меньше товаров, касса отдельная, а остальные выбирают кассу с наименьшей очередью. Добавлено аааааааа!!! есть контакт! наконец-то результаты сошлись! Eugen, TEMENЬ, респект вам огромный за помощь! |