í tưởng giải thuật:
- Lưới phõn phối khụng cú mạch vũng kớn, nú gồm rất nhiều nỳt, đoạn nhỏnh liờn kết với nhau. Cú thể hỡnh dung lưới như một cõy giao với thõn là đường trục, cỏc nhỏnh tương ứng với cỏc nhỏnh của lưới điện, cỏc mắt nối như cỏc nỳt, gốc cõy tương ứng với nỳt đầu nguồn. Thuật toỏn sẽ tiến hành bẻ dần cỏc nhỏnh từ ngoài vào trong đến khi hết nhỏnh thỡ kết thỳc chương trỡnh. Ta cú thể xột thuật toỏn nhận dạng lưới phõn phối, tớnh điện năng, cụng suất truyền dẫn trong nhỏnh theo cỏch tớnh từ dưới lờn hay từ nỳt cuối về đầu nguồn như sau:
Cỏc bước thực hiện:
1- Duyệt từ đầu đến cuối dữ liệu, xỏc định một đoạn nhỏnh cuối của lưới. 2-Tớnh toỏn cỏc thụng số năng lượng của nhỏnh cuối như điện năng, cụng suất truyền dẫn, tổn thất điện năng …trờn nhỏnh cuối và ghi vào dữ liệu.
3- Đọc thụng số năng lượng trờn đoạn nhỏnh cuối vừa tớnh vào biến. 4- Xoỏ nhỏnh cuối ra khỏi chương trỡnh.
5- Chuyển tiếp cỏc thụng số năng lượng của cuối lờn đoạn nhỏnh trờn nối trực tiếp đến nhỏnh cuối bằng cỏch cộng giỏ trị của biến vào giỏ trị thụng số năng lượng của nhỏnh, ghi vào dữ liệu.
6- Quay trở lại bước 1 nếu khụng xỏc định được nhỏnh cuối (đó xoỏ toàn bộ cỏc nhỏnh ra khỏi chương trỡnh) thỡ thoỏt khỏi chương trỡnh.
7- Nạp lại toàn bộ file dữ liệu, tiến hành tớnh toỏn cỏc phần khỏc. Lưu đồ của giải thuật này được trỡnh bày ở trang sau.
n đầu as string. n cuối as string sum A, sinAnh as string
+ Mở bảng sinhAnh trong field dữ liệu Set rs = db.Open Record set (SQL) + Xoỏ số liệu cũ:
Anh = 0; Cs = 0
+ Chuyển về bản ghi đầu tiờn. Rs.Move first Tỡm bản ghi cú Cs = 0. Find First “ Cs = 0 ” Khụng thấy rs.No match Kết thỳc. END SUB Đọc tờn nỳt cuối vào biến. n cuối = rs.Fields(nc) Tỡm nhỏnh cú nỳt đầu = ncuối và Cs = 0 trong bảng sinhAnh Đỳng TRUE Sai FALSE Sai FALSE
+ Gọi chương trinh con tớnh điện năng nhỏnh. Call Anh (sinAnh)
+ Đọc thụng số tớnh toỏn vào biến thụng số nhỏnh: sinAnh = rs.Fields(“Anh”)
+ Gọi chương trinh con tớnh cụng suất nhỏnh + Ghi thụng số tớnh toỏn vào biến thụng số