Jump to content

cstein

Members
  • Posts

    9
  • Joined

  • Last visited

About cstein

Converted

cstein's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. To clarify the above, the problem is that the entities are not destroyed (not just that the on destroying process doesn't execute). Number is system output clearly shows a steep increase after a certain point which coincides with the start of vehicles getting stuck in waits. -Chris
  2. Hi all I have a model that involves entities arriving at a destination node on a transporter, accompanied by another vehicle which has been seized by the transported entity. At the node, the entity is destroyed but I have a wait step for the seized vehicle which waits for an event fired by the entity as it is destroyed (fired in the on destroying process in the entity). This all works well 99% of the time, when I was running an experiment for a specific time (7 days). I tried a longer run (14 days) in order to assess output of the model and in some replications (3 our of 15) there were some really extreme data. To cut a long story short, I eventually found out that the on destroying process (and the event that I attached to it) stopped executing about 2/3 of the way through these replications. This only happened in some (3) replications - the others were fine. The result was more and more vehicles stuck in infinite waits, hence the strange data. Does anyone have an idea why this would happen? I can find no cause in terms of process logic that I have implemented. -Chris
  3. Hi Everyone I have a general question about a search step. According to the help file, if a search step finds something a new token is created and the found segment is executed. If nothing is found, the found segment is never executed. I have logic requiring that an object reference state variable is updated based on the result of the search, but whether something is found or not. I am searching for a closest idle vehicle, so there is no problem if at least one vehicle is idle - that part works fine. However if no vehicles are idle (i.e. the found segment is never executed) , I would like to make the object reference equal to Nothing (which I can check for in subsequent steps). I'm just struggling to do that because placing the assignment in the found segment when nothing is found obviously doesn't work. This search is performed many times, so the object reference will have a previous value which I need to update (i.e. I can't default it to Nothing). Is there a token return value in the original segment that could indicate whether something/nothing was found? I can't find anything in the help file. -Chris
  4. Thank you for the tips, I will try them. Embarrassingly though, the problem at the time that I posted the last message turned out to be the fact that I was writing values to a CSV file with a write step and had opened two of the files to look at the values, and had forgotten to close them. So those two replications kept failing because the data could not be written. -Chris
  5. Hi Mark I am having exactly the same problem as you were - no errors in interactive mode, but two replications out of five fail in an experiment. Try as I might in interactive mode, I cannot raise an error. I have read your post and tried this out, but it doesn't change anything. I still get no errors in interactive mode, but two failed replications out of five in an experiment. The replications are seven days each, I have run in interactive mode for 10 days with nothing. Is it just a case of running for longer until the error (assuming it is one in both cases) happens? Any ideas?
  6. Thanks for the information. I seem to have worked around it for my particular purposes now, but anything more involved will need a better solution as you have suggested.
  7. Thanks, yes at the moment I'm setting the priority to -1 for the items in the visit request queue that I want to ignore, then using the "select largest priority" setting in the task selection strategy to choose the next visit destination (if the queue length is greater than 1). Items that I don't want to ignore have a value larger than that (luckily in this particular case the only alternative priority is 1). The queue does get longer, but as patient entities are destroyed later on they are taken out of the queue. This seems to work, although subsequent changes to the model seem to always uncover a new state that somehow generates the same error under different circumstances. Feels as though I'm just plugging leaks!
  8. Hi, I would like to confirm whether behaviour regarding vehicle visit request queues is incorrect (i.e. a bug) or whether I am misunderstanding how they are supposed to work. I have two types of vehicles in an Emergency Medical Services model. One type transports patient entities (i.e. an ambulance) and one doe not do transport but only responds to some incidents (i.e. a primary response vehicle or PRV). In some cases, both vehicles are sent to an incident node, the ambulance by accepting a visit request from a patient entity at the node, and the PRV by being seized directly by the patient entity at the node. In some cases the PRV is far away and does not reach the node by the time the ambulance has completed loading the patient entity. In such cases I have modelled cancelling of the PRV (that would happen in a real system) by the patient entity releasing the PRV. When this happens, I have noticed that the patient entity that had seized the PRV stays in the PRV's visit request queue, even after the release. It is only removed from the visit request queue when the patient entity is destroyed, which may be some time later after a transport and hospital offload delay. From observing the behaviour of other vehicles, it seems as though a vehicle must enter a node having the owner entity in it before the entity is removed from the visit request queue (or, as mentioned above, it is removed when the entity is destroyed). In my case, I would like to remove the patient entity from the PRV's visit request queue when the PRV is released, however I know that this is not possible as Simio does not allow entities to be removed from this queue with the remove step. At the moment I am spending a lot of time trying to work around this problem, which creates a lot of undesirable behaviour - for example when there are three or four patient entities in the PRV's visit request queue. The vehicle object also has limited options in its task selection strategy which makes filtering out of the released entities in the visit request queue difficult to accomplish reliably. Is there any other way of removing unwanted entities from the visit request queue, without visiting that entity's node or destroying it?
×
×
  • Create New...