Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

imit_model / AnyLogic / UsersManual(AnyLogic)

.pdf
Скачиваний:
125
Добавлен:
06.06.2015
Размер:
4.28 Mб
Скачать

AnyLogic V

User’s Manual

© 1992-2004 XJ Technologies Company Ltd. www.xjtek.com

AnyLogic V User’s Manual

Copyright © 1992-2004 XJ Technologies. All rights reserved.

XJ Technologies Company Ltd

AnyLogic@xjtek.com

http://www.xjtek.com/products/anylogic

ii

© 1992-2004 XJ Technologies http://www.xjtek.com

 

 

 

 

AnyLogic V User’s Manual

Contents

 

1.

CREATING ANYLOGIC MODEL .......................................................................

1

 

1.1

ANYLOGIC MODELING LANGUAGE.....................................................................

1

 

1.2

STARTING ANYLOGIC ..................................................................................................

2

 

1.2.1

Working with projects ........................................................................................................

4

 

1.3

EDITING THE PROJECT ...............................................................................................

8

 

1.3.1

Project window ...................................................................................................................

9

 

1.3.2

Properties window.............................................................................................................

12

 

1.3.3

Arranging windows ..........................................................................................................

14

 

1.4

MODEL ELEMENTS......................................................................................................

16

 

1.4.1

Project..............................................................................................................................

16

 

1.4.2

Package ...........................................................................................................................

17

 

1.4.3

Library............................................................................................................................

17

 

1.4.4

Experiment......................................................................................................................

18

 

1.5

ACTIVE OBJECT .............................................................................................................

20

 

1.5.1

Structure diagram.............................................................................................................

21

 

1.5.2

Diagram editors. Generic operations .................................................................................

23

 

1.5.3

Active object icon..............................................................................................................

29

 

1.5.4

Encapsulated objects.........................................................................................................

34

 

1.5.5

Root object .......................................................................................................................

36

 

1.5.6

Active object data.............................................................................................................

37

 

1.5.7

Active object behavior .......................................................................................................

38

 

1.5.8

Active objects interaction...................................................................................................

40

 

1.5.9

Writing code for an active object ........................................................................................

43

 

1.5.10

Active object inheritance....................................................................................................

46

2.

REPLICATED OBJECTS ....................................................................................

48

© 1992-2004 XJ Technologies http://www.xjtek.com

iii

AnyLogic V User’s Manual

 

2.1 CREATING A REPLICATED OBJECT .....................................................................

48

2.1.1 Replication factor parameterization...................................................................................

49

2.2ACCESSING AND MODIFYING A REPLICATED OBJECT AT RUNTIME 49

2.2.1 Accessing replicated objects from code.................................................................................

50

2.2.2 Adding/removing objects to/from a replicated object..........................................................

50

2.3

CONNECTING REPLICATED OBJECTS................................................................

51

2.3.1 Connecting interface elements of replicated objects graphically..............................................

51

2.3.2 Connecting replicated objects with other objects...................................................................

52

2.3.3 Connecting individual elements of a replicated object...........................................................

55

2.3.4 Connecting replicated objects programmatically...................................................................

56

2.3.5 Creating a ring of cells ......................................................................................................

57

2.3.6 Creating a torus of cells.....................................................................................................

58

2.4

VIEWING AND MODIFYING REPLICATED OBJECTS AT RUNTIME ......

60

2.5

ANIMATING A REPLICATED OBJECT..................................................................

61

3. PARAMETERS.....................................................................................................

63

3.1

PARAMETER TYPES......................................................................................................

63

3.2

DEFINING PARAMETERS ..........................................................................................

65

3.3

SETTING UP ACTUAL PARAMETER VALUES....................................................

68

3.4

MODIFYING PARAMETERS AT RUNTIME..........................................................

70

3.4.1 Modifying parameters from Model Explorer .....................................................................

70

3.4.2 Modifying parameters from AnyLogic animation...............................................................

70

3.4.3 Accessing and modifying parameters programmatically.......................................................

