In many industrial processes and operations, such as power plants, petrochemical industries and ships, shell and tube heat exchangers are widely used and probably applicable for a wide range of operating temperatures. The main purpose of a heat exchanger is to transfer heat between two or more medium with temperature differences. Heat exchangers are highly nonlinear, time-varying and show time lag behavior during operation. The temperature control of such processes has been challenging for control engineers and a variety of forms of PID controllers have been proposed to guarantee better performance. In this paper, a scheme to control the outlet temperature of a shell and tube heat exchanger system that combines the PID controller with feedforward control and anti-windup techniques is presented. A genetic algorithm is used to tune the parameters of the PID controller with anti-windup and the feedforward controller by minimizing the IAE (Integral of Absolute Error). Simulation works are performed to study the performance of the proposed method when applied to the process.