ATTENTION

This 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

Go Back   FlexSim Community Forum > FlexSim Software > Q&A
Downloads

Q&A Using Flexsim and building models

  #1  
Old 06-27-2008
chrisquek chrisquek is offline
Flexsim User
 
Join Date: May 2008
Posts: 13
Downloads: 0
Uploads: 0
Thanks: 7
Thanked 0 Times in 0 Posts
Rep Power: 146
chrisquek is on a distinguished road
Default Need help urgently - model with multiple lifts (taskexecuter)

Hi all,

Firstly, how i want my model to work was that 4 lifts will take in people from queue and transport to the processors. All 4 lifts have to be at ground level after they are done with their job and take in people from the queue again. The problem now is that when the lifts are at the same level, only 1 lift will take in people from the queue and the other 3 will just follow the movement of that lift without taking anyone from queue. Can anyone help me out with this and explain to me how you did it? Still new to flexsim and really need lots of help. Help given are really appreciated.

p.s. Model is as attached.

Regards
Chris
Attached Files
File Type: zip lift help.zip (140.6 KB, 426 views)
  #2  
Old 06-27-2008
Anthony Timmiss Anthony Timmiss is offline
Flexsim User
 
Join Date: Aug 2007
Location: Sunderland - UK
Posts: 78
Downloads: 41
Uploads: 0
Thanks: 65
Thanked 45 Times in 28 Posts
Rep Power: 187
Anthony Timmiss will become famous soon enoughAnthony Timmiss will become famous soon enough
Default Try This

Chris

What I have done appears much more simple than what you posted but it appears to work ok, whether or not I have missed something I'm not sure. I have inserted a dispatcher to decide which lift the people go to and then got the lift to send a message to itself when it unloads in order to make it return to the bottom.

Let me know what you think.

Anth
Attached Files
File Type: zip lift.zip (138.1 KB, 323 views)
The Following User Says Thank You to Anthony Timmiss For This Useful Post:
chrisquek (06-28-2008)
  #3  
Old 06-28-2008
chrisquek chrisquek is offline
Flexsim User
 
Join Date: May 2008
Posts: 13
Downloads: 0
Uploads: 0
Thanks: 7
Thanked 0 Times in 0 Posts
Rep Power: 146
chrisquek is on a distinguished road
Default thank you

Hey, thanks man. Did work well. Could you explain what you did? I do not understand flexsim language so really do need some help. Really appreciate if you could help me out here.

Regards
Chris
  #4  
Old 06-30-2008
Anthony Timmiss Anthony Timmiss is offline
Flexsim User
 
Join Date: Aug 2007
Location: Sunderland - UK
Posts: 78
Downloads: 41
Uploads: 0
Thanks: 65
Thanked 45 Times in 28 Posts
Rep Power: 187
Anthony Timmiss will become famous soon enoughAnthony Timmiss will become famous soon enough
Smile Pleased to Help

No problem, I'm no expert either. I'll try and explain what I did. Its not too difficult, honest.

If youv'e got multiple transporters (the elevators) then I would normally use a dispatcher to choose which elevator to use to send the flow items to the different floors. I think this solves the problem that you had originally of them just going through one elevator.

I then identified which part of the long piece of code that you already had in the elevators controlled sending the elevator back to the bottom and deleted the rest, this is executed every time the elevator receives a message. The trick is that the elevator sends the message to itself every time the it unloads a person.

Note - The only reason there are still centerport links between the queue and the elevators is that the elevator checks to see what the z location of the queue is in order to always return to the correct height (z).

Anthony
The Following User Says Thank You to Anthony Timmiss For This Useful Post:
chrisquek (07-11-2008)
  #5  
Old 07-08-2008
chrisquek chrisquek is offline
Flexsim User
 
Join Date: May 2008
Posts: 13
Downloads: 0
Uploads: 0
Thanks: 7
Thanked 0 Times in 0 Posts
Rep Power: 146
chrisquek is on a distinguished road
Default urgent

Hi Anthony,

Hey, i found a problem in the model and i can't solve it. My initial task sequence for the people to alight the lift is gone. The people are not alighting the lift in a lift 1,2,3,4,5,6,7 basis, it jumbles up like send people to 3,4,5, back to 2, than 7. Could you help me solve this part?

Regards chris
  #6  
Old 07-09-2008
Anthony Timmiss Anthony Timmiss is offline
Flexsim User
 
Join Date: Aug 2007
Location: Sunderland - UK
Posts: 78
Downloads: 41
Uploads: 0
Thanks: 65
Thanked 45 Times in 28 Posts
Rep Power: 187
Anthony Timmiss will become famous soon enoughAnthony Timmiss will become famous soon enough
Default

CHris

The model is sending the people to the floor based on the empirical distribution that is setting the label - "floor" - when the people are created.