71

3.4.4 Defining parameter change handlers ..................................................................................

71

3.5

PARAMETER PROPAGATION...................................................................................

72

3.6

DYNAMIC PARAMETERS............................................................................................

75

3.7

OBSERVING MODEL BEHAVIOR WITH DIFFERENT MODEL

PARAMETERS..............................................................................................................................

75

3.8

OPTIMIZING MODEL PARAMETERS....................................................................

76

iv

© 1992-2004 XJ Technologies http://www.xjtek.com

 

 

 

 

AnyLogic V User’s Manual

4.

VARIABLES..........................................................................................................

77

 

4.1

DEFINING A VARIABLE .............................................................................................

77

 

4.1.1 Initializing a scalar variable .............................................................................................

80

 

4.1.2 Viewing and modifying scalar variables at runtime............................................................

81

 

4.2

EQUATIONS.....................................................................................................................

87

 

4.3

VARIABLE SHARING....................................................................................................

87

 

4.3.1

Variable sharing rules......................................................................................................

88

 

4.3.2

Connecting variables.........................................................................................................

90

 

4.4

CHANGING VARIABLES AND REACTING TO THEIR CHANGES ............

95

5.

EQUATIONS........................................................................................................

98

 

5.1

EQUATION TYPES ........................................................................................................

98

 

5.2

DEFINING AN EQUATION .....................................................................................

103

 

5.3

FUNCTIONS....................................................................................................................

105

 

5.3.1

Predefined functions ........................................................................................................

106

 

5.3.2

Using intelli-sense...........................................................................................................

108

 

5.3.3

Lookup tables................................................................................................................

109

 

5.3.4

Mathematical functions...................................................................................................

114

 

5.3.5

Algorithmic functions .....................................................................................................

115

 

5.4

ALGEBRAIC LOOPS ....................................................................................................

117

 

5.5

RUNTIME ERRORS CAUSED BY EQUATIONS.................................................

118

 

5.6

NUMERICAL METHODS ...........................................................................................

118

6. MATRICES AND HYPER-ARRAYS..................................................................

121

 

6.1

MATRICES .......................................................................................................................

121

 

6.1.1

Defining a matrix ..........................................................................................................

121

 

6.1.2 Setting an initial value for a matrix................................................................................

121

 

6.1.3 Accessing and modifying a matrix from Model Viewer....................................................

123

 

6.1.4 Accessing and modifying a matrix from code ...................................................................

124

© 1992-2004 XJ Technologies http://www.xjtek.com

v

AnyLogic V User’s Manual

6.1.5 Using matrices in equations ............................................................................................

128

6.1.6

Working with matrices ...................................................................................................

130

6.2

HYPER-ARRAYS ............................................................................................................

132

6.2.1

Enumerations ................................................................................................................

133

6.2.2 Defining variables of hyper-array type .............................................................................

134

6.2.3 Setting an initial value for a hyper-array .........................................................................

135

6.2.4

Aggregation functions .....................................................................................................

139

6.2.5 Using hyper-arrays in equations......................................................................................

140

7. MESSAGE PASSING...........................................................................................

144

7.1

PORTS ...............................................................................................................................

145

7.1.1 Adding a port to an active object class.............................................................................

145

7.1.2

Port queue......................................................................................................................

149

7.1.3

Connecting ports.............................................................................................................

150

7.1.4 Connecting ports to statecharts ........................................................................................

153

7.1.5

Message routing rules......................................................................................................

155

7.1.6 Sending and processing messages......................................................................................

156

7.1.7

Receiving messages ..........................................................................................................

159

7.1.8 Inspecting port state at runtime .......................................................................................

161

7.2

MESSAGES ......................................................................................................................

163

7.2.1

Defining message classes..................................................................................................

163

7.2.2 Cloning messages to avoid sharing violation .....................................................................

166

7.2.3 Messages encapsulating/inheriting other messages ............................................................

166

