Thiết kế các bề mặt dạng tự do thường áp dụng thuật toán GS (thuật toán Gerchberg-Saxton). Thuật toán GS giải quyết phân phối pha của bề mặt dạng tự do thông qua quá trình tối ưu hóa lặp. Các bước cụ thể bao gồm:
Cho ước tính biên độ phức tạp ban đầu của bề mặt đầu vào, trong đó bề mặt đầu vào là bề mặt phía sau của bề mặt dạng tự do và pha ban đầu là sự thay đổi pha được giới thiệu bởi bề mặt dạng tự do.
Sóng ánh sáng được truyền đến một khoảng cách được chỉ định bởi nhiễu xạ phổ góc để thu được sự phân bố biên độ phức của bề mặt đầu ra.
Các ràng buộc thích hợp được thực hiện trong bề mặt đầu ra và biên độ của bề mặt đầu ra được thay thế bằng biên độ mong muốn để có được biên độ phức tạp được cập nhật của bề mặt đầu ra.
Sóng ánh sáng được truyền trở lại bề mặt đầu vào bằng nhiễu xạ phổ góc để thu được sự phân bố biên độ phức tạp được cập nhật của bề mặt đầu vào.
Các ràng buộc thích hợp được thực hiện trong bề mặt đầu vào và biên độ của bề mặt đầu vào được thay thế bằng biên độ mong muốn để có được ước tính biên độ phức tạp được cập nhật của bề mặt đầu vào.

