ATTENTIONThis FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices. |
flexsim.com |
#1
|
||||
|
||||
Selection of jobs based on ranking rule
Hi I am trying to solve the problem based on the order of jobs that to be selected and processed.I have created a small model .
In the model i have created 6 flowitems and assign them a label named "Rank". The first flowitem has a "Rank" of 5, the second one is assigned 4 etc... The items will send to the processor from queue based on the ranking ( start from no 5) and the processor will process the items with the lowest ranking first ( start from rank no.1). The items with large ranking must hold in the queue first and wait for the items with low ranking send out. Example, if items with ranking no5 arrive at the queue first, it should wait until the items with ranking no4 arrive just can send out .I have ranked the items randomly.So the items with different itemtypes if have the same ranking then the processor take the one that has been waiting the longest. I want the queues release items only if batchsize is reached.So the processor processes one itemtype at one time.I have marked perform batching Please help in solving the problem Last edited by sagar bolisetti; 01-31-2014 at 01:45 AM. |
#2
|
||||
|
||||
May be my explanation of the problem is not clear.
I have six itemtypes infront of the processor.The processor should pull the items that have lowest ranking(Rank1).The items with highest ranking should wait until all lowest ranking items are processed.For example in my present model I have ranked the items 1,2,2,3,4,4 At one instant of time a situation comes where the items with ranking present are 1,2,2,3.So it should pull 1.If the quantity of items with rank 1 are finished.Again the searching starts for 2,2,3.Now the processor should select rank 2.And among Two 2's.It should pull the item with longest waiting time.I hope i made my point clear sagar |
#3
|
||||
|
||||
Hello Sagar,
you will probably get some problems with your model, because you activated Batching in all of your queues, but you didn't define in all the batch size. My approach is to use pulling for the input of the processor. The Pull Requirement tests:
If all possible "Rank"s and items are tested, then the label of processor named "Rank" is set back to the value "1". Jörg |
#4
|
||||
|
||||
Hi jorg,
I have used pickoption (sort by expression) statement block for comparing the variables.The model is not running.Please correct my model Last edited by sagar bolisetti; 02-01-2014 at 08:01 PM. Reason: Totally wrong |
#5
|
||||
|
||||
Problem solved with the help of Logan's support.I am uploading for the benefit of users.The whole thing was commented in pull requirement.
Last edited by sagar bolisetti; 12-15-2014 at 05:18 AM. Reason: Uploaded attachment |
The Following 2 Users Say Thank You to sagar bolisetti For This Useful Post: | ||
Tom David (02-11-2014) |
#6
|
||||
|
||||
I have a little extension to the problem with the same pulling criteria.
The logic i want to implement is basically a Dual column CNC machine.For example I have two items A&B.The machine will process the items in the pattern A,B,A,B.This pattern is not necessarily true but it happens more often.I want to implement this functionality.This logic is unlike the above model where the processor will be working for only one item Meaning the processor should pull the first two items that have lowest ranking.The items A & B if item A is finished then it should pull the next having lowest ranking. For example in the second model i have first two items with rank2.So after finishing one item type.Then processor should pull rank1 and start working for rank2 and rank1 .Every time the processor should be working for two items one after the other.The pulling criteria is if the queue that is next in line having lowest ranking if does not have enough for a batch yet, it should move on to the next queue or wait for the next queue that reaches its batch size and having lowest ranking.If there is tie in lowest ranking then it should pull that is waiting for the longest.I dont know how to realize this.Please solve this problem Last edited by sagar bolisetti; 02-09-2014 at 07:40 AM. Reason: Typed first model instead of second model |
#7
|
||||
|
||||
Hello Sagar,
Quote:
You can build a balance table of all stored items. Each time an item enters one of the queues in front of the processor the item data is put into a global table. Then the table is evaluated or sorted to the condition the processor should pull the item. Then the output of the queue is opened and the processor pull that item in the pull requirement. On exit the queue closes its output. The processor updates the global balance table thus it deletes the data row. After this the output of the queue is opened in which the next item is queued. Jörg Last edited by Jörg Vogel; 12-03-2014 at 03:01 AM. Reason: lost attached model |
The Following 3 Users Say Thank You to Jörg Vogel For This Useful Post: | ||
Tom David (02-11-2014) |
Thread | Thread Starter | Forum | Replies | Last Post |
FlexTips: Port Connection Ranking | Markus Cueva | FlexSim Media | 0 | 09-04-2013 11:34 AM |
Path Selection | Nischith Kashyap | Q&A | 4 | 03-21-2011 07:11 AM |
Pull rule | Alan Pope | Q&A | 4 | 04-15-2010 07:46 AM |
Red selection box location? | zhang xin | Q&A | 3 | 10-22-2009 07:24 AM |
MergeSort Spacing Rule For Recirculation | Sung Kim | Q&A | 2 | 01-21-2008 09:26 AM |