Movate Blog - A Thought leadership platform for Cloud, Analytics, Tech Support Articles

Connecting the dots between constraints, optimizations and algorithms

Written by Dr. Kiran Marri, Ph.D | Jun 21, 2018 1:07:15 PM

Nature has given every creature an equal opportunity to evolve and survive. There is also a natural and delicate balance between all its elements - living and non-living. Misuse or abuse of any of these elements will definitely cause an impact on the nature, and thereby disturb the ecosystem. The examples we can easily relate to are water shortages and global warming. History has taught that many wars and invasions occurred due to resource constraints. Even among animals, when there are food or water constraints, they have learnt the art of migration process for survival. The concept of survival and adaptation is natural for all life forms. And those life forms that have not understood or took longer to understand, have perished. 

The idea of constraint-driven philosophy is applicable in everything that is designed, built and consumed. Successful and lasting businesses use management of constraints as a basic framework to establish profitability, or even to minimize losses. In the spectrum of usage of any constraint (resources or elements), there is a need for minds to define the where, how, why, what and which for the specific scenario.  Each constraint is bound by a rule(s) or law(s), has boundaries and limits, self-life, cost, impact, risk(s) or effect,  combination of all. The key underlying message is that living under constraints can be viewed as channels and opportunities for efficiencies, effectiveness, learning, transformation and innovations, and in the process become smarter, more useful and purposeful.

 

Perhaps, the best way to understand constraints is from animals, their social behavior, hierarchy structure, hunting patterns, and ability to understand nature.  

  • The trees that are consumed the most by herbivorous animals have changed rapidly over time by growing tall and developing thorns, and likewise these animals have also adapted over time to grow tall or developed elongated necks. 
  • The dry seasons in forest have helped animals to migrate 1000s of kilometers, and improve the chances of survival without GPSs, satellite or centralized control system
  • Hunting a prey by carnivorous animals in groups, such as grey wolf, is another example of organized hierarchy and decentralized intelligence
  • Searching of food by ants is a beautiful concept of discipline, coordination, decentralized team work and smartness. This is all done without google maps, database of food table, communication channels

In all business scenarios, especially in Information technology sector, the three most important constraints, in my opinion, are time, cost and quality. And the job of a manager is to ensure best deliverables (for the internal and external stakeholders) with best quality in the shortest time, with minimal cost. It is very important to determine the optimum value for the most critical constraints associated with the task. While it is easy to define the purpose and objective of optimization, it is more often very difficult to implement optimization in complex situations. The use of appropriate tools and effective methodology can help in bringing in optimization for most of the daily activities such as ‘fastest means to reach work’, ‘multi-tasking activities at work’ or ‘spend minimum time in selecting office wear’.  People like Steve Jobs and Mark Zuckerberg have fixed their choice of outfits to minimize the time spent on selection. While many daily activities have solutions, here are complex unknown conditions and situations such as ‘traffic management’, ‘water distribution’, ‘energy management’ at social and economiclevels, to situations in IT fields such as ‘selection of test cases before a product release’, ‘finding the optimum parameters for an equation’, ‘best chemical composition of a drug’ and many more, wherein one solution may not be suitable due to the context, scale and constraints. 

Many problems in businesses and around us wherein there are numerous choices to select, can be simplified using learnings of the nature whether it is physics, biology, chemistry or social behaviors of animals.  The nature has solution in the form of adaptation, evolution and iterative mechanism over time. The ability of ants to search for food by using their pheromones and trace mechanism has inspired Ant Colony algorithm. Likewise, the hunting strategy of wolves to form patterns around the prey, is the inspiration for Grey Wolf algorithm. There are several algorithms inspired from multiple sources of nature, physics, chemistry, geology and evolution, which are extremely sophisticated and highly mature and evolved, yet simple for application on any optimization need. These algorithms, also known as metaheuristics algorithms, are widely accepted by researchers in solving complex business problems across domains.

The metaheuristics algorithms are usually applied as a guiding mechanism to search for solutions. It is also important to understand that one metaheuristic algorithm cannot be an answer for all the optimization problems, and using several algorithms cannot lead to same solution. These algorithms have certain degree of randomness inherited within its parameters, and it is this uniqueness, that helps them in identifying the optimum solution faster and efficiently, without bias. If the constraints are very clear and defined, and the solution possibilities are fewer, then probably these optimization algorithms are an overkill. But in reality, most of the complex problems have too many dependencies, constraints, factors, with zillions of combinations. In such cases, these metaheuristics can make a real difference. These algorithms have been explored in the field of telecommunication, banking, pharma, biomedical, finance, retail, geology and many other fields in the last decade.

Metaheuristics algorithms are here to stay in every emerging field and technology. It is also very interesting that each algorithm may give different solution for the same problem, and what works on one type of problem, may not really work for other situations. There is no one best algorithm in the literature that can solve all the optimization problems. At least, not yet - these are as diverse as the challenges nature throws at its life-forms. 

More details on meta-heuristic algorithms, types and categories with some sample practical use cases, are covered in the article https://solution.csscorp.com/pov-quick-primer-on-metaheuristic-algorithms