Use a graph based approach to solve complex inter-related variables intelligently