7.3 DEFINING CUSTOM PORT CLASSES...................................................................

167

7.3.1

Predefined port classes.....................................................................................................

167

7.4 MESSAGE PASSING USE CASES.............................................................................

172

7.4.1 Filtering messages by message contents .............................................................................

172

7.4.2 Filtering messages by message type...................................................................................

173

vi

© 1992-2004 XJ Technologies http://www.xjtek.com

 

 

 

 

AnyLogic V User’s Manual

 

7.4.3

Sending a message with a delay .......................................................................................

175

 

7.4.4

Sending a message with a delay dependent on the message field .........................................

177

 

7.4.5

Getting information on connected objects ..........................................................................

178

 

7.4.6

Sending messages to all recipients ....................................................................................

181

 

7.4.7

Sending a message to a specific recipient / a group of recipients.........................................

182

 

7.4.8

Verifying port connections at runtime..............................................................................

192

 

7.4.9

Defining message class constructors..................................................................................

195

 

7.4.10

Modeling a LIFO queue ................................................................................................

196

 

7.4.11

Modeling a priority queue ...............................................................................................

199

 

7.4.12

Connecting ports at runtime............................................................................................

200

 

7.4.13

Modeling a system with dynamically changing structure....................................................

204

 

7.4.14

Implementing instantaneous data feedback ......................................................................

205

 

7.4.15

Implementing instantaneous message exchange .................................................................

206

 

7.4.16

Message passing in Enterprise Library ...........................................................................

211

8.

TIMERS ...............................................................................................................

218

 

8.1

DYNAMIC TIMERS.......................................................................................................

219

 

8.2

STATIC AND CHART TIMERS .................................................................................

220

9.

STATECHARTS .................................................................................................

222

 

9.1

CREATING A STATECHART....................................................................................

222

 

9.2

STATECHART DIAGRAM..........................................................................................

224

 

9.3

EXECUTION ORDER..................................................................................................

236

 

9.4

TRIGGERING A TRANSITION................................................................................

238

 

9.4.1

Immediate triggering .......................................................................................................

239

 

9.4.2

Triggering after a timeout................................................................................................

240

 

9.4.3

Change event trigger........................................................................................................

240

 

9.4.4

Signal event....................................................................................................................

243

 

9.5

OBSERVING STATECHART AT RUNTIME ........................................................

247

© 1992-2004 XJ Technologies http://www.xjtek.com

vii

AnyLogic V User’s Manual

9.5.1

Animated statechart diagram..........................................................................................

247

9.5.2

Debugging a statechart....................................................................................................

248

10. STOCHASTIC MODELING .............................................................................

250

10.1

RANDOM NUMBER GENERATOR........................................................................

250

10.2

PROBABILITY DISTRIBUTIONS.............................................................................

251

11. RUNNING AND OBSERVING A MODEL.....................................................

258

11.1

RUNNING THE MODEL WITH ANYLOGIC......................................................

259

11.1.1

Creating and destroying the model ...................................................................................

259

11.1.2

Controlling the model execution.......................................................................................

260

11.1.3

Setting up model simulation speed ...................................................................................

264

11.2

VIEWING AND CONTROLLING THE MODEL................................................

265

11.2.1

Model Explorer .............................................................................................................

266

11.2.2

Animated structure diagram ...........................................................................................

270

11.2.3

Animated statechart diagram..........................................................................................

273

11.2.4

Inspect window ...............................................................................................................

275

11.2.5

Log window ...................................................................................................................

276

11.2.6

Chart window ................................................................................................................

278

11.3

DEBUGGING THE MODEL .....................................................................................

280

11.4

SETTING UP MODEL EXECUTION PARAMETERS .......................................

281

11.5

OPTIMIZING A MODEL ............................................................................................

281

12. ANIMATION......................................................................................................

282

12.1

ANIMATION CONCEPTS ..........................................................................................

282

12.1.1

Reflecting the state of an object in animation....................................................................

283

12.1.2

Animating hierarchical models........................................................................................

285