An easy way to get the solution you require is to open up the main queue that sends to the people to the floors using the lift (Queue 3). Go to the Flow tab and change the 'send to port' command to 'Round Robin'. This will work through the ports in numerical fashion and hence give you a 1,2,3,4,5,6,7,1,2,3,4.... sequence.

The only thing you need to make sure is that you don't change the order in which the output ports of the queue are connected (they are currently ok).

Anth
The Following User Says Thank You to Anthony Timmiss For This Useful Post:
chrisquek (07-11-2008)
  #7  
Old 07-09-2008
Kris Geisberger Kris Geisberger is offline
Flexsim Canada, Forum Moderator
 
Join Date: Aug 2007
Location: Canada
Posts: 209
Downloads: 54
Uploads: 1
Thanks: 99
Thanked 389 Times in 133 Posts
Rep Power: 451
Kris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud of
Default

This model is tougher than I originally thought. I believe Chris needs the people to be delivered to the floor number that matches the "floor" label. Modifying the Send To Port to "Round Robin" will compromise this.

I am also assuming that Chris wants the elevators to behave similar to a hotel. That is, people are not spread evenly amongst elevators. Usually when you press the call button only one door opens and everyone tries to cram into it. Only after the full elevator closes can another be called/opened.

aside:
I thought about taking Anthony's version and setting the priority of the task sequences based on the inverse of the floor label. But by using default transport task sequences for each person, we are still calling multiple elevators at once (not good). Even if we were OK with this, we would have to write custom code in the Break To Requirement to prevent the elevator from unloading first the last item it loaded (finishing the last task sequence it started before finishing all the previously started task sequences in priority sequence). Unfortunately, if the elevator ever filled to its max, the Break To would not be fired on the last item in which case I don't think there is a way to stop this person from being unloaded first. In the end I believe a custom task sequence is the better approach.

When I looked at Chris' original model, I found that he was on the right track... and he understands Flexsim better than he gives himself credit for. Chris fell victim to creating multiple task sequences for the same item. If you look at the input/output statistics of the other elevators, they are not only moving empty, they are all loading the same same items as well. What we need to do is centralize the task sequence creation. The only reason I didn't use Chris' code for the central control is that it would not perform well if a Load Time was implemented because the entire task sequence is written in advance. Basically, if a person entered the queue while an elevator was loading, they would not be allowed on... even if there was space.

What I configured is similar to Chris' original model:

Queue - OnEntry
When a person enters the queue and he is alone, a task sequence is created with a single callsubtasks to 'call the elevator'. This task will cause the elevator that receives the job to send a message to the queue for further instructions.

Dispatcher - PassTo
Shortest Distance

Queue - OnMessage
Load the people one-by-one in the order they arrived. Since loading can take time, callsubtasks to repeat loading the next person until the elevator is full or the queue is empty. In either case, we finish the mission by creating a task sequence to unload all items on the elevator in the order they are arranged, we can do this because we know the SendToPort is simply determined by the "floor" label. I added a final task for the elevator to travel back to the ground floor. Also, if the elevator is full and there are people remaining, we need to create another call for elevator, same as we did OnEntry.

Elevator - OnLoad
Sort the people based on their destination floor. Because of how the unload tasks are written, this controls the order of delivery.

I added load/unload times and reduced the capacities of the elevators to test.

I'm hoping that others will review this to ensure I haven't made any mistakes.

Kris
Attached Files
File Type: zip Multiple elevator control.zip (66.0 KB, 330 views)

Last edited by Kris Geisberger; 07-10-2008 at 07:22 AM.
The Following 5 Users Say Thank You to Kris Geisberger For This Useful Post:
Shankar Narayan (07-28-2009)
  #8  
Old 07-11-2008
chrisquek chrisquek is offline
Flexsim User
 
Join Date: May 2008
Posts: 13
Downloads: 0
Uploads: 0
Thanks: 7
Thanked 0 Times in 0 Posts
Rep Power: 146
chrisquek is on a distinguished road
Default thanks!

(When I looked at Chris' original model, I found that he was on the right track... and he understands Flexsim better than he gives himself credit for.)

Hi,

Haha i shouldn't claim credit for myself, the initial coding was done by some other flexsim user which i seek help from. Really know nuts about flexsim haha!
Thanks for your help!

Regards
Chris


Thread Thread Starter Forum Replies Last Post
Creating a stacked bar chart for the states of multiple objects Kris Geisberger Tips and Tricks 6 08-11-2011 09:40 PM
Task Sequence Delay for Multiple Capacity Sung Kim Q&A 6 06-16-2008 03:11 PM
can I use an edit box entry to update multiple labels? KelvinHo Q&A 10 03-28-2008 07:17 AM
Operators on Multiple Networks Nico Zahn Q&A 0 10-10-2007 03:02 AM


All times are GMT -6.
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 1993-2018 FlexSim Software Products, Inc.