Skip to main content
Cập nhật lần cuối: 14/05/2026

Module 8 — Generative Design: Galapagos & Wallacei

Thời lượng: ~6 giờ · Độ khó: Nâng cao

Mục tiêu: Dùng thuật toán tiến hóa để tự động tìm kiếm giải pháp tối ưu — từ tối ưu 1 chỉ tiêu đến khám phá toàn bộ không gian giải pháp đa mục tiêu.


8A — Galapagos: Single-Objective Optimization

Tư duy Evolutionary Optimization

Giống như chọn lọc tự nhiên:
1. Tạo nhiều "cá thể" (giải pháp) ngẫu nhiên
2. Đánh giá mỗi cá thể theo Fitness function
3. Giữ lại cá thể tốt nhất
4. "Lai ghép" và đột biến → thế hệ mới
5. Lặp lại → giải pháp ngày càng tốt hơn

Setup Galapagos

Genes (biến số):
→ Sliders trong GH (Galapagos sẽ tự điều chỉnh giá trị)
→ Mỗi slider = 1 gene

Fitness (hàm mục tiêu):
→ 1 số duy nhất để Galapagos tối ưu
→ Galapagos MINimize hoặc MAXimize giá trị này

Kết nối:
Slider(s) → [định nghĩa] → Fitness value → Galapagos component
Hình minh họa

[Ảnh: Galapagos component trong GH — tab Genome (sliders) và Fitness (output)]

Ví dụ 1: Maximize Solar Gain

Genes: Overhang angle (0→90°) + Depth (0.3→1.5m)
Fitness: Total solar radiation received on south facade (kWh)
Mode: Maximize
→ Galapagos tìm overhang geometry nhận nhiều nắng nhất (for PV)

Ví dụ 2: Minimize Material Volume

Genes: Truss height + Member radius
Fitness: Total volume of all structural members
Mode: Minimize
Constraint: Deflection < L/500 (kiểm tra bằng Karamba GH)

Đọc kết quả Galapagos

Galapagos log:
- Generation số: fitness hiện tại
- Best fitness: giá trị tốt nhất tìm được
- Convergence graph: dừng khi flat

Sau khi chạy xong:
- Double-click → xem record các giải pháp
- "Reinstate" → set sliders về giải pháp best

8B — Wallacei: Multi-Objective Optimization

Cài đặt

Download Wallacei từ wallacei.com hoặc Food4Rhino.

Tại sao cần Multi-Objective?

Trong thực tế, thiết kế luôn có nhiều mục tiêu mâu thuẫn nhau:

  • Maximize natural light ↔ Minimize solar heat gain
  • Minimize facade cost ↔ Maximize thermal performance
  • Maximize floor area ↔ Maximize open space ratio

Galapagos chỉ xử lý 1 fitness → phải chọn 1 ưu tiên duy nhất.
Wallacei tìm Pareto Front — tập hợp tất cả giải pháp "không thể cải thiện thêm 1 mục tiêu mà không làm xấu mục tiêu khác".

Setup Wallacei

Genes: Sliders (giống Galapagos)

Fitness Objectives: NHIỀU giá trị
Component: Wallacei Analytics (tổng hợp nhiều fitness)
Input: [Objective 1], [Objective 2], ..., [Objective N]

Wallacei X Component (Main Solver):
Input: Genes + Fitness Objectives
Settings: Population size + Generations + Crossover/Mutation rates

Pareto Front

Pareto Front = tập hợp giải pháp "tối ưu không bị chi phối"

Giải pháp A bị chi phối bởi B nếu:
B tốt hơn A ở MỌI mục tiêu

Pareto Front = tất cả giải pháp KHÔNG BỊ chi phối

Trên biểu đồ 2D (2 objectives):
- Pareto Front = đường cong ở góc dưới-trái
- Mỗi điểm = 1 trade-off khác nhau
Hình minh họa

[Ảnh: Pareto Front chart — trục X: Solar Heat Gain (minimize), trục Y: Daylight (maximize) — trade-off curve]

Đọc kết quả Wallacei

Wallacei Analytics Panel:
1. Scatter Plot: 2 objectives → Pareto Front visible
2. Parallel Coordinates: nhiều objectives → pattern nhận diện
3. Solution Distribution: histogram phân bố

Lọc giải pháp:
- Click vào điểm trên Pareto Front → xem giải pháp đó trong viewport
- Export: CSV với tất cả fitness values + gene values

Export CSV

Wallacei Export CSV
Output: Excel-ready file với:
- Generation + Individual ID
- Gene values (slider positions)
- Objective values
→ Analyze trong Excel / Python / R

Bài tập Module 8 — Tối ưu Mặt Đứng Văn Phòng

Đề bài: Tìm hệ panel facade tối ưu giữa 2 mục tiêu mâu thuẫn.

Building: Mặt đứng Tây, 20m×10m
EPW: TP.HCM

Genes (biến số tối ưu hóa):
1. WWR — Window-to-Wall Ratio (30%→80%)
2. Overhang Depth (0.2→1.0m)
3. Panel Angle (vertical, -30°→+30°)

Objectives (2 mục tiêu):
Obj 1: Radiation received through windows (kWh/year) → MINIMIZE
Obj 2: View factor to outside (0→1) → MAXIMIZE (nội suy: 1 - view = minimize)

Part A: Galapagos
- Chỉ optimize Obj 1 (minimize radiation)
- Xem giải pháp best → recorder kết quả

Part B: Wallacei
- Optimize cả 2 objectives
- Population = 20, Generations = 50
- Phân tích Pareto Front
- Chọn 3 điểm trên Pareto Front đại diện:
P1: Max radiation reduction (but low view)
P2: Balanced trade-off
P3: Max view (but high radiation)
- Export CSV → highlight 3 điểm này trong Excel
- Screenshot 3 solutions trong viewport — so sánh hình học

Liên kết kiến thức

Nền tảng cần nắm

Chủ đề liên quan