0
votes

Good afternoon,

I started working with AnyLogic some weeks ago. I modelled a small supply chain in which customers are connected to the product of their first preference (product A or B). If the product of their first preference is out of stock, they either choose the other product or they do not buy anything.

In order to model this, I used the assembler. I used three sources for the assembler: one for the customer, one for product A, and one for product B. This all works how I want it to work. However, during modelling it seemed that the number of sources in the assembler is fixed to five (or less). This would be a limiting factor for other supply chains that I want to model in AnyLogic.

I searched a lot on the internet and in the Help fuction of Anylogic, but I could not find an answer and therefore I am asking it here: Is the number of sources in the assembler of Anylogic really limited to five or less, or can this be changed somewhere? Or is it because I am using a Personal Learning Edition?

I hope someone can help me!

1
I would think this off topic and should be researched at the homepage of anylogic.Kami Kaze

1 Answers

0
votes

You can't create an assembler with more than 5 inputs... UNLESS you create your own agent... But I won't get into that, instead I will give you a model that works equivalently to the assembler... let's assume the assembler needs 3 parts from source, 2 parts from source1 and 1 part from source4

assembler equivalent

On enter on each wait block you run the freeReady() function that has the following code:

if(wait.size()>=3 && wait1.size()>=2 && wait2.size()>=1){
    wait.free(wait.get(0));
    wait.free(wait.get(1));
    wait.free(wait.get(2));

    wait1.free(wait1.get(0));
    wait1.free(wait1.get(1));

    wait2.free(wait2.get(0));
}

each batch has the required number of parts required by the assembler (3, 2 and 1 respectively) Finally the service uses the same delay and resources the same way the assembler does...

This example uses 3 inputs just to show you can do the exact same thing without using an assembler... Now you can make your combination of wait/batch/combine/service blocks in order to create your own assembler with 1000 inputs if you want.