
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.175] |
![]() |
|
![]() |
|
|
Имеются следующие исходные данные:
1. В порт каждый день приходит в среднем 4 судна. Половина из них в зависимости от объема груза направляется к причалам с портовым краном, а другая половина к причалам без крана. После разгрузки/погрузки, которая длится в среднем пол дня, около 60% судов покидают порт, а остальные направляются на небольшой ремонт в док. Ремонт в среднем занимает один день. После ремонта судно направляется на погрузку к причалу. 2. Определить аналитическим путем вероятность того, что в сети не будет ни одной заявки. Я написала программу на GPSS, вроде все проходит, ошибок нет, но результат получается совершенно не такой, как в расчетной части. Подскажите, пожалуйста, что я сделала не так? Заранее благодарна. Листинг: SIMULATE RAB1 STORAGE 2 RAB2 STORAGE 2 RAB3 STORAGE 3 GENERATE 6*FN$XPDIS TRANSFER .5,,PRI2 PRI1 QUEUE LIN1 SEIZE RAB1 DEPART LIN1 ADVANCE 12*FN$XPDIS RELEASE RAB1 TRANSFER .4,,DOK TERMINATE * PRI2 QUEUE LIN2 SEIZE RAB2 ADVANCE 12*FN$XPDIS RELEASE RAB2 TRANSFER .4,,DOK TERMINATE * DOK QUEUE LIN3 SEIZE RAB3 ADVANCE 24*FN$XPDIS RELEASE RAB3 TRANSFER .5,,PRI2 TRANSFER ,PRI1 * GENERATE 24*100000 TERMINATE 1 START 1 END |
Сообщ.
#2
,
|
|
|
Знаешь, если ты используешь storage, т.е. многоканальные устройства, то для их занятия/освобождения неободимо использовать enter/leave. А можно вопрос, что это за необъявленная функция XPDIS?
Добавлено Судя по исходным данным искомая вероятность будет около 0. А вот программа: prichal_kran storage 2;причалы с краном prichal storage 2;причалы без крана dok storage 3;доки generate (Exponential(1,0,1/4));генерируем в среднем 4 судна в день met4 transfer .5,,met1;половину на причал с краном,остальных на причал без крана queue line1;очередь перед причалом с краном enter prichal_kran;занимаем причал с краном depart line1;освобождаем место в очереди advance (Exponential(1,0,1/2));разгрузка/погрузка в среднем пол дня leave prichal_kran;освобождаем причал с краном transfer ,met2;переходим к выбору дальнейшего пути met1 queue line2;осередь перед причалом без крана enter prichal;занимаем причал без крана depart line2;освобождаем место в очереди advance (Exponential(1,0,1/2));разгрузка/погрузка в среднем полдня leave prichal;освобождаем причал met2 transfer .6,,met3;60 % отправляем на выход из порта,остальные в док queue line3;занимаем место в очереди перед доком enter dok;занимаем сам док depart line3;освобождаем место в очереди advance (Exponential(1,0,1));ремонт длится в среднем день leave dok;освобождаем док transfer ,met4;переходим к выбору причала с краном или без met3 terminate 1; start 1000; Всё так, только есть один не разрешённый вопрос:что делать с судами, которые уже были в доках, затем на причале, а потом попали опять в доки. Это бред, их нужно отсеивать.Для этого нужно завести параметр и присваивать ему что-то после доков, а перед отправкой на доки проверять на это значение, если судно уже было в доках, значит его полюбому на выход.Ну и сегмент таймера доработай сама,пожалуйста. |
Сообщ.
#3
,
|
|
|
Огромное спасибо за помощь.
Признаться меня саму тоже смущает, как будет идти распределение судов по признаку отремонтированности... Попробую что-нибудь изобразить соответствующее... ![]() |