Saturday, December 31, 2016

Kids day-out at the Hyderabad Zoo


A trip to the Hyderabad zoo with my kids had been a long pending one. It finally happened the past weekend. Honestly, my expectations were quite low and I didn't expect to see much or savour the trip as much. General expectations aside, this was partially due to my earlier visit to the same zoo about 10 years back. That was a father-son duo trip as well, but then it was with my father. Apart from spotting a couple of rare animals, it was a largely forgettable experience.

But, I must say the zoo surprised me last week and I was converted into a 'promoter'. Thanks to improvements over time and some major renovations last year, the zoo seems to have got a major face-lift. Things were relatively better organized, the place was clean and there was a good collection of flora and fauna, and all animals seemed to be active and in the pink of health.

The King Cobra caught in its full splendour

The top attractions I found were: white tiger, royal bengal tiger, rhino, hippo, giraffe, an impressive reptile collection including the poisonous big 4, a full section of nocturnal animals including varieties of bats, owls, cats and the porcupine.

Here are some tips on planning your visit, based on my memorable visit:
  • Start early: The zoo opens at 8.30 AM and your best bet is to start your visit at that time. You would easily save 2 to 3 hours which otherwise would be wasted lining up in queues for entry or the rides. Choose weekdays if possible.
  • Exit early: The zoo gets really busy after 2 PM and the last few hours (until the closing time of 5.30 PM) are unbearably crowded. On an average one needs 4 to 6 hours to cover most attractions, so exiting the afternoon is advisable.
  • Go green: Plastic / use-and-throw covers are banned, and rightly so. Strangely, backpacks are not allowed, so plan to carry some normal bags. However, reusable plastic containers & boxes are allowed and there are decent places to have a picnic lunch.
  • Carry light: Earlier the use of personal vehicles (cars) inside the zoo was permitted. This has been stopped of late, so one has to depend on the battery car / toy train / rented-cycles to move around. So, carry light and be prepared to walk several kilometers. Of these the battery car and rented-cycles are recommended. The jungle safari is a farce, but for kids not exposed to the wild, this is the only available local alternative.
  • Choose the winters: I heard nothing but complaints from people who visited zoo in the summers, fortunately our visit was in the cooler times. In Hyderabad's sweltering summer heat, the place is arid, barren with no sign of water. The animals retreat deep into the cages and catching a good glimpse becomes tough. 
So yes, the Hyderabad Zoo is worth a visit!


Monday, December 26, 2016

What are the rare ingredients of an effective manager?


When it comes to responsibility of work streams & ownership in any professional setting, I've observed three kinds of people, broadly: those who 1) manage nothing, 2) manage activities and 3) manage outcomes. Let me explain each type of person with their associated characteristics:



1) Manage nothing: This is the simplest of them all and unfortunately covers a sizeable number of the people. As the name implies, these are individuals who are not so effective at completing or tracking the assigned activity. Whether its missing some activities altogether, issues with execution, or attention to detail, the work is not completed in its entirety and a lot is left to be desired. Consequently, the desired goal is often not reached.


2) Manage activities: Most people fall into this bucket, wherein there is focus and ownership to complete the task. With discipline and rigour to accomplish the activities, they track timelines and ensure that the planned sequence and detailing of identified tasks are accomplished. While this might seem complete and sufficient, what is missing is a focus on the desired outcome and hence these people often miss the wood for the trees.

Given work dynamics, the targets are always moving and hence the means to achieve the target are fuzzy and variable at best. You might find such individuals try everything in the text book within 'defined guidelines' and come back to you wringing their hands in frustration that 'I've done my best, but this just seems to be beyond me'. This is where the third category gets cracking.


3) Manage outcomes: While these people have the discipline and focus on the constituent activities to accomplish a task, their primary focus is on the outcome as opposed to just getting the planned tasks done. Quite rightly, the end goal is considered most critical and 'any viable means to achieve the outcome' falls right within their realm.

These people hit the ground running with this single goal in mind often going beyond the text book prescriptions, whether its influencing stakeholders, buying additional time or resources, or motivating and convincing people in the face of seemingly insurmountable odds. They might junk a plan & redo tasks in their entirety, as long as this is seen as a path to achieving the outcome. Convincing the people involved & getting buy-in for any drastic measures is right up their alley.



