Each candidate block(s) and stack(s) will be assessed using the weighted sum of its criteria and penalty of the block/stack's job category :
Block/stack with the lowest score will be chosen as target block/stack
Carry-in Job: picking up a block from the top of the arrival stack and placing it on top of a target buffer stack.
Carry-out Job: send the ready block to the handover stack, where it then will leave the simulation
Reposition Job: transfer the target blocks to a more accessible location so later the crane can cut down the number of movements required to deliver the blocks to the handover stack.
Carry in block
Candidate block: the top block on the arrival stack
Criteria:
Penalty
Carry-out block
Candidate block: the block(s) that is ready to send to the handover stack
Criteria
Penalty
If the expected processing duration of the target block > estimate time remaining until the upstream process is blocked, add the penalty to the carry-out block
In case (a), the penalty will not be given to the carry-out block
Reason: minimize the possibility of the upstream process being delayed
Reposition block
Candidate block: block with the three shortest times remaining before overdue
Criteria
Penalty
The penalty score is similar with carry-out candidate block
Carry-in stack
Candidate stack: every available (not on maximum capacity) buffer stack -> to place block from arrival stack
Criteria
Carry-out stack
Candidate stack: every available buffer stack that is not the current stack of the target block
Criteria
Reposition stack
Candidate stack: every available buffer stack to place block(s) on top of target block that will be repositioned
Criteria