Thuật toán di truyền ựược ựưa ra lần ựầu bởi TS. John Holland vào ựầu những năm 1970. Thuật toán này là phương pháp tìm kiếm xác suất bằng cách biến ựổi lặp ựi lặp lại một tập hợp các ựối tượng toán học (còn gọi là quần thể) có ựộ phù hợp nhất ựịnh thành các tập hợp mới dựa theo ựịnh luật tiến hóa của Darwin, thông qua các kỹ thuật biến ựổi từ tiến hóa sinh học như lai tạo, ựột biến, v.vẦ Nó nằm trong nhóm các thuật toán trắ thông minh nhân tạo, ựược ựánh giá là một thuật toán mạnh trong việc tìm kiếm các nghiệm tối ưu và ựược ứng dụng trong rất nhiều lĩnh vực như: sinh học, toán học, khoa học máy tắnh, hóa học, vật lý, v.vẦ
Thuật giải di truyền, hay các thuật toán tiến hóa nói chung dựa trên quan niệm cho rằng quá trình tiến hóa tự nhiên là một quá trình hoàn hảo và hợp lý. Trong ựó, các cá thể của quần thể sau luôn kế thừa và phát huy các ựặc tắnh nổi trội của thế hệ trước thông qua các quá trình cơ bản: lai tạo, ựột biến và chọn lọc tự nhiên, qua ựó các cá thể phù hợp sẽ tồn tại, không phù hợp sẽ bị loại bỏ.
Mỗi thuật toán di truyền khi giải một bài toán bao gồm 5 thành phần sau: o Cách biểu diễn di truyền.
o Cách khởi tạo quần thể ban ựầu.
o Một tiêu chuẩn ựánh giá hay ựộ phù hợp của mỗi cá thể trong quần thể. o Các phép toán di truyền.
o Các tham số khác như : kắch thước quần thể, xác suất xảy ra của các phép toán di truyền ,Ầ .
Thuật toán di truyền ựược tiến hành thông qua việc ựánh giá từng cá thể trong quần thể khởi tạo ban ựầu dựa vào ựộ phù hợp của chúng ựược xác ựịnh dựa vào
các yêu cầu ựặt ra của từng bài toán cụ thể. Việc ựánh giá này sẽ dựa trên việc biểu diễn di truyền của các ựối tượng quan tâm. Những cá thể tốt nhất sẽ ựược giữ lại cho các thế hệ tiếp theo. Bên cạnh ựó, các phép toán di truyền cũng ựược áp dụng vào nhằm tạo ra các cá thể tốt hơn cho thế hệ sau. Bằng cách ựó, miền tìm kiếm ựược mở rộng và giảm khả năng hội tụ của bài toán về các giá trị tối ưu ựịa phương. Thuật toán di truyền sẽ ựược lặp lại cho ựến khi ựạt ựược ựiều kiện dừng, hay ựiều kiện tối ưu. Những ựiều kiện này có thể là số lần lặp, sự sai biệt giữa các thế hệ kế tiếp hay ựơn giản chỉ là giá trị của ựộ phù hợp ựược thiết lập ngay từ ban ựầu. Kết quả cuối cùng của quá trình ựược xem là kết quả tối ưu của bài toán.