Вы находитесь на странице: 1из 432

621.

4
759

. .


,

AnyLogic 7

-
2014

681.142.1.001.57
681.142.33
. .

: , AnyLogic7:. .: , 2014.
432 .
,
, , . AnyLogic7.
, GPSS World AnyLogic7 6. .
.
, , .

. ., 2014
2


........................................................................................................................ 8
1. ................................................... 10
1.1. .......................................................................................... 10
1.2. ...................................................................... 10
1.3. , ......................... 14
1.3.1. ........................... 14
1.3.2. ................................................................ 18
1.3.3. .................................................................................... 19
1.4. ........................................................................... 24
1.5. .................................................... 29
1.6. .............................. 34
1.7. ................................ 37
1.7.1. Java ............................................. 39
1.7.2. ................................................... 45
1.7.3. ........................................ 46
1.7.4. .......................... 50
1.8. ........................................ 51
1.9. ................................................................................. 56
1.10. .................................... 57
1.11. .............................................. 60
2. .................................... 65
2.1. .......................................................................................... 65
2.1.1. .............................................................................. 65
2.1.2. .................................................................. 66
2.1.3. ................................................... 66
2.2. AnyLogic ......................................................................................... 67
2.2.1. . ....................................... 67
2.2.2. ................................................. 71
2.2.2.1. .................................................................... 71
2.2.2.2. 1, 2, 3.......................... 75
2.2.2.3. ............................................. 78
2.2.2.4. ..................................... 79
2.2.2.5. ......................................................... 82
2.2.2.6. ............................... 83
2.2.2.7. ................................................... 85
2.2.2.8. . ..... 86
2.2.2.9. .
............................................... 87
2.2.2.10. .. 87
2.2.3. ........................ 88
2.3. ................................................ 91
3. ................................. 96
3.1. .......................................................................................... 96
3.2. ........................................................ 96
3.3. AnyLogic ......................................................... 97
3.3.1. ................................................................................... 97
3.3.2. ....................................................... 98
3

3.3.3. ................................................. 99
3.3.3.1. ................................................................. 100
3.3.3.2. , ........................................ 101
3.3.3.3. ................................. 105
3.4. ............................................................................................. 107
3.5. .............................................. 112
4. ............................................... 115
4.1. AnyLogic ....................................................................................... 115
4.1.1. ................................................................................ 115
4.1.2. ................................................................................. 116
4.1.3. ...................................................................... 116
4.1.4. ................................................... 116
4.1.5. ............................................................ 121
4.1.6. ............................................................. 122
4.1.7. .................................................................................. 122
4.1.7.1. ......................................................................... 122
4.1.7.2. .................... 125
4.1.7.3. ......................... 128
4.1.7.4. .................................... 131
4.1.8. ...................................................................... 143
4.1.8.1. ......................................................................... 143
4.1.8.2. ............................. 144
4.1.8.2.1. 1 ......................................................................... 144
4.1.8.2.2. 1 .............................................................................. 147
4.1.8.2.3. ...................................................... 148
4.1.8.2.4. 2 ......................................................................... 149
4.1.8.2.5. 2 .............................................................................. 152
4.1.8.2.6. ............................. 153
4.1.8.2.7. ..................... 154
4.1.9. ...................................................................................... 155
4.1.9.1. ......................................................................... 155
4.1.9.2. ........................................... 155
4.1.9.3. .............................. 157
4.1.9.4. ................................................. 158
4.1.10. .......................................................... 159
4.1.11. .................................... 171
4.1.12. .................................................................... 174
4.2. .............................................. 177
5. .................................... 180
5.1. AnyLogic ....................................................................................... 180
5.1.1. ................................................................................ 180
5.1.2. ...................................................................... 180
5.1.3. ................................................... 180
5.1.4. ..................................................... 184
5.1.4.1. ................................................................ 184
5.1.4.2. ........................................ 186
5.1.4.3. ..................................................... 191
5.1.4.4. ........................................... 192
4

5.1.4.5. ................................... 194


5.1.5. ............................................................. 195
5.1.5.1. ................................................................ 195
5.1.5.2. ............................................ 197
5.1.5.3. .................... 199
5.1.6. ............................................................................. 202
5.1.6.1. ................................... 204
5.1.6.2. .......................................... 205
5.1.7. ........................................................ 207
5.1.8. ...................................... 211
5.1.9. .................................................................................... 212
5.1.10. ............................................................... 217
5.1.10.1. ................................................................. 217
5.1.10.2. ............................................................. 217
5.1.10.3.
............................................................. 220
5.1.10.4.
.......................................... 226
5.1.10.5.
............................................................. 228
5.1.10.6. .................................. 230
5.2. .............................................. 235
6. ......................................... 239
6.1. ........................................................................................ 239
6.1.1. ................................................................................. 240
6.1.2. ...................................................................... 240
6.1.3. ....................................................... 240
6.2. AnyLogic ....................................................................................... 242
6.2.1. ................................................................. 242
6.2.2. ........................................................................ 246
6.2.3. ..................................................... 249
6.2.4. ............................................... 251
6.2.4.1. ........................................ 253
6.2.4.2. ................................ 256
6.2.4.3. ............................... 263
6.2.4.4. ............................ 274
6.2.4.5. ............................... 276
6.2.4.6. ............................................. 277
6.2.4.7. ....................................... 278
6.2.4.8. ...................... 279
6.3. .............................................. 283
7. .............................................. 286
7.1. ........................................................................................ 286
7.2. AnyLogic ....................................................................................... 288
7.2.1. ............................... 288
7.2.2. .................................................................... 291
7.2.3. .................................................................. 298
7.3. ............................................................................................... 298
5

7.3.1. AnyLogic ........................ 299


7.3.2. AnyLogic ......................... 302
7.4. ............................................... 303
8. ...................................... 306
8.1. ........................................................................................ 306
8.1.1. ................................................................................. 306
8.1.2. ...................................................................... 307
8.1.3. ................................................... 307
8.2. AnyLogic ....................................................................................... 309
8.2.1. ........................................................................ 309
8.2.2. ..................................................... 311
8.2.3. ............................................... 311
8.2.3.1. .......................................................... 312
8.2.3.2. .................................................................... 314
8.2.3.3. .......................................................................... 318
8.2.3.4. ............................................ 321
8.2.3.5. ............................................................................ 323
8.3. .............................................. 325
9. .......... 329
9.1. AnyLogic ....................................................................................... 329
9.1.1. ................................................................................ 329
9.1.2. ................................................................................. 329
9.1.3. ...................................................................... 330
9.1.4. ................................................... 331
9.1.5. ............................................................. 334
9.1.6. ........................................................................ 334
9.1.7. ..................................................... 336
9.1.8. 1 ........................................ 340
9.1.8.1. 1. ........... 340
9.1.8.2. 1 ........................ 344
9.1.8.3. 1 .......................................... 346
9.1.8.4. 1 2 .............................................. 350
9.1.8.5. 1 ............................................. 352
9.1.8.6. 1 ............................................. 354
9.1.9. 2 ........................................ 358
9.1.9.1. 2 ........................ 358
9.1.9.2. 2 ............................................. 360
9.1.9.3. 2 ............................................. 361
9.1.9.4. 2 .............................................. 365
9.1.9.5. 2 .......................................... 367
9.1.9.6. 2 1 .............................................. 370
9.1.9.7.
........................................... 371
9.1.10. .................................................................... 372
10. ........................................................... 374
.......................................................................................................... 374
10.1. ...................................................................................... 374
10.2. ................................................................. 374
6

10.3. AnyLogic ....................................................................... 375


10.4. GPSS World ................................................................... 378
11. AnyLogic ................................................. 380
11.1.
.......................................................................... 380
11.2. ........................... 385
12. ................................................................ 389
.............................................................................................................. 422
................................................................................................ 423
1........................................................................................................... 425
2........................................................................................................... 429
3........................................................................................................... 432


,
, , ,
().
GPSS World,
GPSS.
AnyLogic ( 7). AnyLogic
The AnyLogic Company
- . ,
:
-, , . . , GPSS World.
, .
, , , , , .

, - . , . . .
AnyLogic 7 , AnyLogic 6, -
. ,
8


[8, 13]. AnyLogic 6 GPSS World
AnyLogic 7.
AnyLogic 7
. .

.
, AnyLogic 7, 6 GPSS World.
GPSS World . [13, 20]. , , ,
, .


.
AnyLogic 7.

.
AnyLogic7.
The AnyLogic
Company . . , . . , AnyLogic 7.
. . .

1.
1.1.
, , 2 .
3 .
5 .
.
,
, (. 1.1).
1.1 AnyLogic,
. . .

. 1.1.

1.2.
1. //
. (. 1.2).
2. .
Server.
3. , .
- ,
, .
10

. 1.2.

4. . (. 1.3). .
5.
. , .
. .
. ,
Java .
, , . .
6. ( )
, .
. 1.3 . , . .
7. .
( ) .
8. AnyLogic
Main.
11

. 1.3.

9. .
10. . (. 1.4). ,
. 1.5. ,
, , .
11. , . , , ,
, .
,
. .
. . .
12

. 1.4.

. 1.5.
13

.
12. Source .

, . , Source
.
13. Queue ,
, .
, .
14. Delay
. , .
15. Sink .
( ).
1.3. ,
, ,
.
- ( ), ,
.
AnyLogic

, .
, , (. . 1.5)
.
1.3.1.

( AnyLogic)
.
, . .
14


.
,
, ,
,

.
,
,
, .

Source. source . , , , , - : , , , , ..
,
source .

. 1.6. source
15

, () 2 .
. , , ,
, .
1. source.
: ,
: (. 1.6).
2. exponential(1). ,
source. 1 1/120.0.
Java / , .. , . 1/120 .
, ,
(double).
(
) 1/120.0
1.0/120.
queue. .
, ,
. ,
, ,
.
queue (. 1.7).
1. . : 5.
5 .
2. ,
. . , ,
.
, , , Java .
16

. 1.7. queue


delay. , , .
delay (. 1.8).
1. 3 . , 3 .
: exponential(1/180.0). exponential()
AnyLogic. AnyLogic
, , , . .
2. .
17

. 1.8. delay

delay Java .
-
sink. .
( ).
.
1.3.2.

. ,
. , , .
18


. ,
Simulation,
(. ).
,
, , .
( ,
), .
, .. 3600 .
1. Simulation:Main.
2. .
3. ( )
(. 1.9).
4. :
.
5. : 3600.
6. .
7. ( ).
8. : 9.
9. , Server (. 1.10).
10. :
.
1.3.3.


(F7) (
AnyLogic - ). - ,
,
, .
, . .
19

. 1.9.

. 1.10.

, :
1.
( F5) , .
Server/Simulation.
20

2. ( F5)
,
. ,
,
, (
).
3.
(. 1. 11). . AnyLogic ,
, (Main).
4. . . ,
, - ,
, ,
,
(. 1.12).

. 1.11.

5. , .
, .
: , , , .
21

,
, ,
(. 1.12). , source queue, ,
5, .
(. 1.13)

. 1.12.

. 1.13.

6. OK. queue, . .
(. . 1.7).
15. ,
6 14 -
.
.
7. .
22

. 1.14.

8. . ,
. , ,
. ,
,
.
9.
: , queue , ,
. .
delay (. 1.14).
23

10. ,
.
11.
queue
queue.
source
, . .
delay,
. ,
. ,
, .
1.4.
,
(. . 1.12, 1.14).
.
.
,

.
( ),
.
,
.
1. (. 1.15).
- ,
.
2. (. 1.15)

,
. ,
, , ,
, , .
24

. 1.15.

3.
.
, . 1.16.

. 1.16.

4. ,
,
.
5.
.
(. 1.17).
25

, -
, , .
. , ,
: , :
delay.size()>0?red:green

. 1.17.

delay delay. size()


,
. , , .
6. ,
(. 1.18). ,


, . 26

, ,
. , .
, .
.
,
.

. 1.18.

7.
. . queue. queue
: path
(. 1.19).
8.
. delay. :
: node
(. 1.20).
27

. 1.19.

. 1.20.

28

. 1.21.

9. . ,

(. 1.21).
, .
1.5.
AnyLogic
.
Enterprise Library . , .
delay queue,
, , (, )
.

:
1. . , .
2.
, . 1.32.
29

. 1.22.

3. . .
(chart ),
(. 1.23).

. 1.23.
30

4. SERVER utilization.
5. delay.statsUtilization.mean()
. delay delay. delay statsUtilization,
.
mean()
. , , min() max().

: StatisticsContinuous ( ).
6. (. 1.24). :
, , , , , .

. 1.24.

7. ()
, , (. 1.25).
,
( , ),
, , , , , .
31

. 1.25. , ,

8.
.
9. .
(chart1 ),
(. 1.26).
10. : : ,
. 1.26. : Queue lenqth,
: queue.statsSize.mean().
11. , ,
, . .
32

. 1.26. ,

12. : queue queue.


queue, delay, statsSize, . mean()
.
33

. 1.27.

13.
(. 1.26),
,
, (. 1.27).
14. ,
3600 ,
(. 1.28).
1.6.
. 1.28 ( ) , 14 15. 5 .
- (.
. 1.22)
source, 5 .

15 .

AnyLogic? , . , . .
34

. 1.28.

queue ,
, ,
.
. .
queue :
out, ,
- , ;
outTimeout,
( );
outPreempted, (
);
, remove() removeFirst().
queue ,
( ). outTimeout outPreempted,
35

. ,
queue ,
.

: FIFO (
), .
,
- . ,
, ,
. ,
outPreempted.
, .
. ,
source, .
(5 ) . .
1. queue.
15 5 .
2. .
3. sink. sink (. 1.29).
. .
4. outPreempted queue InPort sink1. ,
, ,
outPreempted, , .
5. ,
. ,
. , , .
36

. 1.29.

6. . . 1.30 . 1.22. . 1.30 ,


5 ,
.
.
.
1.7.
Entity () , ,
. Entity Java ,
. , .

.
37

. 1.30.


n , . . n. i- .
:
time_vxod ,
time_vixod (
sink).

time_obrabotki=time_vixod-time_vxod



. , ( sink).
:
col_vxod ,
col_vixod .
38


ver_obrabotki=col_vixod/col_vxod

.
. ,
. AnyLogic
, .
1.7.1. Java


. . Inquiry.
1.

/Java .
2. Java (. 1.31).
: Inquiry.
3. :
Entity . .

. 1.31. Java

4. Java .
(. 1.32).
39

. 1.32. Java

5. Java : time_vxod double,


time_vixod double, col_vxod int, col_vixod
int. .
, ,
.
6.
toString ().
: , , , ,
, . , , ,
Source.
7. . , Java
(. 1.33). ,
.
8. Java .

Java Java .
9. c
Inquiry (. . 1. 38).
40

. 1.33.

10. ,
. , Java
. .
41

Inquiry.
1. .
2. .
Entity (. 1.34).
3. (. 1.35).
1. .
: Inquiry.
: 2D , , .
.
4. . 2. (. 1.36).
5. <>. :
time_vxod (. 1.37).
6. : double.
7. <>. :
time_vixod.
8. : double.
9. <>. :
col_vxod.
10. : int.

. 1.34. Entity
42

. 1.35. . 1.

1. <>. :
col_vixod.
2. : int.

. 1.36. . 2.
43

. 1.37. . 2.
Inquiry

3. , 0.

. 1.38. Inquiry

4. . ,
Inquiry (. 1.38). ,
.
44

1.7.2.

. .
(, , , ..).
1.
,
.
2. (. 1.39):
: time_obrabotki;
- : 50;
. : 0.01.

. 1.39.

.
1.
.
45

2. (. 1.40):
: ver_obrabotki;
- : 50;
. : 0.01.
. 1.41.

. 1.40.
1.7.3.

, Inquiry, source. , ,
Inquiry,
Entity.

Inquiry.
, .
source .
46

. 1.41.

. 1.42. source

.
1. source (. 1.42):
47

Inquiry :. Inquiry ;
Inquiry()
:.
Inquiry;
entity.time_vxod=time();
:. -
time_vxod Inquiry.
time()
.
2. queue:
Inquiry :.
3. delay:
Inquiry :.
4. sink1:
Inquiry :.
5. sink:
Inquiry :;
:
time_obrabotki.add(time()-entity.time_vxod);


time_obrabotki.

time() . add
.
entity.col_vixod=sink.count();
entity.col_vxod=source.count();

, sink
source . count() ,
sink source .
ver_obrabotki.add(entity.col_vixod/entity.col_vxod);

ver_obrabotki
sink. .
48

. 1.43.

6. . . . (. 1.43).

. 1.44.

7. Java
Main.java.399 (. 1.44). .
int col_vxod col_vixod (.
. 1.32). double.
49

1.7.4.

,
time_vixod,
time(), , ,
.
time_vixod.
1. Inquiry. Inquiry (. . 1.38).
2. time_vixod, Delete.
3. col_vxod. : int double (. 1.45).
4. col_vixod. : int double.

. 1.45. time_vixod

5. ,
.
, . :
.
.
, .
, ,
. . (. 1.46).
50

. 1.46.

1.8.
.
.
. , , .
time_mean delay.
1. .
2. Main
delay, ,
.
3. (. 1.47).
4. time_mean (
). .
5. double.
51

. 1.47.

6. 180.
, Java .
7. delay.
8. exponential(1/180.0) exponential(1/time_mean).

time_mean . .
1.
Main
(. 1.48).
2. time_mean,
, delay.
3. 1 300.
1 :, 300
: (. 1.49).
4. :
time_mean.

. .
1.
Main
(. 1.49).
52

. 1.48.

. 1.49.

2. queue, ,
, .
53

3. 0 15
. 15 .
4. :
queue.capacity.
5. .
.
,
, (. 1.50).
6. Main.
.
, ,
, .

,
.

. 1.50.

54


: ,
. , ,
(, ).
: ; ; .
: ; (boolean); (String).
1. time_mean.
2. .
3. time_mean.
4. (. 1.51).
5. : 240.0.
6. . 240.0.
7. delay.

. 1.51.
55

1.9.
, .
1. , .
2. , , :
: time_obrabotki (. 1.52). .
3. : Histogram Time obrabotki.
,
.
1. .
2.
: ver_obrabotki. .
3. : Histogram Ver obrabotki.
4. . . 1.53.
. , time_mean=180, 240.

. 1.52.
56

. 1.53.

1.10.
(. 1.2.1).
, ,
()
T 2 = 3 .

Q= 6 105 / ,
57

S1= 6 107 S 2= 2 105 :


, , 3600 .

.
1. time_mean
queue.
2.
Main (. 1.54).
3. S1_, S2_
Q_ . double.
4.
60000000,200000 600000 .
5. .
6. KolZap.
7. delay.
8. exponential(1/time_mean)
:(normal(S2_,S1_))/Q_
9. sink. :
KolZap=sink.in.count()/9604.0;

= 0,95 = 0,01 9604


:
2
p (1 p )
2 0,5
N = t2

9604,
1,96
2
0,012
t = 1,96 , p

, .
,
,
p = 0,5.
AnyLogic- 9604 .
,
58

. 1.54. AnyLogic-,

9604 , 9604, .
10.
3600 , AnyLogic 3600*9604 = 34574400 .
11. Simulation. .
12. 34574400.
13. .
. 1.55.
59

. 1.55.

1.11.
.
, .
1.
Main. S1_,
S2_, Q_. ,
. , .
. .
60

2. . : timeMean
. double.
3. 120.
4. source. 120.0 timeMean.
.
5. . :
kolProg .
,
. double.
6. 9604.
7. sink.
8. :
KolZap=round(sink.in.count()/kolProg);

. 1. KolZap
. , round, .
, .
- . ,
1000 ,
3600*1000=3600000.
9. . :
emkBuf . int.
10. 5.
11. queue.
emkBuf.
12. . . 1.56.
.
timeMean , ,
timeMean .
emkBuf
Q_ .
61

. 1.56.

. 1.1.
1 2 ,
0,025, .
1,27 1,48 .

( 3 4) : 36 30.
62

1.1

GPSS
AnyLogic6 AnyLogic7
World
1) timeMean = 120, emkBuf = 5

29
29
29

0,970
0,971
0,970

255,262
254,942
255,727


1,254
1,261

0,810
0,810
0,810
2) timeMean = 120, emkBuf = 10

29
30
30

0,995
0,995
0,995

328,328
321,540
325,017


1,841
1,870

0,833
0,831
0,831
3) timeMean = 40, emkBuf = 5

36
36
36

0,400
0,399
0,400

1055,335 1055,108
554,983


4,552
4,550


1,00
1,00
1,00
4) timeMean = 40, emkBuf = 10

36
36
36

0,399
0,399
0,400

591,860
591,304
1054,907


9,551
9,549


1,00
1,00
1,00
5) timeMean = 40, emkBuf = 10, Q_ = 1000000

59
60
60

0,666
0,665
0,667

591,860
591,304
591,129

63

. 1.1
GPSS
World

AnyLogic6 AnyLogic7


8,855


1,00
1,00
6) timeMean = 40, emkBuf = 15, Q_ = 2000000

90
90

1,00
1,00

74,859
75,049


1,096

0,751
0,750

8,852
1,00
90
1,00
75,096
1,128
0,751

2,5
, 3,25 .

1. ,

.
5 6
1000000 2000000 /c .
1 5 2 , 6
3 ( 1).
2
5, 6 3,4 .
,
, 5
8,852, 6 1,128,
7,85 .
6
0,751. , .
AnyLogic
7090 .

64

2.

2.1.

T . . ,
. n1 . .

. 2.1 :
2.1

0,05
10

0,13
14

0,16
21

0,22
22

0,29
28

0,15
25

n T1 , T2 , ..., Tn .
T1 , T 2 , ..., Tn . . q1 , q2 , ..., qn % .

, T
. qn +1 % , (1 qn +1 ) %
,
. ,
.
2.1.1.

n1 6; Exponential
%, q2 15 %;
=
=
(T ) Exponential ( 30=
) ; q1 12=
=
n 3; Exponential(
=
T1 ) Exponential(30);=
q3 10
=
%, q4 80 %;
Exponential(T2 )

Exponential(25);
Exponential (T3 ) Exponential(35);
=

Exponential(T1 ) = Exponential(4); Exponential(T 2 ) = Exponential(5);

Exponential (T3 )

Exponential(15);
=
Exponential(T ) Exponential(8).
65

2.1.2.

, 8 .
, .

= 0,01 = 0,99.
2.1.3.

,
(. 2.1). .

. 2.1.
66

, 1, 2 3 () 1, 2, 3
4 .
. GPSS
. 2.1.
. 1 . . . = 1.
,
.
. , :
N =t2

0,5 (1 0,5 )
2
0, 25
=2,582
=6, 656
16641.
0, 0001
2
0, 012

2.2. AnyLogic
AnyLogic-
(. 2.1) :
;
;
1;
2;
3;
;
;
.
.
2.2.1. .
.
1. // .
2. ___. ,
.
3. .
.
4.
.
67

5. : .
6. : . .
7. : .
8. :
X: 0, Y: 0, : 780, : 530.
9. .
:
X: 280, Y: 300, : 250, : 220.
10. text
: .
11. .
.
, . 2.4. . 2.3.
12. . 2.4, , , ,
.
. 2.1
( ) (
).

. 2.4.
68

2.3



35
Tk1
double
4
30
Tk2
double
5
25
Tk3
double
15
35
Tk
double
8
0.12

double
480
0.15
double
16641
0.10
0.80

Tn
T1
T2
T3
q1
q2
q3
q4

double
double
double
double
double
double
double
double

. . . 2.1 . ,
10. 10 .
1.
/.
2.
.
3. : .
4. : 1-10.
5. .
.
.
1. .
2. :
. : double.
3. .
(. 2.5 ). .
4. Edit dimensions (. 2.6 ). : .
5.
. .
6. . . .
69

. 2.5. -

. 2.6.

7. .
(2.7 ).

