My strategy for the ambulance game was to employ total greed.
I first broke up the data into neighborhoods around each hospital. Each hospital's neighborhood consisted of the victims who were closest to that hospital. Victims equidistant are added to both neighborhoods.
neighborhoods
Any patients who could not be saved by the ambulances at that hospital are unsavible and were given up for dead. This is a heartless, but important part of triage. I then sent out each ambulance to pick up the person who would soonest die and if I could add a second patient to that ambulance without killing the first, I do. When an ambulance returns to a hospital, it's total elapsed time is updated. After no ambulance can save another patient, I try to give up on trips that saved just one patient and replace them with trips saving two looking this time in both my own and other neiborhoods. Finally, I try to get some more time for each ambulance by juggling patients between ambulances. In this step I try to minimize the distance between the two patients saved on one trip. It is neccessary to ignore neighborhoods during this step because we are trying to swap patients at neighborhood fringes to more efficient trips in other neighborhoods.
switch
For example: if we switch from the red trips to the blue trips, we will be leaving the neighborhood of each hospital, but we will still save all for patients abd we will save 2 time units in the left hospital's ambulance.