In Summary, while pure skill differentiates the first category of those who 'manage nothing' from those who 'manage activities'. Its a subtle difference of gumption and right level of ownership that differentiates the second category from those who 'manage outcomes'. As you can see, by being wedded to the end goal, as opposed to being limited by a self-imposed boundary of tasks-owned makes all the difference.

As a closing note, the above applies not just to managers and above, but pretty much across levels, including individual contributors. One could comfortably extend it off the work setting as well.

Wednesday, December 21, 2016

Failing spectacularly to overcome your primal fears


Fear of rejection and fear of failure are two stumbling blocks that hold one back from experimentation or even linear progression. While the fear of failure is more to do with low self-confidence and self-perceived inability, the fear of rejection is a bigger worry about the outcomes - how people might ridicule one for even making an attempt at something.

While self-help books try and coach you to improve self-esteem as a possible remedy, there are better seemingly solutions. As with most things in life, doing something repeatedly makes it look less alien and 'difficult'. Extending this further, failing sorely time and again could make you numb to these negative feelings of failure & rejection. However, wouldn't it be wise to create smaller opportunities where you could fail with impunity, rather than exhausting costlier options from your career and life events?

I recently came across this excellent Ted Talk on this topic. What better person to learn this from, than one who has systematically set himself up for failure 100 times, and has eventually made a successful career out of it!

Video URL: https://www.ted.com/talks/jia_jiang_what_i_learned_from_100_days_of_rejection

Jiang also writes about the 'Spotlight effect', which basically is a misconception that one is the centre of the universe and that everything we say and do is noticed in vivid detail by others around us. 'These fears force us to conform to others expectations, live mediocre lives and have forgettable careers.' In reality, no one has as much time, or to put it bluntly, no one really cares. Jiang also has a practical therapy of singing in the public to get over such fears!

Each person has their own set of fears, and some quirky ones at that. So, this is definitely worth taking a look at.


Sunday, December 11, 2016

Learning Wilderness First Aid for emergency response


For some years now, I’ve been looking to get trained in administering First Aid. Not knowing the basics of handling injuries and attending to emergencies has been haunting me every time I step outdoors. In the last week, GHAC had organised a wilderness first aid training that not only covered regular first aid, but also had extensive coverage of wilderness scenarios and handling of outdoor exigencies. Naturally, I jumped at this opportunity. 

To make it doubly sweet, this workshop was conducted by outdoor professionals from the Hanifl centre, a part of the WoodStock school in Mussoorie, one of the oldest schools in India. During the training, I came to know that the curriculum was conceived by Aerie Backcountry Medicine, a reknown outdoor institute in the US and hence the training culminated with a WFA certification valid for 2 years.

Instructor enacting grievous injury with an impaled chest 
It was a good 3 day training attended by 20 people, most of them outdoor enthusiasts. Thankfully the curriculum wasn’t an all-classroom training, given the hazards of putting participants to sleep with the kind of topics being covered. Instead, it was modelled as a workshop with ample scenarios thrown in and participants asked to react to them first-hand using the concept being learnt. With ample variations of scenarios and unexpected surprises such as instructors showing up with life-like injuries and fake (but profusely flowing) blood, the participants were kept guessing, and hence alert. 

For instance, sample this: there was a scenario of lightning strike in outdoors where a dozen of us were enacting the role of victims - some with minor or major injuries, a few acting disoriented due to the shock and some lying lifeless (with no major asks in emoting!). Rest of the participants were designated as passers-by who had to take up the role of turning saviours and provide first-aid. The key aspects involved taking control of the situation, prioritising the victims that had to be attended to, and finally administering the appropriate first aid for each type of injury. 

Throughout the workshop, the ground rules of first-aid were repeated ample times to drill them firmly into the minds. The outdoor instruction and scenarios covered all common issues faced in treks and expeditions, including prominent ones like heat or cold injuries, altitude sickness, fractures & sprains, stings and bites. Useful tips in first-aid and evacuation were covered such as making splints and litters creatively using non-standard stuff such as trek backpacks, tarps and sleeping bags.