. 2.7.
70

8. . .
. [].
9. :
0.05,0.18,0.34,0.56,0.85,1,0,0,0,0
, . 2.1 , , =
. 2.1 + . 2.1, = +
. 2.1 .. . , . 2.1.
10. . .
: . .
,
{}.
11.
.
12. : :
{10,14,21,22,28,25,0,0,0,0}
2.2.2.
() . , AnyLogic
,

.
.
2.2.2.1.

, , .
1. .
. : X: 20, Y: 300, : 240, : 150.
2. text
: (. 2.8).
71

. 2.8.

3. . source Main
.
4. . Detail.
5.
Java .
6. Java .
: Detail.
7. :
Entity . .
8. Java .
Java ,
:
double n;
double a;
double Tn1;
n .
72

,
. a
. ,

.
9.
toString().
10. . Java . .
11. Java .

Java Java .
12. c
Detail.
13.
.
: b, : double.
14. source.
. 2.9.
, ,
:,
.
entity.n=uniform_pos();
if (entity.n <= .get(1))
entity.Tn1=.get(1);
else if (entity.n > .get(1) && entity.n
<= .get(2)) entity.Tn1=.get(2);
else if (entity.n > .get(2) && entity.n
<= .get(3)) entity.Tn1=.get(3);
else if (entity.n > .get(3) && entity.n
<= .get(4)) entity.Tn1=.get(4);
else if (entity.n > .get(4) && entity.n
<= .get(5)) entity.Tn1=.get(5);
else if (entity.n > .get(5) && entity.n
<=.get(6)) entity.Tn1=.get(6);

73

. 2.9. source

1. queue
:
:
: Detail
2. : .
3. delay
:
:
74

: Detail
:
: exponential (1/entity.Tn1)
: 1
: entity.a = 1;
2.2.2.2. 1, 2, 3

1, 2 3 , , ,
,
, .
1. , . 2.10.
: X:
20, Y: 60; X: 280, Y: 60; X:
530, Y: 60. : 240, : 180.
2. text
: 1, 2, 3 (. 2.10).
3.
queue, delay
selectOutput, . 2.7.
4. , queue
1,
. 2.10 . 2.4.
1 :
1 1; 1 1; 1 1; 11 1; 12 .

75

. 2.10. 1, 2, 3
76

2.4

1
1

Detail



delay
1

Detail

exponential (1/T1)

1

queue1
1

Detail



delay1
11

Detail

exponential (1/Tk1)

1

entity.n = 1;

selectOutput
12
Detail


true
1-q1

2
queue
2

Detail



delay
2

Detail

exponential (1/T2)

1

queue1
2

Detail



queue

77

. 2.4

delay1

21

Detail

exponential (1/Tk2)

1

entity.n = 2

selectOutput
22
Detail


true
1-q2

3
queue
3

Detail



delay
3

Detail

exponential (1/T3)

1

queue1
3

Detail



delay1
31

Detail

exponential (1/Tk3)

1

entity.n = 3

selectOutput
32
Detail


true
1-q3

2.2.2.3.

. 2.10 , 18 AnyLogic.
, 78

: : 20 .
( ). .
1.
Main, ,
/ .
2. 1. .
3. .
4. : Kontrol.
5. , : , .
6. .
2.2.2.4.



.
, . ,
.
,
Main (3+3+1).

Kontrol.
1.
(. 2.11).
2.
port
1.
3.
1.
4.
(. . 2.11). :
2, 3.
. 2.11.

79

5. (. . 2.11).
6. port 1 ( ,
1
).
7. 1.
8. (. . 2.11).
9. (. . 2.11).
10. port .
11.
( )
.
12. Main.
Kontrol, Main
Kontrol, . 2.12.
13. Kontrol .

: _.
14. .
. 2.12. : X: 570, Y:
270, : 140, : 220.
15. text
.
-
1, 2 3 .
1. F (false) 12, 22,
32 1, 2, 3 .
2. 1, 2, 3 1, 2, 3 .
3. (true) 32 3 .
. 2.12 .
Main.
80

. 2.12. Main Kontrol


81

2.2.2.5.

, , :
,
.
7 AnyLogic
.
, .
,

,
. ,
.
. (. . 2.12),
,
.
Main
.
1. .
.
2. . ,
.
3. .
4. : zex.
5. , ,
: . .
6. : .
7. : X: 0,
Y: 0, : 780, : 530.
82

2.2.2.6.

,
.

:
1. ,
.
2. , .
:
1. , ,
,
.
2.
... , ( , , , ).
,
. .
1. .
text, : , . 2.12.
2. text,
: .
3.
: Java :
_.kontr.navigateTo();
_
Kontrol, kontr ,
Kontrol.
. 2.13 Kontrol
. .
83

. 2.13. Kontrol
84

2.2.2.7.

1. , . 2.10.
: X: 110, Y: 70, : 580, : 240.
: X: 190, Y: 330, : 250, : 140;
X: 460, Y: 330, : 250, : 140.
2. text
: text ,
,
(. 2.13).
3.
selectOutput, queue, delay selectOutput5, e , . 2.13. 1, 2 3
selectOutput. T (true)
3 selectOutput.
4. ,
selectOutput, . 2.13 . 2.5.
.
2.5

selectOutput

true

queue



delay

85

1
Detail

entity.a<2

Detail

2
Detail

exponential
(1/main.Tk)
1

. 2.5
selectOutput

selectOutput5


true

(true)


:
1
2
3

3
Detail

1-main.q4
entity.a=2

Detail

entity.n==1
entity.n==2
entity.n==3

2.2.2.8. .

1.
.
: , . 2.13. : double.
2.
sink.
3. :
:
;
: Detail
:
= .count()/main.;
= /( + );
=
(main.*main.)/.count();

: , .
4.
. 2.13.
86

2.2.2.9. .

1.
.
: , . 2.13. : double.
2.
sink.
3. :
:
;
: Detail

= .count()/main.;
= /(+);

: .
4.
. 2.13.

Main, Kontrol, , , : main.;
2.2.2.10.

1.
.
2. .
3. : kontr.
4. , ,
: . .
5. : .
6.
: X: 30, Y: 10, : 670, : 480.
87

7. , .
8. text,
: , . 2.13.
9.
: Java :
main.zex.navigateTo();
10. text,
: .
11.
. , , ,
, ,
.
.
2.2.3.

()
13
java-.
1. Kontrol . 2.14.
Main,
.
2. text,
: .
3. . , . 2.14.
double.
4.
1. double.
5. 1.
, 2 3 (. . 2.14). double.
6.
.
88

. 2.14.

89

7. .
:
_.=
.statsUtilization.mean();

8. 1.
:
_.1=
1.statsUtilization.mean()

9. 2.
:
_.2=
2.statsUtilization.mean()

10. 3.
:
_.3=
3.statsUtilization.mean()

11.
. 1 . . . = 1.
,
.
. , :
N =t2

0,5 (1 0,5 )
2
0, 25
=2,582
=6, 656
16641.
2
2
0,
0001
0, 01

12. Main. Simulation:Main.


13.
( ). :
.
14. 7987680 (480*16641 =
7987680).
15. AnyLogic
.

( ). 23.
90

2.3.
, AnyLogic
16641 ( GPSS World 16641 ).
8 , . 2.6. . . 2.15
. 2.6.
,
, ,
.
, .
, Tn = 35 Tn = 30,
(. 2.6).
. ,
( ).
GPSS World AnyLogic7, .
, 0 0,002,
0,023 0,238.

13
, 0,001 0,006.
(. 2.6) .

. 9,916 (9,885), 48,407 (48,559),
21,220 (21,161) 22,620
(22,683) . 0,277
0,116.
91

. 2.15.
92

1
2
3
11
12
13

1
2
3
21
22
23

1
2
3
31
32
33

GPSS World
AnyLogic6
1)
9,885
9,882
0,721
0,723
3,821
3,778
0,279
0,277
48,559
48,573
0,639
0,638
0,879
0,877
0,662
0,658
0,801
0,801
0,002
0,002
0,152
2) Tn = 30
11,284
11,333
0,722
0,723
4,338
4,343
0,278
0,277
42,538
42,353
0,749
0,746
1,000
1,000
0,752
0,762
0,915
0,916
0,002
0,002
0,038
3) T1 = 25, T3 = 30
11,552
11,555
0,722
0,724
4,459
4,414
0,278
0,276
41,553
41,542
0,748
0,746
0,852
0,852
0,774
0,770
0,802
0,801
0,001
0,001
0,023
93

2.6
AnyLogic7
9,916
0,723
3,804
0,277
48,407
0,640
0,879
0,664
0,803

11,294
0,724
4,312
0,276
42,500
0,746
1,000
0,755
0,916

11,558
0,723
4,437
0,277
41,530
0,748
0,852
0,770
0,802

. 2.6

GPSS World
AnyLogic6
4) Tn = 25, T1 = 20, T2 = 15, T3 = 25

13,845
13,900

0,723
0,724

5,314
5,305

0,277
0,276

34,669
34,532

0,895
0,899
1
0,817
0,822
2
0,555
0,558
3
0,801
0,803
41
0,001
42
0,001
43
0,112
5) Tn = 20, T3 = 20

15,453
15,499

0,723
0,724

5,932
5,915

0,277
0,276

31,063
30,969

1,000
1,000
1
0,911
0,913
2
0,619
0,621
3
0,716
0,718
51
0,001
52
0,001
53
0,238
6) q3 = 0,05

16,200
16,206

0,755
0,757

5,246
5,192

0,245
0,243

29,629
29,619

1,000
1,000
1
0,916
0,911
2
0,622
0,620
3
0,710
0,711
61
0,002
62
0,002
63
0,034
94

AnyLogic7
13,882
0,724
5,303
0,276
34,577
0,897
0,818
0,557
0,801

15,572
0,724
5,925
0,276
30,825
1,000
0,918
0,623
0,720

16,219
0,757
5,202
0,243
29,595
1,000
0,913
0,621
0,711

. 2.6

1
2
3
71
72
73

7) q1= 0,05, q2 = 0,05


GPSS World
AnyLogic6
18,903
18,856
0,883
0,883
2,504
2,491
0,117
0,117
25,393
25,456
1,000
1,000
0,901
0,896
0,650
0,646
0,828
0,829
0,001
0,001
0,018

AnyLogic7
18,991
0,884
2,491
0,116
25,275
1,000
0,907
0,651
0,833

8) T1=15, ={7,11,18,19,23,22,0,0,0,0}

1
2
3
81
82
83

21,161
0,883
2,801
0,117
22,683
0,939
0,756
0,725
0,929

21,250
0,884
2,785
0,116
22,588
0,940
0,760
0,729
0,932
0,001
0,001
0,063

21,220
0,884
2,795
0,116
22,620
0,938
0,759
0,728
0,931

, 1=0,879, 3=0,803, 1.
.
1 3. .
57 1. .
.
95

3.

3.1.
(
) mk
.

,
1 = 3 2 = 4 .
.

3 = 2 .
,

4 = 15 . ,
. 5 = 5
, , .

6 = 3 .
.

7 = 2 .

.

2 .
:
;
;
1 2;
.
3.2.
-
.
( ) .
,
(),
96

() .
FIFO.
: 1
1 , , , 2
, 2*60*60 = 7200 .
1 = 120, 2 =240 ..

:
;
;
, ;
;
.
3.3. AnyLogic
3.3.1.
.
1. // .
2. . ,
. .
3. ,
, . .
4.
.
5. :
: X: 630, Y: 20, : 320, : 280.
6. text
text .
7. .
.
, . 3.1.
. 3.1.
. (
) .
97

. 3.1.
3.1

double
double

180
240

int

___
___

double
double

120
180

___

double

10

____
___

double
double

900
120

__1
__2
_

3.3.2.

.
98

1. .
.
2. :
: X: 470, Y: 330, : 490, : 320.
3. text
text .
4. .
. ,
. 3.2. double, . int.
3.3.3.
, , (
).
1. . , . 3.3.
2. :
: X: 20, Y: 20, : 150, : 190.

. 3.2.
99

. 3.3.

3. ,
:
X: 190, Y: 20, : 370, : 200.
4. :
X: 20, Y: 350, : 380, : 130.
5. text
text ,
. 3.3.
3.3.3.1.

,
1 2.
1. .
2. source
Main .
100

3. .
Message.
4.
Java .
5. Java .
: Message.
6. :
Entity . .
7. Java .
Java ,

1 2:
int

numPotok

8.
toString().
9. . Java . .
10. Java .

Java Java .
11. c
Detail.
12.
soure.
. 3.3.
3.3.3.2. ,

,
,
, .
1. .
2. Main , , . 3.4. , .
101

source

_1

_2

3.3


Message

exponential(1/__
1)
Message
entity.numPotok = 1;
__1 ++;
__ ++;

Message

exponential(1/__
2)
Message
entity.numPotok = 2;
__2 ++;
__ ++;

3. source . hold
. /
-.
, , ,
.
4. setBlocked(). ,
true, false.
5. isBlocked() true,
.
false. .
102

. 3.4.

6.
. 3.4.
3.4

:
:


Message
_

__=.size();
__=.size();


hold1

Message

hold
Message
__

Message
if (entity.numPotok == 1)
__1 ++;
if (entity.numPotok == 2)
__2 ++;
__ ++;
_

Message

103

. 3.4

exponential(1/___)


_

Message
1

exponential(1/___)

if (==0)
= ___;
if (==1)
{ = ___ +
___;
=0;}
if (hold.isBlocked()== true)
hold1.setBlocked(false);

sink

Message
if (entity.numPotok == 1)
{__1 ++;
___1 =
__1
/__1;}
if (entity.numPotok == 2)
{__2 ++;
___2 =
__2
/__2;}
__ ++;
__ =
__
/__;
__ = 1__;
104

3.3.3.3.


, ,
,
,
.
,
. 3.5. .
, .
,
.
, .
C
.
.

GPSS- (. . 3.2).
,
, ,

.
, ,
.
.
1.
source delay, . 3.5.
2.
. 3.5.

. 3.5.
105

3.5

source

Agent

1

1
___

Agent

exponential
(1/____)
1
hold.setBlocked(true);
if (_.size()!=0)
{_.remove((Message)
_.get(0));
__ ++;}
hold1.setBlocked(false);
=1;

___
Agent

exponential
(1/___)
1
hold.setBlocked(false);
hold1.setBlocked(true);

,
,

.
.
,
106

.
, ,
, .
, - .
.
GPSS-,
Kont (. . 3.2).
AnyLogic
hold1 . ,

, hold ,
.
GPSS-,
UNLINK Nak,Prov3,1

,
.
3.4.
_.
, , (. 3.6).
.out
hold1.in hold.in.

. (. . 3.4).

, ,
, (round-robin) , .

. 3.6.
107


, ,
, ,
. ,
AnyLogic
. , ,
, .
, SelectOutput
,
.
,
SelectOutput.
1.
hold1 hold.
2. selectOutput
,
hold1 hold (. 3.7).
3. , true selectOutput , hold ,
hold.isBlocked().
4. : Agent Message.
5. true :
.
6. : hold.isBlocked().
7. .

. 3.7. selectOutput
108

8.

__ = 0,568, __ = 0,690,
___ = 0,614.
9. ? .
? ,
: , ,
,
, , . , .
10. selectOutput, hold1, _ .
11. hold.
12. . . . :

hold1
hold1

13. .
hold1.
14. .
hold1.
15. . : __ = 0,691, , . ___ = 0,805, . , .
16. . (. . 3.7). . , .
17. hold.
hold hold1 selectOutput.
18. selectOutput _ _ (. 3.8).
19. .
__. : boolean.
: true.
20. selectOutput. : Agent
Message. true : .
109

. 3.8. hold

21. : __.
22. ___. : :
__ = false;
if (_.size()!=0){
Message m = _.get(0);
_.stopDelayForAll();
__ ++;
__--;
if (m.numPotok == 1){
__1--;
}
if (m.numPotok == 2){
__2--;
}
}
=1;

if , _ .
stopDelayForAll() ,
_.
.
. .
110

23. ___. : :
__ = true;
____=
1-___.statsUtilization.mean();

24. _.
: :
___=
_.statsUtilization.mean()

25. .
. 3.9. ,
0,773 > 0,568.
1,003,
. , GPSS World.
AnyLogic 6 hold (. . 3.4).
.

. 3.9.
111

3.5.
.
. 3.6.
8 . , ,
2, .
,
, ,
.
, .
,
5 10 ,
(. 3.6).

= 0,01 = 0,95 GPSS World
9604 .
10000 .
AnyLogic 10 000
72 000 000 .
, GPSS World
, ,
10 000 .
. 3.6 , 0,002 0,004.
, GPSS World AnyLogic7, 0,017 0,029, .
. , 5 10
0,773 (0,752)
0,831 (0,829). ( )
1 2 (90 120) 0,831 (0,829) 0,456
(0,438).
(60) 5
0,456 (0,438) 0,815 (0,844).
57 ( AnyLogic7 ).
112

3.6

GPSS
AnyLogic6 AnyLogic7
World
1) _ = 5
__
0,752
0,773
0,773
___1 0,752
0,772
0,771
___2 0,753
0,773
0,774
1 __
1 = 0,021
__
0,248
0,227
0,227
___
0,777
0,757
0,718
___
0,152
0,222
0,286
0,929
0,979
1,003
___
2) _ = 10
__
0,829
0,861
0,831
___1 0,829
0,861
0,832
___2 0,829
0,862
0,831
2 __
2 =0,002
__
0,171
0,139
0,169
___
0,861
0,841
0,756
___
0,157
0,250
0,327
1,018
1,091
1,084
___
3) __1 = 90, __2 = 120
__
0,438
0,454
0,456
___1 0,438
0,454
0,456
___2 0,438
0,453
0,456
3 __
3 = 0,002
__
0,562
0,546
0,544
___
0,882
0,882
0,808
___
0,209
0,266
0,393
1,091
1,148
1,201
___

4) ___ = 60, ____ = 5000


__
___1
___2
4 __
__
___
___
___
113

0,844
0,844
0,845
0,156
0,971
0,043
1,014

0,848
0,848
0,848
4 = 0,029
0,152
0,970
0,058
1,028

0,815
0,815
0,815
0,185
0,922
0,088
1,010

. 3.6

GPSS AnyLogic6 AnyLogic7


World
5) ___ = 90, ___ = 60
__
0,851
0,857
0,834
___1 0,851
0,857
0,833
___2 0,851
0,857
0,835
5 __
5 = 0,017
__
0,149
0,143
0,166
___
0,982
0,980
0,945
___
0,017
0,029
0,043
0,999
1,009
0,988
___
6) __1 = 45, __2 = 60
__
0,430
0,432
0,434
___1 0,431
0,432
0,434
___2 0,429
0,431
0,434
6 __
6 = 0,004
__
0,570
0,568
0,566
___
0,988
0,988
0,980
___
0,024
0,029
0,048
1,012
1,017
1,028
___
7) ___ = 30, ___ = 45
__
0,850
0,853
0,832
___1 0,851
0,853
0,831
___2 0,850
0,853
0,832
7 __
7 = 0,018
__
0,150
0,147
0,168
___
0,982
0,982
0,952
___
0,015
0,021
0,028
0,997
1,003
0,980
___
8) ___ = 1, ___ = 30
__
0,851
0,855
0,833
___1 0,851
0,855
0,833
___2 0,851
0,855
0,832
8 __
8 = 0,018
__
0,149
0,145
0,167
___
0,988
0,987
0,957
___
0,008
0,015
0,021
0,996
1,002
0,978
___
114

