Anylogic VS arena

来源:互联网 发布:北大青鸟编程培训 编辑:程序博客网 时间:2024/05/06 03:41

As AnyLogic is a simulation tool, we will be comparing it to Arena. Most of the comparison statements apply also to other traditional tools like Extend, SimProcess, TaylorED, and the likes.

Arena is a classical simulation tool. It is based entirely on flowcharts - a good clear concept of representing processes that take place in business, manufacturing, etc.

This concept however has been around for more than 30 years now, and in year 2007 Arena flowcharts appear an out-of-date technology ignoring the latest advances in the complex system specification and design: object orientedness, open architectures, reusability, hybrid (discrete/continuous) systems theory, and others, which can and must be applied to achieve compact, concise and adequate models in these important application fields.

Arena offers a number of block libraries, or template panels (Basic Process, Advanced Process, ...). The user constructs the models by dragging and connecting ready-made blocks, filling the associated forms and spreadsheets. A primitive proprietary scripting language is used to specify expressions in them. That is OK when your model is simple and satisfies the assumptions assumed in these blocks.

However, as the complexity of the model grows (and we are talking about industrial modeling, not about the toy academic examples), you start looking for methodology to structure the model, to partition, to abstract from details. Here Arena cannot offer you much: a construct of submodel enables hierarchical modeling in its most primitive form, and this is it.

AnyLogic fully exploits the advantages of object-oriented approach to modeling that was suggested, developed and matured during the last two decades. The basic building block of AnyLogic model is active object. In primitive cases AnyLogic active objects will act just like Arena blocks and resources: there also is a library of objects like Seize, Service, Batch, etc. included with AyLogic 6, which enables the same drag-and-drop rapid model development.

However, Active Object is a far more powerful construct: it has interface, internal behavior, can encapsulate another objects, has parameters, can inherit properties from other objects, etc. This makes it a highly reusable construct: you develop it once and then instantiate many times in different contexts with different parameter settings, or maybe use encapsulation/inheritance to define "basically similar, but a bit different behavior".

In AnyLogic you can define chains, arrays of objects or other regular structures, and make the size of those a parameter of your model - this enables you to develop really scalable models - in Arena you cannot do that. AnyLogic does not limit you with the static model structure: you can add/delete objects or change their interconnection during the model runtime to reflect the dynamic changes in the real life system - no other tool would give you that possibility.

Using Arena you are limited with the block libraries that are included with the product. But what if the logic of your model is a bit different from the one hardcoded in those blocks? For example, the quantity of the resource to be seized depends on the entity, the resource state, and some external parameters in some complex way? You probably would try to find a workaround by adding more test/calculation blocks, or maybe try to code your own blocks, but this is very complicated task in Arena.

Creating your own objects with arbitrary complex customized functionality is really easy in AnyLogic! For example, if your object shows sophisticated time- and event- ordering of operations, you can model its behavior using a statechart (state machine). You also can use events, timers, etc.

A big advantage of AnyLogic is its Java foundation. We do not restrict the user with a proprietary scripting language - we just allow to write expressions and code in Java whenever needed - to define parameters or to implement some additional functionality.

This is allowed at any place in the model. Java may also be used to access external programs and data to build highly interoperable simulation models. Any you have direct access to a huge amount of Java packages being developed worldwide, be it maths, statistics, graphics, or other. Arena is not nearly as flexible and interoperable as AnyLogic.

AnyLogic models can be exported as Java applets or portable standalone Java applications (only Professional feature). They do not need AnyLogic development environment to run. Moreover, they are cross-platform and can run anywhere where Java runtime is installed. Therefore they can even run in Web browser as applets, which makes AnyLogic an ultimate tool to instantly share your models with others by simple putting them on your website - this is a unique feature of AnyLogic - no other tool would give you that!

Another big advantage of AnyLogic is its ability to handle discrete, continuous and hybrid systems. The problem of representing e.g. continuous material flow combined with discrete events is not a challenge for simulations anymore! You can define variables, algebraic/differential equations over them, and conditions on those variables when events should be triggered - and AnyLogic will take care of solving those equations with state-of-the art numerical methods. Traditional tools do not have this functionality or suggest some workarounds.

The last point also means that AnyLogic can be used in System Dynamics domain (instead of PowerSim and VenSim) to analyze business processes on a higher level of abstraction - when they are described in stock-and-flow manner using variables and equations in continuous time.

AnyLogic animation technology is also organized in object oriented way, as the model itself. You develop individual animations for active objects and then AnyLogic will take care of assembling the picture. That means animations are highly reusable. Also, they are 100% Java and can be shown in applets.

With respect to optimization, both AnyLogic 6 and Arena include OptQuest optimizer from OptTek - a world leading optimizer, so here they are equally well equipped.

Summarizing the above, AnyLogic represents a new generation in system simulation software that allows to successfully managing complexity and size of the problem.

AnyLogic will adapt to any kind of system behavior you can imagine. AnyLogic models are much more compact, concise and efficient than same in traditional tools like Arena. Last, but not least, AnyLogic simulations run faster than in Arena or Extend.