Graduation Year


Document Type




Degree Name

Master of Science (M.S.)

Degree Granting Department

Computer Science and Engineering

Major Professor

Srinivas Katkoori, Ph.D.

Committee Member

Yicheng Tu, Ph.D.

Committee Member

Hao Zheng, Ph.D.


There are many combinatorial optimization problems such as flow shop scheduling, quadraticassignment problem, traveling salesman problem, that are computationally intractable. Genetic Algorithm is a heuristic algorithm used to find an answer to combinatorial optimization problems. MAX-3SAT is an example of combinatorial optimization problem which has wide range of applications as many real world problems can be translated to MAX-3SAT problem. Genetic algorithms are suitable to solve MAX-3SAT problems but usually undergo premature convergence. To prevent this convergence and maintain diversity, one possible solution is to use large population size. This increases computation cost and time. Since Genetic Algorithms compute the same fitness function on large data (population), it provides data and instruction parallelism. Hence Genetic algorithm can be scaled on to GPU architecture. GPUs are affordable, efficient parallel computing hardware. Hence in this thesis, we use CUDA framework to implement a parallel version of Genetic Algorithm on GPU. We use the MAX-3SAT problem to verify our algorithm. Compared to the CPU implementation with similar workload, the proposed GPU implementation is upto four times faster and often finds better results.