4.
4.1. AnyLogic
4.1.1.
n1 ,
. .
n1 T1 , T2 ,..., Tn1 .
n2 1)
p1 , p 2 , ..., pn2 ( p1 + p 2 + ... + pn2 =
S1 , S 2 , ..., S n2 .
k k , 1
L1 , . () Q /.
1 . ,
.
,
i- , i = 1, k . L2i , i = 1, k .
.
.
.
Vi /, i = 1, k .
. T T1 , T 2 , ..., T n
. T T1 , T 2 , ..., T n .

.
115

4.1.2.
=
n1 6;=
k 4;

exponential (T1 =
) exponential (T2 =) ...= exponential (T6 =) exponential ( 30 ) ;

=
n2 =
4; p1 0,3;
=
p 2 0,=
2; p3 0,=
2; p4 0,3;
=
Q 40000
=
/; L1 5000000;

normal ( S1 , So1 ) = normal ( 53000, 6100 ) ;


normal ( S3 , So3 ) = normal ( 66000, 7000 ) ;
normal ( S 4 , So4 ) = normal ( 50000, 500 ) ;

( )
exponential (T =
)

( )
exponential (T =
) exponential ( 3.2 ) ;

exponential T1 = ...= exponential T8 = exponential ( 360 ) ;


1

...=

exponential (T ) = exponential ( 3600 ) , exponential (T ) =exponential ( 3.7 ) ;

=
Vi 5000 /,=
n3i 1,=
L2i 250000,
=
i 1, 4.

4.1.3.

. , ,


.
4.1.4.
n1 = 6 . , (exponential),
(normal). , , ,
.
,
.
( )
(. 4.1).
116

. 4.1.

1 2 1 1, 3 4 2 1,
5 3 1, 6
4 1.
1 , ,
1 2 1 2, 3 4 2 2.
2 , 14 , , 14 .
,
(),
.
117

(. 4.2).

4.2.
118

1, () , , 2,
.

AnyLogic.
, .
.
, ,
:
numAbOtpr - ;
numAbPol - ;
numKat ;
timeOtpr ;
dlina , ;
timeObr , ;
timePered , .

:
kolAbonent ;
timeAbonent , ;
verKat={verKat1, verKat2, verKat3, verKat4}
, , ,
verKat1+verKat2+verKat3+verKat4=1;
dlKat={dlKat1, dlKat2, dlKat3, dlKat4} , , , ,
;
dlKat0={dlKat01, dlKat02, dlKat03, dlKat04}
, , , ,
;
proizvod , /c;
skorPeredKan , /;
119

skorPeredKanR
, /;
timeBklKanR .
:
kolOtprKat1, kolOtprKat2, kolOtprKat3,
kolOtprKat4, kolOtpr , , , ;
kolPolKat1, kolPolKat2,kolPolKat3,kolPolKat4,
kolPol ,
, , ;
1, 2, 3,
4,
, , , ;
1, 2, 3, 4, , , , ;
;
.
:
;

;
;

.
.

:
emkBuferVx , ;
120

tekEmkBuferVx , ;
emkBufer1 ,
;
tekEmkBufer1 , ;
emkBuferNapr1,emkBuferNapr2,emkostBuferNapr3,
emkBuferNapr4 ,
, , ;
tekEmkNapr1, tekEmkNapr2, tekEmkNapr3,
tekEmkNapr4 , , ,
.

:
timeOtk ;
timeVosst ;
timeOtkKan ;
timeVosstKan .
4.1.5.

. , . 4.1 ():
;
;
.
AnyLogic, ,
,
Main.
: , , .
1. // . .
2. .
_. , . .
3. Main / .
4. .
121

5.
6.
7.

: .
.
.

4.1.6.
Main, ,
, . , ,
.

. 4.1.
:
, : .
4.1

:
:
Y:
:
:
:
:
Y:
:
:
:
:
Y:
:
:

Main

0
0
770
470
viewData
870
600
470
620
viewResult
0
600
442
820

1
0
0
0
0
810
740
360
470
viewData
viewData
0
0
700
550
450
330
420
250
viewResult
0
1200
470
432

.
4.1.7.
4.1.7.1.

1. .
2. viewData.
122

0
0
400
340
viewData
0
700
400
180

3. . :,
.
4.
X: 5, Y: 745, : 435, : 365.
5. text
text (. 4.3).
6. . 1 .

. 4.3.
123

7. ,
. 4.3.
, tekEmkBuferVx, double.
tekEmkBuferVx int. .
8. , . 4.3. , emkBuferVx numAbonent, double. emkBuferVx numAbonent
int. . 4.2.
4.2

kolAbonent
timeAbonent
kolProg
numAbonent
emkBuferVx
verKat
dlKat
dlKatO

KolKat
KolKat
KolKat


6
30
100
1
80000
{0.3, 0.5, 0.7, 1.0}
{53000,86000,66000,50000}
{6100,5000,7000,500}

. 4.2 , verKat, dlKat, dlKatO ,


. KolKat.
1.
.
2. :
KolKat. kolKat, : , Java .
3. : .
4. : 1-4.
5. .
verKat.
1. (. . 4.3).
2. . . .
124

3. Edit dimensions.
: Kol.
. Kol
4.
.
5. . . Kol.
6. .
.
7. . .
. [].
8. :

0.3, 0.5, 0.7, 1.0


9. dlKat, dlKatO
KolKat.
. 4.2.

.
1.
.
2. :
: ;
: 10;
. : 0.01.

. . ,
(, .) .
4.1.7.2.

. 4.4.


.
125

4.4.

1. .
.
2. : , . .
3. .
X: 13, Y: 1250, : 447, : 371.
4. text. : .
5. .
. , . 4.4.
. 4.3. editbox editbox5 : 100, : 31. : 50.
126

.
1. .
2. .
. 4.3.
4.3

editbox
editbox1
editbox2
editbox3
editbox4
X: 21
X: 177
X: 247
X: 317
X: 389
Y: 1310
Y: 1310
Y: 1310
Y: 1310
Y: 1310

editbox5
editbox6
editbox7
editbox8
editbox9
X: 19
X: 179
X: 249
X: 319
X: 389
Y: 1390
Y: 1390
Y: 1390
Y: 1390
Y: 1390


editbox13
editbox12
editbox15
X: 319
X: 319
X: 319
Y: 1470
Y: 1520
Y: 1570
hart-
X: 19
Y: 1450
: 240 : 160

3. :
, . .
4.
: .
5. : .
6. ( .)
.
7. ( , , , .) . 4.4.
,
, Main , , .
, .
127

4.1.7.3.

1. Main.
2. ViewData.

. 4.5.
128

3. , . 4.5.
4. double. 1166
. ,
23 , 2 3, 32 , 3 2. 1266
.
5. . ,
, .
6.
.
7. :
: ;
: 10;
. : 0.01.
.
. 4.6 . ,
.
1. ViewResult.
2. .
3.
.
4. Main ViewResult
(. . 4.6).
5. (editbox10)
.
6. . 4.6.
7. .
.
8. :
, . .
129

. 4.6.
130

9.
: .
10. : .
11. ( .)
.
12. .

ViewResult.
13. : , . .
14.
X: 10, Y: 1000, : 420, : 410.
15. text. : -.
16. .
. X: 20, Y: 1078, :
48, : 25. : 11.
.
17. text. : 11.
18. text .
. 4.6. : 12 16. : , .. 11.
. 4.6. text ,
.
19. text
. 4.6.
.
4.1.7.4.

, 1, - , , - , ,
, .
131

1 . 4.7, AnyLogic . 4.8.


1. .
2.
X: 10, Y: 50, : 450, : 380.
3. text : 1.

. 4.7. 1

4.
source. , . 4.8.
1
.
132

. 4.8. 1 AnyLogic

Java, .
,
(. . 4.1.4).
Message.
1. source.
2.
/Java .
3. Java .
: : Message.
4. :
Entity . .
133

. 4.9. Message

5. Java .
Java , . 4.9.
6.
toString (). . .
7.
Java Java . .
1.
1. source.
:
: Message

exponential(1/timeAbonent)
Message
134

:
double a=0;
double b=kolAbonent;
//
a=uniform();
for (int i=1; i<(kolAbonent+1); i++)
{if (a<=((1/kolAbonent)*b))
entity.numAbPol=i;
b=b-1;}
entity.timeOtpr=time();
entity.numAbOtpr=numAbonent;

source
, . , - . - ,
numAbPol. timeOtpr .
2. selectOutput. source. selectOutput
sink , , . sink.
T selectOutput.
3. selectOutput5. .
F selectOutput.
. 4.4.
. , ,
,
, .
4.

selectOutput5
(
selectOutput1 selectOutput2). .
5. queue.
6. : : . :
Message. 100. 14 selectOutput1 (. . 4.8).
135

7. selectOutput1 selectOutput2. selectOutput2


, 5 6.
4.4

selectOutput

:
true

Message

:
:

Message

a=uniform();
f++;
kolOtpr=f/kolProg;
editbox5.setText(kolOtpr, true);
main.f++;
main.=main.f/kolProg;
main.editbox5.setText(main.,
true);

a<=verKat.get(1)

entity.numKat=1;
b=normal(dlKatO.get(entity.numKat),
dlKat.get(entity.numKat));
entity.dlina=(int)(b);
d1++;
kolOtprKat1=d1/kolProg;
editbox6.setText(kolOtprKat1, true);
main.d1++;
main.1=main.d1/kolProg;
main.editbox6.setText(main.
1, true);


entity.numAbPol==numAbonent

a<=ver verKat.get(2)
entity.numKat=2;
b=normal(dlKatO.get(entity.numKat),
dlKat.get(entity.numKat));
entity.dlina = (int)(b);
d2++;
kolOtprKat2=d2/kolProg;
editbox7.setText(kolOtprKat2, true);
main.d2++;
136

. 4.4

selectOutput
main.2=main.d2/kolProg;
main.editbox7.setText(main.
2, true);
a<=verKat.get(3)

entity.numKat=3;

3 b=normal(dlKatO.get(entity.numKat),
dlKat.get(entity.numKat));
entity.dlina=(int)(b);
d3++;
kolOtprKat3=d3/kolProg;
editbox8.setText(kolOtprKat3, true);
main.d3++;
main.3=main.d3/ kolProg;
main.editbox8.setText(main.
3, true);
4

a<=verKat.get(4)

entity.numKat=4;

4 b=normal(dlKatO.get(entity.numKat),
dlKat.get(entity.numKat));
entity.dlina=(int)(b);
d4++;
kolOtprKat4=d4/kolProg;
editbox9.setText(kolOtprKat4, true);
main.d4++;
main.4=main.d4/kolProg;
main.editbox9.setText(main.
4, true);

selectOutput1

:
:

Message

entity.numAbPol==1

entity.numAbPol==2

2++;

2 main.12=2;

137

. 4.4

selectOutput1

entity.numAbPol==3

3++;
main.13=3;

entity.numAbOtpr==4

4++;
main.14=4;

:
:
1

selectOutput2
Message

entity.numAbPol==5

5++;
main.15=5;

entity.numAbPol==6

6++;
main.16=6;

8. selectOutput2 ,
. 4.4. selectOutput2
.
.
.
.
1. .
2.
X: 210, Y: 100, : 65, : 60.
3. .
. 4.8. : .
4. ,
. 1
.
Main.
138

, , .
. 1.
1. selectOutput ( selectOutput3).
.
, .
2. selectOutput3.
3. sink ( sink1).
F selectOutput3.
4. selectOutput3 :
: Message
true
emkBuferVx-tekEmkBuferVx>=entity.dlina
5. queue. :
:
: Message
emkBuferVx
tekEmkBuferVx+=entity.dlina;
tekEmkBuferVx-=entity.dlina;
selectOutput3.
6. selectOutput5 ( selectOutput4). .
7. . 4.5. . :
,
,
,
.
8.
selectOutput4.
9. selectOutput5 ( selectOutput5
selectOutput6).
. . 4.5. selectOutput5 selectOutput6.
139

4.5

:
:

selectOutput4
Message

g++;
kolPol=g/kolProg;
editbox.setText(kolPol, true);
main.g++;
main.=main.g/
kolProg;
main.editbox.setText(main.
, true);
entity.numKat==1
k1++;
kolPolKat1=k1/kolProg;
editbox1.setText(kolPolKat1, true);
main.k1++;
main.1=main.k1/kolProg;
main.editbox1.setText(main.
1, true);
entity.numKat==2
k2++;
kolPolKat2=k2/kolProg;
editbox2.setText(kolPolKat2, true);
main.k2++;
main.2=main.k2/kolProg;
main.editbox2.setText(main.
2, true);
entity.numKat==3
k3++;
kolPolKat3=k3/kolProg;
editbox3.setText(kolPolKat3, true);
main.k3++;
main.3=main.k3/kolProg;
main.editbox3.setText(main.
3, true);

140

. 4.5
4

entity.numKat==4

k4++;
kolPolKat4=k4/kolProg;
editbox4.setText(kolPolKat4, true);
main.k4++;
main.4=main.k4/kolProg;
main.editbox4.setText(main.
4, true);

:
:
1

selectOutput5
Message

entity.numAbOtpr==1

entity.numAbOtpr==2

2++;
main.21=2/main.21;
main.21.setText(main.21,
true);
entity.numAbOtpr==3

3
4

3++;
main.31=3/main.31;
main.31.setText(main.31,
true);
entity.numAbOtpr==4
4++;
main.41=4/main.41;
main.41.setText(main.41,
true);

:
:
1

selectOutput6
Message

entity.numAbOtpr==5
5++;
main.51=5/main. 51;
main.51.setText(main.51,
true);
141

. 4.5
2

entity.numAbOtpr==6
6++;
main.61=6/main.
61;
main.61.setText(main.61,
true);

10. sink2.
14 selectOutput5 selectOutput6.
11. sink2 . 4.6.

.
4.6

sink2
Message
.add(time()-entity.timeOtpr);
editbox11.setText(.mean(),
true);
editbox12.setText(.max(),
true);
editbox13.setText(.min(),
true);
main.=main.
/main.;
main.editbox10.setText(main.
, true);
main..add(time()entity.timeOtpr);
main.editbox11.setText(main.
.mean(), true);
main.editbox12.setText(main.
.max(), true);
main.editbox13.setText(main.
.min(), true);

.
142

4.1.8.
4.1.8.1.

1. .
2. viewData.
3. . :
, .
4.
X: 10, Y: 600, : 314, : 190.
5. text : (. 4.9.).
6. . . 4.10.
7.
. 4.7.
8. timeOtkBK, timeVosstBK, proizvod double,
int.

. 4.10.
143

4.7

emkBufer1
timeOtkBK
timeVosstBK
proizvod

5000000
3600
3.7
40000

emkBuferNapr1
emkBuferNapr2
emkBuferNapr3
emkBuferNapr4

250000
250000
250000
250000

4.1.8.2.

. 4.11. ,
2, -, .

1, 1, .
.
4.1.8.2.1. 1

1
. 1
, ,

1, .
1 . 4.12.
AnyLogic selectOutput,
hold sink.
1. .
.
2.
X: 26, Y: 50, : 154, : 150.
3. selectOutput, hold sink , , . 4.11.
4. text
text 1.
5. selectOutput.
6. : selectOutput blokKontrol_1.
7. : Agent Message.
144

. 4.11.
145

. 4.12. 1

8. true
.
9. :
(emkostBufer1-tekEmkostBufer1>=entity.dlina)&&
(hold.isBlocked()==false)

T ( , true)
F ( , false), , .
10. sink. : Agent Message.
11. kolPotBK++;
, .
12. hold. : Agent Message.
146

4.1.8.2.2. 1

1 ,
.
1 . 4.13.
AnyLogic 1
queue, (FIFO).
1. .
.
2.
X: 190, Y: 50, : 126, : 100.
3. :
Rectangle. .
4. text
text 1.

. 4.13. 1
147

5. queue.
6. : queue bufer1.
7. : Agent Message.
8. emkBufer1.
9.
, :
tekEmkBufer1 += entity.dlina;

10.
, :
tekEmkBufer1 -= entity.dlina;
entity.timeObr=entity.dlina/proizvod;

11. .
4.1.8.2.3.

.
. 4.14.

. 4.14.
148


AnyLogic delay.
1. .
.
2. :
Rectangle. .
3.
X: 336, Y: 50, : 194, : 100.
4. text
text .
5. delay,
bufer_1 , . 4.11.
6. delay.
: delay omputer.
7. : Agent Message.
8. .
9. :
exponential(1/entity.timeObr)
10. 1.
11.
1=computer.statsUtilization.mean();

12. .
13. .
.
14. :
Rectangle. .
15.
X: 20, Y: 40, : 520, : 170.
16. text
text
.
4.1.8.2.4. 2

2
() .
2 . 4.15.
149

. 4.15. 2

,
. .
.

selectOutput5 sink. AnyLogic: exit enter. , .4.11
2 , .
1. exit, computer (. 4.10).
2. : Agent Message.
3. :
int i;
i=entity.numIstPol;
{
switch (i)
{
case 1:if (emkBuferNapr1tekEmkNapr1>=entity.dlina) {
enter1.take(entity);
150

break;}
else {enter.take(entity);
break;}
case 2:if (emkBuferNapr1tekEmkNapr1>=entity.dlina) {
enter1.take(entity);
break;}
else {enter.take(entity);
break;}
case 3:if (emkBuferNapr2tekEmkNapr2>=entity.dlina) {
enter2.take(entity);
break;}
else {enter.take(entity);
break;}
case 4:if (emkBuferNapr2tekEmkNapr2>=entity.dlina) {
enter2.take(entity);
break;}
else {enter.take(entity);
break;}
case 5:if (emkBuferNapr3tekEmkNapr3>=entity.dlina) {
enter3.take(entity);
break;}
else {enter.take(entity);
break;}
case 6:if (emkBuferNapr4tekEmkNapr4>=entity.dlina) {
enter4.take(entity);
break;}
else {enter.take(entity);
break;}
}
}

, , .
, , ,
. (. . 4.1).
151

4.1.8.2.5. 2

2 ,
.
.
,
1 (. . 4.13).
queue.
1. .
(. . 4.11).
2. :
Rectangle.
.
3.
X: 550, Y: 20, : 140, : 290.
4. text
: 2.
5. enter, queue
sink, , ,
. 4.11.
6. buferNapr1,
enter1 .
7. : Agent Message.
8. emkBuferNapr1
9. :
tekEmkNapr1 += entity.dlina;

10. :
tekEmkNapr1 -= entity.dlina;

11. .
12. buferNapr2,
enter2 .
13. : Agent Message.
14. emkBuferNapr2
15. :
tekEmkNapr2 += entity.dlina;

16. :
tekEmkNapr2 -= entity.dlina;
152

17. .
18. buferNapr3,
enter3 .
19. : Agent Message.
20. emkBuferNapr3
21. :
tekEmkNapr3 += entity.dlina;

22. :
tekEmkNapr3 -= entity.dlina;

23. .
24. buferNapr4,
enter4 .
25. : Agent Message.
26. emkBuferNapr4
27. :
tekEmkNapr4 += entity.dlina;

28. :
tekEmkNapr4 -= entity.dlina;

29. .
4.1.8.2.6.

,
, ,
, .
.
1. .
2.
X: 536, Y: 340, : 83, : 110.
3.
. . 4.11. :
. 4.11.
.
4. ,

. .
153

5. buferNapr1 buferNapr4
1 4, 1 4
blokKontrol_1 ( 1).
4.1.8.2.7.

,
. , , . ,
,
, .
1. .
2.
X: 160, Y: 224, : 340, : 140.
3. source delay.
. 4.11.
4. source :

1
, 1
1
1
5. delay
:
: ___

exponential(1/timeOtkBK)
1

hold.setBlocked(true);
if (computer.size()!=0) {
computer.remove((Message)computer.get(0));
kolPoterBK ++;}

6. delay
:
: __

exponential(1/timeVosstBK)
154

1

hold.setBlocked(false)

4.1.9.
.
AnyLogic ( 2),
.
4.1.9.1.

1. .
viewData.
2. .
3.
X: 10, Y: 752, : 377, : 118.
4. , . 4.16.
5.
. 4 8.
4.8

skorPeredKan
skorPeredKanR
timeOtkKan
timeVosstKan
timeBklResK
__

double
double
double
double
double
int


5000
5000
360
3.2
0.1
0

4.1.9.2.

1. .
2. .
3.
X: 186, Y: 50, : 200, : 135.
4. selectOutput,
. 4.17.
5. .
6. : Agent Message.
155

. 4.16.

. 4.17.
156

7. true : .
8. : __.
9. (true):
entity.timePered=entity.dlina/skorPeredKan;

10. 1.
11. (false):
if (==0)
entity.timePered=entity.dlina/skorPeredKanR;
if (==1)
{entity.timePered=entity.dlina/skorPeredKanR +
timeBklResK;
=0;}
=1;

12. .
13. delay. .
_, .
14. _ _.
15.
=_.statsUtilization.mean();
=+;

16. . 4.17 selectOutput


delay.
4.1.9.3.

1. .
2.
X: 50, Y: 80, : 60, : 52.
3. .
. 4.17. : . 4.17.
.
4. ,

.
.
157

5. _ _ , selectOutput.
4.1.9.4.


.
1. .
2.
X: 10, Y: 212, : 380, : 120.
3. source delay.
. 4.17.
4. source :


1
, 1

1

5. delay
:
: ___


exponential(1/timeOtkKan)
1
:
__ = false;
if (_.size()!=0){
Message m = _.get(0);
_.stopDelayForAll();
__ ++;}

6. delay
:
___


158

exponential(1/timeVosstkKan)
1
:
__ = true;
4.1.10.
, . .
1. Main .
2. 1 . 4.18.
3. 1 1. 1 26 1. , 2
1, 36 2 ..
4. 26.
5. 1. .
6. 2
6.
7. . 4.9.
8. 2 6.
9.
(. . 4.18). :
1.
10. 1. . . 4.18. , .
11. 16 16.
12. .
: 1.
13. 1, 2, 3,
4 1.
159

. 4.18.
160

4.9
2

:
true

numAbonent

selectOutput
Message

entity.numAbPol == numAbonent
2

:
:
1

selectOutput1
Message

entity.numAbPol==1

1++;
main.21=1;

entity.numAbPol==2

entity.numAbPol==3

3++;
main.23=3;

entity.numAbPol==4

4++;
main.24=4;

:
:
1

1
2

:
:
1

selectOutput2
Message

entity.numAbPol==5
5++;
main.25=5;
entity.numAbPol==6
6++;
main.26=6;
selectOutput5
Message

entity.numAbOtpr==1
161

. 4.9

1++;
main.12=1/main.12;
main.12.setText(main.12,
true);

entity.numAbOtpr==2

entity.numAbOtpr==3

3++;
main.32=3/main.32;
main.32.setText(main.32,
true);

entity.numAbOtpr==4

4++;
main.42=4/main.42;
main.42.setText(main.42,
true);

:
:
1

selectOutput6
Message

entity.numAbOtpr==5

5++;
main.52=5/main.52;
main.52.setText(main.52,
true);

entity.numAbOtpr==6

6++;
main.62=6/main.62;
main.62.setText(main.62,
true);
3

:
true

numAbonent

selectOutput
Message

entity.numAbPol == numAbonent
3
162

. 4.9

:
:
1

selectOutput1
Message

entity.numAbPol==1

1++;
main.31=1;

entity.numAbPol==2

2++;
main.32=2;

entity.numAbPol==3

entity.numAbOtpr==4

4++;
main.34=4;

:
:
1

1
2

:
:
1

selectOutput2
Message

entity.numAbPol==5
5++;
main.35=5;
entity.numAbPol==6
6++;
main.36=6;
selectOutput5
Message

entity.numAbOtpr==1

selectOutput5

1++;
main.13=1/main.13;
main.13.setText(main.13,
true);

entity.numAbOtpr==2

163

. 4.9

2++;
main.23=2/main.23;
main.23.setText(main.23,
true);

entity.numAbOtpr==3

entity.numAbOtpr==4

4++;
main.43=4/main.43;
main.43.setText(main.43,
true);

:
:
1

selectOutput6
Message

entity.numAbOtpr==5

5++;
main.53=5/main.53;
main.53.setText(main.53,
true);

entity.numAbOtpr==6

6++;
main.63=6/main.63;
main.63.setText(main.63,
true);
4

:
true

numAbonent

selectOutput
Message

entity.numAbPol == numAbonent
4

:
:
1

selectOutput1
Message

entity.numAbPol==1
1++;
main.41=1;
164

. 4.9
2

entity.numAbPol==2

2++;
main.42=2;

entity.numAbPol==3

3++;
main.43=3;

entity.numAbOtpr==4

:
:
1

1
2

:
:
1

selectOutput2
Message

entity.numAbPol==5
5++;
main.45=5;
entity.numAbPol==6
6++;
main.46=6;
selectOutput5
Message

entity.numAbOtpr==1

1++;
main.14=1/main.
14;
main.14.setText(main.14,
true);

entity.numAbOtpr==2

2++;
main.24=2/main.24;
main.24.setText(main.24,
true);

entity.numAbOtpr==3
3++;
main.34=3/main.34;
main.34.setText(main.34,
true);
165

. 4.9
4

entity.numAbOtpr==4

:
:
1

selectOutput6
Message

entity.numAbOtpr==5

5++;
main.54=5/main.54;
main.54.setText(main.54,
true);

entity.numAbOtpr==6

6++;
main.64=6/main.64;
main.64.setText(main.64,
true);
5

:
true

numAbonent

selectOutput
Message

entity.numAbPol == numAbonent
5

:
:
1

1
2

2
3

3
4

selectOutput1
Message

entity.numAbPol==1
1++;
main.51=1;
entity.numAbPol==2
2++;
main.52=2;
entity.numAbPol==3
3++;
main.53=3;
entity.numAbOtpr==4
166

. 4.9

:
:
1

4++;
main.54=4;
selectOutput2
Message

entity.numAbPol==5

entity.numAbPol==6

6++;
main.56=6;

:
:

selectOutput5
Message

selectOutput5
entity.numAbOtpr==1

1++;
main.15=1/main.15;
main.15.setText(main.15,
true);

entity.numAbOtpr==2

2++;
main.25=2/main.
25;
main.25.setText(main.25,
true);

entity.numAbOtpr==3

3++;
main.35=3/main.35;
main.35.setText(main.35,
true);

entity.numAbOtpr==4

4++;
main.45=4/main.45;
main.45.setText(main.45,
true);

167

. 4.9

:
:
1

selectOutput6
Message

entity.numAbOtpr==5

entity.numAbOtpr==6

6++;
main.65=6/main.65;
main.65.setText(main.65,
true);
6

:
true

numAbonent

selectOutput
Message

entity.numAbPol == numAbonent
6

:
:
1

1
2

2
3

3
4

selectOutput1
Message

entity.numAbPol==1
1++;
main.61=1;
entity.numAbPol==2
2++;
main.62=2;
entity.numAbPol==3
3++;
main.63=3;
entity.numAbPol==4
4++;
main.64=4;
selectOutput2
entity.numAbPol==5

168

. 4.9

1
1

5++;
main.65=5;
entity.numAbPol==6

:
:
1

selectOutput5
Message

entity.numAbOtpr==1

1++;
main.16=1/main.16;
main.16.setText(main.16,
true);

entity.numAbOtpr==2

2++;
main.26=2/main.26;
main.26.setText(main.26,
true);

entity.numAbOtpr==3

3++;
main.35=3/main.35;
main.35.setText(main.35,
true);

entity.numAbOtpr==4

3++;
main.36=3/main.36;
main.36.setText(main.36,
true);

:
:
1

selectOutput6
Message

entity.numAbOtpr==5

5++;
main.56=5/main.56;
main.56.setText(main.56,
true);

entity.numAbOtpr==6
169

,
.
,
.
1. 1.
2. .
3. .
4. 1 .
5. exit :
int i;
i=entity.numAbPol;
{
switch (i) {
case 1:if (emkBuferNapr1tekEmkNapr1>=entity.dlina)
{enter1.take(entity);
break;}
else {enter.take(entity);
break;}
case 2:if (emkBuferNapr2tekEmkNapr2>=entity.dlina) {
enter2.take(entity);
break;}
else {enter.take(entity);
break;}
case 3:if (emkBuferNapr3tekEmkNapr3>=entity.dlina) {
enter3.take(entity);
break;}
else {enter.take(entity);
break;}
case 4:if (emkBuferNapr4tekEmkNapr4>=entity.dlina) {
enter4.take(entity);
break;}
else {enter.take(entity);
break;}
}
}

6. 1 ,
14 14.
170

7. 1.
: 2.
8. 1 1 1 2, 2 2.
9. 1. .
. 4.18.
10. 3 1 11, 4 12.
11. 14 2 710
.
12. 712 16 .
. .
4.1.11.
,
, ,
. .
button
.
1. button (. . 4.18).
2. :
: 1
: 1.1.navigateTo()
3. 1. .
: :, :
: 2
: 2.2.navigateTo()
4. button. :
:
: viewData.navigateTo()
5. button. :
: 1
: 1.1.navigateTo()
6. 1. :
: 2
: 2.2.navigateTo()
171

. 4.19.

12, , 12 (. 4.19).
1.
. : .
2.
. X: 0, Y: 1780, : 450, :
200.
3. button.
4. :
: 1
: 1..navigateTo()
5. 1. .

: :. :
: 2
: 2..navigateTo()
6. button.
7. :
:
: .navigateTo()
8. .
button.
9. :
:
: .navigateTo()
172

Main .
,
button
. 4.10.
. 4.3 4.6, 4.8, 4.10, 4.11, 4.16 4.18.
4.10

viewData
viewData

viewData

viewData
viewData

viewData
viewData

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:

173

main..navigateTo()

viewData.navigateTo()

main..navigateTo()

.navigateTo()

main..navigateTo()

viewData.navigateTo()

.navigateTo()

main..navigateTo()

viewData.navigateTo()

main..navigateTo()

.navigateTo()

main..navigateTo()

viewData.navigateTo()

main..navigateTo()

.navigateTo()

4.1.12.
:
1. _.
2.
: .
3. Simulation: Main.
4. :
: ( )
: .
5. : 3600000. 1000 .
6.
( ).
7. : 897.
8. . , .
,
. 4.20.
: 0,815 6,050. , , 2 3 0,816.
.
:
.

, 3600 .
, , kolProg=1000
1000 .
600,559, 490,035.
,
.
,
, .
, .
, , , 2. , . 4.21.
174

. 4.20.
175

. 4.21. 2

176

4.2.
6 .
, .
,
, ,
. (timeAbonent) 30 20.
Anylogic : 3600000.0.
1000
. GPSS 3600 1000 .
. 4.11. , . (11 (61) 00,001,
( 12 62 )
0,0711,064 . 00,022,
0,0000,001.
1 2
, .
,
GPSS World AnyLogic.
GPSS World
22 24 , AnyLogic 15 .

177

4.11

GPSS World AnyLogic6 AnyLogic7


1)

0,816
0,815
0,817

11=0,816-0,816= 0,001

6,127
6,052
6,056

12=6,127-6,056=0,071
1
0,255
0,255
0,255
2
0,170
0,170
0,170

0,042
0,042
0,042

/
489,930/
490,195/
489,917/

600,263
601,092
599,907
2) emkBuferVx == emkBuferVx = 70000