12.1.3

Interactive control of animation .......................................................................................

287

12.2

ANIMATION DIAGRAM ............................................................................................

287

viii

© 1992-2004 XJ Technologies http://www.xjtek.com

 

 

 

AnyLogic V User’s Manual

12.2.1

Animation editor ...........................................................................................................

287

12.2.2

Animation shapes ..........................................................................................................

292

12.2.3

Indicators.......................................................................................................................

299

12.2.4

Controls.........................................................................................................................

302

12.2.5 Writing code for an animation ........................................................................................

306

12.3

3D ANIMATION DIAGRAM .....................................................................................

307

12.3.1

3D animation editor ......................................................................................................

307

12.3.2

3D animation shapes .....................................................................................................

312

12.3.3 3D animation rendering principles ..................................................................................

322

12.3.4

Managing a camera........................................................................................................

322

12.3.5 Writing code for 3D animation.......................................................................................

325

12.4

RUNNING ANIMATION............................................................................................

326

12.5

RUNNING 3D ANIMATION .....................................................................................

327

12.5.1 Moving and rotating the animation .................................................................................

328

12.6

CONFIGURING AN ANIMATION RUN...............................................................

328

12.6.1 Setting up animation update rate ....................................................................................

329

12.6.2 Setting up animation anti-aliasing ..................................................................................

330

13. SIMULATION SETTINGS ................................................................................

331

13.1

SIMULATION SPEED ..................................................................................................

331

13.2

MODEL REPLICATIONS............................................................................................

333

13.3

SIMULATION STOP CONDITIONS .......................................................................

333

13.3.1 Defining a model time stop condition...............................................................................

334

13.3.2 Defining additional stop conditions .................................................................................

334

13.4

CONTROLLING MODEL REPLICATIONS .........................................................

337

13.4.1 Writing code to be executed between model replications.....................................................

337

13.4.2 API to control replications..............................................................................................

337

14. DEBUGGING A MODEL..................................................................................

340

© 1992-2004 XJ Technologies http://www.xjtek.com

ix

AnyLogic V User’s Manual

14.1

CHECKING MODEL SYNTAX.................................................................................

340

14.2

VIEWING AND MODIFYING ANYLOGIC EVENTS.......................................

342

14.2.1 Event processing at the simulation engine ........................................................................

342

14.2.2

Events window...............................................................................................................

346

14.3

BREAKPOINTS ..............................................................................................................

348

14.4

LOGGING A MODEL..................................................................................................

349

14.4.1

Log window ...................................................................................................................

349

14.4.2

Writing to logs ...............................................................................................................

351

14.5

RUNTIME ERRORS ......................................................................................................

351

14.5.1

Java exceptions...............................................................................................................

352

14.5.2

Throwing runtime errors .................................................................................................

352

14.5.3

Simulation errors............................................................................................................

353

14.6

DEBUGGING JAVA CODE .......................................................................................

353

15.CREATING A MODEL WITH DYNAMICALLY CHANGING STRUCTURE 354

15.1MANUAL CREATION AND DESTRUCTION OF ENCAPSULATED OBJECTS......................................................................................................................................354

15.1.1 Writing code executed on object creation and destruction...................................................

355

15.2

DYNAMICALLY CHANGING CONNECTIONS ................................................

357

16. OPTIMIZATION ...............................................................................................

358

16.1

SETTING UP AN OPTIMIZATION.........................................................................

359

16.1.1 Creating an optimization experiment ..............................................................................

359

16.1.2

Defining the objective......................................................................................................

361

16.1.3

Defining optimization parameters ...................................................................................

362

16.2

CONSTRAINTS ..............................................................................................................

365

16.2.1

Defining a constraint......................................................................................................

365

16.2.2 Feasible and infeasible solutions......................................................................................

366

16.3

OPTIMIZATION SETTINGS .....................................................................................

367

x

 

© 1992-2004 XJ Technologies

http://www.xjtek.com

Соседние файлы в папке AnyLogic