![]() |
|
|||||||
| Manufacturing Simulation job shop, flow shop, and assembly line simulation, plus resource utilization, manufacuting efficiency, queuing analysis, implementing kanban |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|||
|
Hi,
I'm using Arena for my project. I have a Hold block of type "Scan for condition". The condition depend on case by case and therefore I would need a If-Then-Else. Any idea on how to do that in the Hold block? Last edited by lthoa; 08-03-2011 at 10:38 AM. Reason: Clarification |
|
|||
|
Within reason, complex conditions can be entered in a Hold block of type Scan for Condition. For example, suppose the entity can proceed if and only if at least one of the following is true: Q1 has fewer than 5 entities in it, or Q2 has fewer than 6 entities in it. The condition would look like: "NQ(Q1) < 5 || NQ(Q2) < 6". To build that, I right-clicked on the gray condition bar and selected Build Expression. To get the "or," I clicked the little "or" box, and that's how the two vertical bars got into the expression. By judicious use of AND, OR, and parentheses, you can build a complex condition.
__________________
E. Williams, PMC |
|
|||
|
[QUOTE=ewilliams;8101]Within reason, complex conditions can be entered in a Hold block of type Scan for Condition. For example, suppose the entity can proceed if and only if at least one of the following is true: Q1 has fewer than 5 entities in it, or Q2 has fewer than 6 entities in it. The condition would look like: "NQ(Q1) < 5 || NQ(Q2) < 6". To build that, I right-clicked on the gray condition bar and selected Build Expression. To get the "or," I clicked the little "or" box, and that's how the two vertical bars got into the expression. By judicious use of AND, OR, and parentheses, you can build a complex condition.[/QUOTE]
Thank you for your great help. Arena designer should have put this function somewhere more visible to users. |
|
|||
|
Be aware that the condition you have specified in the Hold module will be evaluated only for the first entity in the queue (depending on the queue ranking rule).
This makes a big difference if the condition you have specified is entity-dependant (e.g. uses entity attribute). Last edited by Hirotaro; 08-17-2011 at 06:59 AM. |
|
|||
|
[QUOTE=Hirotaro;8104]Be aware that the condition you have specified in the Hold module will be evaluated only for the first entity in the queue (depending on the queue ranking rule).
This makes a big difference if the condition you specified is entity-dependant (e.g. uses entity attribute).[/QUOTE] That is unfortunately my case, I do need to use some entity attributes. I wonder how Arena evaluates other entities rather than the first one in the queue. |
|
|||
|
One option might be to use the queue ranking in the queue that precedes the scan block or the queue associated with the HOLD module. By specifying queue ranking with use of an expression (include entity attributes) you can place the suitable entities at the beginning of the queue.
|
![]() |
| Tags |
| condition, hold block, if-then-else |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|