Evolutionary algorithms are based on the principles of natural evolution and can be viewed as search and optimization techniques. They operate on a set of candidate solutions, called a population, and iteratively perform some of the processes of natural evolution (e.g., selection, reproduction and replacement) until some termination condition is achieved. The computational process of searching for a ligand that is able to fit both geometrically and energetically the binding site of a protein is called docking. Docking is widely used in the process of in-silico drug design where a useful drug molecule among a large set of probable molecules needs to be found. The problem of docking is especially difficult because of several factors, like availability of a good scoring function and the presence of a large number of degrees of freedom. The present talk involves an introduction to evolutionary algorithms and an application to protein-ligand docking problem.