На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> gpss , помогите с gpss пожалуйста
    Здравствуйте!!
    Задачка-то вроде и не сложная:
    Моделирование работы станции скорой помощи
    На станцию скорой помощи поступают вызовы по телефону. Станция имеет пять каналов для одновременного приема вызовов. Время между попытками вызова скорой помощи распределено согласно закону Эрланга второго порядка (среднее время – 1,5 мин). Абоненты тратят 15 с на набор номера и, если застают все каналы занятыми, через 20 с повторяют вызов. Так происходит до тех пор, пока вызов не будет принят. Время приема вызова составляет 1 мин.
    На станции скорой помощи для обслуживания вызовов имеется 15 автомобилей. Время, затраченное на проезд к больному, зависит от расстояния до его дома. Распределение расстояния приведено в табл. 7.18. После предоставления помощи автомобили возвращаются на станцию. Скорость движения автомобилей равномерно распределена в интервале 35-55 км/ч.
    Таблица 7.18
    Вероятность 0,15 0,22 0,17 0,28 0,18
    Расстояние, км 5 8 12 15 20
    Время оказания помощи больному распределено в соответствии с нормальным законом со средним значением 25 мин и среднеквадратическим отклонением 4 мин.
    Оценить среднее время от момента начального вызова скорой помощи до окончания помощи больному и средний пробег автомобиля за пять дней работы.

    Но видимо я действительно блондинка( Вот, что у меня получилось… Буду очень благодарна, если поможете…

    KANAL STORAGE 5; каналы обслуживания
    GENERATE 90;приход заявок
    QUEUE 1;занять очередь1
    ENTER KANAL;занять канал
    DEPART 1;освободить очередь1
    ADVANCE 60;прием вызова
    LEAVE KANAL;освободить канал
    AVTO STORAGE 15; автомобили
    QUEUE 2; занять очередь2
    ENTER AVTO;занять автомобиль
    DEPART 2; освободить очередь
    S FUNCTION RN1,D5;функция распределения расстояния(но не знаю куда ее деть..)
    .15,5/.37,8/.54,12/.82,15/1,20
    SKOROST; как описать такую переменную?
    TIME VARIABLE SKOROST#FN$S; среднее время проезда
    ADVANCE TIME; можно ли так?
    LEAVE AVTO;освободить автомобиль
    SEIZE BOLNOY; захват больного
    ADVANCE 1500,240;осмотр больного
    RELEASE BOLNOY;
    GENERATE 25920000;5 дней
    TERMINATE
      Вы, натуральная блондинка?! ;)
        Этот вопрос интересует не только Евгена :whistle:
        З.Ы.: В тексте "программы" понял не много. напишите мне в аську, разрулим 8-)
        Сообщение отредактировано: TEMENb -
          Это больше похоже на программу...только не работает..совсем(( А про блондинку-разве по моим "познаниям" в gpss не видно(
          SIMULATE
          KANAL STORAGE 5; каналы обслуживания
          GENERATE 90;приход заявок
          QUEUE 1; занять очередь1
          ENTER KANAL;занять канал
          DEPART 1;освободить очередь1
          ADVANCE 60; прием вызова
          LEAVE KANAL; освободить канал
          AVTO STORAGE 15; автомобили
          QUEUE 2; занять очередь2
          ENTER AVTO;занять автомобиль
          DEPART 2; освободить очередь
          SKOR VARIABLE ; скорость???
          RASSTOYNIE FUNCTION RN1,D5; функция распределения расстояния
          .15,5/.37,8/.54,12/.82,15/1,20
          ADVANCE (FN$RASSTOYNIE/V$SKOR);время проезда к больному
          LEAVE AVTO;освободить автомобиль
          SEIZE BOLNOY;захват больного
          ADVANCE 1500,240;осмотр больного
          RELEASE BOLNOY;
          GENERATE 432000
          TERMINATE 1
          START 1
            Если хоть что то смогла написать, пусть даже не работает, знач как минимум корни черные :D
            эх.. :whistle:

            эм.. а где закон эрланга? помниццо когда то я его рожал из маткада.. может вам давали? что б заново не изобратать велосипед?
            я вижу вы этот вопрос вообще опустили..
            Цитата
            GENERATE 90;приход заявок


            Добавлено
            Писал на колекне, может де то криво, мош де то неправильно.. так что если чего то не учел или ошибся - зарание приношу извинения ;)

            Цитата
            erlan function rn1,C25
            0.000,0.000/0.221,0.500/0.393,1.000/0.528,1.500/0.632,2.000
            0.713,2.500/0.777,3.000/0.826,3.500/0.865,4.000/0.895,4.500
            0.918,5.000/0.936,5.500/0.950,6.000/0.961,6.500/0.970,7.000
            0.976,7.500/0.982,8.000/0.986,8.500/0.989,9.000/0.991,9.500
            0.993,10.000/0.995,10.500/0.996,11.000/0.997,11.500/0.998,12.000 ;распределение Эрланга расчитано в маткаде (файл прилогается) Если препод давал на лекциях как выглядит распредиление, то лучше вставить то, что давал препод :)) будет меньше придираться ;)

            NORM FUNCTION RN1,C25
            0,5/.00003,4/.00135,3/.00621,2.5/.02275,2
            .06681,1.5/.11507,1.2/.15866,1/.21186,.8/.27425,.6
            .34458,.4/.42074,.2/.5,0/.57926,.2/.65542,.4
            .72575,.6/.78814,.8/.84134,1/.88493,1.2/.93319,1.3
            .97725,2/.99379,2.5/.99865,3/.99997,4/1,5

            RASST function rn1,D5
            .15,5/.37,8/.54,12/.82,15/1,20

            OBS VARIABLE 25#60+4#60#FN$NORM ;ПЕРЕМЕННАЯ, ОТВЕЧАЮЩАЯ ЗА ВРЕМЯ ОБСЛУЖИВАНИЯ
            POEZD VARIABLE ((60#60#FN$RASST)/(45+10#((RN1/500)-1))) ;переменная отвечающая за время поездки (расстояние, деленое на скорость) (КМ/ЧАС, НАДО КМ/С, ОТСЮДА 60*60). (Убей не понимаю почему гнератор генит числа от -0,5 до 999, а не от 0 до 999)
            KANAL storage 5 ;количество каналов
            AVT storage 15 ;количество машин

            GENERATE 90,FN$ERLAN
            QUEUE DOZVON ;начали звонить, типа стали в очередь
            POVT ADVANCE 15
            TEST G R$KANAL,0,ENT ;Если есть свободный канал, то в канал,
            ADVANCE 20 ;иначе 20 сек ждать
            TRANSFER ,POVT ;повторить
            ENT ENTER KANAL
            DEPART DOZVON
            ADVANCE 60
            LEAVE KANAL
            QUEUE 2
            ENTER AVT
            DEPART 2
            ADVANCE V$POEZD
            ADVANCE V$OBS ;НИ В КОЕМ СЛУЧАЕ НЕ ДЕЛАЙ УСТРОЙСТВО "БОЛЬНОЙ", ИНАЧЕ ПОЛУЧАЕТСЯ, ЧТО В ДАННЫЙ МОМЕНТ ВРЕМЕНИ ВО ВСЕ ГОРОДЕ ОБСЛУЖИВАЕТСЯ ТОЛЬ ОДИН!! БОЛЬНОЙ ))
            LEAVE AVT
            TERMINATE

            GENERATE (5#24#60)
            TERMINATE 1
            START 1


            возможно еще следует учитывать обратную дорогу.. но тут я даже незнаю.. скорость то на обратном пути может поменятся. можно сделать так:
            сохранить расстояние в параметр транзакта, а потом получить время поездки туда и обратно, согласно условию.
            тогда получится:
            Это
            Цитата
            POEZD VARIABLE ((60#60#FN$RASST)/(45+10#((RN1/500)-1))) ;переменная отвечающая за время поездки

            заменим на это
            Цитата
            POEZD VARIABLE ((P1)/(45+10#((RN1/500)-1))) ;переменная отвечающая за время поездки


            И это
            Цитата
            ADVANCE V$POEZD
            ADVANCE V$OBS

            заменим на это
            Цитата

            ASSIGN 1,(60#60#FN$RASST)
            ADVANCE V$POEZD
            ADVANCE V$OBS
            ADVANCE V$POEZD

            Вроде так )
            тестить не тестил, но выглядит правильно.
            Сообщение отредактировано: TEMENb -
              Помогите пожалуйста студенту из далёкой Латвии!! Cессия на носу, а у меня ни как не получается смоделировать задачу по GPSS. Буду очень признателен
              Управление запасами
              Сдача крови – контроль запаса (Ш406)
              Рассмотрим работу больничного хранилища крови. Как только уровень запаса крови падает до числа ROP и в этот момент не ожидается прибытия заказанной ранее крови от поставщика, выдаётся запрос на ROQ единиц. Время между подобными запросами распределено нормально с параметрами 30 и 3 ч.
              Время между запросами на кровь распределено экспоненциально со средним 15 запросов в сутки. Распределение числа необходимых человеку единиц приведено в таблице
              Требуемое число единиц 1 2 3 4 5
              Относительная частота 45 25 15 10 5
              Если требуется больше крови, чем в настоящий момент имеется в хранилище, возникает аварийная ситуация. Тогда всё имеющаяся в наличии кровь идёт на удовлетворение запроса, и также для обеспечения необходимого остатка используют специальную процедуру, не рассматриваемую здесь. Больнице не нужно компенсировать кровь, полученную в аварийной ситуации.
              Больница также получает кровь от доноров. Число таких ежедневных сдач крови распределено по нормальному закону с параметрами 5 и 1 единиц. Сданная кровь доступна только после 17 ч того дня, в который была сдана.
              Кровь имеет определённый период хранения. Неиспользованная кровь списывается. Кровь, сданная непосредственно в больницу, имеет срок хранения 25 дней. Кровь по заказу имеет срок хранения 18 дней, считая со дня прибытия. Из запаса сначала берётся кровь с меньшим сроком годности.
              Построить GPSS модель для моделирования такого хранилища. Включить в модель возможность подсчёта распределения следующих двух СВ:
              1. Число аварийных ситуаций, возникающих в 30-дневный период;
              2. Число единиц крови, подлежащих списанию в 30-дневный срок.
              Предположим (это реально), что в больнице оперируют 24 часа в день, 7 дней в неделю.
              Предположим (это нереально), что заказанные поставки крови могут поступать в любое время (не только с 8.00 – 17.00 и с понедельника по пятницу), что доноры сдают кровь 7 дней в неделю, а не по особым дням и что требование на кровь поступает не зависимо от времени дня. Пусть вначале хранилище имеет ROP+ROQ/2 единиц крови и каждой единице остаётся до срока хранения 15 дней. При таком начальном запасе определить время моделирования до достижения стабильных результатов. Сделать ещё несколько экспериментов, чтобы выяснить влияние величин ROP и ROQ на интересующие нас характеристики.
              Ввести временные условия, которые позволили бы сделать систему более реалистичной.
                noman21, не плоди темы. все, кто шарит в этом вопросе просматривают все соответствующие ветки форума.
                Сори, я тебе не смогу помочь, времени нету вчитываться и решать задание. у самого сессия на носу..



                Тема закрыта.
                  ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0335 ]   [ 15 queries used ]   [ Generated: 26.04.24, 11:39 GMT ]