The training culminated with the all-important CPR (Cardio Pulmonary Resuscitation), the technique of reviving people who are rendered supposedly lifeless and ‘clinically dead’. Thankfully, this is a technique repeatedly popularised in movies, but we learnt that the reel demonstrations are far from perfect. There are documented examples of rescues done right using this technique, such as this one shown from the Bondi Beach rescue where a surfer was revived after atleast 30 minutes of being considered dead. The usage of an IED (Defibrillator) was also demonstrated, and the 4-hour training on CPR involved several runs of perfecting the order and rhythm, though strangely to sync with the beats of the song ‘Another one bites the dust’ by Queen.

Overall, it was a great training and one that I’d highly recommend to everyone. Wilderness is technically defined as any place that is one hour away from medical help, and hence most places in India comfortably fall into this category. As the age old saying goes, its better to be safe than be sorry.

Wednesday, November 30, 2016

When can you expect my next blog post?


Just in case you're one of those wondering whats with the series of posts in my blog over the past few days, yes I did make 4 posts in 3 days. Now, let me help you understand why and also possibly answer the question in this posts' title, by digging into some data in the background.

Since I resumed blogging early last year, I've posted 90 articles here. Lets first look at the rhythm of posting, something that I've written several time earlier about, and have been striving extra-hard to maintain. The posting pattern over the nearly 2-year period is as follows:



From the above its clear that I've managed to maintain some consistency over the months; an average of 4.04 posts per month. However, whats not obvious here is the posting pattern within the month. To understand potential effect of my self-imposed monthly deadline, we'll have to look at when the posts are made within each month.

