На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Выручайте! Разобраться с задачей GPSS
    Задача уже решена и работает, но не могу разобраться никак в решении и в отчете что выдает GPSS, непонятно что, зачем и как(( Непонимаю где в отчете проследить задание, данное в задаче! Выручайте народ, курсовик сдавать со дня на день, до экзаменов не допускают! (как жаль, что с тем челом, что ее решал никак не связаться...)

    ____________
    Задача-

    Отдел обслуживания ЭВМ готовит носители с программами для металлорежущих станков с числовым программным управлением. Чертежи деталей поступают из конструкторско-чертежного отдела. Программист изучает чертеж и пишет программу управления станком, обрабатывающим заготовки. Программирование занимает интервал времени, распределенный по экспоненциальному закону со средним временем T1 минут. Затем текст программы вводится в ЭВМ, обрабатывается и записывается на носитель (длительность операции - экспоненциально распределенная величина со средним временем Т2 минут). Потом носитель с программой устанавливается на соответствующий станок для испытания. Этот процесс занимает промежуток времени, распределенный экспоненциально со средним временем Т3 минут.

    Заказы на подготовку носителей с программами поступают через промежутки времени, распределенные равномерно в интервале А±В минут. В момент прихода заказа для него определяют директивное время - время, до которого заказ должен быть выполнен. Директивное время определяется как сумма времени поступления заказа и технологического времени выполнения работы - это общее время обработки (Т1 + Т2 + Т3) плюс дополнительное время, равномерно распределенное в интервале С±D минут.

    Руководство отдела желает проанализировать несколько способов очередности обработки заказов с целью определения наилучшего из них. Предложено четыре варианта порядка выполнения ожидающих в каждой из очередей работ:
    • сначала выполняются те заказы, которые имеют самое маленькое технологическое время выполнения;
    • сначала выполняются те заказы, которые имеют самое большое технологическое время выполнения;
    • сначала выполняются те заказы, которые имеют наименьшее оставшееся время обработки;
    • сначала выполняются те заказы, которые имеют ближайший директивный срок.

    Самостоятельно ВЫБРАТЬ критерий оценки эффективности системы и ОЦЕНИТЬ предложенные дисциплины выбора из очереди.
    Время моделирования необходимо выбрать так, чтобы модель работала в переходном режиме.

    (В решении задачи приведено решение сразу всех 4 вариантов)

    Вариант Параметры

    Т1 Т2 Т3 А В С D

    1 90 70 60 100 20 40 10

    2 100 80 90 140 35 30 10

    3 120 110 90 150 50 40 15

    4 110 100 85 145 40 45 20


    Решение задачи:

    ****************************************************************************
    * Моделирование работы отдела обслуживания ЭВМ *
    ****************************************************************************


    matrixvar EQU 1
    matrixvar matrix ,4,7
    initial mx1(1,1),90 ;T1
    initial mx1(2,1),100
    initial mx1(3,1),120
    initial mx1(4,1),110

    initial mx1(1,2),70 ;T2
    initial mx1(2,2),80
    initial mx1(3,2),110
    initial mx1(4,2),100

    initial mx1(1,3),60 ;T3
    initial mx1(2,3),90
    initial mx1(3,3),90
    initial mx1(4,3),85

    initial mx1(1,4),100 ;A
    initial mx1(2,4),140
    initial mx1(3,4),150
    initial mx1(4,4),145

    initial mx1(1,5),20 ;B
    initial mx1(2,5),35
    initial mx1(3,5),50
    initial mx1(4,5),40

    initial mx1(1,6),40 ;C
    initial mx1(2,6),30
    initial mx1(3,6),40
    initial mx1(4,6),45

    initial mx1(1,7),10 ;D
    initial mx1(2,7),10
    initial mx1(3,7),15
    initial mx1(4,7),20


    prov matrix ,1,4


    GENERATE ,,,1
    SAVEVALUE NVar+,1 ;Определение варианта параметров
    ASSIGN nmod,x$NVar
    met1 ADVANCE mx1(P$nmod,4),mx1(P$nmod,5)
    SPLIT 1,met1

    ;чтобы сравнить "четыре варианта порядка выполнения ожидающих в каждой из очередей работ", время обработки в каждой стадии "разыгрываем" заранее, потом создаем 3 копии этого транзакта и распределяем их по спискам пользователя(1 - 1й порядок и 1я стадия; 2 - 1й порядок и 2я стадия; 3 - 1й порядок и 3я стадия; 4 - 2й порядок и 1я стадия;...; 12 - 4й порядок и 3я стадия) номера списка совпадают с номерами устройств.

    ASSIGN 1,(Exponential(1,mx1(P$nmod,1),1)) ;
    ASSIGN 2,(Exponential(1,mx1(P$nmod,2),1))
    ASSIGN 3,(Exponential(1,mx1(P$nmod,3),1))
    ASSIGN 4,(AC1 + mx1(P$nmod,1)+mx1(P$nmod,2)+mx1(P$nmod,3)+Uniform(1,(mx1(P$nmod,6)-mx1(P$nmod,7)),(mx1(P$nmod,6)+mx1(P$nmod,7)))) ;Директивное время, определяется как сумма времени поступления заказа и технологического времени выполнения работы - это общее время обработки (Т1 + Т2 + Т3) плюс дополнительное время, равномерно распределенное в интервале С±D минут.

    ASSIGN 5,1 ;стадия подготовки программ
    SPLIT 3,,6
    ASSIGN Ttexn,1
    ASSIGN TminObr,(mx1(P$nmod,1)+mx1(P$nmod,2)+mx1(P$nmod,3)) ;минимальное время обработки, т.е. предполагаемое оставшееся время обработки

    met4 GATE U ((P6-1)#3+P5),met2 ;занято, присоединить транзакт к списку пользователя
    TRANSFER ,(met4+1+P6)

    LINK ((P6-1)#3+P5),P$Ttexn ;помещает транзакт в список пользователя с номером 1 или 2 или 3, упорядочивая их по возрастанию значения параметра с именем P$Ttexn
    LINK ((P6-1)#3+P5),P$Ttexn ;с номером 4 или 5 или 6
    LINK ((P6-1)#3+P5),P$TminObr ;с номером 7 или 8 или 9
    LINK ((P6-1)#3+P5),P4 ;с номером 10 или 11 или 12

    met2 SEIZE ((P6-1)#3+P5)
    ADVANCE P*5 ;задержать на время указанное в параметре, номер которого определяет параметр №5
    ASSIGN Ttexn+,P*5 ;для 1,2 "варианта очередей"
    ASSIGN TminObr-,mx1(P5,1) ;для 3-го
    RELEASE ((P6-1)#3+P5)

    ASSIGN 5+,1 ;переход к следующей стадии
    TEST L P5,4,met3 ;2,3 стадии - создать копию (вниз) и направить на доработку(к метке met4)
    SPLIT 1,met4 ;оригинал выведет из списка пользователя транзакт и уничтожится
    met3 ASSIGN 7,((P6-1)#3+P5-1)
    TRANSFER ,(met3+P6#2)

    UNLINK P7,met2,1 ;вывести один транзакт с начала списка (которые имеют самое маленькое технологическое время выполнения;)
    TERMINATE
    UNLINK P7,met2,1,BACK ;вывести один транзакт с конца (которые имеют самое большое технологическое время выполнения;)
    TERMINATE
    UNLINK P7,met2,1 ;вывести один транзакт с начала списка (которые имеют наименьшее оставшееся время обработки;)
    TERMINATE
    UNLINK P7,met2,1 ;вывести один транзакт с начала списка(которые имеют ближайший директивный срок)
    TERMINATE

    GENERATE ,,12000,1 ;1месяц(25дн.) по 8часов
    TERMINATE 1

    start 1 ;эксперимент №1(вариант параметров 1)

    CLEAR OFF ;"off" - чтобы сохранить переменную "NVar"
    RESET ;чтобы сбросить статистику
    start 1 ;эксперимент №2(вариант параметров 2)

    CLEAR OFF
    RESET
    start 1 ;№3

    CLEAR OFF
    RESET
    start 1 ;№4


    _________________

    списки пользователя не задействованы (статистика по ним) потому что время (A±B) сопоставимо с T1,T2,T3 - т.е. очереди образуются редко (T1 > T2 > T3).
    ASSIGN 1,(Exponential(1,mx1(P$nmod,1),1)); для экспоненциального распределения надо проверить соответствие 2,3го параметра условиям задачи
    Сообщение отредактировано: catalyst007 -
      Подскажите пожалуйста ,как будет выглядеть это же задача только с первым вариантом параметров
      Т1 Т2 Т3 А В С D

      1 90 70 60 100 20 40 10
      очень нужно !!!!!!
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0.0775 ]   [ 15 queries used ]   [ Generated: 23.09.26, 00:48 GMT ]