Giao diện
Trong thiết kế vi mạch tích hợp quy mô siêu lớn (VLSI), kiến trúc máy tính và thiết kế giao diện tự động (Auto-Layout), bài toán quy hoạch mặt bằng (floor planning) đóng vai trò quyết định hiệu năng của toàn bộ hệ thống. Nhiệm vụ là sắp xếp
Nhìn từ góc độ tối ưu hóa, bài toán floor planning tổng quát là một bài toán tối ưu tổ hợp NP-khó vì vị trí tương đối giữa các khối (khối này nằm bên trái hay bên phải, bên trên hay bên dưới khối kia) là các quyết định rời rạc. Tuy nhiên, một khi cấu trúc hình học tương đối được ấn định thông qua một cây phân cắt (slicing tree), toàn bộ bài toán chọn kích thước, tỷ lệ khung hình và tọa độ các khối chuyển hóa một cách tự nhiên thành một Quy hoạch hình học (GP) hoặc Quy hoạch tuyến tính (LP) khả giải tối ưu toàn cục.
1. Mô hình hóa bài toán Floor Planning
Giả sử ta cần bố trí
- Tọa độ góc trái dưới:
. - Chiều rộng:
. - Chiều cao:
.
Do đó, khối thứ
Toàn bộ
Ràng buộc về kích thước và hình dạng của từng khối
Các khối phần cứng thường có tính co dãn linh hoạt trong giới hạn công nghệ:
- Diện tích tối thiểu: Mỗi khối phải có diện tích không nhỏ hơn một ngưỡng thiết kế
: - Tỷ lệ khung hình (Aspect Ratio): Để tránh các khối quá mỏng hoặc dài ngoằng gây khó khăn khi chế tạo, tỷ số giữa chiều cao và chiều rộng bị kẹp trong một khoảng cho phép:
2. Ràng buộc không chồng lấn và Cây phân cắt (Slicing Floorplans)
Hai khối
- Khối
nằm hoàn toàn bên trái khối : . - Khối
nằm hoàn toàn bên phải khối : . - Khối
nằm hoàn toàn bên dưới khối : . - Khối
nằm hoàn toàn bên trên khối : .
Phép tuyển "hoặc" giữa bốn điều kiện này tạo nên tính phi lồi tổ hợp. Để giải quyết, người ta cố định trước quan hệ thứ tự tương đối bằng cách sử dụng mô hình mặt bằng phân cắt (Slicing Floorplan).
Một mặt bằng phân cắt được tạo thành bằng cách đệ quy chia đôi một hình chữ nhật lớn thành hai hình chữ nhật con bằng một lát cắt ngang (H) hoặc lát cắt dọc (V). Cấu trúc này được biểu diễn bằng một cây nhị phân (Slicing Tree), trong đó các lá là các khối chức năng và các nút nội bộ là các lát cắt.
Khi cây phân cắt đã cố định, với mỗi cặp khối
- Lát cắt dọc:
(khối ở nhánh trái, khối ở nhánh phải). - Lát cắt ngang:
(khối ở nhánh dưới, khối ở nhánh trên).
Khi đó, toàn bộ các ràng buộc vị trí không chồng lấn trở thành các bất đẳng thức tuyến tính chuẩn đối với các biến tọa độ và kích thước.
3. Cải dạng Quy hoạch hình học (GP) cho bài toán chọn kích thước
Khi cấu trúc cây phân cắt đã ấn định, ta muốn xác định kích thước
Bài toán có dạng:
Trong cấu trúc slicing tree, chiều rộng và chiều cao của khung bao có thể được biểu diễn như các posynomial của các biến kích thước khối. Cụ thể, nếu hai khối
Ràng buộc diện tích viết lại thành: Biểu thức
Do đó, toàn bộ bài toán là một Quy hoạch hình học (GP) chuẩn tắc trên các biến dương
4. Tối ưu hóa độ dài dây dẫn (Wirelength Optimization)
Bên cạnh mục tiêu diện tích, trong thiết kế mạch tích hợp, nhiệt độ và độ trễ tín hiệu phụ thuộc trực tiếp vào tổng độ dài dây nối giữa các khối.
Giả sử tâm của khối
Độ dài dây nối Manhattan (
Tổng chiều dài dây nối toàn mạch là:
Khi kích thước các khối
bài toán tối thiểu hóa chiều dài dây nối đưa thẳng về một bài toán Quy hoạch tuyến tính (LP):
5. Bài tập tự luyện
Bài tập 1: Quy hoạch hình học cho mặt bằng phân cắt hai khối
Xét hai khối chức năng được ghép cạnh nhau theo phương ngang (lát cắt dọc
- Diện tích tối thiểu: Thỏa mãn
và . - Tỷ lệ khung hình vuông vắn: Thỏa mãn
và .
- Thiết lập bài toán tối thiểu hóa diện tích khung bao
dưới dạng Quy hoạch hình học (GP). - Chuyển bài toán sang dạng lồi bằng phép đổi biến logarit.
- Tìm kích thước tối ưu của hai khối khi giả định
.
Lời giải
Thiết lập dạng GP: Vì
, ta đặt biến phụ với và , tức và . Khung bao chiều rộng: . Hàm mục tiêu: (một posynomial). Bài toán GP dạng chuẩn: Dạng lồi qua thang logarit: Đặt
. Hàm mục tiêu chuyển thành hàm log-sum-exp: Các ràng buộc trở thành affine:
\tilde{w}_1 + \tilde{h}_1 &\ge \log 4, \ \tilde{w}_2 + \tilde{h}_2 &\ge \log 8, \ \tilde{h}_1 &\le \tilde{H}, \quad \tilde{h}_2 \le \tilde{H}, \ -\log 2 &\le \tilde{h}_1 - \tilde{w}_1 \le \log 2, \quad -\log 2 \le \tilde{h}_2 - \tilde{w}_2 \le \log 2. \end
w_1 = \frac{4}{H}, \qquad w_2 = \frac{8}{H}.
2 \le H \le 2\sqrt{2} \approx 2{,}828.
Bài tập 2: Cân bằng dây dẫn bằng Quy hoạch tuyến tính
Cho ba khối chức năng
- Viết biểu thức tổng độ dài dây nối Manhattan từ khối
tới hai khối và . - Tìm tọa độ
tối ưu giải tích. - Thêm một khối cố định
tại với trọng số . Tìm vị trí tối ưu mới của khối .
Lời giải
Biểu thức tổng độ dài dây dẫn: Tọa độ tâm các khối:
, , và . Đặt biến dịch chuyển tương đối và : Khoảng cách Manhattan: - Từ
đến : (vì ). - Từ
đến : (vì ). Tổng chiều dài có trọng số:
- Từ
Tìm tọa độ tối ưu: Hàm mục tiêu tuyến tính phân rã theo hai biến độc lập:
- Với biến
: Hệ số , hàm đồng biến theo . Để cực tiểu, ta chọn . - Với biến
: Hệ số , hàm nghịch biến theo . Để cực tiểu, ta chọn . Vậy vị trí tối ưu là . Khối đặt sát cạnh khối do trọng số kết nối lớn hơn . Giá trị mục tiêu tối ưu: .
- Với biến
Khi bổ sung khối
tại với : Khoảng cách từ đến : (vì ). Hàm mục tiêu mới:
g(x, y) &= 12 - x + 5y + 4\big(|x - 2| + 3 - y\big) \ &= 12 - x + 5y + 4|x - 2| + 12 - 4y \ &= 24 - x + y + 4|x - 2|. \end
(x^, y^) = (2, 0).
Bài tập 3: Nới lỏng lồi cho ràng buộc không chồng lấn
Cho hai khối hình vuông kích thước
- Giải thích vì sao của cặp tọa độ
và không phải là . - Nêu kỹ thuật biến đổi sử dụng biến nhị phân (Big-M method) để mô hình hóa ràng buộc này trong Quy hoạch hỗn hợp số nguyên (MILP).
- Trong phương pháp lồi (Convex Relaxation), nếu bỏ qua tính rời rạc của biến nhị phân, điều gì xảy ra với hai khối?
Lời giải
Tính phi lồi của : Miền không chồng lấn là phần bù của một hình vuông mở:
trong đó
và . Lấy hai : - Điểm
(khối 1 ở bên phải khối 2 khoảng cách 2). - Điểm
(khối 1 ở bên trái khối 2 khoảng cách 2). Trung điểm của đoạn là . Tại , và , suy ra hai khối đè khít lên nhau, . Vì đoạn nối giữa hai chứa điểm không khả thi, miền khả thi hoàn toàn không lồi.
- Điểm
Kỹ thuật Big-M trong MILP: Để chọn một trong bốn điều kiện, ta đưa vào bốn biến nhị phân
và một hằng số đủ lớn :
x_1 - x_2 + 2 &\le M(1 - b_1), \ x_2 - x_1 + 2 &\le M(1 - b_2), \ y_1 - y_2 + 2 &\le M(1 - b_3), \ y_2 - y_1 + 2 &\le M(1 - b_4), \ b_1 + b_2 + b_3 + b_4 &\ge 1. \end
Tóm tắt
Quy hoạch mặt bằng (Floor Planning) là minh chứng điển hình cho sự kết hợp khéo léo giữa cấu trúc hình học rời rạc và tối ưu hóa lồi liên tục. Mặc dù bài toán vị trí tương đối mang bản chất tổ hợp phi lồi, việc cố định quan hệ thứ tự qua cây phân cắt slicing tree mở đường cho việc áp dụng Quy hoạch hình học (GP) để tìm kích thước và tỷ lệ khung hình tối ưu toàn cục.
Bên cạnh đó, bài toán tối thiểu hóa độ dài dây dẫn kết nối theo chuẩn Manhattan đưa trực tiếp về Quy hoạch tuyến tính (LP), cung cấp các thuật toán giải quyết nhanh chóng và chuẩn xác cho các bài toán phân bổ không gian và bố trí linh kiện quy mô lớn trong công nghiệp bán dẫn và trí tuệ nhân tạo.
Tài liệu tham khảo
- Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press, Chapter 8: Geometric Problems (§8.8).