Моделирование сборочного участка цеха

Здравствуйте. Помогите пожалуйста с решением задачи. Надо курсовую сдавать, а препод мозги долбит тем что задача не правильно решена. вот условие.

На сборочный участок цеха через экспоненциально распределенные интервалы времени со средним значением Т1=11 минут поступают партии, каждая из которых состоит из n деталей. Равновероятно детали проходят одну из предварительных обработок (ПО):

• ПО1 на протяжении экспоненциально распределенного интервала времени со средним значением Т2=8 минут;

• ПО2 на протяжении Т3=7±2 минут (равномерное распределение).

В результате обработки возможно появление k=10 процентов бракованных деталей, которые не поступают на дальнейшую сборку, а снова направляются на соответствующую предварительную обработку. На сборку поступает одна деталь, которая прошла ПО1, и одна, деталь прошедшая ПО2. Процесс сборки занимает Т4=6±1 минут. В каждый момент времени может происходить сборка только одного изделия (состоящего из двух деталей). Потом собранное изделие поступает на регулировку, которая длится Т5=5±1 минут. В каждый момент времени может производиться регулировка только одного изделия.

Прибыль от производства одного изделия составляет S1=80 единиц стоимости. Если деталь изделия, которая прошла ПО1, находилась в цеху более Т=40 минут, стоимость изделия уменьшается вдвое.

Уменьшение уровня брака до значения (k-r) требует r×S2 единиц стоимости на каждую деталь (k≥r). Уменьшение средней продолжительности операций сборки и регулировки на m минут требует дополнительного вложения m×S3 единиц стоимости на одно изделие. S2 и S3 считать равными 3 и 8 соответственно. Длительность этих операций может изменяться независимо, при этом минимально возможная длительность операций сборки и регулировки составляет 3 минуты.

Определить, при каких уровнях снижения брака r и длительности операций сборки и регулировки достигается максимальная экономическая эффективность.

Вот что получилось у меня.

AssemblerВыделить код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

INITIAL X$izdelie,0  ; объявляется переменная сохраняющая количество готовых изделий
INITIAL X$pribil,0   ; объявляется переменная хранящая значение прибыли
cena EQU 80          ; задается цена изделия
r EQU 0
 
          GENERATE  (Exponential(1,0,11))  ; генерирования транзактов
          SPLIT 1,obr2
obr1    QUEUE   Q_PO1,1       ; деталь встает в очередь к РО1
    SEIZE   PO1                    ; деталь занимает устройство РО1
          ASSIGN    1,1       ; сохраняется в параметре 1 устройство в котором была деталь
    DEPART  Q_PO1,1       ; деталь выходит из очереди к РО1
    ADVANCE (Exponential(1,0,8))   ; задержать деталь  
    RELEASE PO1                    ; деталь освобождает устройство
          TRANSFER  0.1,,obr1              ; 10 процентов бракованных деталй вновь направляются на предварительную обработку
          TRANSFER  ,met3
          
          
obr2      QUEUE Q_PO2,1       ; деталь встает в очередь к РО2
    SEIZE   PO2       ; деталь занимает устройство РО2
    ASSIGN    2,2
          DEPART    Q_PO2,1       ; деталь выходит из очереди к РО2
    ADVANCE 7,2       ; задержать деталь
    RELEASE PO2                    ; деталь освобождает устройство
          TRANSFER  0.1,,obr2              ; 10 процентов бракованных деталй вновь направляются на предварительную обработку
          TRANSFER  ,met3
 
met3      QUEUE Q_sbor,1          ; деталь встает в очередь на сборк
          TEST E  Q$Q_sbor,2
          SEIZE sbor          ; деталь занимает устройство
    DEPART  Q_sbor                 ; деталь выходит из очереди на сборку
          ADVANCE   4,1                    ; задержать деталь
    RELEASE sbor          ; деталь освобождает устройство
    QUEUE   Q_reg,1       ; деталь встает в очередь на регулировку
    SEIZE   reg       ; деталь занимает устройство
    DEPART  Q_reg,1       ; деталь выходит из очереди 
    ADVANCE 3,1                    ; задержать деталь
          RELEASE   reg                    ; деталь освобождает устройство
    SAVEVALUE   izdelie+,1             ; сохраняется количество готовых изделий
   
PROCEDURE UM()  BEGIN                                    
  IF ((1 = PO1)&(FT$PO1 > 40)) THEN cena = 40;          
       IF ((1 = PO1)&(FT$PO1 < 40)) THEN cena = 80;                    
RETURN cena;
  END;
          SAVEVALUE pribil,(X$cena#X$izdelie)    ; сохраняется значение итоговой прибыли
    SAVEVALUE cena,(UM())                  ; сохраняется значение цены полученное из процедуры
    SAVEVALUE cena,(X$cena-(3#r))
met4    TERMINATE                   ; транзакт уничтожается
    GENERATE    720             ; время моделирования
    TERMINATE   1               ; счетчик завершений
          START 1                                ; начало моделирования