In recent years, Software Defined Networking (SDN) has emerged as a pivotal element in various networks. The prominent feature of software-defined networking is the separation of two planes that were tightly coupled in traditional networks that is the forwarding and control planes. Forwarding plane’s basic functionalities are packet forwarding while control plane issues control command through control protocols. This decoupling of control and data plan introduces a lot of flexibility to network management and increment in the network programmability and reconfiguration of the network as compared to traditional networks. While at the same time encounters many challenges. One the many challenges faced by the network that has attracted many researchers is the optimally placing the controllers in the network. As placing single controller is out the question as it makes the network quite vulnerable to several cyber-attacks and hence makes the network prone to single point of failure. Hence the need of placing multiple number of controllers in the control plane have arisen to cater the single point of failure and network load. Studies reveal that network performance parameters can be improved if the controllers are placed intelligently. By applying several ML techniques and considering the flow of network an optimal location of the controllers can be traced. This thesis present a solution based on a novel swarm intelligence technique i.e. Ant Colony Optimization.