0,741
0,741
0,741

21=0,741-0,741=0,000

6,127
5,867
5,880

12=6,127-5,880=0,247
1
0,255
0,255
0,255
2
0,170
0,170
0,170

0,043
0,043
0,042

/
444,728/
444,863/
444,999/

600,263
600,347
599,929
3) emkBuferVx == emkBuferVx = 60000

0,599
0,599
0,601

31=0,599-0,601=0,002

6,132
5,660
5,658

32=6,132-5,658=0,474
1
0,255
0,256
0,277
2
0,170
0,170
0,170

0,043
0,043
0,042

/
359,640/
360,251/
360,799/

600,584
601,104
599,829
178

. 4.11

GPSS World AnyLogic6 AnyLogic7


4) emkBufer1 = 4000000 ()

0,599
0,600
0,601

41=0,599-0,601=0,002

6,132
5,650
5,658

42=6,132-5,658=0,478
1
0,255
0,251
0,255
2
0,170
0,169
0,170

0,043
0,042
0,043

/
359,640/
359,651/
360,799/

600,584
599,302
599,829
5) emkBufer1 = 3000000 ()

0,599
0,598
0,602

51=0,599-0,602=0,003

6,132
5,648
5,658

52=6,132-5,658=0,474
1
0,255
0,256
0,255
2
0,170
0,17
0,170

0,043
0,044
0,043

/
359,640/
360,114/
360,799/

600,584
601,495
599,829
6) emkBuferVx == emkBuferVx = 100000, emkBufer1 = 6000000

0,996
0,996
0,997

61=0,996-0,997=0,001

6,155
7,237
7,219

62=6,155-7,219=1,064
1
0,362
0,382
0,381
2
0,238
0,254
0,254

0,064
0,064
0,064

/
848,296/
896,072/
896,792/

851,388
899,333
898,748
179

5.

5.1. AnyLogic
5.1.1.
n1 () n2 (n21 +
n22 + + n2n2 = n2) n3 .
.
T21, T22, , T2n2 , , .
, ,
. , ,
. n4.
n5 . T1, T2,
, Tn2 ,
, .
, , S1 . S2, , S2n2 .
S31, S32, , S3n2 .
S4
.
5.1.2.
- 1000 .
.
.
,
.
5.1.3.
, (. 5.1)
.
180

. 5.1.

( )
.
, (. 5.2):
;
;
;
.

. 5.2.
181

, ,
():
tipCC ;
timeOtkaz ;
timeMeanRem ;
nach ;
nach1 .
, , n2 = 5. 1, 2, 3, 4,
5 .
:
KCC1 KCC5 ;
KCC1 KCC5 .

KolCC1 KolCC5,
KolCC.
timeOtkaz
.

timeOtkaz1 timeOtkaz5.
timeMeanRem
.

timeRem1 timeRem5.
, , timeOtkaz =
1/timeOtkaz1 exponential(timeOtkaz).
nach1 nach .
. .
,
( , ):
doxDegCC1 doxDegCC5
;
182

zatrResCC1 zatrResCC5 ;
stoimRem1 stoimRem5
.
,
:
PribCC1 PribCC5, SumPribil
;
KoefPribCC1 KoefPribCC5, KoefPribil

.
PribCC1
KoefPribCC1.
, DoxMaxCC1 , , :
DoxMaxCC1= KCC1*doxDegCC1*
.
DoxDegCC1
:
DoxDegCC1+=(time()-entity.nach1)*
main.doxDegCC1;
(time()-entity.nach1)
.
:
UbitokCC1=(1-degCC1.statsUtilization.mean())*
main.ubitokCC1**KCC1;

(1-degCC1.statsUtilization.mean())

.

:
ZatrRemCC1+=(time()-entity.nach)*stoimRemCC1;
ZatrResCC1= KCCP1*zatrResCC1*
183

:
PribCC1=DoxDegCC1-(ZatrRemCC1+ZatrRemCC1+UbitokCC1).

:
KoefPribCC1=PribCC1/DoxMaxCC1.
:
SumPribil=SumDoxDeg(SumZatrRes+SumZatrRem+SumUbitok),
KoefPrib=SumPrib/SumDoxMax,
SumDoxMax, SumDoxDeg, SumZatrRes, SumZatrRem,
SumUbitok .
5.1.4.

.
1. // . .
2. . _. .
3. .
5.1.4.1.

, , , .

.
1. .
. .
2. : __.
3.
: . .
4. : .
5. . X: 0, Y: 500, : 450, : 340.
6. . X: 0, Y: 500, : 450, : 340.
184

. 5.3.

7.
.
8. . X: 20, Y: 520, : 390, : 300.
9. text text
__ ( ).
10. .
__ , . 5.3.
11. . 5.1.
KolCC1KolCC5
, KolCC .

1 5 1 5
ol , .
,
, , .
185

__

KolCC1
KolCC2
KolCC3
KolCC4
KolCC5
KolCC
NumCC
doxdegCC1
doxdegCC2
doxdegCC3
doxdegCC4
doxdegCC5
zatrResCC1
zatrResCC2
zatrResCC3
zatrResCC4
zatrResCC5
ubitokCC1
ubitokCC2
ubitokCC3
ubitokCC4
ubitokCC5

int
int
int
int
int
int
int
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double

0
0
0
0
0
0
0
20
24.2
32.8
23
25.5
21
24.2
28
26
25.5
32
34.2
37
31
32.5

5.1

5.1.4.2.

Main .
1.
.
2. : .
3. : . .
4. : .
5. . X: 0, Y: 0, : 700, : 350.
6. .
, . .
186

7. . X: 38, Y: 62, : 642, : 268.


8. . , , .
9. text
: .

.
10. .
X: 50, Y: 100, : 170, : 140.
11. text
: .
12. source .
. ComFacility.
13. /Java
.
14. Java .
: ComFacility.
15. :
Entity . .
16. Java .
Java :
tipCC
int;
timeMeanRem
double;
nach
double;
nach1
double;
timeOtkaz
double;
17.
toString ().
18. . .
19.
Java Java .
20. c
ComFacility. .
187

21. source.
22. .
23. : : Agent
ComFacility. :
.
1

1
: Java :
KolCC1=degurstvo.KCC1+degurstvo.KCCP1;
degurstvo.DoxMaxCC1=
round((degurstvo.KCC1*doxDegCC1)**100);
degurstvo.DoxMaxCC1=degurstvo.DoxMaxCC1/100;
degurstvo.ZatrResCC1=
round((degurstvo.KCCP1*zatrResCC1)**100);

degurstvo.ZatrResCC1=degurstvo.ZatrResCC1/100;
KolCC2=degurstvo.KCC2+degurstvo.KCCP2;
degurstvo.DoxMaxCC2=
round((degurstvo.KCC2*doxDegCC2)**100);
degurstvo.DoxMaxCC2=degurstvo.DoxMaxCC2/100;
degurstvo.ZatrResCC2=
round((degurstvo.KCCP2*zatrResCC2)**100);

degurstvo.ZatrResCC2=degurstvo.ZatrResCC2/100;
KolCC3=degurstvo.KCC3+degurstvo.KCCP3;
degurstvo.DoxMaxCC3=
round((degurstvo.KCC3*doxDegCC3)**100);
degurstvo.DoxMaxCC3=degurstvo.DoxMaxCC3/100;
degurstvo.ZatrResCC3=
round((degurstvo.KCCP3*zatrResCC3)**100);

degurstvo.ZatrResCC3=degurstvo.ZatrResCC3/100;
KolCC4=degurstvo.KCC4+degurstvo.KCCP4;
degurstvo.DoxMaxCC4=
round((degurstvo.KCC4*doxDegCC4)**100);
degurstvo.DoxMaxCC4=degurstvo.DoxMaxCC4/100;
degurstvo.ZatrResCC4=
round((degurstvo.KCCP4*zatrResCC4)**100);

degurstvo.ZatrResCC4=degurstvo.ZatrResCC4/100;
KolCC5=degurstvo.KCC5+degurstvo.KCCP5;
degurstvo.DoxMaxCC5=
round((degurstvo.KCC5*doxDegCC5)**100);
degurstvo.DoxMaxCC5=degurstvo.DoxMaxCC5/100;
KolCC=KolCC1+KolCC2+KolCC3+KolCC4+KolCC5;
188

degurstvo.ZatrResCC5=
round((degurstvo.KCCP5*zatrResCC5)**100);

degurstvo.ZatrResCC5=degurstvo.ZatrResCC5/100;
degurstvo.SumDoxMax=degurstvo.DoxMaxCC1+
degurstvo.DoxMaxCC2+degurstvo.DoxMaxCC3+
degurstvo.DoxMaxCC4+degurstvo.DoxMaxCC5;
degurstvo.SumZatrRes=degurstvo.ZatrResCC1+
degurstvo.ZatrResCC2+degurstvo.ZatrResCC3+
degurstvo.ZatrResCC4+degurstvo.ZatrResCC5;

,
.
split. Degyrstvo,
, , , degyrstvo.KCC1.

,
.
, (), .
. ,
.

round().
100, . :
degyrstvo.DoxMaxCC1=
round((degyrstvo.KCC1*doxDegCC1)**100);
degyrstvo.DoxMaxCC1=degyrstvo.DoxMaxCC1/100;

24. split sink (. 5.4).


25. split. . 5.5.
,
: Java :
189

. 5.4. split sink


NumCC++;
if (NumCC <= KolCC)
entity.tipCC = 5;
if (NumCC <= (KolCC1+KolCC2+KolCC3+KolCC4))
entity.tipCC = 4;
if (NumCC <= (KolCC1+KolCC2+KolCC3))
entity.tipCC = 3;
if (NumCC <= (KolCC1+KolCC2))
entity.tipCC = 2;
if (NumCC <= KolCC1)
entity.tipCC = 1;

NumCC .
entity.tipCC, , entity.tipCC = 5,
,
.
1. sink -.
190

. 5.5. split
5.1.4.3.

, . . .
selectOutput
queue (. 5.6). selectOutput5
queue.
queue ,
, .
1. selectOutput
queue
Main. , . 5.6.
2. selectOutput . 5.2 ( selectOutput5 ).
191

. 5.6. SelectOutput queue


5.2

1
2
3
4

:
ComFacility
ComFacility
ComFacility
ComFacility

true

entity.tipCC==1
entity.tipCC==2
entity.tipCC==3
entity.tipCC==4

3. false
4, selectOutput .
4. queue
.
5. 100 .
6. text
: , . 5.6.
5.1.4.4.

. 5.7
. , , .
.
192

. 5.7.
193

7.
Main, ,
/ .
8. 1. .
9. .
10. : Degurstvo.
11. , : , .
12. .
Degurstvo .
13. .
.
14. .
15. : .
16. , ,
: . .
17. : .
1. . X: 40, Y: 0, : 730, : 420.
5.1.4.5.

Degyrstvo
. , , ,
.
1. .
.
2. . X: 110, Y: 130, : 100, : 180.
3.
, . 5.8.
.
4. Main.
194

. 5.8. Degyrstvo

5.
Degyrstvo, , . 5.7.
,
Degyrstvo . .
5.1.5.
5.1.5.1.


.
. .
1. .
. : __.
2. : . .
3. .
4. X:
40, Y: 800, : 650, : 240.
5. . .
6. , .
195

7. . X: 50, Y: 840, : 620, : 190.


8. text
: __ ( ).
9. , ,
__ ,
. 5.9.
, , KCC1, int.
.
10. . 5.3.

. 5.9.
196

5.3
__

KCC1
KCC2
KCC3
KCC4
KCC5
KCC1
KCC2
KCC3
KCC4
KCC5
stoimRemCC1
stoimRemCC2
stoimRemCC3
stoimRemCC4
stoimRemCC5
timeRem1
timeRem2
timeRem3
timeRem4
timeRem5
timeOtkaz1
timeOtkaz2
timeOtkaz3
timeOtkaz4
timeOtkaz5
kol_master

int
int
int
int
int
int
int
int
int
int
double
double
double
double
double
double
double
double
double
double
double
double
double
double
double
int
double
double

55
100
60
45
60
2
4
4
3
4
17
18
16
20
21
6.5
4.2
2.8
3.0
5.5
373
301
482
325
470
3
1000
1000

5.1.5.2.

(. 5.10). ,
.

.
. . (. . 5.1.7).
197

. 5.10.

198

1. .
. : _.
2. : . .
3. .
4. X:
40, Y: 430, : 730, : 350.
5. .
6. . X: 54, Y:
466, : 710, : 300.
7. : . text :
.
8. . ,
, . , ,
. 5.10.
double.
5.1.5.3.

. 5.11.
1. .
.
2.
X: 60, Y: 50, : 600, : 360.
3. . , .
4. X:
250, Y: 60, : 170, : 330.
5. , .
6.
X: 440, Y: 60, : 190, : 330.
7. , ,
Degyrstvo : queue,
delay, queue, delay ,
. 5.11.
, . 5.4. , . 9.
8. text : . 5.11.
199

. 5.11.
200

5.4

1
2
3
4
5

degCC1
degCC2
degCC3
degCC4
degCC5
remont

degCC1

degCC2

degCC3

degCC4

degCC5

KCCP1
KCCP2
KCCP3
KCCP4
KCCP5

queue


entity.timeOtkaz=1/timeOtkaz1
entity.timeOtkaz=1/timeOtkaz2
entity.timeOtkaz=1/timeOtkaz3
entity.timeOtkaz=1/timeOtkaz4
entity.timeOtkaz=1/timeOtkaz5

delay

exponential(entity.timeOtkaz)
KCC1
exponential(entity.timeOtkaz)
KCC2
exponential(entity.timeOtkaz)
KCC3
exponential(entity.timeOtkaz)
KCC4
exponential(entity.timeOtkaz)
KCC5
exponential(entity.timeMeanRem)
3

DoxDegCC1+=(time()-entity.nach1)*
main.doxDegCC1;
entity.timeMeanRem=1/timeRem1;
DoxDegCC2+=(time()entity.nach1)*main.doxDegCC2;
entity.timeMeanRem=1/timeRem2;
DoxDegCC3+=(time()entity.nach1)*main.doxDegCC3;
entity.timeMeanRem=1/timeRem3;
DoxDegCC4+=(time()entity.nach1)*main.doxDegCC4;
entity.timeMeanRem=1/timeRem4;
DoxDegCC5+=(time()entity.nach1)*main.doxDegCC5;
entity.timeMeanRem=1/timeRem5;

9. , . 5.4, :
: Agent
ComFacility;
;
delay degCC1 degCC5 :
entity.nach1=time();
201

delay remont Java


:
entity.nach=time();

if (entity.tipCC == 1)
{ZatrRemCC1+=((time()-entity.nach)*stoimRemCC1);
SumZatrRem+=((time()-entity.nach)*stoimRemCC1);}
if (entity.tipCC == 2)
{ZatrRemCC2+=((time()-entity.nach)*stoimRemCC2);
SumZatrRem+=((time()-entity.nach)*stoimRemCC2);}
if (entity.tipCC == 3)
{ZatrRemCC3+=((time()-entity.nach)*stoimRemCC3);
SumZatrRem+=((time()-entity.nach)*stoimRemCC3);}
if (entity.tipCC == 4)
{ZatrRemCC4+=(time()-entity.nach)*stoimRemCC4;
SumZatrRem+=((time()-entity.nach)*stoimRemCC4);}
if (entity.tipCC == 5)
{ZatrRemCC5+=((time()-entity.nach)*stoimRemCC5);
SumZatrRem+=((time()-entity.nach)*stoimRemCC5);}

5.1.6.

. , , , .
(. 5.12).
1.
.
2. .
3. .
4. : .
5. : . .
6. : .
7. :
X: 0, Y: 1076, : 960, : 630.
8. .
9. :
X: 20, Y: 1116, : 930, : 580.
202

. 5.12.
203

10. text : .
X: 360, Y: 1126.
11. text,
: , . 5.12.
,
X: 100, Y: 1160,

X: 280, Y: 1490,

X: 280, Y: 1440.
5.1.6.1.


, .
String, double int. .
1. . 5.12
. . .
: editbox1.
2. :
, 14.
3. X:
70, Y: 1210, : 80, : 20.
4. editbox1. .
. ,
.
5. , ,
15. .
6. . .
7. . . 5.12.
8. editbox37.
.
204

5.5

3
4
5


editbox1
editbox2
editbox3
editbox4
editbox5
editbox6

editbox7
editbox8
editbox9
editbox10 editbox11 editbox12

editbox13 editbox14 editbox15 editbox16 editbox17 editbox18

editbox19 editbox20 editbox21 editbox22 editbox23 editbox24

editbox25 editbox26 editbox27 editbox28 editbox29 editbox30

editbox31 editbox32 editbox33 editbox34 editbox35 editbox36
1

5.1.6.2.

AnyLogic , .
, MS
Excel. ,
.
,
, . (PDF) (CDF), - .
(
).
AnyLogic .
:
;
;
.
( ):
;
;
;
.
.
205

, . .
, ,
. .
.

(
).
1.
. 5.12.
2. : : , .
3. :
:
,
.
4. X:
40, Y: 1510, : 230, : 180.
5. : 20, .
6. X: 40, Y: 10, : 60, : 140.
7. .
8. : 1.
9. : Java
degCC1.statsUtilization.mean()
10. .
11. 25. :
2, 3, 4, 5 .
12. : Java
25 :
degCC2.statsUtilization.mean()
206

degCC3.statsUtilization.mean()
degCC4.statsUtilization.mean()
degCC5.statsUtilization.mean()
.
5.1.7.

. .
,
. .
.
, . , ( () ). , , : , .
, .
, -
.
, .
( ).
, , .
AnyLogic ,
.
. , ,
,
,
.
, .
207

1.

(. 5.10). . Enter.
2. . T : .
3. : .
4. () 1000000.
5. Java , .

// 1
DoxDegCC1=round((DoxDegCC1/)*100);
DoxDegCC1=DoxDegCC1/100;
ZatrRemCC1=round((ZatrRemCC1/)*100);
ZatrRemCC1=ZatrRemCC1/100;
UbitokCC1=round((1degCC1.statsUtilization.mean())*main.ubitokCC1*
*KCC1*100);
UbitokCC1=UbitokCC1/100;
PribCC1=round((DoxDegCC1(ZatrResCC1+ZatrRemCC1+UbitokCC1))*100);
PribCC1=PribCC1/100;
koefPribCC1=round((PribCC1/DoxMaxCC1)*1000);
koefPribCC1=koefPribCC1/1000;
// 2
DoxDegCC2=round((DoxDegCC2/)*100);
DoxDegCC2=DoxDegCC2/100;
ZatrRemCC2=round((ZatrRemCC2/)*100);
ZatrRemCC2=ZatrRemCC2/100;
UbitokCC2=(1degCC2.statsUtilization.mean())*main.ubitokCC2*
*KCC2;
PribCC2=round((DoxDegCC2(ZatrResCC2+ZatrRemCC2+UbitokCC2))*100);
PribCC2=PribCC2/100;
koefPribCC2=round((PribCC2/DoxMaxCC2)*1000);
koefPribCC2=koefPribCC2/1000;
// 3
DoxDegCC3=round((DoxDegCC3/)*100);
DoxDegCC3=DoxDegCC3/100;
ZatrRemCC3=round((ZatrRemCC3/)*100);
ZatrRemCC3=ZatrRemCC3/100;
208

UbitokCC3=(1-degCC3.statsUtilization.mean())*
main().ubitokCC3**KCC3;
PribCC3=round((DoxDegCC3(ZatrResCC3+ZatrRemCC3+UbitokCC3))*100);
PribCC3=PribCC3/100;
koefPribCC3=round((PribCC3/DoxMaxCC3)*1000);
koefPribCC3=koefPribCC3/1000;
// 4
DoxDegCC4=round((DoxDegCC4/)*100);
DoxDegCC4=DoxDegCC4/100;
ZatrRemCC4=round((ZatrRemCC4/)*100);
ZatrRemCC4=ZatrRemCC4/100;
UbitokCC4=(1-degCC4.statsUtilization.mean())*
main.ubitokCC4**KCC4;
PribCC4=round((DoxDegCC4(ZatrResCC4+ZatrRemCC4+UbitokCC4))*100);
PribCC4=PribCC4/100;
koefPribCC4=round((PribCC4/DoxMaxCC4)*1000);
koefPribCC4=koefPribCC4/1000;
// 5
DoxDegCC5=round((DoxDegCC5/)*100);
DoxDegCC5=DoxDegCC5/100;
ZatrRemCC5=round((ZatrRemCC5/)*100);
ZatrRemCC5=ZatrRemCC5/100;
UbitokCC5=(1-degCC5.statsUtilization.mean())*
main.ubitokCC5**KCC5;
PribCC5=round((DoxDegCC5(ZatrResCC5+ZatrRemCC5+UbitokCC5))*100);
PribCC5=PribCC5/100;
koefPribCC5=round((PribCC5/DoxMaxCC5)*1000);
koefPribCC5=koefPribCC5/1000;
//
SumDoxDeg=DoxDegCC1+DoxDegCC2+DoxDegCC3+
DoxDegCC4+DoxDegCC5;
SumZatrRem=round((SumZatrRem)*100/);
SumZatrRem=SumZatrRem/100;
SumUbitok=UbitokCC1+UbitokCC2+UbitokCC3+
UbitokCC4+UbitokCC5;
SumPribil=round((SumDoxDeg(SumZatrRes+SumZatrRem+SumUbitok))*100);
SumPribil=SumPribil/100;
koefPribil=round((SumPribil/SumDoxMax)*1000);
koefPribil=koefPribil/1000;
209

