Jump to content

Servers Queueing Vehicles


alarmijo

Recommended Posts

Hi everyone:


I am trying to simulate a BRT network which is composed by a set of buses (vehicles) that follow a sequence and schedules as well as some passengers (entities) who are generated by sources, transported by vehicles between bus stations (servers), and unloaded in sinks (acting as destinations). Those stations are connected by bus lanes (paths) that are restricted of overtaking maneuvers.


If you check the model attached, in Case 1 (silver pool) the operation aforementioned is briefly modelled. However when the Vehicle 1 is boarding/alighting entities, Vehicle 2 must wait in the input buffer of each server until the vehicle that arrived before have finished its operations (as can be modelled in Case 2 (gold pool) if the bus is created as an entity rather than as a vehicle).


I have been trying to fix this problem with an advanced option of the Vehicle' properties called "Can Transfer In & Out of Objects" (as can be seen in the image attached), that is good when a vehicle requires to be processed by a server as an entity. Nonetheless, in this scenario the passengers are not carried anymore by the vehicles which is not good.


Could anyone help me with this issue? I will really appreciate your support because I am a new user of this great software 8) .


Kind regards,


Alfredo Armijos.

ServersQueueingVehicles.spfx

VehicleAdvancedOptions.thumb.png.f8a115e16a72864feb3c63bd60998058.png

Link to comment
Share on other sites

I don't see the problem that you are talking about, but in general it sounds like the problem is that the first vehicle that arrives blocks the node while it is unloading or loading. That problem is resolved by specifying Park to Load/Unload as True. This causes the vehicle to park off the network, not blocking the node, and letting the other vehicle also access the node.ParkToLoad.PNG.8baaddf3423a8ae95da544f61337793b.PNG

Link to comment
Share on other sites

That's not really the problem, basically I want to measure the statistics associated with the queues formed by vehicles [buses] in servers (not by entities [passengers]). If you check again the model, Station 1 and Station 2 are not measuring anything in the Results tab.


If you activate the option aforementioned, vehicles arrive to the servers and are parked into the "processing buffer", but the entities are not boarding/alighting the vehicles due to they never pass through the basic and transfer connected by paths.


Just in case, paths between the input@sink and output@source nodes (i.e. path 2 and path6) are used just for letting that the bus can continue with the sequence established in Sequence Table 1.


I hope that you could understand now the issue explained before, thanks again for your attention.

Link to comment
Share on other sites

Just a correction... entities now can be loaded/unloaded thanks to your recommendation. However, a bus now can be overtaken by other one during this process, which is not allowed in this model (although the "allow passing" property is activated in all the paths).


Servers [stations] just have the option of processing 1 vehicle (because a station just have only one berth for boarding/alighting passengers). That's why the capacity type of the servers is fixed by 1.


To sum up, vehicles are not allowed to perform overtaking maneuvers and in this model one of the key objectives is to measure the statistics such as NIS, TIS and schedule utilization associated with vehicles (not with entities).

Link to comment
Share on other sites

While I'm sure you could do this using vehicles, it sounds like whet you described might be modeled easier by simply having two types of entities: Buses and Passengers. Use the Combiner to let buses pickup passengers and the separator to drop off passengers.

Link to comment
Share on other sites

The problem associated with combiners is that I can not fix capacity of buses for carrying passengers as well as other valuable features that only vehicles have in Simio such as transport logic, travel logic, etc.


If you check the image attached about the video of Transport models in Simio (at minute 1:08), these are the events that I want to model. While one bus is loading/unloading passengers, the other bus is waiting (maybe on an input buffer) until the other has left the processing queue.


In other words, both operations (bus queueing and passengers boarding/alighting) are required to happen simultaneously. Do you have any SimBit solution similar that I could use for resolving this issue? Thanks again for your valuable support.

BusQueueing.thumb.png.f11a62a2206db63380f0e3652ff0b207.png

Link to comment
Share on other sites

Thanks for the model provided Mr. Sturrock. I just have one more issue. If you run the attached model you will realize that now the vehicle is able to be processed in both servers.


Thereafter, once the vehicle has entered into the Input@Sink1, it should drop off the entities allocated in its RideStation and then come back to the Output@Source1 for continuing with its operation (logic that is specificed in the add-on process Destroying Entity on the Sink 1 through the step Transfer).


However, when the vehicle enter in that basic node, the entities remain on its RideStation, the vehicle is being "parked" in the InputBuffer of the Sink1 and the error described in the picture suddenly appears.


Could you provide me some advice about the way in which I can resolve this issue? Thanks again for your support.

VehicleTransfer.spfx

Error.PNG.2f21dc8038318660d70fe53ab218d743.PNG

Link to comment
Share on other sites

Dear Jeff:


Thanks for the support provided, I am dealing now with one more issue associated with the attached model, naturally with the same logic of the problem detailed in the last post, as you can see in the picture.


Now the purpose is to load/unload "simultaneously" a vehicle with entities once it has entered in the Processing Queue of a server (Station 1-2), bearing in mind entities generated by Sources 1-2 and destinations configured in Output@Source 1-2 (Pax1 --> Sink2 & Pax2 --> SInk1)


The processes Drop_Pick_Station1 and Drop_Pick_Station2 have been assigned to the Processing add-on process trigger in both servers in order to perform the operation aforementioned. Unfortunately it looks like vehicles are not considering these rules.


I was wondering if you could help me with this challenging situation for me.


Kind regards,


Alfredo.

Drop&Pick.spfx

580184835_DropampPick.PNG.54f76591f6e435475743add42b33a121.PNG

Link to comment
Share on other sites

It sounds like you are working quite hard to bypass and workaround the behavior that is built-in to the Standard Library objects. Do you need the Server at all? Why not just use a single Node approach like in the TransferLine SimBit? You can design the node process logic to do anything you want - no more, no less.

Link to comment
Share on other sites

Servers are required essentially for controlling/measuring the queues that could exist when a bus arrive while other is currently occupying the available berth (fixed capacity = 1) ot the bus stop (modelled as a server).


Servers' capacity can allow me to experiment how the performance of a bus network could increase/decrease just varying this variable as possible berths.

Link to comment
Share on other sites

×
×
  • Create New...