Heart algorithm is an optimization algorithm which mimics the heart action and circulatory system in the human beings (Hatamlou, 2014). Similar to other evolutionary algorithms, the heart algorithm starts with a population of candidate solutions for the given problem. The initial population is generated and spread randomly over the search space. Then the objective function is calculated for population and the best candidate among population is chosen to be the heart and other candidates are considered as blood molecules.
After initialization of the population as heart and blood molecules, the population starts moving in the search space by simulating contraction and expansion actions of the biological heart. In this way, the heart attracts all other candidates and enforces them to move in the problem space and search for better solutions. The movement of candidates toward the heart is formulated using following equation: