Pages

Monday, February 28, 2011

The 'Meeting Friends' Optimization Problem

Going home is a much-awaited-for and happy experience. Especially if you live away from home, in a hostel. However, it involves certain tedious and boring activities - e.g. packing (really really tired of it now!), scheduling (booking, finding flights/trains and so on), filling out forms that 'allow' you to go home and so on.

One of the few highly exciting activities for me is solving the 'Meeting Friends' Problem. The task is to come up with a crisp plan to meet your friends (from school, college, coaching class, old colony, new colony and what not!) once you return to your hometown. Especially if you live 13 kms away from the 'heart' of the city, like I do. So, here's the problem -
You have N different 'sets' of friends to meet (as mentioned above). N might be as large as you want it to be. And then, there are constraints:
1. Some elements may belong to more than one sets, but typically, there's one set they 'fit really well into'.
2. Some elements cannot be in the same set. For various reasons. Again, you know some of these 'reasons' but some end up being total surprises!
3. Usually, you are the only one with no work. They have their own plans, commitments to keep blah blah.
4. Some sets contain majority of vegetarian friends, some drink, some smoke etc.
5. You (obviously) have budget constraints. (but some of them don't think you do :P)
6. You have a time limit to keep. In my case, for example, this ends up being a period from 10 a.m. to 8 p.m.
7. Overnight plans need to be carefully planned much well in advance and monitored.
8. You have to know what is taboo to which set :)
9. --- I am sure there are more here ---

So... I typically begin solving the problem as soon as I board the bus home (in fact, I am writing this blog when in the bus! :D). As a good host, I begin by asking everyone's availability and commitments. Of course, when I was a novice, I used to frame text messages like - "Hey, when are you free?" or "Where shall we meet?" After 3 years of experience, now I know that this is just increasing your constraints! So, the best thing to do is have a template plan ready and try to fit in sets of friends in it. For example, my plan this Saturday was:
1. Lunch - preferably non-vegetarian
2. Coffee - preferably at Barista or CCD (quiet, great place for gossip ;) and you accidentally end up meeting more people, which is good :))
3. High tea (or coffee) - preferably at Vaishali (for SBDP!) or Costa (personal favourite and you get good sandwiches alongwith coffee/hot chocolate) or Aroma's (again, good coffee and good snacks, but costly)
4. Someone's home - You get to rest peacefully (read: lie down/literally RoFL etc.), you get pure water (yes, I am rather worried about this at other places) and it's always best to have home-made food when at home.

So, after a preliminary recap of the sets of people I met the last time I was home, I sent texts to everyone suggesting a cool place to hang out. Not more than 1 out of 20 times you do this will one find everyone free. So at every other time, I try to improvise, compromise, beg, borrow and finally reschedule to suit the majority. Of course, making sure I follow the constraint 2.

Then again, to solve the budget problem, everyone will vie to bring up the best (which is usually the lamest) excuse. You scratch your head to think of reasons from 'someone cracked this exam' to 'his cat had seven kittens, ain't it amazing!' and from 'her Dad turned 50 last month' to 'she didn't give her birthday treat last year'! Usually, this requires one to know the latest updates and hush-hush stuff about everyone around and I end up losing on this front. It does take some time for facebook and google to publish latest updates :-/

Once the set partitions are made and budget constraint is met, other constrains usually get followed automatically. Unless someone is really really late or something goes terribly wrong somewhere!

Overall, it’s a grand time :) All the planning is definitely worth the reunion. The hugs and the kisses, the gossip, the fighting over food, the laughter and the tears, the relentless sharing of dreams and plans for the future and the grave parting notes… Indeed, home-coming is the best thing I do. A warm hug and a BIG thank you to all who give me this opportunity to plan and execute this wonderful exercise :)

Disclaimer: Tried to write it in a simplified manner. Of course, given that I am a “hou ghatleli” engineer (sorry folks, had to use this Marathi word!) I had to be technical in some sense. But indeed, meeting friends is much more exciting and happier than solving this problem and writing this blog post :D