Deterministic versus Stochastic Optimization for Joint PathPlanning and Dynamic Time Splitting in Multiple-UAV-Cached IoT Networks
UAV
Công nghệ cốt lõi
- Wirelesss Power Transfer (WPT) & Dynamic time splittng (DTS):
- UAV ko dùng pin mà dùng năng lượng từ sóng RF của trạm gốc để làm năng lượng (energy harvesting)
- DTS chia 1 khoảng thời gian thành 2 phần: "sạc" và xả để truyền data
- Backscatter Communication (Truyền thông phản xạ - BackCom):
- Thay vì tự phát sóng, UAV dùng sóng phản xạ để gửi dữ liệu đi(giống gương)
- Caching (bộ đệm): tự động lưu trữ những nội dung hay dùng để cache hit, thay vì request BS gửi lại
Mục tiêu cốt lõi: Tối ưu hóa lượng data truyền đến
- Chia thời gian sạc/truyền DTS như nào? (t)
- UAV phải bay theo đường nào? (Quỹ đạo)
- Công suất phát của BS và UAV phân chia như nào? (P)
Caching
- Khi máy nhận yêu cầu một file dữ liệu, BS cần gửi toàn bộ S qua UAV rồi gửi lại máy nhận. Điều này rất tốn kém.
- Giải pháp:
- Các UAV được trang bị bộ nhơs đệm và đã tải sẵn một phần dữ liệu phổ biến.
- $c_r$ là tỉ lệ cache (cache ratio), có giá trị từ 0 đến 1.
- Khi đích request một file S, một phân đoạn $c_r \times S$ đã được lưu sẵn trên UAV, BS chỉ cần gửi phần còn lại $(1-c_r) \times S$ đến UAV.
- Phương trình tín hiệu nhận được(15):
- $$g_{d}^{nm} = \underbrace{\sqrt{\eta_{u}^{n}P_{s}^{nm}}h_{ud}^{nm}h_{su}^{nm}v_{s}^{nm}}{\text{Tín hiệu Phản xạ (Backscatter)}} + \underbrace{\lceil c{r}\rceil\sqrt{P_{u}^{nm}}h_{ud}^{nm}v_{c}^{nm}}{\text{Tín hiệu Cache}} + n{d}$$
- Nhìn kỹ ta thấy $\lceil c_r \rceil$ là hàm trần (ceiling function), hàm này sẽ luôn làm tròn số thực lên. Tức là chỉ cần $c_r$ > 0 thì $\lceil c_r \rceil$=1.
- Khi $\lceil c_r \rceil=1$ , UAV sẽ đẩy dữ liệu cache $v_{c}^{nm}$ đi bằng chính năng lượng của nó $P_{u}^{nm}$
- Ràng buộc tín hiệu (28b):
- ![[Ảnh màn hình 2026-06-05 lúc 23.47.12.png]]
- Vế trái là tổng dữ liệu UAV nhận được (có $c_r \times S$), vế phải là tổng dữ liệu đích nhận được.
- Các UAV được trang bị bộ nhơs đệm và đã tải sẵn một phần dữ liệu phổ biến.
Thuật toán BCD - Block Coordinate Descent
- Bài toán yêu cầu tối ưu phức tạp(quỹ đạo, DTS, Công suất phát)-> bài toán non-convex -> xuất hiện nhiều cực trị -> cần tìm ra điểm tốt nhất và tránh cực trị địa phương.
- Thuật toán BCD sẽ cố định 2 tham số và tối ưu tham số còn lại, vòng lặp mô tả:
- B1: Cố định quỹ đạo, công suất -> Tìm tỷ lệ DTS tối ưu (KKT).
- B2: Cố định DTS và công suất -> Tìm quỹ đạo
- B3: Cố định DTS và quỹ đạo -> Tìm công suất phát tối ưu. Vòng lặp kết thúc khi throughput đạt max và hội tụ.
Vấn đề của BCD
- BCD là một thuật toán định hướng, nó tối ưu từng bước một(trong từng vòng lặp). Nếu một tham số rơi vào cực trị địa phương, các tham số khác cũng có xu hướng rơi vào cực trị địa phương của riêng nó. Khi này throughput sẽ hội tụ-> kết thúc vòng lặp mà vẫn chưa thể tìm các cực trị tốt hơn.
Thuật toán GA
- GA tạo ra một quần thể gồm nhiều cá thể(particles), mỗi cá thể lưu một lời giải hoàn chỉnh bao gồm: quỹ đạo bay, tỉ lệ DTS, công suất phát.
- Hàm fitness: Hệ thống đánh giá xem cá thể nào đưa ra throughput cao nhất, cá thể nào vi phạm các ràng buộc(UAV bay quá nhanh, năng lượng ko đủ) sẽ bị phạt penalty.
- Lai ghép và đột biến: Kết hợp cấu hình tốt của bố và mẹ, đột biến sẽ thay đổi ngẫu nhiên 1 vài giá trị trong cấu hình. Sự ngẫu nhiên này làm đa dạng hóa quần thể, giúp UAV thử nghiệm được nhiều đường bay mới.
Kết quả cho thấy GA đạt được throughput max cao hơn hẳn BCD, NHƯNG thời gian chạy chậm hơn đáng kể![[Ảnh màn hình 2026-06-03 lúc 17.03.11.png]]
Mô hình kênh truyền Rician Fading
- Trong môi trường đô thị, tín hiệu đi từ BS đến UAV ko đi theo một đường thẳng duy nhất, mà có bị phản xạ qua nhiều nhà cửa cây cối cột điện.
- Mô hình mô tả bằng cách chia tín hiệu thành 2 phần
- Line of Sight (LoS): Tín hiệu truyền thẳng, ko bị cản trở
- Non-Line of Sight(NLoS): Các tia phản xạ, bị nhiễu loạn do môi trường xung quanh.
- Hệ số kênh truyền: $$h_{iu}^{nm} = \sqrt{\omega_{0}(d_{iu}^{nm})^{-\alpha}} \tilde{h}_{iu}^{nm}$$
- Trong đó, hao tổn khoảng cách được tính bằng(Path Loss): $$\sqrt{\omega_{0}(d_{iu}^{nm})^{-\alpha}}$$
- Thành phần nhiễu loạn(small-scale fading): $$\tilde{h}{iu}^{nm} = \sqrt{\frac{K}{1+K}}\overline{h}{iu}^{nm} + \sqrt{\frac{1}{1+K}}\hat{h}_{iu}^{nm}$$
- $\overline{h}_{iu}^{nm}$ là thành phần LoS cố định.
- $\hat{h}_{iu}^{nm}$ là thành phần NLoS ngẫu nhiên.
- $K$ là Hệ số Rician (Rician factor) = LoS/NLoS Mô hình xác định độ mạnh yếu của tín hiệu, BCD sẽ cần nhìn vào để tìm vùng có LoS mạnh để đi. -> Tối ưu qũy đạo bay
Backscatter communication
Tín hiệu phản xạ từ UAV phát ra được mô tả bằng công thức:
$$v_{u}^{nm} = \sqrt{\eta_{u}^{n}P_{s}^{nm}}h_{su}^{nm}v_{s}^{nm}$$ Trong đó:
- $P_{s}^{nm}$: Công suất phát của Trạm gốc.
- $h_{su}^{nm}$: Hệ số kênh truyền từ Trạm gốc đến UAV.
- $\eta_{u}^{n}$: Hệ số phản xạ (Backscatter coefficient), nằm trong khoảng $[0, 1]$.
Nếu hệ số phản xạ =1, tức là mọi tín hiệu đến đều bị phản xạ ngược lại, tức là ko có năng lượng dành cho việc sạc pin. Dẫn đến UAV sẽ dễ rụng vì ko có năng lượng hoạt động
- BCD sẽ căn chỉnh thời gian mạch phản xạ hoạt động, nếu chạy quá lâu thì thời gian nạp sạc quá ít, hết năng lượng, chạy quá nhanh thì ko đủ thời gian truyền tải -> Tối ưu thời gian t của DTS
- Công suất tín hiệu phản xạ của mạch backscatter phụ thuộc vào công suất phát, BCD sẽ tính toán công suất phát để sóng đủ mạnh cho mạch phản xạ tốt -> Tối ưu công suất phát
Hàm shannon và BDT Jensen, Lemma 1??
Tốc độ truyền dữ liệu trung bình, được tính bằng kỳ vọng của hàm sau:$$\overline{R}{u}^{nm} = B \mathbb{E}{\log{2}(1 + SNR_{u}^{nm})}$$ Trong đó : - B là độ rộng kênh truyền(Hz) - E là ? - SNR là tỉ số truyền nhận/nhiễu = Ptc/Pn, là một biến ngẫu nhiên.
Vấn đề
- Công thức tính E của một biến ngẫu nhiên x là tích phân của xf(x) trên toàn miền xác định.
- $$ \mathbb{E}[G(X)] = \int_{-\infty}^{+\infty} G(x) f_X(x),dx $$ Do đó: (Đặt bnn X = SNR) => g(x)=log2(1+x),fX(x)=fSNR(x) $$ \overline{R}u^{nm} = B \int{0}^{+\infty} \log_2(1+x) f_{SNR_u^{nm}}(x),dx $$ Vì công thức của SNR khá rắc rối và phụ thuộc vào nhiều biến: ![[Ảnh màn hình 2026-06-05 lúc 10.56.05.png|530]] Việc tính tích phân trở nên quá phức tạp cho máy tính -> Cần tối ưu dùng BDT Jensen (Huang).
Đặt biến ngẫu nhiên X đại diện cho SNR bằng: $$X = \frac{P_{s}^{nm}|h_{su}^{nm}|^{2}}{\sigma_{u}^{2}}$$ Đại lượng này tuân theo phân phối mũ(do hệ số h tuân theo phân phối rician?). Do đó hàm mật độ là: $$p(x) = \lambda_f e^{-\lambda_f x}, \quad \text{với } x \ge 0$$ với $\lambda_f = (\mathbb{E}{X})^{-1}$ Với hàm tính kỳ vọng ban đầu:$$ \mathbb{E}{\log_{2}(1 + SNR_{u}^{nm})}={\mathbb{E}\log_2(1+X)}={\mathbb{E}\log_2(1+e^{ln(x)})}$$ Hàm trên là một hàm lồi với tham số ln(x), do đó áp dụng BDT Jensen: $$\mathbb{E}\left{g(t)\right} \ge g\left(\mathbb{E}{t}\right)$$ Do đó $${\mathbb{E}\log_2(1+e^{ln(x)})}\ge log_2(1+e^{\mathbb{E}{ln{X}}})$$ Bài toán trở thành tính $\mathbb{E}{\ln X}=-ln(\lambda_f+E)$ với E là hằng số Euler-Mascheroni, E=0.577215. $$\mathbb{E}{\ln X}=ln(\mathbb{E}{X})-E$$ Do đó: $$e^{\mathbb{E}{\ln X}}=e^{ln(\mathbb{E}{X})-E}=\mathbb{E}{X}e^{-E}$$ Tức là: $${\mathbb{E}\log_2(1+e^{ln(x)})}\ge log_2(1+e^{\mathbb{E}{ln{X}}})=log_2(1+\mathbb{E}{X}e^{-E})$$ với $e^{-E}=0.561$ Thay thế công thức SNR vào, ta được: $$\overline{R}{u}^{nm} \ge \tilde{\Theta}{1} = B \log_{2}\left(1 + \frac{e^{-E} \omega_{0} P_{s}^{nm}}{(d_{su}^{nm})^{\alpha} \sigma_{u}^{2}}\right)$$ là giới hạn dưới, hằng số e^-E đóng vai trò làm giảm giá trị bên trong log2, giúp nó luôn thấp hơn hoặc bằng giá trị thực tế, đảm bảo an toàn biên cho hệ thống. Khi này thuật toán BCD sẽ tối ưu hàm $\tilde{\Theta}{1}$ và $\tilde{\Theta}{2}$.
Hàm $\tilde{\Theta}{1}$ và $\tilde{\Theta}{2}$ là 2 hàm mục tiêu.
Kết luận về BCD
- BCD có 3 phần tối ưu chính về t,quỹ đạo và công suất. Trong đó:
- Quỹ đạo được tối ưu bằng mô hình Rician Fading(Tìm LoS tốt)
- Công suất phát được xác định bằng Backscatter
- Thời gian phân chia DTS, sử dụng điều kiện KKT (chuyển từ bài toán lồi)
- Hàm Shannon sẽ là hàm mục tiêu để BCD dựa vào đó tinh chỉnh tham số
- qua từng vòng lặp
- Caching ảnh hưởng đến BCD:
- Nếu ko có caching hay $c_r=0$ thì UAV cần thời gian lấy dữ liệu từ BS, khiến t DTS(thời gian phát) bị giảm.
- Nếu có cache, UAV sẽ cần ít áp lực dữ liệu từ BS hơn, BCD có thể tăng t DTS để phát dữ liệu xuống.
Thuật toán GA
- GA tạo ra một quần thể gồm nhiều cá thể(particles), mỗi cá thể lưu một lời giải hoàn chỉnh bao gồm: quỹ đạo bay, tỉ lệ DTS, công suất phát.
- Hàm fitness: Hệ thống đánh giá xem cá thể nào đưa ra throughput cao nhất, cá thể nào vi phạm các ràng buộc(UAV bay quá nhanh, năng lượng ko đủ) sẽ bị phạt penalty.
- Lai ghép và đột biến: Kết hợp cấu hình tốt của bố và mẹ, đột biến sẽ thay đổi ngẫu nhiên 1 vài giá trị trong cấu hình. Sự ngẫu nhiên này làm đa dạng hóa quần thể, giúp UAV thử nghiệm được nhiều đường bay mới.
Kết quả cho thấy GA đạt được throughput max cao hơn hẳn BCD, NHƯNG thời gian chạy chậm hơn đáng kể![[Ảnh màn hình 2026-06-03 lúc 17.03.11.png]]
Cấu trúc vector NST của GA
- Chúng ta có rất nhiều tham số cần được tối ưu, lai ghép và đột biến bao gồm: Tọa độ X,Y,Z, thời gian DTS t, Công suất Pu, Ps.
- Bài báo quy đổi hết về các số thực trong đoạn [0,1)
- Nếu để nguyên các đơn vị (m,ms,mW), thì sự thay đổi quá nhanh của dữ liệu (10m vs 0.1 mW) sẽ có sự áp đảo hoàn toàn (giống mất đạo hàm :v)
- Khi tất cả các gen đều có chung 1 miền giá trị [0,1)] Thuật toán tha hồ cắt ghép lai tạo đột biến. GA chỉ cần nhân với hằng số giới hạn như VMax, Pmax để dịch trở lại giá trị đơn vị thực tế.
Hàm fitness và Penalty
- Hàm fitness chính là thước đo chấm điểm xem một cá thể(cấu hình), có tốt hay ko dựa trên throughput dựa trên hàm Shannon kể trên.
- Do sự đột biến có thể vi phạm ràng buộc vật lý->Tác giả đã thiết kế Penalty
- Phạt loại bỏ: Nếu 3 ràng buộc cốt lõi(Bay quá nhanh,năng lượng sạc ko đủ, nghẽn cổ chai up<down) thì sẽ bị loại bỏ ngay.
- Phạt điểm: Nếu cá thể thỏa mãn các điều kiện trên nhưng ko đáp ứng tốc độ tối thiểu S(công thức 28c). Nó sẽ ko bị xóa xổ mà sẽ bị dính một hệ số phạt p thuộc (0,1) để giảm cơ hội đc chọn nó.
Crossover và Mutation
Crossover
- Thuật toán chọn ngẫu nhiên 2 cá thể, cắt vector tại một vị trí u để đổi cho nhau để tạo ra đời con kế thừa cấu hình tốt của cả 2.
Mutation
- Thuật toán sẽ chọn ngẫu nhiên vài ô trong vector số thực và thay bằng một số hoàn toàn mới [0,1)]. Đây là sự ngẫu nhiên giúp thuật toán tho
- át khỏi local minima mà BCD mắc phải.
Cấu hình mô phỏng
-
Cấu hình không gian và các thực thể
- Số UAVs (UBD): 2
- Tọa độ trạm gốc(BS): $W_s=[5,0,0]$
- Tọa độ trạm thu: $W_d=[15,0,0]$
- Lộ trình bắt buộc:
- UAV1 bắt đầu ở $[0,10,10]$ và phải kết thúc ở $[20,10,10]$
- UAV2 bắt đầu ở $[0,10,5]$ và phải kết thúc ở $[20,10,5]$
- Note: UAV1 và UAV2 có cùng tọa độ Oxy, khác cao độ z?
-
Cấu hình các tham số
- Môi trường nhiễu nền $\sigma^2=-90dB$ (Fitness)
- Hệ số suy hao đường truyền $\alpha=2.3$ (dùng để tính pathloss do môi trường)
- Hệ số năng lượng thu hoạch EH $\mu=0.84$
- Công suất phát Wireless Power Transfer chạy từ 27 đến 40dB để khảo sát hiệu năng(tại sao lại là dB?) - Côg thức decibel-miliwatt: $dBm = 10log_{10}(P(mW)/mW)$ - Việc sử dụng dBm để thay thế phép tính $P_{nhận} = P_{phát} \times \text{Hệ số suy hao}$ - Khi đổi qua logarit sẽ thành phép cộng(tính nhanh hơn phep nhân)
- Hệ số phản xạ n=0.5
- Cache UAV là 0.45(chạy từ 0.1 đên 0.9)
Kết quả mô phỏng
- Kết quả đường bay tối ưu của 2 UAV
- ![[Ảnh màn hình 2026-06-05 lúc 23.05.29.png]]
- Nhận xét:
- cả 2 uav đều ko bay thẳng, mà hạ thấp độ cao đến mức tối thiểu z=3
- During this movement, the UBDs typically descend to the lowest allowable altitude and follow a trajectory around a strategically chosen location situated on the direct line between the source and the destination. (UAV có quỹ đạo bay quanh đường thẳng nối 2 điểm đầu và đích ?? -> cần làm rõ)
- Quỹ đạo bay của UAV bị ảnh hưởng bởi $P_{WPT}$ , thứ sẽ điều chỉnh động (?) quỹ đạo bay của UAV để tối ưu năng lượng truyền tải và tối đa throughput.
- Fig4: So sánh cấu hình đầy đủ(Com) và các phương pháp cũ (3D+OP,2D+2UAV) ![[Ảnh màn hình 2026-06-05 lúc 23.13.56.png|661]]
- Nhận xét:
- 3D+OP : throughput thấp thảm hại --> multi-UAV tốt hơn
- 2D+2UAV: Với cùng một khoảng thời gian bay, throughput thấp hơn Com do bị fix độ cao.
- Fig5+ Table 5: So sánh throughput giữa 3 thuật toán DRL(Học sâu tăng cường->DDPG), BCD và GA. ![[Ảnh màn hình 2026-06-05 lúc 23.19.07.png]]![[Ảnh màn hình 2026-06-05 lúc 23.19.14.png]]
- Nhận xét:
- Về Throughput: GA>BCD>DRL
- GA đạt max tại cấu hình bay 50s với throughput đạt 618.4Mbits, tốt hơn BCD khoảng 8% và gấp 2.81 lần DRL (Table V)
- DRL dính throughput bé vì môi trường động(Page 13)
- Về Runninng time: DRL > GA > BCD
- GA có running time tệ nhất. Tại thời gian bay T=50, GA phải xử lý 10600 thế hệ (đã qua lai tạo và đột biến) nên có thời gian chạy 3540s.
- BCD chạy nhanh hơn vì có công thức nghiệm tối ưu giải sẵn.
- DRL có thời gian chạy ngắn nhất (chỉ hơn 1s) do đã thiết lập sẵn các trọng số từ mạng nơ ron sâu. Tuy nhiên DRL lại có thời gian training lên tới 6487s tại T=50 với Spec: CPU AMD Ryzen 7 4800H (2.9GHz) và 16GB RAM. Fig 6: ![[Ảnh màn hình 2026-06-05 lúc 23.55.33.png]] Fig 6 mô tả throughput của BCD và GA qua thay đổi tỉ lệ cache.
- Về Throughput: GA>BCD>DRL
- Nhận xét:
- Dựa vào dữ liệu, bài báo đưa ra Hiệu ứng lợi suất giảm dần(Diminish marginal gains).
- Với mức tăng từ 0.2 lên 0.4, throughput tăng mạnh khoảng 17Mbits và 19Mbits với BCD và GA.
- Ở mức 0.8-0.1, mức tăng giảm chỉ còn khoảng 5.1Mbits và 5.8Mbits với BCD và GA.
- Mức cấu hình cơ bản $c_r=0.45$ ở trên là tối ưu. ![[Ảnh màn hình 2026-06-06 lúc 00.07.03.png]] Table 6: So sánh thời gian chạy giữa dùng CPU và dùng GPU NVIDIA RTX 4090
- Nhận xét:
- Thời gian chạy sử dụng GPU giữa 2 thuật toán giảm đi đáng kể(dưới 60s) ![[Ảnh màn hình 2026-06-06 lúc 00.06.46.png]] Table 7: So sánh thời gian chạy (running time) sử dụng GPU tương ứng với số UAV
- Nhận xét:
- Ở hệ thống nhỏ(2UAVs), Thuật toán BCD chạy nhanh hơn GA (7.47s vs 16s)
- Khi hệ thống phức tạp dần (10UAVs), thuật toán BCD có thời gian chạy bùng nổ, tăng vọt lên tới 168.32s so vơis 45.8s của GA. Nguyên nhân được xác định là do BCD phải thực hiện các phép toán Ma trận cực nặng khi số lượng ràng buộc giữa các UAV tăng lên theo cấp số nhân (và chạy tuần tự).
- GA có tốc độ chạy tăng ổn định hơn. Do GA cần tính hàm fitness cho hàng ngàn cá thể, trong khi RTX 4090 có 16384 nhân CUDA có thể tính toán đồng thời (nhân ma trận theo lô).
Next step
- Áp dụng Backscatter, Cache vào bài báo của a sơn
- Đọc bài báo của c tâm để tối ưu bài c tâm