question

Simon DB avatar image
0 Likes"
Simon DB asked Jason Lightfoot commented

Pull strategy by percentage

Hi,

Is it possible to make a pull strategy by percentage for 4 item types. Each item type has 2 queues(in total 8 queues) but once a queue is started you can't shift to the second one. Once it is empty you automatically shift to the other until this one is empty. I should be able to choose the first queue for eacht item type.

Thanks

FlexSim 20.2.3
pull strategypercentage
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Jason Lightfoot commented

Here is my example: pull_by_alternate_queue.fsm

8 queues get filled up. A pair of queues, which are conneted by center port connection store a Type. A queue can release items only if the content reaches 10 items. Then the label value called active changes from 1 to 0. This queue releases items, but she doesn't collect any items until she gets empty again. There is always collecting only one queue per Type. The processor, which works to pull items by Type from a list, does this only if the queue and the label "active" has got a value of 0. The Type value is the partition value. If an item of a Type is currently not in the state active = 0 a back order is created and the processor waits until a queue of this type is filled up to 10 items. Then the active field changes dynamically to the value 0 and an item of this Type gets pulled.

Pull requirement to fill queues

/***popup:SpecificLabel*/
/**Specific Item Label & conditions*/
string labelname = /** \nLabel: *//***tag:label*//**/"Type"/**/;
Variant value = /** \nValue: *//***tag:value*//**/current.curType/**/;
if(item.labels[labelname].value == value) { // right Type 
   if(current.active && current.centerObjects[1].active) // queue collects        
	 return current.subnodes.length>=current.centerObjects[1].subnodes.length;
	 return current.active; // queue is empty and is able to collect
  }
return 0; // wrong Type or queue is releasing

Entry and Exit triggers change value of label "active".

Pull from List query in processor for the randomly chosen partition by a dempirical distribution

WHERE isActive = 0

isActive is a dynamic field evaluating the label value "active" of the queue where the item is stored.


· 5
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Simon DB avatar image Simon DB commented ·

Great thanks this is exactly what I was looking for.

0 Likes 0 ·
Simon DB avatar image Simon DB commented ·

Well sorry to bother you more. I have now another issue that I tried to solve but unsuccesfully. I would like to replace the queues by separators now but with the same solution the container won't get removed from the separator. Could you help me further please?

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Simon DB commented ·

Separators and Queues are behaving totally different. You can use a separator to replenish a queue, but to replace a queue by a separator is complete new concept. I would replenish a queue and control the input of the separator by the amount of items available in the queue.

A separator needs in default configuration two output connection. One output port receives the packed items of a container item like a pallet, the other one receives the container item itself.
0 Likes 0 ·
Simon DB avatar image Simon DB commented ·

Hi

With this solution I am unable to close the input of the processor when for example the queue reachs a quantity of 5. Is their still a way to do this?

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Simon DB commented ·

@Simon DB to which queue are you referring when you say it reaches a quanitity of 5. Do you still need help with this, and if so, do you have a model you've taken further that you could post here?

0 Likes 0 ·
Jeanette F avatar image
0 Likes"
Jeanette F answered Jeff Nordgren edited

Hello @Simon DB,

One idea is to push the items to a list that sorts them by the type and pull from the list with set quantities. This post could give you some guidance of how to set that up. I would also search "lists", "push to list", or "pull from list" to see if other posts could help you utilize the power of lists in FliexSim.

· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Simon DB avatar image Simon DB commented ·

Hi @Jeanette F,

Thanks for your answer.
I my case I want an operator to retrieve products in a predefined sequence like (AABACBADCBAD). To avoid losing time when a container/queue is empty I added a second one. I think with your solution I lose my sequence and it becomes something like AAABBBCCCDD. Is there maybe another solution?

0 Likes 0 ·