// ,

editbox1.setText(DoxMaxCC1);
editbox7.setText(DoxDegCC1);
editbox2.setText(DoxMaxCC2);
editbox8.setText(DoxDegCC2);
editbox3.setText(DoxMaxCC3);
editbox9.setText(DoxDegCC3);
editbox4.setText(DoxMaxCC4);
editbox10.setText(DoxDegCC4);
editbox5.setText(DoxMaxCC5);
editbox11.setText(DoxDegCC5);
editbox6.setText(SumDoxMax);
editbox12.setText(SumDoxDeg);
//
editbox13.setText(ZatrRemCC1);
editbox14.setText(ZatrRemCC2);
editbox15.setText(ZatrRemCC3);
editbox16.setText(ZatrRemCC4);
editbox17.setText(ZatrRemCC5);
editbox18.setText(SumZatrRem);
//

editbox19.setText(PribCC1);
editbox20.setText(PribCC2);
editbox21.setText(PribCC3);
editbox22.setText(PribCC4);
editbox23.setText(PribCC5);
editbox24.setText(SumPribil);
//
editbox25.setText(koefPribCC1);
editbox26.setText(koefPribCC2);
editbox27.setText(koefPribCC3);
editbox28.setText(koefPribCC4);
editbox29.setText(koefPribCC5);
editbox30.setText(koefPribil);
//

editbox31.setText(ZatrResCC1);
editbox32.setText(ZatrResCC2);
editbox33.setText(ZatrResCC3);
editbox34.setText(ZatrResCC4);
editbox35.setText(ZatrResCC5);
editbox36.setText(SumZatrRes);
210

//
=(degCC1.statsUtilization.mean()+
degCC2.statsUtilization.mean()+
degCC3.statsUtilization.mean()+
degCC4.statsUtilization.mean()+
degCC5.statsUtilization.mean())/;
editbox37.setText();

, ,
1 000 000 , , .
(
,
) round().
1000 100, .

editbox setText(), , ,
editbox1.setText(DoxMaxCC1);

5.1.8.

, , .
, . 5.6.
, . - .
5.6



(. 5.7)
. degurstvo..navigateTo();

degurstvo..navigateTo();

__.navigateTo();
(. 5.3)
- .navigateTo();

211

. 5.6


(. 5.11)
- main..navigateTo();

.navigateTo();

__.navigateTo();
(. 5.9)
- main..navigateTo();


.navigateTo();

.navigateTo();
(. 5.10)
- main..navigateTo();


.navigateTo();

.navigateTo();
(. 5.12
- main..navigateTo();


.navigateTo();

_.navigateTo();

__.navigateTo();

5.1.9.

. , AnyLogic.
. , ,
(. 5.13 5.14).
pull .
,
, . ,
.
:
...-> split -> selectOutput -> queue -> delay ->...

, (split
selectOutput), queue delay,
.
212

. 5.13.

,
,
split, (. . 5.5)
.
.
. . 5.14 , 64 , 1, true,
false , 5.
, entity.tipCC ,

split.
, - ,
selectOutput, split,
plain Transfer. ,
split.
1. split selectOutput.
2. .
3. plain Transfer
split,
selectOutput. ComFacility.
4. split
: plain Transfer.
. . 5.15 . 5.16
.
213

. 5.14.
214

. 5.15.
215

. 5.16.
216

5.1.10.
AnyLogic
:
;
;
;
;
-;
;
;
.
AnyLogic
Professional.
5.1.10.1.


,
, , .

, Simulation.
.
.
,

,

.

AnyLogic University
,
, AnyLogic Professional .
5.1.10.2.

AnyLogic,
. __ (. 5.3)
__ (. 5.9) ,
.
217

, ,
, ,
. .
,

, . , .
, . 5.17. .
, , _1.
Main
Degyrstvo.
1. Main.
2. degyrstvo.
3. .
-
Main,
. , . 5.18.

. 5.17. __
218

. 5.18.
219

5.1.10.3.

AnyLogic

OptQuest

.
.

.
1. _
Co/ . : (. 5.19).

. 5.19.
220

2. : , , __1.
Java.
3. : Main. () .
, .
4.
, :

. , : Simulation.
5. .
(. 5.20).
6. .
7. root. root.degurstvo.koefPribil.
8.
( ).
9. 5672.
10. :.
( ).
.
11. , , :
I = k1 k2 ... ki ... km ,

ki i- , i = 1, m .
12.
_1_5 Kol_master, m=6 .
: k=
3, k=
k=
k=
6, k=
k=
5.
1
2
3
4
5
6

I = k1 k2 k3 k4 k5 k6 = 3 6 6 6 5 5 = 16 200.
221

. 5.20.
222

13. 500 :,
AnyLogic .
14. , .
. 5.21
Main.
15. , _1. . , . KCC_1
int, .
16. . . 1,
. , , 1, 3.
, 1.
17. , . 5.20.
18. .
19. .
20. () () . , ,
= 0,95 , = 0,1 = 0,1 :
2
2
2
2 0,1
=
N t=
=
1,96
3,8416 4,
2
0,12

t = 1,96 .

OptQust

,
( ).
.
,

.
21.
: () 4.
223

22. . .
(. 5.21) ( . .). . .

. 5.21.
224

. 5.22.
225

23. _ / __1.
24. . ,
. 200*4=800 ( . 5.22)
.
25.
. 5.22.
0,497. 28- : KCCP_1 = KCCP_2 =
KCCP_4 = KCCP_5 = Kol_master =1, KCCP_3 = 6.

.
5.1.10.4.

,

.
, (. 5.20, 5.21, 5.22).
.
1. Main
. .
2. _1 , ,
, (. 5.23).
3. _2 _5
Kol_master. , . 5.24.
4. Main.
5. Degurstvo. . .
6. 15
kol_master .
7. .
226

. 5.23.

. 5.24.
Main
227

5.1.10.5.

,
, .
1. _
Co/. : .
2. : __2
.
3. . : root.degurstvo.
4.
( ).
5. 5672.
6.
: () 4.
7. . ,
. .
(. 5.25)
0,813. 35-
: KCCP_1 = KCCP_2 =1,
KCCP_3 = KCCP_4 = 6, KCCP_5 = 5, Kol_master = 5.
8. .
KCCP_1KCCP_5 Kol_master __
, .
9. . 0,497, .. , .
0,803.
10. KCCP_1KCCP_5 Kol_master
__ , .
11. .
12.
,813, , . 0,475,
.
228

. 5.25.
229

5.1.10.6.


.

_
-.
1. _
.
2. : .
3. , , ___.
4. .
(. 5.26).
5. ,
, , .
AnyLogic
. ,
6. . . 5.26 .
. , . _1 int, . .
1,
3, 1.
7. , . 5.26.
8. .
9.
.
, .
10. , . 5.27. .
, .
230

. 5.26.
231

11.
.
12. : X:
260, Y: 100, : 510, : 400, : , : .
13. .
14. . : . : dataset.
.
15. . :
: 50, Y: 30, : 450, : 330.
16. . .
17. .
: . : public. : double.
18. .
Java :
:
= root.degurstvo. ;

dataset.add(getCurrentIteration(),);
19.
_ / ___.
20. . .
. . 5.28.
21. 301 .

. 0,801 _1=_5 = kol_master =1, _2=
_3=5, _4=3.
22. . 5.28 , 301
2029,3 .
232

. 5.27.

233

. 5.28.

234

5.2.

-,
.
GPSS World . , AnyLogic ,
, ,
. -, GPSS
World . -, ,
STORAGE A. , ,
.
.
-.
- .
,
. ,
(2) 4 6 - 3 5.
, 9
. GPSS World
, . . AnyLogic ,
.
. 5.6.
, , 00,001, 00,002.
2 - , 7: 2 = 4, = 5.

235

5.6

GPSS World
AnyLogic

1
2
3
4
5
1
2
3
4
5
1: 2 = 4, - = 3
0,374 0,327 0,627 0,400 0,573 0,380 0,332 0,633 0,405 0,576

0,460
0,468

0,779 0,741 0,853 0,780 0,846 0,781 0,743 0,856 0,781 0,847


0,799
0,800

2: 2 = 5, - = 3
0,377 0,336 0,626 0,397 0,571 0,369 0,332 0,624 0,393 0,570

0,462
0,462

0,779 0,749 0,852 0,778 0,845 0,777 0,747 0,851 0,776 0,844


0,801
0,800

3: 2 = 6, - = 3
0,364 0,330 0,619 0,385 0,564 0,361 0,331 0,620 0,390 0,563

0,453
0,457

0,774 0,751 0,849 0,773 0,842 0,774 0,751 0,850 0,775 0,841


0,797
0,797

236

. 5.6

GPSS World
AnyLogic

1
2
3
4
5
1
2
3
4
5
4: 2 = 4, - = 4
0,890 0,895 0,931 0,890 0,911 0,889 0,892 0,931 0,889 0,910

0,903
0,905

0,978 0,977 0,996 0,988 0,995 0,978 0,977 0,996 0,988 0,994


0,987
0,987

5: 2 = 5, - = 4
0,887 0,892 0,930 0,887 0,909 0,885 0,890 0,930 0,886 0,909

0,901
0,902

0,977 0,981 0,996 0,988 0,994 0,976 0,980 0,995 0,987 0,994


0,987
0,986

6: 2 = 6, - = 4
0,885 0,890 0,930 0,886 0,909 0,887 0,890 0,930 0,887 0,910

0,900
0,903

0,977 0,984 0,995 0,987 0,994 0,977 0,984 0,996 0,988 0,994


0,987
0,987

237

. 5.6

GPSS World
AnyLogic

1
2
3
4
5
1
2
3
4
5
7: 2 = 4, - = 5
0,935 0,944 0,939 0,914 0,922 0,936 0,945 0,940 0,915 0,923

0,931
0,934

0,996 0,998 1,000 0,999 1,000 0,996 0,998 1,000 0,999 1,000


0,998
0,998

8: 2 = 5, - = 5
0,936 0,936 0,939 0,915 0,922 0,936 0,936 0,940 0,915 0,923

0,930
0,932

0,996 0,999 1,000 0,999 1,000 0,996 0,999 1,000 0,999 1,000


0,998
0,998

9: 2 = 6, - = 5
0,936 0,927 0,939 0,915 0,922 0,936 0,928 0,940 0,915 0,923

0,928
0,929

0,996 0,999 1,000 0,999 1,000 0,996 0,999 1,000 0,999 1,000


0,998
0,998

238

6.

6.1.
n1 , n1 ,
. . .
C1 , C2 , ..., Cn1 .

C1 , C2 , ..., Cn1 .

T1 , T2 , ..., Tn 1 . n1 .
n11 , n12 , ..., n1n
.
T11 , T12 , ..., T1n .
C1 , C2 , ..., Cn1 . q11 , q12 , ..., q1n %
. , .
, . .
n2 .
. ,
n1 . Tc . C .
n3 .
. T .
C . q2 % . q3 % m . 1... n1
P1 ... Pn1 .
, . Ti . i- Ci .
.
. T . C . 239

q4 % , .
.
6.1.1.
=
n1 4;=
T1 19;=
T2 11;=
T3 15;=
T4 18;
=
=
=
=
Ck1 35;
Ck2 32;
Ck3 43;
Ck4 48;
=
=
=
=
1 35;
2 27;
3 36;
4 37;
=
=
=
n11 2;=
n12 2;=
n13 2;=
n14 2;
T11 12;=
T12 16;
T13 21;=
T14 17;
=
=
=
=
C1 12;
C2 23;
C3 32;
C4 28;
=
q11 0,=
02; q12 0,=
03; q13 0, 04; q14 = 0, 06;
=
n2 2;=
Tc 22; =
C 67;=
n3 2;=
T 26;=
Ck 74;=
q2 0, 05;
=
m=
1; Pk1 =
1, 0; P1 0,=
25; P2 0,=
25; P3 0,=
25; P4 0, 25;
=
=
=
=
T1 12;
T2 15;
T3 12;
T4 21;
=
=
=
=
C1 34;
C2 46;
C3 38;
C4 54;
=
=
n4 2;=
T 18;
C 53; q4 = 0,15.

,
, .
6.1.2.
.

( ,
, , , .) .

.
6.1.3.

,
(. 6.1):
;
;
240

;
( ,
, , );
;
.

. 6.1.
241

6.2. AnyLogic
6.2.1.
, (. . 6.1), :
;
;
;
;
;
;
;
;
.

():
block ( 14 ), ;
sign1 ,
;
numBlBrak1 numBlBrak4
14 ;
timeSbor ( );
cost .
.
timSbor .
, - .

(CMIN) . cost.
:
aveTimeShop1aveTimeShop4 14 14;
242

stKomplBlock1stKomplBlock4 14;
stIzgBlock1stIzgBlock4
14;
postKontr1postKontr4
14;
procBrakBlock1procBrakBlock4

14 ;
stTestBlock1stTestBlock4
( ) 14;
kolPunSborki ;
timeSborki ;
stSborki ;
kolStendKontr
;
timeKontrIzd
;
procBrakIzd ;
stKontrIzd ;
verBlock1 , ;
verBlock2 ,
;
verBlNum1verBlNum4 14;
timeZamBlock1 timeZamBlock4 ( ) 14;
stZamBlock1stZamBlock4 (
) 14;
kolPunPriem , ;
timePriemIzd ;
procBrakPriem
;
stPriemIzd .
243

:
kolIzBlock1kolIzBlock4
14;
kolTestBlock1kolTestBlock4 14 ( , );
brakBlock1brakBlock4
14;
gotBlock1gotBlock4
14;
ostGotBlock1ostGotBlock4
14;
kolSobrIzd, testSobrIzd, brakSobrIzd , ;
kolPriemIzd, brakPriemIzd
;
zamBlock1zamBlock4
14, ;
allBrakBlock1allBrakBlock4
14;
minCostIzd ;
;
,
.
:
costKomplBlock1costKomplBlock4,costKomplBlock

14
;
costIzgBlock1costIzgBlock4,costIzgBlock 14 ( );
CostBlock1CostBlock4 14 ;
244

sumCostBlock1sumCostBlock4, sumCostBlock
14 ;
costTestBlock1costTestBlock4,costTestBlock
14 ;
costSborIzd, costTestIzd, costPriemIzd , ;

;
;
costBlockIzd ;
costIzd ;
;
.
,
.
:
=
min Cmin N ,
N ( );

min , :
=

(C
n1

i =1

+ i + i ) + + + .

.
Cmax .

K c = Cmax / Cmin .

:

245

costBlock1=stKomplBlock1 + stIzqBlock1+stTestBlock1;
costBlock2=stKomplBlock2 + stIzqBlock2+stTestBlock2;
costBlock3=stKomplBlock3 + stIzqBlock3+stTestBlock3;
costBlock4=stKomplBlock4 + stIzqBlock4+stTestBlock4;

costBlockIzd=costBlock1 + costBlock2+costBlock3+costBlock4;
Cmin = costBlockIzd + stSborki + stKontrIzd + stPriemIzd;
Cmin =
Cmin ; C max =
+.
K c = =

Cmax
.
Cmin

. , , , .
6.2.2.
.
1. // .
2. .
3. , . .
4. . .
5. . :
.
6.
X: 0, Y: 1700, : 760, : 330.
7. . ,
.
8.
X: 10, Y: 1750, : 740, : 270.
9. text
: text
.
10. .
.
246

, . 6.2. . 6.1.
6.1

aveTimeShop1
aveTimeShop2
aveTimeShop3
aveTimeShop4
stIzgBlock1
stIzgBlock2
stIzgBlock3
stIzgBlock4
postKontr1
postKontr2
postKontr3
postKontr4
stTestBlock1
stTestBlock2
stTestBlock3
stTestBlock4
kolPunSborki
timeSborki
stSborki
verBlockNum1
verBlockNum2
verBlockNum3
verBlockNum4
stZamBlock1
stZamBlock2
stZamBlock3
stZamBlock4

double
double
double
double
double
double
double
double
int
int
int
int
double
double
double
double
int
double
double
double
double
double
double
double
double
double
double


19
11
15
18
35
27
36
37
2
2
2
2
12
23
32
28
2
22
67
0.25
0.25
0.25
0.25
34
46
38
54

stKomplBlock1
stKomplBlock2
stKomplBlock3
stKomplBlock4
timeTestBlock1
timeTestBlock2
timeTestBlock3
timeTestBlock4
procBrakBlock1
procBrakBlock2
procBrakBlock3
procBrakBlock4
kolStendKontrIzd
timeKontrIzd
procBrakIzd
stKontrIzd
verBlock1
verBlock2

double
double
double
double
double
double
double
double
double
double
double
double
int
double
double
double
double
double


35
32
43
48
12
16
21
17
0.02
0.03
0.04
0.06
2
26
0.05
74
0.9999
0.999999

timeZamBlock1
timeZamBlock2
timeZamBlock3
timeZamBlock4
kolPunPriem
timePriemIzd
procBrakPriem
stPriemIzd

double
double
double
double
int
double
double
double

12
15
12
21
2
18
0.15
53

247

. 6.2.
248

6.2.3.

. .
, .
1.
.
2. . :
.
3.
X: 0, Y: 700, : 700, : 520.
4. .
, .
5.
X: 10, Y: 750, : 690, : 450.
6. text
:
.
7. text
.
8. text :
.
9. .
. .
, . 6.3. ,
int.
double.
10. . , ,
. , .
249

. 6.3.

250

6.2.4.

(. . 6.1).
,
,
. .
Main.
1. .
.
2. .
3. : Mainview.
4.
X: 0, Y: 0, : 990, : 390.
5. .
. , .
6.
X: 10, Y: 60, : 970, : 320.
7. ,
. 6.2. ,
.. .
6.2

:
20
170
340
470
630
810
810

251

Y:
:
80
140
80
160
80
120
80
150
80
170
80
160
220
160

:
270
270
270
270
270
130
130

252

6.2.4.1.

,

, , ,

.
1.
soure Main .
2. . Product.
3.
Java
.
4. Java .
: Product.
5. :
Entity . .
6. Java .
Java ,
:
int numBlock;
int sign1;
int numBlBrak1;
int numBlBrak2;
int numBlBrak3;
int numBlBrak4;
double timeSbor;
double cost;
7.
toString().
8. . Java . .
9.
Java Java .
253

10. c Product.
11. source.
. 6.3.
6.3

source


Product

exponential(1/aveTimeShop1)
Product
if (a==0){
costBlock1=stKomplBlock1+
stIzgBlock1+stTestBlock1;
costBlock2=stKomplBlock2+
stIzgBlock2+stTestBlock2;
costBlock3=stKomplBlock3+
stIzgBlock3+stTestBlock3;
costBlock4=stKomplBlock4+
stIzgBlock4+stTestBlock4;
costBlockIzd=costBlock1+
costBlock2+costBlock3+
costBlock4;
minCostIzd=costBlockIzd+
stSborki+
stKontrIzd+stPriemIzd;
a=1;}
kolIzgBlock1++;
entity.numBlock = 1;
entity.timeSbor =
exponential(1/timeSborki);
costKomplBlock1 +=
stKomplBlock1;
costKomplBlock +=
stKomplBlock1;
costIzgBlock1 +=
stIzgBlock1;
sumCostBlock1 +=
(stKomplBlock1+stIzgBlock1);
costIzgBlock += stIzgBlock1;
sumCostBlock +=
(stKomplBlock1+stIzgBlock1);
254

. 6.3


Product

exponential(1/aveTimeShop2)
Product

kolIzgBlock2++;
entity.numBlock = 2;
costKomplBlock2 +=
stKomplBlock2;
costKomplBlock +=
stKomplBlock2;
costIzgBlock2 +=
stIzgBlock2;
sumCostBlock2 +=
(stKomplBlock2+stIzgBlock2);
costIzgBlock +=
stIzgBlock2;
sumCostBlock +=
(stKomplBlock2+stIzgBlock2);
3

Product



exponential(1/aveTimeShop3)
Product

kolIzgBlock3++;
:
entity.numBlock = 3;
costKomplBlock3 +=
stKomplBlock3;
costKomplBlock +=
stKomplBlock3;
costIzgBlock3 +=
stIzgBlock3;
sumCostBlock3 +=
(stKomplBlock3+stIzgBlock3);
costIzgBlock +=
stIzgBlock3;
sumCostBlock +=
(stKomplBlock3+stIzgBlock3);
255

. 6.3


Product

exponential(1/aveTimeShop4)
Product
kolIzgBlock4++;
entity.numBlock = 4;
costKomplBlock4 +=
stKomplBlock4;
costKomplBlock +=
stKomplBlock4;
costIzgBlock4 +=
stIzgBlock4;
sumCostBlock4 +=
(stKomplBlock4+stIzgBlock4);
costIzgBlock +=
stIzgBlock4;
sumCostBlock +=
(stKomplBlock4+stIzgBlock4);

12. source
.
13.
source. . : 2,
3, 4. ,
1.
14. , , source, . 6.3.
6.2.4.2.

.
,
, ,
.
, , .
256

1. Main
/ .
1. .
2. : .
3. .
.
1. .
.
2. .
3. : Kontr1.
4.
X: 0, Y: 0, : 590, : 390.
,
, ,
.
.
1. (. 6.5).

. 6.5.
257

2. port 1.
3. 1.
4. (. . 6.5). : 2, 3,
4.
5. (. . 6.5).
6. port 1.
7. 1.
8. (. . 6.5). : 2, 3,
4.
9. (. . 6.5).
10. port 1.
11. 1.
12. (. . 6.5). : 2, 3,
4.
13.
( )
.
14. Main.
15. , Main , ,
. 6.6. 14
sink , .
16. .
.
( ) :
queue ;
delay ;
selectOutPut .
258

. 6.6. Test

1. .

. , .
2.
X: 10, Y: 50, : 570, : 330.
Queue.
1.
queue , . 6.7.
2.
queue 1 ( 1).
3. : Entity Product.
4. : .
5. 1.
6. Queue (.
. 6.7).
Test Delay.
1. Enterprise Library
delay 1,
. 6.7.
259

. 6.7.
260

2. delay 1 ( 1).
3. : Agent Product.
4. :
exponential
(1/main.timeTestBlock1).
5. main.postKontr1 :.
6. :
main.kolTestBlock1++;
main.sumCostBlock1 += main.stTestBlock1;
main.costTestBlock1 += main.stTestBlock1;
main.costTestBlock += main.stTestBlock1;
main.sumCostBlock += main.stTestBlock1;

7. 1.
8. delay (. . 6.7).
9.
( . 6.4). .
6.4

2
3
4


exponential
(1/main.timeTestBlock2)
exponential
(1/main.timeTestBlock3)
exponential
(1/main.timeTestBlock4)

main.
postKontr2
main.
postKontr3
main.
postKontr4

SelectOutput.
1. selectOutput
1, . 6.7.
2. selectOutPut 1 ( 1).
3. . 6.5.
4. 1.
5. SelectOutput (. . 6.7).
6. . 6.5.
7.
. 6.7.
(true) ,
, 1:
261

gotBlock1 1.
(false)
brakBlock1 1.
6.5


true
:

(true)

(false)

1
Product

1-main.procBrakBlock1
main.gotBlock1++;
main.brakBlock1++;
entity.sign1 = 1;
entity.numBlBrak1 = 1;


true
:

(true)

(false)

2
Product

1-main.procBrakBlock2
main.gotBlock2++;
main.brakBlock2++;
entity.sign1 = 1;
entity.numBlBrak2 = 1;


true
:

(true)

(false)

3
Product

1-main.procBrakBlock3
main.gotBlock3++;
main.brakBlock3++;
entity.sign1 = 1;
entity.numBlBrak3 = 1;


true
:

(true)

(false)

4
Product

1-main.procBrakBlock4
main.gotBlock4++;
main.brakBlock4++;
entity.sign1 = 1;
entity.numBlBrak4 = 1;

262

entity.sign1 1
, entity.numBlock1
entity.numBlock4. .
Main.
6.2.4.3.


, ,
.
.
1. Main
/ .
2. 1. .
3. : .
4. .

.
1. .
.
2. .
3. : Sbor.
4.
X: 0, Y: 0, : 820, : 550.
5. .
. , .
6.
X: 10, Y: 60, : 800, : 480.

:
;
;

;

.
263

1. (. 6.8).
2. port 1.
3. 1.
4. (. . 6.8). : 2, 3, 4.
5.
, . 6.8.
6. Main.
7. , Main , ,
. 6.9. sink
.
8. . .
, .

. 6.8.
264

. 6.9.

,
( ). ,
. ,
AnyLogic,
(). Match
.

,
. AnyLogic
,
. Combine,
.

, , ,
queue.

delay, selectOutPut.
.
265

1. . ,
.
2.
X: 320, Y: 80, : 340, : 230.
3.
match combine. , . 6.10.
4. queue, delay, selectOutPut, ,
. 6.10.

:
matchmatch3:
: 1, 2: Product, Product
true
1
2
combinecombine2:
: 1, 2, : Product, Product,
Product
entity1
queue:
: Product

selectOutPut:
: Product
true
entity.sign1 == 0
match match1 1 2, 3 4 . match2 match3
1 3, 2 4 . , .
entity1 combinecombine2 combine, combine2 , 1. .
entity.timeSbor (. . 6.3).
: (entity.sign1=0)
(entity.sign1=2).
266

. 6.10.
267

, selectOutPut
entity.sign1==0, .
delay . . 6.6.
6.6


Product

entity.timeSbor
main.kolPunSborki
if (entity.sign1 == 0)
{main.kolSobrIzd++;
main.costSborIzd +=
main.stSborki;
entity.cost += main.stSborki;}
if (entity.sign1 == 2)
{if (entity.numBlBrak1== 1)
{main.zamBlock1++;
entity.cost +=
main.stZamBlock1;
main.costSborIzd +=
main.stZamBlock1;}
if (entity.numBlBrak2 == 1)
{main.zamBlock2++;
entity.cost +=
main.stZamBlock2;
main.costSborIzd +=
main.stZamBlock2;}
if (entity.numBlBrak3 == 1)
{main.zamBlock3++;
entity.cost +=
main.stZamBlock3;
main.costSborIzd +=
main.stZamBlock3;}
if (entity.numBlBrak4 == 1)
{main.zamBlock4++;
entity.cost +=
main.stZamBlock4;
main.costSborIzd +=
main.stZamBlock4;}
main.kolZamIzd++;}


(. 6.11).
268

. 6.11.
269

.
, , etity.sign1 = 2.
etity.numBlBrak1 etity.numBlBrak4
.
.
() .
, 1 4 ,
selectOutput5.
selectOutput

( selectOutput(N)
N , exit N enter).
1 4.

match match1.
- . ,

.
selectOutPut. 1
4 selectOutPut. true
match match1. , true
,
false .

1

4. ,
2 0, 2.


.

combine. selectOutput5
delay,
combine.
combine ,
,
.
,
.
270

true selectOutPut
,
.

. ,
.
, .
split.
, .

.
SelectOutPut (
, ), SelectOutPut5, Queue Combine,
Split . ,
, . 6.11.

. 6.7.
6.7

selectOutPut selectOutPut3
1


true
1 == 0


true
2 == 0


true
3 == 0


true
4 == 0

selectOutput5

entity.numBlBrak1 ==
0
entity.numBlBrak2 ==
1
entity.numBlBrak3 ==
2
entity.numBlBrak4 ==
3
271

1
1
1
1

. 6.7

: 1, 2:

1
2

: 1, 2:

1
2

: 1, 2:

1
2

: 1, 2:

1
2

: 1,
2,
1

: 1,
2,
1

match
_1_2
Product, Product
true


_3_4
Product, Product
true


_1_3
Product, Product
true


_2_4
Product, Product
true


combine
1
Product, Product, Product
if (entity.numBlBrak1 == 1)
1 ++;
entity1
if (entity.numBlBrak1 == 1)
1 --;
entity.cost +=
main.stZamBlock1;
entity.timeSbor =
exponential(1/main.
timeZamBlock1);
2
Product, Product, Product
if (entity.numBlBrak2 == 1)
272

. 6.7

: 1,
2,
1

: 1,
2,
1

:

()

2 ++;
entity1
if (entity.numBlBrak2 == 1)
2 --;
entity.cost +=
main.stZamBlock2;
entity.timeSbor =
exponential(1/main.
timeZamBlock2);
3
Product, Product, Product
if (entity.numBlBrak3 == 1)
3 ++;
entity1
if (entity.numBlBrak3 == 1)
3 --;
entity.cost +=
main.stZamBlock3;
entity.timeSbor =
exponential(1/main.
timeZamBlock3);
4
Product, Product, Product
if (entity.numBlBrak4 == 1)
4 ++;
entity1
if (entity.numBlBrak4 == 1)
4 --;
entity.cost +=
main.stZamBlock4;
entity.timeSbor =
exponential(1/main.
timeZamBlock4);
split
Product, Product
1
Product
entity.sign1 = 0;
entity.cost =
original.cost;
273

6.2.4.4.



, ,
,
,
.
, ,
,
queue.
,
, delay.

. selectOutput.
1. queue, delay selectOutput Main.
2. . 6.12.
3. queue :
:
: Product

4. delay :
: Product

exponential( 1/timeKontrIzd )
kolStendKontr
:
testSobrIzd++;
entity.cost += stKontrIzd;
entity.numBlBrak1 = 0;
entity.numBlBrak2 = 0;
entity.numBlBrak3 = 0;
entity.numBlBrak4 = 0;
. delay2 .
,
.
274

. 6.12. Main
275

5. selectOutput :
:
: Product
true
[0..1] 1-procBrakIzd
(true) costTestIzd += stKontrIzd;
(false)
double a = 0;
int numBlock = 0;
entity.sign1 = 2;
a = uniform();
if (a < 1) numBlock = 4;
if (a <= (verBlNum1 + verBlNum2 + verBlNum3)) numBlock=3;

if (a <= (verBlNum1 + verBlNum2)) numBlock = 2;


if (a <= verBlNum1) numBlock = 1;
if (numBlock == 1) {entity.numBlBrak1 = 1;
entity.timeSbor = exponential(1/timeZamBlock1);}
if (numBlock == 2) {entity.numBlBrak2 = 1;
entity.timeSbor = exponential(1/timeZamBlock2);}
if (numBlock == 3) {entity.numBlBrak3 = 1;
entity.timeSbor = exponential(1/timeZamBlock3);}
if (numBlock == 4) {entity.numBlBrak4 = 1;
entity.timeSbor = exponential(1/timeZamBlock4);}
brakSobrIzd ++;

(false) selectOutput
.
entity.numBlBrak1 entity.numBlBrak4 1
. entity.timeSbor
. entity.sign1
2 .
6.2.4.5.


, ,
,
.
,
queue.
276


delay.

. selectOutput.
1. queue, delay selectOutput Main.
2. . 6.12.
3. queue :
:
: Product

4. delay :
: Product

exponential( 1/timePriemIzd )
kolPunPriem

kolPriemIzd++;
costPriemkiIzd += stPriemIzd;
entity.cost += stPriemIzd;
5. selectOutput :
: Product
true
[0..1] 1-procBrakPriem
(false)
entity.sign1 = 2;
brakPriemIzd++;
delay
kolPriemIzd .
(false) selectOutput brakPriemIzd
entity.sign1 2 .
6.2.4.6.

sink
:
:
: Product
277

++;
= time()/;
+= entity.cost;
+=minCostIzd;
=
(+)/;
ostGotBlock1 = gotBlock1 - - zamBlock1;
ostGotBlock2 = gotBlock2 - - zamBlock2;
ostGotBlock3 = gotBlock3 - - zamBlock3;
ostGotBlock4 = gotBlock4 - - zamBlock4;


kolGotIzd , costGotIzd koefIncrCostIzd
.
, ,
,
ostGotBlock1 ostGotBlock4 .
6.2.4.7.

(. . 6.2.4.2)
sink.
,

.

entity.sign1
1 2.
1. selectOutput sink
Main.
2. . 6.12.
3. , selectOutput,
. 6.8.
: sink
. :
costzbrakBlock
, ;
allBrakBlock1
allBrakBlock4.
278

4.
.
6.8

:
true

selectOutput
Product

entity.sign1 == 1
sink

Product
if (entity.numBlBrak1 == 1)
{ += costBlock1;
allBrakBlock1++;}
if (entity.numBlBrak2 == 1)
{ += costBlock2 ;
allBrakBlock2++;}
if (entity.numBlBrak3 == 1)
{ += costBlock3;
allBrakBlock3++;}
if (entity.numBlBrak4 == 1)
{ += costBlock4;
allBrakBlock4++;}

Product
if (entity.numBlBrak1 == 1)
{ += costBlock1;
allBrakBlock1++;}
if (entity.numBlBrak2 == 1)
{ += costBlock2;
allBrakBlock2++;}
if (entity.numBlBrak3 == 1)
{ += costBlock3;
allBrakBlock3++;}
if (entity.numBlBrak4 == 1)
{ += costBlock4;
allBrakBlock4++;}

6.2.4.8.

Mainview, Data, Result, Kont1 Sbor,


279


. ,
.

, . 6.13.

. 6.13.

Mainview.
1. .
text Mainview,
: (. 6.13). : black, .
2. text,
: .
: blue,
. :
: .Kontr1.navigateTo();
. ,

.
3. text,
: . . : : .Sbor.navigateTo();
4. text.
: . :
: .navigateTo();
5. text,
: . :
: .navigateTo();
, Mainview . , .
280

1. . 6.13.
, .
2. ,
. 6.9.
6.9


Data
Mainview.navigateTo();
.Kontr1.navigateTo();
.Sbor.navigateTo();
.navigateTo();
Result
Mainview.navigateTo();
.Kontr1.navigateTo();
.Sbor.navigateTo();
.navigateTo();
Kontrol
main.Mainview.navigateTo();
main..Sbor.navigateTo();
main..navigateTo();
main..navigateTo();
Sbor
main.Mainview.navigateTo();
main..Kontr1.navigateTo();
main..navigateTo();
main..navigateTo();

. ,
AnyLogic . , , . 6.14.
. ,
AnyLogic. , uniform(1)
random(), Java,
.
281

. 6.14.
282

6.3.
, AnyLogic
1000 . 82874.

40 (2400 ).

. 6.10.
() ,
AnyLogic.
:
14 14 ;
;
;
.
, ,
, GPSS World AnyLogic 7.

, ,
, .
, ,
0,0040,005.
, AnyLogic 7
AnyLogic 6, .


0,0030,007 . ,
3
(3) 0,007 .
1. 3 3, () 1.

.
1,
(0,3150,398) (0,598) .
4.
283

6.10

GPSS World
AnyLogic6
AnyLogic7
1)
121,628
122,337
121,721
=
11 121, 628 121,=
721 0, 093