I've split each month into 3 periods: 1-10th, 11-20th and 21st until end of the month. When the monthly aggregation is broken down into these periods, some patterns start emerging. I've made a small correction for the bulk-publishing of my back-packing diary, which incidentally was posted in the middle of the month (17th May '15), after weeks of writing. I've changed the value of '17 posts' on this date to an above-average number of '2 posts', as an approximation.

The below table is coloured to show which of the 3 periods within a month have most posts, over the last 2 years. Its obvious that I've hardly made any posts in the first 10 days of any month (red shaded cells below), while the last 10 days are fertile periods, showing up in green. Most of the posts are generally made in the last 10 days of a month, at times spilling over into the last few days within this cycle.


What this also means is that roughly two-thirds of all posts are made a few days before the deadline! Old habits die hard, so guess I'll have to change the deadline to a weekly one as opposed to monthly. Perhaps, that could help spread out the posts through the month.

Hopefully my next post would be earlier than the 30th of December, though the above analysis strongly suggests that as the possible answer!


Making most of your Best-before-Date

For a moment picture yourself living in this world about 50 years ago, in an age where automobiles were relatively fewer and it was a real luxury to have one in the neighbourhood. Assume you didn't own a car already, and were given one on lease, for a limited period of 30 days along with free fuel. Suppose you were given complete freedom to use it in any way you deemed right, what would you do?


You would use this (relatively rare) mode of transportation to get all your stuff done: for work, personal needs and moving things around. You would use it to the fullest and perhaps flaunt it too. You might also run a few errands for friends and neighbours. You would consider making the best use of this rare commodity available only for a limited period, just so that the benefits stay long after the lease period.
  • Would you use your car for just one purpose (only commuting to work) and let it stay idle otherwise?
  • Wouldn't you plan that elusive long-drive on a weekend? Plan a vacation driving to that exotic locale, with friends and/or family?
  • Wouldn't you do the bare minimum to keep the vehicle in a running state by refilling fuel, checking tyre pressure and doing the needed maintenance? The last thing you'd want is the vehicle to break down and be out of service for 2 of the 30 days.


Now why do we handle our lives any differently? Coming to think of it, there are striking similarities with the above analogy.
  • We have limited time in this life (a 'lease' in years as opposed to days for the car). 
  • Each person has incredible talents and unique interests, which often get neglected by narrow-minded pursuit of one or a few things (bogged down with work / too internally focused to look outside / not taking time to appreciate and contribute to the good things in this world). 
  • And, its a criminal negligence to neglect our body without the needed 'maintenance' that is essential to ensure good health. The quote by Jim Rohn nails it - "Take care of your body, its the only place you have to live".
Pic source

Tuesday, November 29, 2016

Monetising the demonetisation decision: The Paytm story


The past few weeks have had non-stop coverage of the demonetisation of currency and demonisation of mistry. The jury is still out on both these controversial decisions. Particularly, the demonetisation drive has split public opinion like never before. If I look at my close circle of friends, I've never seen them split to take up two diametrically opposite sides of an issue like this ever before - one camp owning up the decision and actively preaching its benefits, while the other is getting its claws out and sparing no opportunity to go on a full rampage.

This post is not my attempt to step into this minefield. This is an observation from the sidelines on how some people have seized the moment and capitalised on this historic decision.

While its true that this move gave a natural boost to offerings of financial institutions and financial service providers, none had the speed of response and temerity as Paytm. While pretty much everyone was caught unawares on 8th Nov when the decision was announced, a few were able to recover and respond in order to capitalize on the move.

Paytm brought out full-page print ads congratulating the Prime Minister, with a word play on its tagline ‘Ab ATM nahin, #Paytm karo.’ They did not stop there, but followed it up with marketing to keep the buzz on, while also working on the app to simplify usage for new users, and adding features that helped work around the cash crunch.

Not surprisingly, the bold move was met with staunch criticism & they briefly were caught in the political cross-fire. Paytm's Vijay Shekhar Sharma deftly avoided some of these direct volleys and also took swift steps to recover from few of the moves that turned controversial. Like all controversies, these also added to the brand recall and eventually worked in their favour by adding to the kitty.

It was surprising to see neighbourhood stores and roadside vendors accept cash on paytm in barely a couple of days after the decision. While there are plenty of e-wallet players in India, many who have existed for much longer and few with deep pockets like Airtel, Paytm has managed to stay high on recall and captured the imagination of people. 

Consequently, they have emerged a winner in round one. As the moves towards a cashless society get stronger, there is a lot more action to watch out for in this space.

Monday, November 28, 2016

Evolution of Gramener Design Toolset


Earlier this month, I had written an article in our company blog. I'm reposting it here again:


At Gramener, we have been continuously evolving our Design process over the past years. These improvements have been to stay in tune with the emerging trends in design, adopt industry standard tools and create a custom Design framework that helps us deliver outstanding visualizations.

This post covers the ‘tools’ aspect of the design improvements we’ve implemented, and it discusses the challenges faced and considerations on coming up with a pertinent toolset to cater to Gramener’s core offering of Information Design & Data Visualization.

Earlier Process brief and toolset used:
Until a year back, the primary tool we used during the design phase was paper-pencil for creation of Design concepts, while the actual designs were created on Powerpoint. For most engagements we had a low-fidelity design as deliverable, wherein the paper sketches were translated to a basic representation on MS Powerpoint using snipped images of charts and other basic dashboard components.



In certain engagements, when there was a need to show a closer-to-actual representation, a high-fidelity design was created, again on Powerpoint using imported SVG objects or drawn chart elements. There was almost no prototyping or demonstration of interactivity, save the occasional powerpoint slide transitions. The need for an internal Design library was met by having all designs stored on the Gramener file server and exposed on a searchable, minimalistic UI, that was spruced up with basic previews and meta-tags.



Given the ability of Gramex, Gramener’s platform to quickly pull out charts from the engine’s library and setup a basic, working version of visual dashboards, historically, there was not much of a need for a standardized design tool. Hence, Powerpoint was a quick and light alternative that fit in well with the skillset of Data Consultants, which is a role comprised of functional analysts, who had innate comfort with MS Office rather than the Adobe suite of products.

Evolving needs:
With the evolution of projects done by Gramener and the rapid scale-up in clientele and team size, the need was felt for a rethink of the above mentioned stack. With a large number of first-time visualization adopters amongst clients, we sensed their comfort in reviewing solutions with a high-fidelity design that showed visual design aspects as close to the final solution as possible.

With increasing functional complexity and data size of our visual solutions, Data Consultants had to spend more time in the solution conceptualization and data analysis phases, whereas there was an increased need for additional support during the Design phase.

Challenges faced:
In summary, the key challenges faced with the above simplistic process & toolset were:
  • Variation in quality, finesse and look-and-feel of designs created on Powerpoint
  • Long cycle time for design creation, with an often cumbersome process for putting together the occasional high-fidelity versions
  • Teething challenges in development handover & translation of the design
  • Need for multiple design reviews during development phase, coupled with rework
  • Difficulty in demonstrating state transitions, interactivity and user flow within a visual application concept


Alternate Solution:
Given these challenges and the additional considerations of scalability & rapid replicability, we went about evaluating changes needed in the process, toolsets & framework. We spoke to the design community and took first-hand advice from experts in these areas. From the tools perspective, we evaluated a variety of visual design and prototyping tools including Adobe Photoshop, Illustrator, Balsamiq, Axure and Pinegrow, amongst others. Based on considerations of fitment to our visualization lifecycle, availability of complementary skillsets at Gramener and ability to address the challenges outlined, we zeroed in on the following:

Sketchapp – for Visual Design:
The vector graphics editor from Bohemian Coding has been rapidly gaining popularity and has quickly built its own community of loyal users. With addition of new role of Information Designer at Gramener, this tool helped us in the following ways:
  • We found that the tool was very easy to pickup due to its intuitive usability, perhaps closer to Powerpoint. It also had ample tutorials and a robust support ecosystem
  • By design, the tool was meant to create vector objects and naturally fit in better for dashboards and web applications, while other tools were heavily skewed towards graphic design
  • Has a thriving ecosystem of plugins for productivity improvement, and importantly provides for easy export of style sheets to aid development translation
  • Comes at a relatively economic price compared to popular options, Apple hardware prices notwithstanding




Invision – for Workflow, Prototyping and Design library:
A leading prototyping, collaboration and workflow platform used by several design houses around the world, this tool checked-off multiple items in our requirements list:
  • Provides an end-to-end design workflow solution with useful admin features
  • Has native integration with Sketch and hence it automatically syncs, imports and stores assets from Sketch files. Automatically creates style sheets & enables direct look-up
  • Supports basic prototyping needs to show interactivity and transitions
  • Has useful collaboration & commenting features, and integrates live design presentation and review capability
  • Doubles up as a repository with versioning & hence can be used as a design library




In Summary, below is the overall process that we have arrived at, which has been working well for us and has addressed most of the above-mentioned issues we faced:



Monday, October 31, 2016

Genetic algorithms: Gaming our life goals


This is the second of my 2-part post on Genetic Algorithms (GA). While the previous post introduced the concept and highlighted the salient features of why I find GA fascinating, this post is an attempt at applying this technique to improve our personal lives.

To summarize the basics, following are the defining aspects of Genetic algorithms, when you apply this to solve an optimization problem:

  1. Population: Begin with multiple solutions (random & inefficient, to start with)
  2. Evaluation: Set a measurable criteria to evaluate effectiveness of the solution against a target
  3. Selection: Select the (relatively) top-ranked solutions, and kill the rest
  4. Recombination: Combine these top solutions (say 10%) in some manner to create the next generation of multiple solutions
  5. Mutation: Once in a while, instead of the usual Recombination (step #4), create new solutions with some unusual (maybe illogical) logic 
  6. Evolution: Iterate with these new solutions and loop through steps #1 through #5 to keep improving solutions, generation after generation until target is achieved


Now, for the parallel to our personal lives and how Genetic Algorithms could possibly come to our rescue. Read each of the below in conjunction to the concepts numbered in the same order 1-thru-6, above:

  1. Cultivate multiple habits or choose several activities (say 10 to 15) to pursue at work/home. 
    • For instance, joining a gym, waking at 5 AM, setting 1 hr of no-gadgets time every day.
  2. Set some end-goals that can be used to measure against. Now periodically (say once a month) evaluate whether each of the habits/activities are taking you any closer to the stated goals. 
    • Examples for goals include, learning a new skill, achieving something at work, reducing 15 kg weight, spending more time with loved ones.
  3. Continue with those few habits (say top 5)  that propel you towards the goals and discontinue all other activities.
  4. Alter the habits slightly by learning from things that worked out. Create variants of new activities (totally the earlier 10 to 15) that are directionally towards your goals.
    • For instance, you might try zumba instead of the gym, or wake up at 5.30 AM.
  5. Once in a while, break your routine and add some completely random habits, preferably things that make you uncomfortable.
    • You may decide to spend one day of your weekend walking around the city on foot, or maybe spend few days every month in the most remote & unconnected part of your state.
  6. Continue with this process and iterate with new & improved habits, say every month, until you reach the goal.

One might wonder that parts of the above process look intuitive and some of these could be things one already does. In my opinion, this becomes immensely powerful on account of four things: Choosing a larger set of habits,  measuring them against a set goal periodically, continuously tailoring the habits or totally killing them. Finally the most powerful one is in consciously breaking routine and adopting some bizarre habits.

Let me know what you think.


Genetic algorithms explained: Evolutionary way of problem-solving


I recently learnt about Genetic Algorithms (GA) and must say I've been quite fascinated by it. This is a two-part blog post on this topic. In this first post I will make an attempt to explain it in non-technical terms, with a simple example to illustrate the concept. The second post would be on applying this technique beyond the realm of business problems - by contemplating on how one could apply this to improving some aspects of our lives.

Now onto Part-1.

I had blogged earlier about Biomimicry, which in simple terms is design inspired by nature. Genetic Algorithms fall into the same category of solving human-faced problems, by getting inspiration from nature's solutions. In other words, this is the discipline of copying how nature operates in a bid to come up with similar harmonious solutions.

Placing Evolution in Perspective

To understand Genetic Algorithms, we'll try and understand the biologics of evolution, by using the bare minimum terminologies. 

  • We are way too familiar with how one generation of humans are smarter than the previous ones. We, collectively are more evolved and (perhaps) smarter than our ancestors, while the same can be said of our kids who are way ahead of us, thanks to evolution
  • Per the theory of natural selection, organisms better adapted to their environment tend to survive and produce more offspring. By survival of the fittest, the more evolved species reproduce more and pass on their genes down the line, while the weaker ones slowly die and get extinct.
  • And, there is this quirky process midway wherein some organisms suddenly have completely unexpected traits. There are the geniuses, those highly regarded people in history of mankind with IQ levels closer to 200, like Leonardo Da Vinci. You've most likely heard of rare people with 6-fingers in a hand, which is also quite unusual. All these are likely cases of mutation, wherein suddenly an unexpected change happens, in otherwise linear, incremental evolution. If this change is strong enough to influence rest of the species, it spreads through reproduction and impacts the subsequent generations. Else, it just stays an aberration and doesn't get passed on. To get this in perspective, think X-Men!
In summary, a species of organism keep adapting to their environment, incrementally evolving and getting smarter. The smarter ones survive and reproduce more, while the weaker ones die. Once in a while, there is a sudden & unexpected change in traits of few organisms within the species and if this is remarkable and powerful enough, it gets passed on to the next generation and slowly spreads to become the defining characteristic of the entire species. Else, the mutated offspring dies and doesn't impact rest of the species.

GA: Application to Problems

What if we try and apply this evolutionary biological process to solve problems in the area of optimization. We can create a computer program that exactly mimics this process of evolution by keeping all the ground rules coded in its entirety, grow solutions from generation-to-generation, until we arrive at an optimized solution that is more efficient than a set threshold.

To illustrate with an example, lets take the popular problem of Travelling Salesman. Given a set of 5 cities that a Salesman has to travel to (exactly once to each city), the problem is to find the route that minimizes the distance travelled by the person. This is an optimization problem and while its simple to solve by hand for the 5 cities, it becomes non-trivial if you increase the number, to say 30 cities.

Applying Genetic algorithm to this problem: 
  1. Start with a population containing a set of multiple random solutions - that is, multiple ways of ordering the 5 cities. 
  2. For each of the solutions in this 1st generation population, evaluate by computing the total distance travelled. Order the solutions from best to worst (within this iteration).
  3. Select the top 2 or 3 solutions with their ordering.
  4. Marry within this solution by randomly exchanging routes between the solutions (while sticking to ground rules, such as no repetition of cities). This step mimics the reproduction or recombination, as it happens in nature.
  5. The above step creates the next generation with a set of new potential solutions.
  6. Once in a while (say every 10th iteration), introduce mutation by performing a random operation. For example, you could swap every pair of cities in the route created until that step.
Repeat the same process from step #2 through #6 above, until you arrive at the solution with the lowest distance travelled. Each iteration is the equivalent of one generation and through the process of evolution, each subsequent iteration would have atleast some solutions which are slightly better than the earlier ones. You might iterate through this 100s or 1000s of times depending on the problem, but this process is guaranteed to come up with the most optimal solution.

Summary

The fascinating aspect about this technique is that you can arrive at the best possible solution, and possibly the global minima to any optimization problem. You just need to code this in the structure & process as outlined above, and without getting into construction of complex mathematical equations or their solutions, you can get the best solution through an evolutionary search procedure. Check this article for a more detailed explanation. They seem to be applied to a variety of real-world problems, and they sure hold a lot of promise.