74410
75151
74763
70787
71200
70841
=
12 70787 70841
= 54

3099
3122
3079
1,095
1,099
1,099
1, 095 1, 099
=
= 0, 004
13

1
2
3
4

19,732
0,315
0,726
0,696
0,472
0,581
0,545
0,539

19,618
0,316
0,728
0,699
0,474
0,586
0,548
0,539

19,717
0,315
0,729
0,703
0,475
0,583
0,545
0,536

2) aveTimeShop1=15, aveTimeShop2=10, aveTimeShop3=10, aveTimeShop4=15

1
2
3
4

147,909
147,954
148,039
=
21 147,909 148,=
039 0,130
90487
90902
90941
86083
86109
86158
=
86083 86158
= 75
22
3848
3824
1,096
1,1
=
= 0, 004
1, 096 1,100
23
16,226
0,398
0,800
1,0
0,566
0,705
0,660
0,654
284

16,221
0,4
0,804
1,0
0,563
0,705
0,662
0,654

3844
1,1
16,212
0,401
0,801
1,0
0,566
0,704
0,665
0,655

. 6.10

GPSS World

AnyLogic6

AnyLogic7

3) aveTimeShop4=10

153,743
154,327
154,004
=
31 153, 743 154,=
004 0, 261

94050
94815
94614
89478
89818
89630

=
89478

89630
=
152
32

4412
4450
4432
1,100
1,105
1,105
1,100 1,105
=
= 0, 005
33

1
2
3
4

15,610
15,551
15,584
0,398
0,399
0,398
0,800
0,797
0,803
1,0
1,0
1,0
0,850
0,852
0,851
0,733
0,737
0,737
0,691
0,691
0,688
0,678
0,681
0,682
4) aveTimeShop1=10, postKontr3=3
209,234
209,086
209,596
=
41 209, 234 209,596
= 0,362
127880
128328
128659
121774
121688
121984
=
42 121744 121984
= 240

4952
4848
4880
1,091
1,094
1,095
=
1, 091 1, 095
= 0, 004
43

1
2
3
4

11,470
0,600
0,799
0,701
0,845
1,0
0,936
0,923
285

11,478
0,599
0,801
0,700
0,853
1,0
0,936
0,923

11,451
0,598
0,799
0,698
0,847
1,0
0,937
0,927

7.
7.1.
. 7.1. A, B.
1. ( ), , C. D ,
( FIFO).
2. ,
, E. 2 .
3. . ,
. , .
, , 10
. .
4. F , .
(,
, .). 2 .

. 7.1.
286

5. H, - I.
2 .
,
.
6. H ( ,
3). 10 .

- ( ),
H, .
2 .
, , 6.
5 .
7.
J. 2 .
8. .
2 .

8 .
:
;
;
;
.
.
( D, ,
F J, I Z)
(). ,
, , D_.
: 1
1 , , ,
8*60 = 480 .

.
287

,
.

. :
;
;
.
,
.
7.2. AnyLogic
7.2.1.
1. . // .
2. . ,
. .
.
, .

Main.
1.
.
2. :
_.
3.
: .
.
4. : .
5.
X: 0, Y: 750, : 560, : 330.
6. . , .
7.
X: 20, Y: 760, : 530, : 310. ,
288

, :
. .
8. : .
9.
X: 0, Y: 0, : 680, : 410.
10. . , .
11.
X: 30, Y: 40, : 640, : 350.
12. .
13. .
: .
14. ,
15. text
text .
16. text text
.
17. .
. , . 7.2.
18. . 7.1. ( ) ,
GPSS-.
7.1

D_
E_
F_
I_
ZP_
J_

int
int
int
int
int
int

10
5
5
7
2
7

timeD
timeE
timeF
timeI
timeZ
timeJ
timeA
timeFH
timeIJ

double
double
double
double
double
double
double
double
double

289

2
10
2
5
10
2
9
2
2

19. . .
. ,
. 7.2. double.
GPSS World , .
(
delay) AnyLogic. ,

KoefIsp_E, KoefIsp_F, KoefIsp_Z, KoefIsp_I, KoefIsp_J.
_, _F, _Z, _I, _J.
.

.
KolObrCar, TimeObr, KoefIsp
, GPSS-.
kolJ . TimeSum .
TimeObr .

Java-.

290

. 7.2.

7.2.2.
. 7.3.

(

): source (); queue (8); delay (8); split (1); match (1); sink.
.
_
, .
1. source. . 7.2.
2. Car :
long id;
double vxod;
id Car
match
. vxod
.
291

. 7.3.
292

, ,
. 7.3. . 7.3.
source

7.2


Car

exponential(1/timeA)
Car
entity.id =
_.count();
entity.vxod = time();
7.3

__D_

Car


_D_

Car

exponential(1/timeD)
D_

___E_

Car
10
if (_E <
___E_.size())
_E =
___E_.size();

293

. 7.3




()




1
2
1
2

_____

Car

exponential(1/timeE)
E_
___Z

Car
1
Car
entity.id = original.id;
entity.vxod = original.vxod;
___Z_

Car
100
if (_Z < ___Z_.size())
_Z =
___Z_.size();

____Z_

Car

exponential(1/timeZ)
ZP_

____Z_


Car
entity1.id == entity2.id
100
100
entity.id = 0;
if (_I <
____Z_.size2())
_I =
____Z_.size2();

294

. 7.3

___F_

Car

___F_

Car
F_
if (_F < ___F_.size())
_F =
___F_.size();
___F_

Car

exponential(1/timeF)
F_
queue1

Car
100
__F___

Car

exponential(1/timeFH)
10
___I_

Car

exponential(1/timeI)
I_
queue

Car
100
__I__J_

Car
295

. 7.3


exponential(1/timeIJ)
10

___J_

Car
10
if (_J < ___J_.size())
_J = ___J_.size();

___J_

Car

exponential(1/timeJ)
J_


. .
split
. , , Z,
, , . Z

( ), match ,
.
sink . ,
(
sink) combine.
combine ,
, .
. match
,
id
Car (entity1.id == entity2.id),
.
combine .
296

. 7.4 sink.

7.4

_J

Car
if (entity.id != 0){
kolJ ++ ;
KolObrCar = kolJ/10000;
KoefIsp = kolJ/_.count();
TimeSum += (time() - entity.vxod);
TimeObr = TimeSum / kolJ;
KoefIsp_E =
____E_.statsUtilization.
mean();
KoefIsp_F =
___F_.statsUtilization.mean();

KoefIsp_Z =
____Z_.statsUtilization.
mean();
KoefIsp_I =
___I_.statsUtilization.mean();
KoefIsp_J =
___J_.statsUtilization.mean();}

.
1 match
sink, sink .
,
(
).
, (

). 1
match entity.id = 0, id
. ,
sink, .

kolJ, count(),
, .
, - .
297

7.2.3.

. 7.5.
. GPSS-
,
AnyLoic- 1876. GPSS World
10000 , AnyLogic
10000 , 4800000 .
7.5

KolObrCar
TimeObr
KoefIsp
KoefIsp_E
KoefIsp_F
KoefIsp_Z
KoefIsp_I
KoefIsp_J
_E
_F
_Z
_I
_J


GPSS World
AnyLogic6
AnyLogic7
53,31
53,41
53,294
35,485
36,109
36,053
1,000
1,000
1,000
0,222
0,222
0,222
0,044
0,044
0,044
0,556
0,556
0,554
0,079
0,080
0,062
0,032
0,032
0,032
5
5
8
1
1
1
21
20
16
22
22
17
1
1
1
25 34
25 c
37 c

, .
, GPSS World 25
34 , 40 , AnyLogic7.
8
(KolObrCar)
(TimeObr)
.


.
7.3.
.
GPSS World AnyLogic. GPSS World
, AnyLogic .

, .
298

7.3.1. AnyLogic

AnyLogic. :

,
.
1. AnyLogic .
2.
Co/ .
3. : .
4. , , 1.
5. : Main. () . , .
6.
, :
.
7. .
8. root.TimeObr,
root.
9. ( ).
1687.

. , .
10. :.
( ).
.
11. timeA, time,
timeF, timeI, timeZ, timeFH. ,
m
6
k=2, m=6, =
I k=
2=
64 .
12. : 64. , . . 7.9
Main.
299

13. , . 7.9.
, . .
, . 5.1.10.4.
14. , time.
. , . ,
GPSS World,
( ),
.
15. .
10,
15. ,
5.
16. , . 7.9.
17. .
18. .
19. () () . , ,
= 0,95 , = 0,01 = 0,1
:
N= t2

2
0,12
= 1,962
= 3,8416 100 400,
2

0, 012

t = 1,96 .
20. 400.
21. .


( . .). .
.
22. /1.
300

. 7.9.

23. .
.
( ).
400*64=25600 (. 7.10) .
301

. 7.10.

7.3.2. AnyLogic

. :

, .
1. AnyLogic .
2.
Terminal Co/ . : .
3. , , 2.
4. . 58 .
302

5. .
6. root.KolObrCar.
7. . 1119 .
8. , = 0,95 ,
1, = 1 = 1 .
:
2
2
21
N t2 =
1,96
3,8416 1 4.
=
=
12
2
9. 4.
10. .
11. /2.
12. .
4*64=256 (. 7.11) . ( ) () : 48,129.
.
7.4.

. 7.7 7.8.
7.7


,
TimeObr
timeA
timeE
timeF
timeI
timeZ
timeFH
TimeObr
timeA
timeE
timeF
timeI
timeZ
timeFH

GPSS World

AnyLogic6

AnyLogic7

31,844
20
10
2
5
10
2
31,605
20
10
4
5
10
4

31,799
20
10
2
5
10
2
31,799
20
10
2
5
10
2

32,534
20
10
2
5
10
2
34,527
20
10
4
5
10
4

303

. 7.11.

()
GPSS World AnyLogic
. ,
GPSS World

, ,
AnyLogic .

. 7.7 7.8 .

, AnyLogic,
TimeObr = 32,534 (. . 7.10)
: timeA = 20, time = 10, timeF = 2, timeI = 5,
timeZ = 10, timeFH = 2.
GPSS
World (. . 7.7) TimeObr = 31,844 . ,
0,045 .
304

7.8
,

KolObrCar
timeA
timeE
timeF
timeI
timeZ
timeFH
KolObrCar
timeA
timeE
timeF
timeI
timeZ
timeFH


GPSS World
AnyLogic6

48,049
10
10
2
5
10
2
48,30
10
15
4
5
15
4

48,08
10
10
2
5
10
2
48,08
10
10
2
5
10
2

AnyLogic7

48,129
10
10
2
5
10
2
47,957
10
15
4
5
15
4


, AnyLogic,
KolObrCar = 48,129 (. . 7.11)
:
timeA = 10, time = 10, timeF = 2, timeI = 5, timeZ = 10,
timeFH = 2.
GPSS
World (. . 7.8) KolObrCar = 48,049. ,
,
( 0,08).
GPSS World
, ,
AnyLogic. ,
. 7.7 7.8 ( ).

GPSS World AnyLogic (48,300 47,957 = 0,343).

305

8.

8.1.
n
1, 2, , n .

.
1, 2, , k a1, a2,
, ak .
n1, n2, , nn
. n1
. n2, , nn
, .
. n2
. n3, n4, ,
nn , .
.
.
nn n- .
n- ,
, : 11, 12, 13
, 21, 22, 23 , , Tn1, Tn2,
, Tnn n- .

d . ,
, 1, .
q .
8.1.1.
exponential() = exponential (30); n = 4;
p1 = 0.2, p2 = 0.3, p3 = 0.25, p4 = 0.25;
p11 = 0.5, p12 = 0.25, p13 = 0.25;
n1 = 2; T11 = 30; T12 = 40; T13 = 50;
n2 = 1; T21 = 20; T22 = 30; T23 = 40;
n3 = 1; T31 = 15; T32 = 25; T33 = 35;
n4 = 1; T41 = 25; T42 = 35; T43 = 45;
d = 2; normal(T1, To1) = normal(15, 2); q = 2 %.

.
306


.
8.1.2.

.

p1, p2, p3, p4.

= 0,01 = 0,95.


.
8.1.3.
, (. 8.1)
.

. 8.1.
307



.
,
:
;
;
;
;
.
():
;
;
;
,
. , Tp
. Tp/n. n .
1, 2, 3, 4,
n=4. 13 . :
p1 p4 14 ;
p11 p43 14
13 .

.
.
:
1 1, 14 ;
1 1, 14 ;
11 43 14 13 .
308

,

. , 1=1/
.
:
1 4, 14 .
, 1=1/1.
8.2. AnyLogic
8.2.1.

Main.
1. // . .
2. _. ,
.
3. .
4.
Main.
.
: .
5. , ,
: . .
6. : .
7.
X: 0, Y: 650, : 610, : 590.
8. . , .
.
9.
X: 10, Y: 670, : 590, : 560.
10. text
text: .
309

. 8.2.

11. .
.
, . 8.2. .
12. . 8.1.
.
13. , 14 int.
double.
, . . 8.2
, , 11 . . ,
.
310

8.1

Tp
n
T11
T12
T13
T21
T22
T23
T31
T32
T33
T41
T42
T43

1
2


30
4
30
40
50
20
30
40
15
25
35
25
35
45
1000
2
1

T1
To1
p11
p12
p13
p21
p22
p23
p31
p32
p33
p41
p42
p43

3
4


15
2
0.50
0.75
1.00
0.50
0.75
1.00
0.50
0.75
1.00
0.50
0.75
1.00
2
1
1

8.2.2.
1. . , , .
2. text : text . .
3. .
. 8.2. double.
8.2.3.

AnyLogic
(. . 8.1.4):
;
311

;
;
.
1.
Main. . . .
2. , ,
: . .
3. : .
4.
X: 0, Y: 0, : 1240, : 460.
5. . , . source .
6.
X: 20, Y: 120, : 100, : 140.
7. text
.
8. .
, . .
9.
X: 130, Y: 30, : 590, : 410.
10. text
.
. 8.3 : . .
8.2.3.1.

1.
source
(. . 8.3). .
2.
/Java .
312

. 8.3.

3. Java .
: .
313

4. :
Entity . .
5. Java .
Java :
double ;
double ;
double ;
6.
toString ().
7. . Java
Java .
8. source.
. : Agent .
:

exponential(1/(Tp/n))
: entity.=uniform();
entity.=uniform();
Java- entity. entity.
.
.
8.2.3.2.


.
selectOutput5,
selectOutput, queue, delay sink
(. . 8.3).
1. (, ,
, ,
, , ) Main. , . 8.3.
2. . 8.2.
314

8.2

1
2

2
3

3
4

true

1
2
3
4

1
2

2
3

entity.<=p1
entity.=1;
1++;
++;
entity.<=p2
entity.=2;
2++;
++;
entity.<=p3
entity.=3;
3++;
++;
entity.<=p4
entity.=4;
4++;
++;
o
C
0.98

entity.==1
entity.==2
entity.==3
entity.==4
1

entity.<=p11
entity.=1;
entity.=exponential(1/T11);
entity. <=p12
entity.=2;
entity.=exponential(1/T12);
entity.=<p13
entity.=3;
entity.=exponential(1/T13);
315

. 8.2

1
2

2
3

1
2

2
3

1
2

2
3

true

entity.<=p21
entity.=1;
entity.=exponential(1/T21);
entity. <=p22
entity.=2;
entity.=exponential(1/T22);
entity.=<p23
entity.=3;
entity.=exponential(1/T23);
3

entity.<=p31
entity.=1;
entity.=exponential(1/T31);
entity. <=p32
entity.=2;
entity.=exponential(1/T32);
entity.=<p33
entity.=3;
entity.=exponential(1/T33);
4

entity.<=p41
entity.=1;
entity.=exponential(1/T41);
entity. <=p42
entity.=2;
entity.=exponential(1/T42);
entity.=<p43
entity.=3;
entity.=exponential(1/T43);
1_2

(1.size()==0)&&
(1.size()<1)&&
(2.size()!=0)
316

. 8.2

1_3

true
(1.size()==0)&&

(1.size()<1)&&
(3.size()!=0)
1_4

true
(1.size()==0)&&

(1.size()<1)&&
(4.size()!=0)
2_3

true
(2.size()==0)&&

(2.size()<2)&&
(3.size()!=0)
2_4

true
(2.size()==0)&&

(2.size()<2)&&
(4.size()!=0)
3_4

true
(3.size()==0)&&

(3.size()<3)&&
(4.size()!=0)

normal(To1,T1)

=.statsUtilization.mean();

. , entity.=0.723.
0: entity.=0.723<=p1=0.5. 0 . 1: entity.= 0.723
<=p2=0.75. 1 . 1. ,
1,

317

entity.=2;
2++;
++;

2 entity.=2, 2 .
.
03 ( queue) , (delay), .
(selectOutput) q = 2 %. , , sink.
. 03 14 .
14 13
.
. 8.1.7.3.
8.2.3.3.

,
.
queue delay.
1. . , .
2.
X: 740, Y: 30, : 200, : 410.
3. text
text .
4. Main. , , . 8.4.
318

5. 14 .
6. 14 :
:

entity.

7. 14 .
8. :
1=1.statsUtilization.mean();
2=2.statsUtilization.mean();
3=3.statsUtilization.mean();
4=4.statsUtilization.mean();

13 1 1 (queue).
24 1_2, 1_3, 1_4 .
, . . , 1_3
:
(1.size()==0)&&
(1.size()<1)&&(3.size()!=0)

1 ? 1 ? 3 ?
, , ,
true 1_3 1.
1_3, 1_4.
, false 24 .
2_3, 2_4 3 4 2 .
3_4
4 3 .
319

. 8.4.
320

8.2.3.4.

, .
selectOutput5 sink.
1. . , .
2.
X: 970, Y: 30, : 250, : 410.
3. text
text .
4. . , . 8.5.

. 8.5.
321

5.

. 8.3.
8.3

1
1
2
2
3
3

entity.==1
1++;
++;
1=
1/1;
entity.==2
2++;
++;
2=
2/2;
entity.==3
3++;
++;
3=
3/3;
entity.==4
4++;
++;
4=
4/4;
1

entity.==1
11++;
entity.==2
12++;
entity.==3
13++;

1
1
2
2
3
3

entity.==1
21++;
entity.==2
22++;
entity.==3
23++;

1
2

2
3

4
4

322

. 8.3

1
1
2
2
3
3

entity.==1
31++;
entity.==2
32++;
entity.==3
33++;

1
1
2
2
3
3

entity.==1
41++;
entity.==2
42++;
entity.==3
43++;

6. sink1:
:
=/
1 ,
. , , , ,
.
14 , .
sink1 .
.
8.2.3.5.

.
Simulation:Main. ( )
: 892. , : . : 1440000 ( 1000).
323

. 8.6.

. , .
_. ,
, AnyLogic.
. 8.6. ,
1 37,612. 0, 979. 188,476 0,980.
324

8.3.
.
. 8.48.6 .
(. 8.4) ,
, : = 20 .
, GPSS World AnyLogic7.
, 5 = 0,001,
6 = 0,0050,013. , ,
.
(. 8.5) ,
= 30 .
5 = 0,001, 6 = 0,0010,014. , , .
(. 8.6),
: = 20 , = 3, 2 = 2, 3 = 2.

5 = 0,001,
-:
5 = 0,0150,026.
- 240,075 281,239
1,174 (281,239: 240,075 = 1,174).
:
0,977 0,980. -
.
325

8.4

GPSS World AnyLogic6

20
1
37,879
37,428
1 = |37,879-37,707| = 0,172
: 11
19,021
18,705
12
9,461
9,354
13
9,397
9,369
2
56,297
56,330
2 = |56,297-56,524| = 0,227
: 21
28,195
28,378
22
13,900
13,914
23
14,202
14,038
3
47,075
46,946
3 = |47,075-47,322| = 0,247
: 31
23,570
23,414
32
11,831
11,788
33
11,674
11,744
4
46,857
47,486
4 = |46,857-47,000| = 0,143
: 41
23,443
23,552
42
11,811
12,050
43
11,603
11,884

0,654
0,655

5 = |0,654-0,653| = 0,001

: 1
0,832
0,838
2
0,865
0,868
3
0,659
0,668
4
0,637
0,662
6 = 0,0010,013

1,000
1,000

326

AnyLogic7
37,707
18,697
9,353
9,257
56,524
28,517
14,026
13,981
47,322
23,784
11,711
11,827
47,000
23,527
11,886
11,587
0,653

0,833
0,866
0,664
0,650

1,000

8.5

GPSS World
AnyLogic6

20
1
37,490
37,466
1 = |37,490-37,612| = 0,192
: 11
18,705
18,846
12
9,325
9,236
13
9,460
9,384
2
56,597
56,360
2 = |56,597-56,279| = 0,318
: 21
28,186
27,941
22
14,341
14,200
23
14,070
14,219
3
46,811
47,151
3 = |46,811-46,980| = 0,169
: 31
23,373
27,941
32
11,842
14,200
33
11,596
14,219
4
47,223
47,151
4 = |47,223-46,887| = 0,336
: 41
23,647
23,311
42
11,844
11,791
43
11,732
11,807

0,978
0,978

5 = |0,978-0,977| = 0,001

: 1
0,828
0,836
2
0,858
0,868
3
0,653
0,667
4
0,632
0,657
6 = 0,0010,014
1,000
0,999

327

AnyLogic7
37,612
18,893
9,283
9,436
56,279
28,014
14,070
14,195
46,980
23,680
11,662
11,638
46,887
23,445
11,801
11,641
0,977

0,832
0,864
0,649
0,633

0,998

8.6

GPSS World
AnyLogic6

20
1
56,592
56,221
1 = |56,592-55,849| = 0,743
: 11
28,398
28,069
12
14,158
14,152
13
14,036
14,000
2
84,227
84,740
2 = |84,227-84,592| = 0,355
: 21
42,087
42,513
22
21,196
21,285
23
20,974
20,942
3
70,679
70,586
3 = |70,679-70,377| = 0,302
: 31
35,256
35,072
32
17,671
17,659
33
17,752
17,855
4
70,244
70,486
4 = |70,244-70,421| = 0,177
: 41
35,112
34,974
42
17,757
17,696
43
17,375
17,816

0,979
0,980

5 = |0,979-0,979| = 0,001

: 1
0,932
0,949
2
0,874
0,893
3
0,667
0,646
4
0,772
0,796
6 = |0,932-0,947| = 0,015
0,998
0,999

328

AnyLogic7
55,849
28,075
13,889
13,885
84,592
42,411
21,026
21,155
70,377
35,147
17,662
17,568
70,421
35,344
17,491
17,586
0,980

0,947
0,891
0,641
0,793

0,996

9.

9.1. AnyLogic
9.1.1.
. . .
.

.
.
q1 q2 . (q1 <
q2). .
. . , .
9.1.2.
9.1

, .
, .
, .
, .
, .
,
.
,
, .
, .
, .
, .
329

1
2
2
0
50
50
1
0
100
100
1
1
15

22

0,5

0,4

. 9.1


,

,

,

,
1 2 2 1,

1 2 2
1,
1 2 2 1,

1 2 2
1,

1
2
0,1

0,2

0,1

0,1

0,2

0,2

0,2

0,2

3,4

3,6

0,5

0,6

3,2

4,1

0,5

0,8

9.1.3.

:
1 2;
;
1 2;

;
,
1 2 .
,
.

.
330

9.1.4.

(. 9.1).
. , ,
:
1;
2.

:
1:
1, ;
1;
1;
1 2;
1;
1;
2:
2;
2;
2;
2;
2;
2 1.
:
;
1;
2.

():
;
() ;

;

.
331

. 9.1.

.
1 2 .
332

1
2 1 2.
(. 9.1.6 . 9.1.7 ).

:
, ;
, .
:
1,
1,
2,
2
1 2 ;
1, 1,2,2 1 2 ;
12, 12, 21, 21
1 2 2 1 .
:
21=21/2 2 1, 21 2 1, 2 2;
12=12/1 1 2, 12
1 2, 1
1;
=(12+21)/(1+2)

;
1=1+1+12

1;

1=1+1+12

1;
2, 2 2.
333

9.1.5.
,
:
;
;
1;
2.
.
.

. 9.2.
9.2

:
:
Y:
:
:

10
1860
620
490


1 1
10
10
10
2600
10
790
530
1080
1110
470
480
490

:
, : .
9.1.6.
.
, ,
, 1 2.
1.
.
2.
X: 30, Y: 1880, : 580, : 450.
3. text : .
4.
, . 9.2.
5. . 9.3.
334

. 9.2.
9.3

1
1
1
1
1
1
1
1
1
1
1
12
12

int
int
1
int
int
double
int
int
int
int
double
double
double
double
double
double
335


2
50
1
15
0.5
2
2
3
3
0.1
0.1
0.2
0.2
3.4
0.5

. 9.3

12
12

2
2
2
2
2
2
2
2
2
2
2
12
12
12
12

double
double

int
int
2
int
int
double
int
int
int
int
double
double
double
double
double
double
double
double


3.2
0.5
1
100
1
22
0.4
2
2
2
2
0.2
0.1
0.2
0.2
3.6
0.6
4.1
0.8

9.1.7.
. ,
,
, .
,
.
1.
.
2.
X: 25, Y: 2610, : 510, : 450.
3. text : .
4. , . 9.3. double, 0.
336

. 9.3.

5. text . 9.3.
6. text : .
7. . 9.3.
double, 0.
8. (event).
,
, .
,

1 (. 9.4)
2 (. 9.5).
337

. 9.4. 1
338

. 9.5. 2
339

9.1.8. 1
9.1.8.1. 1.

() 1, , () .
1. .
2.
X: 30, Y: 50, : 310, : 200.
3. text : 1. .
4.
source, enter, queue, hold exit. , . 9.6.
Java, .
,
(. . 9.1.4).
.
1. source.
2.
/Java .
3. Java .
: : .
4. :
Entity . .
5. Java .
Java , . 9.7.
6.
toString (). . .
7. Java
Java .
8. 1 2 1 2 int .
, , 1 2 .
340

. 9.6. 1

. 9.7. Java
341

1 .

. 9.4.
9.4

:
:


,

source
1

entity.=1;
entity.=
;
source1
2
:

:


0

,


entity.=2;

entity.=
:
;
queue
1
:



342

. 9.4

:
:


:

:

:
:

:
:

queue1
1


hold


hold1


exit
1

if (entity.==1)
{hold.setBlocked(true);
enter2.take(entity);}
else
{hold1.setBlocked(true);
enter3.take(entity);}
enter

enter1

.
1 2 ,
. .
- queue
1 1 .
hold hold1 , - .
hold hold1
1. 1 , , , , hold.
343

- 1 (
exit) 1.
,

, hold1. -
1 ( exit) 1.
enter enter1
queue queue1 . -, 2,
1.
9.1.8.2. 1

1

(), ,

.
.
1. .
2.
X: 30, Y: 270, : 220, : 200.
3. text : 1.
4.
source, selectOutput5 ( selectOutput) sink.
, . 9.8.
. 9.5.
source 1 1 , . - selectOutput.
1 , . , - .
, 1.
344

. 9.8. 1
9.5

:
:


,

:
:
1
2
2
3

source
1
1

exponential(1/1)

1
1
a=(uniform_
discr(1,
1));
1+=a;
1+=a;
selectOutput
1

1<
1.size()>0&&
1.size()==0
1-=;
hold.setBlocked(false);
1<
345

. 9.5
4

4
:

1.size()>0&&
1.size()==0
1-=;
hold1.setBlocked(false);
sink
1

1 2:

.
2 hold (. . 9.1.8.2) .
2 , , , 3.
3 , , - .
3 ( ,
),
4: .
4 , - .
4 hold1 (. . 9.1.8.2) .

-.
1 .
9.1.8.3. 1

1
.
1.
1. .
2.
X: 350, Y: 50, : 460, : 200.
346

. 9.9. 1

3. text : 1.
4.
enter, split, queue, delay, selectOutput
exit sink. , . 9.9.
5. . 9.6.
9.6

:
:
:
,

()

enter2

enter3

split
,

entity.-1

entity.=
original.;
entity.=
original.;
entity.tPolet=
original.tPolet;
entity.
=original.;
347

. 9.6

:
,

()

split1
,

entity.-1

entity.=
original.;
entity.=
original.;
entity.=
original.;
entity.
=original.;
1
:

:


entity.=

1;


queue1
1
:

:


entity.=

1;


delay
1
:

:


exponential

(1/entity.)
1

1++;


delay1
1
:

:


348

. 9.6

exponential
(1/entity.)
1

1++;



selectOutput1

:

true
entity.

==1
entity.=
(true)
normal(12,
12);
1=0;
selectOutput2

:

true
entity.

==1
entity.=
(true)
normal(12,
12);
1=0;
exit
12
:

:
if (entity.==1)

enter4.take(entity);
else enter5.take(entity);
sink

,
enter2 - split.
split , , . .
, -. , , , , .
349

- 1,

1.
entity.=1,
- .
1,
(1++), -
selectOutput1.
(entity.
==1): ?
, ,
, - (exit).
- 1 2.
.
-
enter3 split1.
9.1.8.4. 1 2

1 2
1 2.
.
1. .
2.
X: 830, Y: 50, : 240, : 200.
3. text :
1 2.
4.
enter, delay exit. , . 9.10.
5. . 9.7.
, -
enter4 12 (delay). 12 ,
1 2. 2 -
.
350

. 9.10. 1 2
9.7

:
:
:
:


:
:

enter4

enter5

delay
12


entity.


delay1
12


entity.


exit
if (entity.==1)
enter10.take(entity);
else enter11.take(entity);
351

9.1.8.5. 1

1
,
2.
.
1. .
2.
X: 270, Y: 270, : 310, : 200.
3. text : 1.
4.
enter, queue, hold exit. , . 9.11.
5. . 9.8.
, - 2
enter6. , (1.size()==0),
hold2 - 1
.

. 9.11. 1
352

9.8

:

:

:
:


:
:


:

:

:

enter6

if (1.size()==0)
hold2.setBlocked(false);
enter7

if (1.size()==0)
hold3.setBlocked(false);
queue
1


queue1
1


hold2


hold3


exit
1
if (entity.==1)
{hold2.setBlocked(true);
enter8.take(entity);}
else
{hold3.setBlocked(true);
enter9.take(entity);}

1
hold2 hold2.setBlocked(true), 1 .
- ,
enter7. .
353

9.1.8.6. 1

1
, 2.
.
1. .
2.
X: 600, Y: 270, : 470, : 200.
3. text : 1.
4. enter, split, queue, delay, selectOutput exit sink.
, . 9.12.
5. . 9.9.
, enter8 - split2. split2 ,
, . - .
, -. , , , , .
. .

. 9.12. 1
354

9.9

:
:
:
,

()

:
,

()

:
:

enter8

enter9

split2
,

entity.-1

entity.=
original.;
entity.=
original.;
entity.=
original.;
entity.=
original.;
split3
,

entity.-1

entity.=
original.;
entity.=
original.;
entity.=
original.;
entity.
=original.;
queue
1


entity.=
1

355

. 9.9

queue1
1
:

:


entity.=

1


delay
1
:

:


exponential

(1/entity.)
1

1++;


delay1
1
:

:


exponential

(1/entity.)
1

1++;


selectOutput3

:

true
entity.==

1
1=0;

21+=
(true):
entity.;
hold2.setBlocked(false);
selectOutput4

:

true
entity.==

1
1=0;

21+=
(true):
356

. 9.9
entity.;
hold3.setBlocked(false);
exit
:
:

21+=
entity.;
if (entity.==1)
enter.take(entity);
else enter1.take(entity);
sink2

- 1,
1. entity.=1, -
.
1,
(1++), -
selectOutput3.
(entity.
==1): ?
, ,
, - 1 (exit).
selectOutput3 1
0, . , hold2,
1

1 (exit) -
1.
. -
enter9 split3.
357

9.1.9. 2
, 2, , 1,
.
9.1.9.1. 2

2

(), ,

( ).
1. .
2.
X: 30, Y: 830, : 290, : 190.
3. text : 2.
4. source, selectOutput5 ( selectOutput5) sink.
, . 9.13.
. 9.10.

. 9.13. 2
358

9.10

:
:


,

:
:
1
2

2
3
4

4
:

source
2
2

exponential
(1/2)
1
2

d=(uniform_discr(2,

2));
2+=d;
2+=d;
selectOutput5
2

2<
2.size()>0&&
2.size()==0
2-=;
hold6.setBlocked(false);
2<
2.size()>0&&
2.size()==0
2-=;
hold7.setBlocked(false);
sink
2

source 2 2 . - selectOutput5.
. 9.1.8.2

-. 2 .
, . 9.1.8.2, , 2, .
359

9.1.9.2. 2

2
, 1.
.
1. .
2.
X: 30, Y: 1040, : 310, : 220.
3. text : 2.
4.
enter, queue, hold exit. , . 9.14.
5. . 9.11
, - enter11.
: (2.size()==0)
? , hold5 2
2.

. 9.14. 2
360

9.11

:
:


:
:


:

:

:

enter10

if
(2.size()==0
&&2.size()==0)
hold4.setBlocked(false);
enter11

if
(2.size()==0
&&2.size()==0)
hold5.setBlocked(false);
queue
2


queue1
2


hold4


hold5


exit
2
if (entity.==1)
{hold4.setBlocked(true);
enter12.take(entity);}
else
{hold5.setBlocked(true);
enter13.take(entity);}

9.1.9.3. 2

2
, 1.
361

. 9.15. 2

.
1. .
2.
X: 360, Y: 1040, : 470, : 220.
3. text : 2.
4. enter, split, queue, delay, selectOutput exit sink.
, . 9.15.
5. . 9.12.
, (. 9.1.9.2)
enter13 -
split5. split5 , ,
. - . 1 , (entity.-1).
, , 1, . ,
, -,
, .
.
.
362

9.12

:
:
:
,

()

:
,

()

:
:

enter12

enter13

split4
,

entity.-1

entity.=
original.;
entity.=
original.;
entity.=
original.;
entity. =
original.;
split5
,

entity.-1

entity.=
original.;
entity.=
original.;
entity.=
original.;
entity.=
original.;
queue
2


entity.=
2;

363

. 9.12

queue1
2
:

:


entity.=

2;
:


delay
2
:

:


exponential

(1/entity.)
2

2++;


delay1
2
:

:


exponential

(1/entity.)
2

2++;


selectOutput6

:

true
entity.==

2
2=0;
(true)
12+=
entity.;
hold4.setBlocked(false);
selectOutput7

:

true
entity.==

2
2=0;
(true)
364

. 9.12

:
:

12+=
entity.;
hold5.setBlocked(false);
exit
2

12+=
entity.;
if (entity.==1)
enter14.take(entity);
else enter15.take(entity);
sink4

9.1.9.4. 2

2
, 1, 2 .
.
1. .
2.
X: 340, Y: 830, : 290, : 190.
3. text : 2.
4.
enter, queue, hold exit.
, . 9.16.
5. . 9.13.
1 ,
. -
queue 2 2
.
hold6 hold7 , - .
hold6 hold7
2.
365

. 9.16. 2
9.13

:
:
:
:


:
:


:

:

enter14

enter15

queue
2


queue1
2


hold6


hold7


366

. 9.13

exit
2
if (entity.==1)
{hold6.setBlocked(true);
enter16.take(entity);}
else
{hold7.setBlocked(true);
enter17.take(entity);}

9.1.9.5. 2

2
.
2.
1. .
2.
X: 350, Y: 50, : 460, : 200.
3. text : 1.
4. enter, split, queue, delay, selectOutput exit sink.
, . 9.17.
5. . 9.14.

. 9.17. 2
367

9.14

:
:
:
,

()

:
,

enter16

enter17

split6
,

entity.-1

entity.=
original.;
entity.=
original.;
entity.tPolet=
original.tPolet;
entity.=
original.;
split7

entity.-1

()
entity.=

original.;

entity.=
original.;
entity.=
original.;
entity.=
original.;
queue6
2
:

:


entity.=

2;


368

.9.14

queue7
2
:

:


entity.=

2;


delay
2
:

:


exponential

(1/entity.)
2

2++;


delay1
2
:

:


exponential

(1/entity.)
2

2++;


selectOutput8

:

true
entity.

==2
entity.=
(true)
normal(21,
21);
2=0;
selectOutput9

:

true
entity.

==2
369

.9.14

(true)

:
:

entity.=
normal(21,
21);
2=0;
exit
21

if (entity.==1)
enter18.take(entity);
else
enter19.take(entity);
sink

9.1.9.6. 2 1

2 1
2 1.
1. .
2.
X: 850, Y: 1040, : 250, : 220.
3. text :
2 1.

. 9.18. 2 1
370

4.
enter, delay exit. , . 9.18.
5. . 9.15.
9.15

:
:
:
:


:
:

enter18

enter19

delay
21


entity.


delay1
21


entity.


exit
1
if (entity.==1)
enter6.take(entity);
else enter7.take(entity);

9.1.9.7.

, .
5.

. 9.3.
. Enter.
6. .
7. T :
.
371

8. : .
9. () 720000.
10. Java , .
21=21/2;
12=12/1;
1=1.statsUtilization.mean();
1=1.statsUtilization.mean();
2=2.statsUtilization.mean();
2=2.statsUtilization.mean();
1=1.statsUtilization.mean();
1=1.statsUtilization.mean();
2=2.statsUtilization.mean();
2=2.statsUtilization.mean();
12=12.statsUtilization.mean();
12=12.statsUtilization.mean();
1=1+1+12;
1=1+1+12;
21=21.statsUtilization.mean();
21=21.statsUtilization.mean();
2=2+2+21;
2=2+2+21;
=(1+2)/2;
=(1+2)/2;
=(12+21)/(1+2);

=(+)/2;

9.1.10.
:
1. .
2.
: .
3. Simulation: Main.
4.
( ).
5. : 15657.
6. . : .
7. : 720000. 1000 GPSS
World. ,
720 (30- ).
372

. 9.19.

8. . , .
, . 9.19.

,
.
,
= 0,31 = 0,638. (0,481) = 0,795.
467,2 .
373

10.

10.1.

. 15 .
t = 12 .
.
. 0,95.
, .
10.2.
, , , . = 15

1
,

.
1
60
1
=

= = 5
. , t 12

, , .
.
:
P1
=

P0 , P2
=
1!

2
2!

P0=
, ..., Pn

n
n!

P0 , Pn +1
=

n +1
nn !

P0 , ...,
Pn + m
=

n+m
nm n!

P0 ,


n n +1 n + 2
n+m
P0 = 1 + + ... +
+
+ 2 + ... + m .
n ! nn ! n n !
n n!
1!

=
(). :
,
.
374

15
= = 3.
5


, P = P3 . :
1

3 32 33
33
P0 = 1 + + + = 0, 077, P3 =
P0 = 4,5 0, 077 = 0,346.
3!
1 2! 3!


0,34 (0,346), . , , P :
1

3 32 33 34 35 36
P0 = 1 + + + + + + = 0, 051,
1 2! 3! 4! 5! 6!
36
729
1
=1, 012 0, 051 =0, 052.
P6 = P0 =
6!
720 19, 412

P =
1 P =
1 0,052 0,95.
,
0,95.
10.3. AnyLogic
_.
1. // . .
2. _. ,
. .
3. _ . 10.1. Main, ,
. 10.1.
,
double, int:
,
4;
,
12;
, 3.
375

. 10.1.
10.1

source
Entity

exponential(1/)

true

selectOutput

delay.size()<

delay

exponential(1/)

sink
++;
=/;
=1-;

++;

376


, double:

;
;
;
.
AnyLogic- .
Simulation:Main.
, : . : 600000
( 10000). : ( )

( )
: 1055.
. ,
. 10.2.

. 10.2. AnyLogic7
377

=0,342 (0,345 AnyLogic6),


0,004 (0,001).

.
.

6.
. .
=0,052 (0,051),
0,002 (0,001).

,
.
10.4. GPSS World
GPSS-
.

;
T1
EQU 4 ;
T2
EQU 12 ;
Sotr STORAGE 3 ;
VrMod EQU
60 ;
;
GENERATE (Exponential(1053,0,T1));

Met1 GATE SNF Sotr,Met2 ; ?


ENTER Sotr
; ,
ADVANCE (Exponential(1053,0,T2)) ;
LEAVE Sotr
;
Met3 TERMINATE
;
Met2 TERMINATE
;
;

GENERATE VrMod
TEST E TG1,1,Met4 ; TG1=1,
;
SAVEVALUE VerObr,(N$Met3/N$Met1);
SAVEVALUE VerOtk,(1-X$VerObr) ;
Met4 TERMINATE 1
START 10000 ;
378


(VEROTK) ,
, :
STORAGE CAP.REM.MIN.MAX. ENTRIES AVL. AVE.C. UTIL.
SOTR
3
2
0
3
98161
1
1.963 0.654
SAVEVALUE
RETRY
VALUE
VEROBR
0
0.654
VEROTK
0
0.346

,

.
.

, .

. ,
15 .
15 .
5 .
,
,
,
0,95, , ,
,
.

379

11. ANYLOGIC
GPSS World
[ ]. AnyLogic.
11.1.

1. 1 .
.
2. . , . 11.1.
3. . , . 11.1.
4. int.
: 29. .
5. GPSS-

(. . 1.3). double. : 1.
6. double.
7. sink : Java :
if( sink.in.count() == ){
= time();
stopSimulation();}

. 11.1.
380


( 29) .


,
, .

.
1.
.
2. : .
3. , .
4. .
(. 11.2). . 11.2.

. 11.2.
381

. 11.3.

5. Java
: data.reset();. : data.add(time()/);
6. ,
, .
7. (. 11.3). (. . 11.2).
8. . 11.3 , .
Main.
.
.
9. .
10. : . :
data. -: silver. :
crimson. .
11. . :
data.
.
12. text :.
382

13. text. ,
. : data.mean().
14.
. . , .
AnyLogic GPSS
World.
2916 . 11.4.
. 11.1.

. 24
. 11.1. ,

291,
10 .
,

, GPSS-
AnyLogic- : 1 =192,101 4 =
1,056 .

. 11.4.
383

11.1

GPSS World

AnyLogic6

AnyLogic7

1

29
29
29

1
1
1

, c
2
1,3
6,7


3589,688
3781,755
3789,765
789 192,101,
=
11 3589, 688 3781,=
=
12 3781, 789 3600
= 181, 789
2

291
291
291

10
10
10

, c
24
7
15


3596,113
3614,877
3616,752
21 =
3596,113 3614,877 =
20, 639, 22 =
3600 3614,877 =
10,877
3

2916
2916
2916

100
100
100

4 48 c
44 c
201,4


3603,039
3604,676
3604,718
31 =
3603, 089 3604, 718 =
1, 629, 32 =
3600 3604, 718 =
4, 718
4

29161
29161
29161

1000
1000
1000

40 48 c 11 17 1186,7


3604,526
3603,182
3603,470
41 =
3604,526 3603, 470 =
1, 056, 42 =
3600 3603, 470 =
3, 47

384


(3600) : 181,789 3,47
. ,

, .
.
, AnyLogic-,
, (.
. 11.2).
11.2.
2
GPSS World AnyLogic.
AnyLogic.
1. ___. ___ .
2. Main
.
3. int. : 9017. , .
4. GPSS- .
double. : 1000.
5. double.
6. Kontrol. sink :
Java :
if(.in.count() == main. ){
main.=time();
stopSimulation();}



.
1.
.
2. : .
385

3. : :
_____.
4. .
(. . 11.2).
. 11.2, .
16641.
5. Java.
6. :
data.reset();.
7. :
data.add( time()/ );
7. . .
8. (. . 11.3). (. . 11.2).
9. Main . .
.
10. .
11. : . :
data. -: silver. :
red. .
12. . :
data.
.
13. text :.
14. text. ,
. : data.mean().
15.
. . , .


.
AnyLogic.
. 11.5.
386

. 11.5.

. 11.2
GPSS World AnyLogic.
, 11 =
0,66 . , ,
, 11 .
12 =
42,903 . ,
480 ,
..
GPSS World
, AnyLogic7, 2 23 48 .
387

11.2

GPSS World

AnyLogic6


9017
9017


1000
1000

2 23 48 30 54 c

436,50
437,16

AnyLogic7
9017
1000
3046,4
437,097

11 =
436,500 437, 097 =
0,597, 12 =
480 437, 097 =
42,903

,
,
.
. ,
AnyLogic GPSS World
. ,
,
.

388

12.
1

n1 , n2
, L , n
. T1, T2, , Tn
.
. T1, T2, , Tn .
.
T1, T2, , Tn1 .
,
. ,
, . T1,
T2, , Tn2
. , ,
. T1, T2, , Tn2
.
. T1,
T2, , Tn1 .
,
.
.
T1, T2, , Tn2 .
. T1,
T2, , Tn2 .

.
, .

. L ,

N .
. .
= 0,1
= 0,95.


.
389


n1 , n2
, L , n
. T1, T2, , Tn
.
. T1, T2, , Tn .
.
T1, T2, , Tn1 .
,
. ,
, . T1,
T2, , Tn2
. , ,
. T1, T2, , Tn2
.
. T1,
T2, , Tn1 .
,
.
.
T1, T2, , Tn2 .
. T1,
T2, , Tn2 .

.
,
.

. ,


.
. .
.


.
390


n1 , n2
, L , n
. T1, T2, , Tn
.
. T1, T2, , Tn .
.
T1, T2, , Tn1 .
,
. ,
, . T1,
T2, , Tn2
. , ,
. T1, T2, , Tn2

. T1, T2, , Tn1


. ,

.
.
T1, T2, , Tn2 .
. T1,
T2, , Tn2 .

.
1
. ,
1
1,
.
,
1.
.
, .

T .
,
391


.
.
.
= 0,01 = 0,95.


.
4

n1 , n1 ,
. . .
T1, T2, , Tn1 . n1
.
n11, n12, ,
n1n .
T11, T12, , T1n .
q11, q12, , q1n %
.
.
, . .
n2 .
.
, n1
. Tc .
n3
.
. T .
q2 % .
,
. T
.
.

. T
. q4 % ,
.
.
392

.
,
.
.
.
= 1 = 0,95.


.
5

n1 , n1 ,
. . .
T1, T2, , Tn1 . n1
.
n11, n12, ,
n1n .
T11, T12, , T1n .
q11, q12, , q1n %
.
.
, . .
n2 .
.
, n1
. Tc .
n3
.
.
T .
q2 % .
,
. T
.
.

. T .
393

q4 % ,
.
.

.

N .
.
.
= 0,1 = 0,95.


.
6

n1 , n1 ,
. . .
T1, T2, , Tn1 . n1
.
n11, n12, ,
n1n .
T11, T12, , T1n .
q11, q12, , q1n %
.
.
, . .
n2 .
.
, n1
. Tc .
n3
.
. T .
q2 % .
q3 .
,
. T
.
394

. ,
,
. ,
,
.

. T .
q4 % ,

.
.

.

(42 ).
.
.
= 1 = 0,99.


.
7

()
n1 T1,
T2, , Tn1. n2
1, 2, , n2 (p1+p2+...+pn2 = 1)
S1, S2,... , Sn2 () .
. 1-

.
L1 ,
.
.
Q /.
n3 ,
k1, k2, , kn3 .
395


p1, p2, , pn3 (p1+p2++pn3 = 1).
V /.

,
, .
.
L2 .
.
T1 T2
. T1 T2
.
1-
,
. P

, ,
.
.

.
,
N
.
.
.
= 0,1 = 0,99.


.
8

()
n1 T1,
T2, , Tn1. n2
1, 2, , n2 (p1+p2+...+pn2 = 1)
S1, S2,... , Sn2 () .
.
L1 ,
396

. 1-

.
.
Q /.
n3 ,
k1, k2, , kn3 .

p1, p2, , pn3 (p1+p2++pn3 = 1).
V /.

,
, .
.
L2 .
.
T1 T2
. T1 T2
.
1-
,
. P

, ,
.
.

.
, ,
, Q V
T .
.
.
= 0,01 = 0,99.


.

397


()
n1 T1,
T2, , Tn1. n2
1, 2, , n2 (p1+p2+...+pn2 = 1)
S1, S2,... , Sn2 () .
.
L1 ,
. 1-

.
.
Q /.
n3 ,
k1, k2, , kn3 .

p1, p2, , pn3 (p1+p2++pn3 = 1).
V1, V2, , Vn3 /
.
1-
.

,
, ,
. L2
.
.
T1 T2
. T1 T2
.
1- ,
. P

, ,
.
.

398


.
,
, , Q V
.
.
.
= 0,01 = 0,95.
T .


.
10

()
n1 T1,
T2, , Tn1. n2
1, 2, , n2 (p1+p2+...+pn2 = 1)
S1, S2,... , Sn2 () .
.
L1 ,
. 1-

.
.
Q /.
n3 ,
k1, k2, , kn3 .

p1, p2, , pn3 (p1+p2++pn3 = 1).
V1, V2, , Vn3 /
.
1-
.

,
, , .
L21, L22, ,
L2n3 .
399

.
T1 T2
. T1 T2
.
1-
,
. P

, ,
.
.

.
,
, , Q V
.
. .
= 0,01
= 0,95. T
.


.
11

n1 () n2 (n21 +
n22 + + n2n2 = n2) n3 .
.
, ,
. ,
, .
n4.
n5 . T1, T2,
, Tn2 ,
, . T21,
T22, , T2n2
.
, , S1
.
400

S2 .
S31, S32, , S3n2
. S4
.


.
.

.
= 0,01
= 0,99.
,
.
12

n1 () n2 (n21 +
n22 + + n2n2 = n2) n3 .
.
, ,
. ,
, .
n4.
n5 . T1, T2,
, Tn2 ,
, . T21,
T22, , T2n2
.
, , S1
.
S2 .
S31, S32, , S3n2
. S4
.


. T

.
401


T .

= 0,01 = 0,99.
,
T
.
13

n1 () n2 (n21 +
n22 + + n2n2 = n2) n3 .
.
, ,
. ,
, .
n4.
n5 . T1, T2,
, Tn2 ,
, . T21,
T22, , T2n2
.
1, 2, , n2 n2
. ,
, .
,
S51, S52, , S5n2 .
, , S1
.
S2 .
S31, S32, , S3n2
. S4
.


. T

.

T .
402


= 0,01 = 0,99.
,
T
.
14

() n1
() (1), n2
(2) n3 .
T1/n1 .
i- p1i = 1/n1.
,
p2= n3/(n2+n3),
p3 = n2/(n2+n3).
, j-
p4j = 1/n2. t1
. t1
. ,
, p5. t2 .
T2/n2
. k-
p6k = 1/n2. ,
p7 = n3/(n1+n3),
p8 = n1/(n1+n3).
,
l- p9l = 1/n1.
t2 .
t3
. , ,
p10. t4 .


. ,


,
.
, t1
403

()
.

.

,
.
,
,
.
= 0,01
= 0,99.
15

() n1
() (1), n2
(2), n4 n3
.
T1/n1
. i-
p1i = 1/n1. ,
p2= n3/(n2+n3),
p3 = n2/(n2+n3).
, j-
p4j = 1/n2. t1
. t1
. ,
, p5. t2
.
T2/n2
. k-
p6k = 1/n2. ,
p7 = n3/(n1+n3),
p8 = n1/(n1+n3).
,
l- p9l = 1/n1.
t2 .
t3
404

. , ,
p10. t4 .
T3/n4
. k-
p11k = 1/n4.
, , .
p12k=1/(n1+n2).
t4 .
t5
. ,
, p13. t5 .


. ,


,
.
,
t1
()
.

.

,
.
,
,
.
= 0,01
= 0,99.
16

() n
() ,
.
. ,
().
405

. P1, P2, , Pn ,
. . . , .
11, T12,
, T1n.
, ,
,
. ,
.


.

.
. 1 , . 1 mk1 ,
1. 2
,
.
, ,
.

. T .
:
1 ,
;
1 ;
;
, ;
, .
406

.
.

= 0,01 = 0,99.

.
17

() n
() ,
.
. ,
().
. P1, P2, , Pn
,
. . . , .
11,
T12, , T1n.
, ,
,
. ,
.


.

.
. 1 , . 1 mk1 ,
1. 2
, .
, ,
407

.

.
:
N ;
1 ,
;
1 ;
;
, ;
, .
.
.

= 0,01 = 0,99.

.
18

() n
() ,
.
. ,
().
. P1, P2, , Pn ,
. . . , .
11, T12,
, T1n.
1
.
, .
.
, ,
408

,
. ,
.


.

.
. 1 , . 1 mk1 ,
1. 2
,
.
, ,
.

. T .
:
1 ,
;
1 ;
;
, ;
, .
.
.

= 0,01 = 0,99.

.
19


. .
409

,
. n1.
.


:

0,05
10

0,13
14

0,16
21

0,22
22

0,29
28

0,15
25

n
, 1, 2, , n .
1, 2, , n
. .
q1, q2, , qn % .


1, 2, , n.
q(n+1) % ,
1-q(n+1) %
, .

, .


.
,
.

.
.
.

= 0,01 = 0,95.
T .


.
410

20



. .
,
. n1.
.


:

0,05
10

0,13
14

0,16
21

0,22
22

0,29
28

0,15
25

n
, 1, 2, , n .
1, 2, , n
. .
q1, q2, , qn % .


1, 2, , n.
q(n+1) % ,
1-q(n+1) %
, .

, .


.
,
.
N
.
.
.

= 0,1 = 0, 99.


.
411

21


()
n 1, 2, , n
.
.
11, 21
31 .
n1, n2, , nn
.
n1 .
n2, , nn ,
.
.
n2 .
n3, n4, , nn ,
.
.
. nn
n- .
n- , ,
: 11, 12, 13
, 21, 22, 23 , , Tn1, Tn2, , Tnn
n- .

. ,
, .
q % .

.

.
.
.

= 0,01 = 0, 95.


.
412

22


()
n 1, 2, , n
.
.
11, 21
31 .
n1, n2, , nn
.
n1 .
n2, , nn , .
.
n2 .
n3, n4, , nn ,
.
.
. nn
n- .
n- , ,
: 11, 12, 13
, 21, 22, 23 , , Tn1, Tn2, , Tnn
n- .

. ,
, .
q % .

.
N
.
.
.

= 0,01 = 0, 95.


.
413

23

( . 4.1)
: , ,
, ,
,
. ()
2 3. 2
1 .
1.
:
;
;

;
;
;
() ;

414

. 12.1.
415

;
;
;
.

:
S
P = , S
S
, S ( );
T
t =
, T S
S ;
P = 1 P .
.

GPSS World.
1

Delphi ++. :
;
;

;
,
;
;

;
, GPSS
World;

;
,
,
, .
416

2
GPSS World
,
. 12.2.
1 . 2
. ,

.
.
3 , ,
, .
( ). -.
4
-.
5 - , 3.
6 . . 1, , - ( 7). 17
.
8 18 , 8,
18 , -. - , .
- 8 9,
18 19.
, .
- -
8 9. 9 - ,
1-.
417

. 12.2. (, 1)
418

. 12.2. (, 2)
419

9 : -
- 1- .
- ( 2 ).
9 10,
, . , -
11, - 1.
12 - 1, 13 () .
-
14, ,
, .
9. , -,
, - 1 1 . 15,
1-.
, -, 16, . 1 1214 .
18, 1-
1-
.
- 18 19, 1- 2 .
20 -, 21
2- .
2226 - .
22 - 2
.
23 ,
. ,
.
420

, - 24 25. , 2-.
2-. , - .
2- 2-. 26. 2- 2, - 22 2 .
2- 2-, 27,
2-, 28 1, 9.
29 . ,
.
, .
-,
, .
30 ,
.
. 1 2
.
, ,
,

.
3 4
AnyLogic
(. 12.1)
, . 12.2.
,
.
. 3 4
.
.
421




, , ,

.
,
70 %
. :
, - .
,
.
,
, .
,

, :
?
?
. [24]: ,
,
,
.

GPSS World AnyLogic

GPSS
World AnyLogic .
,
.
,

.

422


1. . .
GPSS World AnyLogic. 1 // . 6 (30).
2010. . 69-82.
2. . .
GPSS World AnyLogic. 2 // . 4 (34).
2011. . 50-62.
3. . .
- : .

. -2011 .: ,
2011.
4. . . GPSS World AnyLogic
- :
www.xjtek.ru, 2011.
5. . ., . .
: .
.
-2011 .: , 2011.
6. . ., . .

.
: . . .: , 2009.
7. . ., . . :
. , 2010.
8. . ., . ., . . : . .:
, 2011.
9. . . .
GPSS World: . . .: -, 2004.
10. . ., . ., . .

: .
.
-2007 .: , 2007.
11. . ., . .
: .
.
-2009 .: , 2009.
12. . ., . .
: .
.
-2009 .: , 2009.
13. . . AnyLogic
GPSS World. .ru, 2013, 436 . ISBN 978-5-9556-0146-5.
423

14. . ., . . . ,
- :
-2012.
.: , 2012. . 50-55.
15. . ., . ., . .
()

// 6
. ., 2011.
16. . ., . ., . . : .
www.xjtek.ru, 2011.
17. . . -
: . .
. -2005
.: , 2005.
18. . .
: . .
. -2005 .:
, 2005.
19. . ., ..
AnyLogic.
-2013 , 2013.
20. . . AnyLogic 7
GPSS World. .ru, 2013, 513 .
21. . .
:
: / .. - .: : , 2013. - 448 . ISBN 978-5-9558-0338-8
22. . . :
// . 4 (34). 2011. . 9-29.
23. ., . . .:
, -, 2004.
24. . ., . ., . .
- : .
, 2010, 7 (48).
25. . .
.: , 1978.
26. . GPSS. .:, 1980.
27. The AnyLogic Company anylogic.ru.
424

1


Source

Sink
Enter

.
,
.
, ,
,
.
/ -.


.
in1 in2 ( ),
.
.


(
) .
. , ,
.
, .
.
, .
,

.

Exit

Hold
Split

Combine

SelectOut
put
SelectOut
put5

Queue

Match

MoveTo
Restricted
AreaStart
Restricted
AreaEnd

425


Batch
Unbatch

Pickup
Dropoff
Assembler

Delay


-.
,
- . .
-.
.
, ( 5).

ResourcePool
Seize
Release
Service

ResourceTask

ResourceTaskStart

ResourceTaskEnd

ResourceSendTo

, .
.

.
, ,
.

,
, , .
,
( ).
,
(
).
() /
.
426


.
(
),
.

Conveyor


TimeMeasureStart

TimeMeasureStart
TimeMeasureEnd , , .

- .
TimeMeasureStart ,
,
.

TimeMeasureEnd

TimeMeasureEnd

,
TimeMeasureStart ,
.


RackSystem

,
( PalletRack), .

RackPick


(PalletRack) (RackSystem)
.

RackStore

(PalletRack) (RackSystem).

427


PML Settings

,
.

Wait

Queue : ( free(),
freeAll()).
( , ).

SelectOutputIn

SelectOutputOut
SelectOutput .

SelectOutputOut

SelectOutputIn
SelectOutput .

PlainTransfer

,
,
- .

428

(),
, :
- ,
, .
- , :
, ,
.
- -, .
- - -, .
- ,
, .
- ,
: , .
3D- ,
, ,
.
- ,
.
-
- .
-
: , , , , , , , . .
3D - : , ,
, , , , ..
, , .

429

. 2

430

. 2

431

3
AnyLogic:
;
;

;
;
;
;
;
;
.

432

Вам также может понравиться