Ứng dụng phương pháp nhánh và cận để quy hoạch mở rộng lưới điện khi xét đến mạng điện có sẵn

123 17 0
Ứng dụng phương pháp nhánh và cận để quy hoạch mở rộng lưới điện khi xét đến mạng điện có sẵn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ĐỖ VĂN SÁNG ỨNG DỤNG PHƯƠNG PHÁP NHÁNH VÀ CẬN ĐỂ QUY HOẠCH MỞ RỘNG LƯỚI ĐIỆN KHI XÉT ĐẾN MẠNG ĐIỆN CÓ SẴN Chuyên ngành: Hệ Thống Điện LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS NGUYỄN LÂN TRÁNG Hà Nội – 2010 LỜI CAM ĐOAN Tôi xin cam đoan luận văn cơng trình nghiên cứu riêng tơi, tập hợp từ nhiều nguồn tài liệu, số liệu khác Từ vận dụng kiến thức học tiếp thu từ thực tế để hoàn thành cơng trình này, khơng chép luận văn trước Tơi xin cam hồn tồn chịu trách nhiệm nội dung luận văn Hà Nội, ngày 29 tháng 10 năm 2010 ĐỖ VĂN SNG Khúa: CH 2008 - 2010 Lời cảm ơn Tác giả xin chân thành cảm ơn PGS.TS Nguyễn Lân Tráng đà có gợi mở dẫn dắt tận tình, cung cấp tài liệu quý giá để tác giả hoàn thành luận văn Tác giả xin chân thành cảm ơn thầy cô giáo môn Hệ thống điện - Đại học Bách Khoa Hà Nội ngời đà giúp đỡ hoàn thành luận văn Do kiến thức hạn chế nên luận văn khó tránh khỏi sai sót, tác giả mong nhận đợc bảo, góp ý thầy cô giáo môn Hệ thống điện ngời quan tâm MỤC LỤC MỞ ĐẦU Chương – TỔNG QUAN VỀ QUY HOẠCH HỆ THỐNG ĐIỆN 1.1 Mơ hình tuyến tính tĩnh 1.2 Mơ hình tuyến tính động .11 1.3 Mơ hình phức tạp 16 1.4 Tổng kết chương 18 Chương – PHƯƠNG PHÁP NHÁNH VÀ CẬN XÁC ĐỊNH CẤU TRÚC TỐI ƯU CỦA LƯỚI ĐIỆN 19 2.1 Đặt toán 19 2.2 Phương pháp giải toán thuật toán nhánh cận 20 2.3 Chương trình nhánh cận xác định cấu trúc tối ưu lưới điện 34 2.4 Tổng kết chương 41 Chương – ÁP DỤNG PHƯƠNG PHÁP NHÁNH VÀ CẬN TRONG TRƯỜNG HỢP Đà TỒN TẠI MỘT MẠNG ĐIỆN CÓ SẴN 42 3.1 Hạn chế phương pháp nhánh cận .42 3.2 Phương pháp áp dụng thuật toán nhánh cận vào xây dựng phương án quy hoạch lưới điện tối ưu có tính đến mạng điện có sẵn 42 3.3 Chương trình nhánh cận cải biên để xác định cấu trúc tối ưu lưới điện xét đến mạng điện có sẵn 48 3.4 Tổng kết chương 57 Chương - ỨNG DỤNG PHƯƠNG PHÁP NHÁNH VÀ CẬN ĐỂ QUY HOẠCH MỞ RỘNG LƯỚI ĐIỆN 220KV THÀNH PHỐ HÀ NỘI KHI CÓ XÉT ĐẾN MẠNG ĐIỆN CÓ SẴN 58 4.1 Phân tích trạng nguồn, lưới điện Thành phố Hà Nội 58 4.2 Đặc điểm chung phương hướng phát triển kinh tế-xã hội Thành phố Hà Nội giai đoạn 2010-2015-2020 .68 4.3 Dự báo nhu cầu phụ tải Thành phố Hà Nội đến năm 2015, 2020 71 4.4 Phương án quy hoạch lưới điện Thành phố Hà Nội xét đến mạng điện có sẵn 77 4.5 Tổng kết chương 95 KẾT LUẬN 96 TÀI LIỆU THAM KHẢO PHỤ LỤC ỨNG DỤNG PHƯƠNG PHÁP NHÁNH CẬN ĐỂ QUY HOẠCH MỞ RỘNG LƯỚI ĐIỆN KHI XÉT ĐẾN MẠNG ĐIỆN CÓ SẴN PHẦN MỞ ĐẦU Lý chọn đề tài Trong năm qua với phát triển nhanh chóng kinh tế xã hội nhu cầu tiêu thụ điện không ngừng tăng trưởng với tốc độ cao Do mà nhiều nhà máy điện khu công nghịêp xây dựng sửa đời Việc xây dựng đường dây điện đưa điện từ nhà máy cung cấp cho phụ tải địi hỏi phải có vốn đầu tư lớn Do vấn đề đặt phải có phương pháp thích đáng để xác định cấu hình mạng lưới điện dựa mạng điện tồn cho chi phí tính tốn nhỏ Hiện nay, thông thường quy hoạch mở rộng lưới điện, phương pháp liệt kê phương pháp thường sử dụng Phương pháp dựa dựa sở phân tích trực quan để liệt kê số phương án khả thi, có quan hệ chặt chẽ với trình độ kinh nghiệm chuyên gia để đưa sơ đồ khả thi Sau cần so sánh kinh tế kĩ thuật để tìm phương án tối ưu Tuy hệ thống thiết kế bao gồm nhiều nút số phương án mà chuyên gia đưa phân tích lớn Mặt khác phương án đưa phân tích hồn tồn trực quan bỏ qua phương án hợp lý Để khắc phục nhược điểm đó, người ta sử dụng phương pháp quy hoạch toán học phương pháp sử dụng phương pháp nhánh cận Tuy nhiên, phương pháp lại có nhược điểm lớn xét cho hệ thống hoàn toàn coi khả tải đường dây vô tận Điều đơi khơng thích hợp cho việc mở rộng lưới điện thực tế Phương pháp giới thiệu sau khắc phục nhược điểm phương pháp nhánh cận Nó cho phép xác định cấu trúc tối ưu lưới điện có phát triển lưới điện tồn cho kết tin cậy Mục đích, đối tượng phạm vi nghiên cứu + Mục đích nghiên cứu Ứng dụng phương pháp quy hoạch toán học chặt chẽ vào thực tiễn, cụ thể phương pháp áp dụng kỹ thuật nhánh cận, trạng thực tế, định Người thực hiện: Đỗ Văn Sáng ỨNG DỤNG PHƯƠNG PHÁP NHÁNH CẬN ĐỂ QUY HOẠCH MỞ RỘNG LƯỚI ĐIỆN KHI XÉT ĐẾN MẠNG ĐIỆN CÓ SẴN hướng phát triển kinh tế xã hội, đưa mơ hình cấu trúc tối ưu cho lưới điện phù hợp với nhu cầu phụ tải giai đoạn tương lai + Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Đối tượng nghiên cứu luận văn hệ thống truyền tải điện cấp điện áp 220 kV cung cấp điện cho trạm biến áp 110/35/22 kV trung tâm phụ tải Phạm vi nghiên cứu: Trong khuôn khổ luận văn, đề cập đến mạng điện khu vực, cụ thể mạng điện cung cấp cho Thành phố Hà Nội Khảo sát trạng lưới điện hoạt động, thu thập số liệu định hướng phát triển tỉnh để đưa nhu cầu phát triển phụ tải điện thời gian tới Áp dụng thuật toán nhánh cận xây dựng phương pháp quy hoạch mở rộng lưới điện có xét đến mạng điện có sở phương pháp nhánh cận nhiều nhà khoa học nghiên cứu Các luận điểm đóng góp đề tài - Khắc phục nhược điểm của phương pháp nhánh cận coi mạng điện hồn tồn để ứng dụng vào quy hoạch lưới điện thực tế - Xây dựng chương trình mẫu chạy máy tính để lập quy hoạch lưới điện sở lý thuyết mô hình tốn quy hoạch tối ưu Phương pháp nghiên cứu Việc lựa chọn phương pháp nghiên cứu mục đích đối tượng nghiên cứu định Ở luận văn này, sử dụng hai phương pháp chung theo phân loại khoa học luận: phương pháp nghiên cứu lý thuyết phương pháp nghiên cứu phi thực nghiệm Trong phương pháp chung đó, phương pháp nghiên cứu cụ thể phối hợp sử dụng: phương pháp thống kê, phương pháp phân tích tổng hợp, phương pháp dự báo nhu cầu, phương pháp mô hình tốn học tối ưu, phương pháp cận nhánh Trong đó, phương pháp cận nhánh sử Người thực hiện: Đỗ Văn Sáng ỨNG DỤNG PHƯƠNG PHÁP NHÁNH CẬN ĐỂ QUY HOẠCH MỞ RỘNG LƯỚI ĐIỆN KHI XÉT ĐẾN MẠNG ĐIỆN CÓ SẴN dụng kết hợp với phương pháp phân tích tổng hợp giúp cho nhận xét, kết luận có sở khoa học tính thuyết phục cao Bố cục luận văn Đề tài gồm 96 trang Ngoài phần Mở đầu (03 trang), Kết luận (01 trang), nội dung thể chương (92 trang) Chương I Tổng quan quy hoạch lưới điện Chương II Phương pháp nhánh cận xác định cấu trúc tối ưu lưới điện Chương III Áp dụng phương pháp nhánh cận trường hợp tồn mạng điện có sẵn Chương IV Ứng dụng phương pháp nhánh cận để quy hoạch mở rộng lưới điện 220 kV Thành phố Hà Nội xét đến mạng điện có sẵn Cuối Phần phụ lục Danh mục tài liệu tham khảo Người thực hiện: Đỗ Văn Sáng ỨNG DỤNG PHƯƠNG PHÁP NHÁNH CẬN Ch−¬ng Tỉng quan vỊ quy hoạch lới điện Bi toỏn quy hoch ti u hệ thống điện bao gồm tính tốn nhằm thoả mãn mục tiêu cực tiểu chi phí đặt trang thiết bị cực tiểu chi phí vận hành phần tử lưới điện, đồng thời đảm bảo tuân thủ định mức kỹ thuật chất lượng độ tin cậy cung cấp điện giai đoạn phát triển sơ đồ hệ thống điện Điều kiện tối ưu thiết lập dạng cực tiểu tổng chi phí tính tốn xét tất phần tử lưới điện có xét đến biến đổi chi phí theo tiêu chuẩn kinh tế kỹ thuật Khi so sánh phương án khác để xây dựng sơ đồ lưới điện giả thiết thành phần chi phí cố định cơng trình có phương án, loại bỏ khỏi hàm mục tiêu Thực tối ưu hóa tiết diện dây dẫn truyền tải điện sau chọn phương án sơ đồ phát triển lưới điện Tùy theo công suất tải đường dây biến đổi vùng kinh tế - kỹ thuật mà chọn số lộ tối ưu, hàm chi phí tối ưu tùy thuộc vào số mạch song song đường dây Các số liệu ban đầu xuất phát ban đầu toán quy hoạch mở rộng lưới điện thường không đầy đủ số lượng chất lượng Bởi vậy, chấp nhận phương án gần tối ưu theo cách tiếp cận giải toán sau: Biến đổi tốn tối ưu hóa hệ thống điện dạng cho phép áp dụng phương pháp toán tối ưu có giải thuật chặt chẽ, cho phép dẫn đến dạng đáp số tối ưu; bỏ qua số điều kiện ràng buộc, cho phép giải toán cách chặt chẽ mặt toán học, nhiên ta nhận lời giải gần tối ưu mặt thực tế Còn cách giải toán quy hoạch phát triển mở rộng hệ thống điện theo tình động giai đoạn phát triển kinh tế, xét theo trình nhiều giai đoạn tính tốn liên tiếp lặp lại thu giải pháp tốt Điều kiện cho phép phát triển hệ thống theo giai đoạn phải thỏa mãn giai đoạn phát triển hệ thống điện, phải đảm bảo đủ quy phạm kỹ thuật hệ thống mở để phát triển chuyển biến từ trạng thái sơ đồ Người thực hiện: Đỗ Văn Sáng ỨNG DỤNG PHƯƠNG PHÁP NHÁNH CẬN sang trạng thái sơ đồ khác Trong trường hợp đầu tư vốn thực cho phương án phát triển thời điểm khác chi phí biến đổi theo thời gian, so sánh phương án khác chi phí thời điểm khác phải quy dn v cựng mt thi im Bài toán quy hoạch phát triển mở rộng hệ thống điện thờng đợc đặt nh sau: Đà biết cấu trúc số liệu trạng lới điện vận hành, dự báo tốc độ phát triển phụ tải nút hệ thống, phụ tải phát triển khu vùc suèt thêi gian tÝnh to¸n, cho trớc đờng dây, trạm biến áp đợc xây dựng tiêu kinh tế kỹ thuật có Yêu cầu tìm phơng án kết cấu lới tối u để xây dựng đa đối tợng vào vận hành, đảm bảo đạt đợc yêu cầu hàm chi phí tính toán cực tiểu giai đoạn thời gian T, đồng thời thoả mÃn ràng buộc kinh tế kỹ thuật Nhìn chung, toán quy hoạch phát triển mở rộng lới điện toán tối u đa mục tiêu, nhiều cực trị với biến số liên tục rời rạc, ràng buộc toán có dạng đẳng thức bất đẳng thức Tuỳ theo lợng thông tin ban đầu có đợc, ngời ta thờng chia toán quy hoạch thành loại: tất định, ngẫu nghiên xác định bất định Đối với loại toán ngời ta có mô hình toán học phơng pháp giải khác Đối với toán tất định, thông tin ban đầu đà đợc xác định Căn vào yếu tố thời gian, lại đợc phân thành toán tĩnh, không xét đến yếu tố thay đổi theo thời gian toán động có xét đến thay đổi theo thời gian tham số Thông thờng, toán đợc chia thành dạng: mô hình tĩnh mô hình động 1.1 Bài toán tuyến tính tĩnh Hàm mục tiêu toán đợc biểu diÔn nh− sau: Z= m n n n i =1 j=1 k =1 j=1 ∑∑ Ci j x i j + ∑∑ C kj x kj → Người thực hiện: Đỗ Văn Sáng ỨNG DỤNG PHƯƠNG PHÁP NHÁNH CẬN i≠j k≠j Trong ®ã : Cij suất chi phí tính tốn đường dây truyền tải từ nút i đến nút j (đ/MW) x ij lượng công suất truyền tải đường dây i j m: sè nót ngn cung cÊp n: sè nót phơ t¶i xkj lượng công suất truyền tải từ nút k tới nút j Với ràng buộc cân công suất chế độ phụ tải nút: ∑x i≠ j ij − ∑ x kj = Pj j= 1,n k≠ j Trong Pj cơng suất nút phụ tải thứ j (MW) Mơ hình mơ hình đơn giản xét tới ràng buộc cơng suất Song khó khăn xác định hệ số suất chi phí tính tốn hàm mục tiêu quan hệ chi phí tính tốn cơng suất truyền tải đường dây quan hệ phi tuyến phụ thuộc vào tiết diện dây dẫn Để đưa tốn mơ hình tuyến tuyến tính tĩnh ta phải tuyến tính hố mối quan hệ Cho đến có nhiều cơng trình nghiên cứu tác giả đặt toán quy hoạch phát triển lưới điện xét thêm nhiều ràng buộc kinh tế kỹ thuật Trong số mơ hình tĩnh đáng lưu ý phương pháp trình bày sau 1.1.2 Phương pháp xây dựng lựa chọn phương án họ Có thể thành lập sơ đồ nối dây ban đầu làm xuất phát, để xây dựng phương án họ với Sơ đồ nối dây ban đầu gồm có đường dây với chiều dài biết, nối nút với Ngoài cần phải dự kiến Người thực hiện: Đỗ Văn Sáng {Tinh z2 cua phuong an minz1} assignfile(f3,tf6);reset(f3); read(f3,m,m1,m2,n,gz,gh); for i:=1 to (m+1)*(n+1) read(f3,s[i]); closefile(f3); (* goi thu tuc don hinh *) dhct(m,n,n1,gz,s,ib,x,y,val,it); Zm:=W1+val*Cp2; Z2tu:=val*Cp2; Ztu:=Zm; { } {Tinh W2} assignfile(f3,tf7);reset(f3); read(f3,m,m1,m2,n,gz,gh); for i:=1 to (m+1)*(n+1) read(f3,s[i]); closefile(f3); (* goi thu tuc don hinh *) dhct(m,n,n1,gz,s,ib,x,y,val,it); W2:=val*Cp2; {=================================================} {Thuat toan nhanh can tim phuong an toi uu} {=================================================} m:=nut;Tc:=m; for i:=1 to m for j:=1 to m C2[i,j]:=C[i,j];Sc:=0; { -} if checkbox1.checked=true then begin button1.visible:=false;checkbox1.visible:=false;button2.visible:=true;label5.visible:=true; label6.visible:=true; tf3:='ketquacuoi.txt'; assignfile(f3,tf3);rewrite(f3); writeln(f3,'Phuong an co so la phuong an bao gom cac canh: '); for i:=1 to m-1 for j:=i+1 to m if (Ctu[i,j]0) then writeln(f3,' Canh ',i,' - ',j,' dai ',Ctu[i,j]:5:2,' km'); writeln(f3,'Gia tri ham muc tieu: Z = ',Ztu:2:2); writeln(f3,' Z1 = ',Z1tu:2:2); writeln(f3,' Z2 = ',Z2tu:2:2); closefile(f3); memo1.lines.loadfromfile('ketquacuoi.txt'); memo1.visible:=true;buoc:=1;goto label2; end; { } {tim cay bao trum moi} for i:=1 to m for j:=1 to m begin Ak[i]:=0;At[i]:=i;C[i,j]:=0; end; r:=ln[1,2]; for i:=1 to m-1 for j:=i+1 to m if (r>ln[i,j])and(ln[i,j]0) then r:=ln[i,j]; for i:=1 to m for j:=1 to m if (r=ln[i,j])and(r0) then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=ln[i,j]; end; for k:=2 to m-1 begin for i:=1 to m-1 for j:=i+1 to m h[i,j]:=0; for i:=1 to m for j:=1 to m begin if (Ak[i]>0) and (At[j]>0) then begin if At[j]>Ak[i] then h[Ak[i],At[j]]:=ln[Ak[i],At[j]] else h[At[j],Ak[i]]:=ln[At[j],Ak[i]]; end;end; for i:=1 to m-1 for j:=i+1 to m if h[i,j]>0 then begin r:=h[i,j];break; end; for i:=1 to m-1 for j:=i+1 to m if (r>h[i,j]) and (h[i,j]>0) then r:=h[i,j]; for i:=1 to m for j:=1 to m if (r=ln[i,j])and(r0) then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=ln[i,j];end; end; Z1:=0; for i:=1 to m-1 for j:= i+1 to m Z1:=Z1+C[i,j];Z1:=Z1*Cp1; if Z1+W2Zm*) end; if Sc=nut then begin tf3:='ketquacuoi.txt'; assignfile(f3,tf3);rewrite(f3); writeln(f3,'Phuong an toi uu la phuong an bao gom cac canh: '); for i:=1 to nut-1 for j:=i+1 to nut if (Ctu[i,j]0) then writeln(f3,' Canh ',i,' - ',j,' dai ',Ctu[i,j]:5:2,' km'); writeln(f3,'Gia tri ham muc tieu: Z = ',Ztu:2:2); writeln(f3,' Z1 = ',Z1tu:2:2); writeln(f3,' Z2 = ',Z2tu:2:2); writeln(f3);closefile(f3); end; memo1.lines.loadfromfile('ketquacuoi.txt'); memo1.visible:=true; label2:end; end Phụ lục Mã nguồn chương trình nhánh cận cải biên unit QHLD; uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls; const mmax=200;nmax=500; type mang1=array[1 (mmax+1)*(nmax+1)]of real;mang2=array[1 nmax+mmax]of real; mang3=array[1 mmax]of integer;mang4=array[1 mmax,1 mmax]of real; mang5=array[1 mmax,1 mmax]of integer; TForm1 = class(TForm) GroupBox1: TGroupBox;Label1: TLabel;Label2: TLabel;Label5: TLabel;Edit1: TEdit;Edit2: TEdit; Edit3: TEdit;Button1: TButton;Label3: TLabel;Edit4: TEdit;Edit5: TEdit;Label4: TLabel; Memo1: TMemo;Label6: TLabel;Label7: TLabel;Button2: TButton;Label8: TLabel; CheckBox1: TCheckBox; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var s:mang1;st,l,h,lm,ln,lc,T1,T2,ls:mang4;x,y,id:mang2;ib:mang3; m,mc,m1,m2,n,n1,i,j,it,u,gh,k,Sc,Tc,nut,v,v1,tt,buoc,dem:integer; g,gz,val,r,W1,W2,Z1,Z2,Zm,Z1tu,Z2tu,Ztu,Z,dienap:real; f1,f2,f3,f4,f5:text;tf1,tf2,tf3,tf4,tf5,tf6,tf7:string[30]; At,Ak:mang3;C,C1,C2,s1,Ctu:mang4; Pg,Pt,dongtai,cos:mang2;phu1,phu2,phu3:string[100]; phu4:string[7];phu5:string[20]; Form1: TForm1; implementation {$R *.DFM} procedure dhct(m,n,n1:integer;gz:real; s:mang1;ib:mang3;var x,y:mang2; var val:real; var it:integer); label l1,l2; var dk,dk1,te,r:real; i,j,mf,nf,fj,ff,ij,k,ik:integer; fi,lk,l,lj,kj:integer; begin it:=0;mf:=m+1;nf:=n+1;ff:=mf*nf; for i:=1 to m ib[i]:=n+i;fj:=ff-nf; for j:=1 to nf begin fj:=fj+1;r:=0;ij:=j; for i:=1 to m begin r:=r+s[ij];ij:=ij+nf; end; s[fj]:=gz*r-s[fj]; end; (* Bat dau buoc lap moi -*) l1: it:=it+1;dk:=1.0e+30; (* Tim cot xoay va kiem tra toi uu *) l2: k:=1;fj:=ff-n;r:=s[fj]; for j:=2 to n begin fj:=fj+1; if (s[fj]>r)and(s[fj]>0.00001)and(s[fj]0) and (At[j]>0) then begin if At[j]>Ak[i] then h[Ak[i],At[j]]:=l[Ak[i],At[j]] else h[At[j],Ak[i]]:=l[At[j],Ak[i]];end;end; for i:=1 to m-1 for j:=i+1 to m if h[i,j]>0 then begin r:=h[i,j];break; end; for i:=1 to m-1 for j:=i+1 to m if (r>h[i,j]) and (h[i,j]>0) then r:=h[i,j]; for i:=1 to m for j:=1 to m if (r=l[i,j])and(r0) then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=l[i,j];end;end; W1:=0; for i:=1 to m-1 for j:= i+1 to m W1:=W1+C[i,j]; for i:=1 to m for j:=1 to m Ctu[i,j]:=C[i,j];Z1tu:=W1; {=========================================} {tim z2 cua phuong an co z1 va phuong an co z2} {==========================================} { } {du lieu tinh z2 cua phuong an minz1} tf6:='Z2.SLI'; assignfile(f3,tf6);rewrite(f3);k:=1; for i:=1 to m-1 for j:=i+1 to m if C[i,j]0 then begin C1[i,k]:=-1;C1[j,k]:=1;C1[i,k+m-1]:=1;C1[j,k+m-1]:=-1;C1[m,k]:=C[i,j];C1[m,k+m-1]:=C[i,j];k:=k+1; end; write(f3,m-1:10);write(f3,0:10);write(f3,0:10);write(f3,(m-1)*2:10);write(f3,1E+7:10);write(f3,1:10); writeln(f3); for i:=1 to m begin for j:=1 to (m-1)*2 write(f3,C1[i,j]:10:2);write(f3,dongtai[i]:10:2);writeln(f3);end; closefile(f3); { } { Du lieu tinh minz2} for i:=1 to (m-1) for j:=1 to m*(m-1) s1[i,j]:=0; for i:=1 to (m-1) for j:=((i-1)*(m-1)+1) to ((i-1)*(m-1)+(m-1)) s1[i,j]:=-1; for i:=1 to (m-1) for j:=1 to m begin if (s1[i,j*(m-1)+i]=0)and(j*(m-1)+i>((i-1)*(m-1)+(m-1))) then s1[i,j*(m-1)+i]:=1; if (i>1)and(s1[i,(j-1)*(m-1)+i-1]=0)and (((j-1)*(m-1)+i-1)0 then write(f5,l[i,j]:10:2);write(f5,0:10);writeln(f5); closefile(f5); { } {Tinh z2 cua phuong an minz1} assignfile(f3,tf6);reset(f3); read(f3,m,m1,m2,n,gz,gh); for i:=1 to (m+1)*(n+1) read(f3,s[i]); closefile(f3); (* goi thu tuc don hinh *) dhct(m,n,n1,gz,s,ib,x,y,val,it); Zm:=W1+val; Z2tu:=val; Ztu:=Zm; { } {Tinh W2} assignfile(f3,tf7);reset(f3); read(f3,m,m1,m2,n,gz,gh); for i:=1 to (m+1)*(n+1) read(f3,s[i]); closefile(f3); (* goi thu tuc don hinh *) dhct(m,n,n1,gz,s,ib,x,y,val,it); W2:=val; {=================================================} {Thuat toan nhanh can tim phuong an toi uu} {=================================================} { } {tim cay bao trum moi} for i:=1 to m for j:=1 to m begin Ak[i]:=0;At[i]:=i;C[i,j]:=0; end; r:=1000; for i:=1 to m-1 for j:=i+1 to m if (r>ln[i,j])and(ln[i,j]0) then r:=ln[i,j]; for i:=1 to m for j:=1 to m if (r=ln[i,j])and(r0) then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=ln[i,j]; end; for k:=2 to m-1 begin for i:=1 to m-1 for j:=i+1 to m h[i,j]:=0; for i:=1 to m for j:=1 to m begin if (Ak[i]>0) and (At[j]>0) then begin if At[j]>Ak[i] then h[Ak[i],At[j]]:=ln[Ak[i],At[j]] else h[At[j],Ak[i]]:=ln[At[j],Ak[i]]; end; end; for i:=1 to m-1 for j:=i+1 to m if h[i,j]>0 then begin r:=h[i,j]; break; end; for i:=1 to m-1 for j:=i+1 to m if (r>h[i,j]) and (h[i,j]>0) then r:=h[i,j]; for i:=1 to m for j:=1 to m if (r=ln[i,j])and(r0) then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=ln[i,j]; end; end; tf3:='NC.SLI'; assignfile(f3,tf3);rewrite(f3); for i:=1 to m begin for j:=1 to m write(f3,C[i,j]:7:2); writeln(f3); end; writeln(f3); Z1:=0; for i:=1 to m-1 for j:= i+1 to m Z1:=Z1+C[i,j]; writeln(f3,'Z1 = ',Z1:5:5);writeln(f3,Z1+w2:5:5);writeln(f3,sc); closefile(f3); if Z1+W2Zm*) end; if Sc=nut then begin tf3:='ketqua1.txt'; assignfile(f1,tf3);rewrite(f1); writeln(f1,'Phuong an toi uu chua xet den mang dien co san: '); for i:=1 to nut-1 for j:=i+1 to nut if (Ctu[i,j]0) then writeln(f1,' Canh ',i,' - ',j,' dai ',Ctu[i,j]:5:2,' km'); writeln(f1,'Gia tri ham muc tieu: Z = ',Ztu:1:5); writeln(f1,' Z1 = ',Z1tu:1:5); writeln(f1,' Z2 = ',Z2tu:1:5); writeln(f1); {closefile(f1); } end; {memo1.lines.loadfromfile('ketquacuoi.txt'); memo1.visible:=true; } {=============================================} {Nhanh can cai bien} {=============================================} {Xac dinh tap T1, T2} m:=nut;v:=0;v1:=0; for i:=1 to m-1 for j:=i+1 to m if (lc[i,j]0) then v:=v+1; for i:=1 to m for j:=1 to m begin if (Ctu[i,j]0) and (lc[i,j]0) then begin T1[i,j]:=lc[i,j]; end; if (Ctu[i,j]=0) and (lc[i,j]0) then begin T2[i,j]:=lc[i,j];end;end; for i:=1 to m-1 for j:=i+1 to m if (T2[i,j]0) then v1:=v1+1; {Tim cay bao trum nho nhat chua luoi dien cu} for i:=1 to m for j:=1 to m begin Ak[i]:=0;At[i]:=i; C[i,j]:=0;end; for i:=1 to m for j:=1 to m if lc[i,j]0 then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=l[i,j]; end; for k:=mc to m-1 begin for i:=1 to m-1 for j:=i+1 to m h[i,j]:=0; for i:=1 to m for j:=1 to m begin if (Ak[i]>0) and (At[j]>0) then begin if At[j]>Ak[i] then h[Ak[i],At[j]]:=l[Ak[i],At[j]] else h[At[j],Ak[i]]:=l[At[j],Ak[i]]; end; end; for i:=1 to m-1 for j:=i+1 to m if h[i,j]>0 then begin r:=h[i,j]; break; end; for i:=1 to m-1 for j:=i+1 to m if (r>h[i,j]) and (h[i,j]>0) then r:=h[i,j]; for i:=1 to m for j:=1 to m if (r=l[i,j])and(r0) then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=l[i,j];end;end; W1:=0; for i:=1 to m-1 for j:= i+1 to m if (C[i,j]0) and (lc[i,j]=0) then W1:=W1+C[i,j]; for i:=1 to m-1 for j:= i+1 to m if (C[i,j]0) and (T1[i,j]>0) then W1:=W1+C[i,j]; { } {Tinh Z2' cua phuong an D1'} (* du lieu tim Z2 cua cay bao trum moi*) tf3:='TG.SLI'; assignfile(f3,tf3);rewrite(f3); for i:=1 to m for j:=1 to (m-1)*2 C1[i,j]:=0;k:=1; for i:=1 to m-1 for j:=i+1 to m if C[i,j]0 then begin C1[i,k]:=-1;C1[j,k]:=1;C1[i,k+m-1]:=1;C1[j,k+m-1]:=-1;C1[m,k]:=C[i,j];C1[m,k+m-1]:=C[i,j];k:=k+1; end; write(f3,m-1:10);write(f3,0:10);write(f3,0:10);write(f3,(m-1)*2:10);write(f3,1E+7:10);write(f3,1:10); writeln(f3); for i:=1 to m begin for j:=1 to (m-1)*2 write(f3,C1[i,j]:10:2);write(f3,dongtai[i]:10:2);writeln(f3);end; closefile(f3); { } {Tinh z2 cua phuong an cay bao trum moi} assignfile(f3,tf3);reset(f3); read(f3,m,m1,m2,n,gz,gh); for i:=1 to (m+1)*(n+1) read(f3,s[i]); closefile(f3); (* goi thu tuc don hinh *) dhct(m,n,n1,gz,s,ib,x,y,val,it); Z2:=val;Zm:=W1+val; writeln(f1,'Phuong an cay bao trum nho nhat chua mang dien co san: '); for i:=1 to nut-1 for j:=i+1 to nut if (C[i,j]0) then writeln(f1,' Canh ',i,' - ',j,' dai ',C[i,j]:5:2,' km'); writeln(f1,'Gia tri ham muc tieu: Z = ',Zm:1:5); writeln(f1,' Z1 = ',W1:1:5); writeln(f1,' Z2 = ',val:1:5); writeln(f1); closefile(f1); if Ztu>Zm then begin Ztu:=Zm;Z1tu:=W1;Z2tu:=val; for i:=1 to nut for j:=1 to nut Ctu[i,j]:=C[i,j]; end else Zm:=Ztu; {=================================================} {Thuat toan nhanh can cai bien tim phuong an toi uu} {=================================================} m:=nut;Tc:=m; for i:=1 to m for j:=1 to m C2[i,j]:=C[i,j]; for i:=1 to nut for j:=1 to nut begin ls[i,j]:=l[i,j];lm[i,j]:=ls[i,j]; end; Sc:=0;buoc:=0; if checkbox1.checked=true then begin button1.visible:=false;checkbox1.visible:=false;button2.visible:=true; label6.visible:=true;label7.visible:=true; memo1.lines.loadfromfile('ketqua1.txt');memo1.visible:=true;goto laben3; end; label2:Sc:=Sc+1; if (Scr)and(lc[i,j]=0) then r:=C2[i,j]; for i:=1 to m for j:=1 to m if ln[i,j]=r then begin ln[i,j]:=0;C2[i,j]:=0; end; { } {tim cay bao trum moi} for i:=1 to m for j:=1 to m begin Ak[i]:=0;At[i]:=i;C[i,j]:=0; end; for i:=1 to m for j:=1 to m if lc[i,j]0 then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=l[i,j]; end; for k:=mc to m-1 begin for i:=1 to m-1 for j:=i+1 to m h[i,j]:=0; for i:=1 to m for j:=1 to m begin if (Ak[i]>0) and (At[j]>0) then begin if At[j]>Ak[i] then h[Ak[i],At[j]]:=ln[Ak[i],At[j]] else h[At[j],Ak[i]]:=ln[At[j],Ak[i]]; end; end; for i:=1 to m-1 for j:=i+1 to m if h[i,j]>0 then begin r:=h[i,j];break;end; for i:=1 to m-1 for j:=i+1 to m if (r>h[i,j]) and (h[i,j]>0) then r:=h[i,j]; for i:=1 to m for j:=1 to m if (r=ln[i,j])and(r0) then begin Ak[i]:=i;Ak[j]:=j;At[i]:=0;At[j]:=0;C[i,j]:=ln[i,j];end;end; Z1:=0; for i:=1 to m-1 for j:= i+1 to m if (C[i,j]>0)and(lc[i,j]=0) then Z1:=Z1+C[i,j]; for i:=1 to m-1 for j:= i+1 to m if (C[i,j]0) and (T1[i,j]>0) then Z1:=Z1+C[i,j]; (* -*) (* du lieu tim Z2 cua cay bao trum moi*) tf6:='Z2.SLI'; assignfile(f3,tf6);rewrite(f3); for i:=1 to m for j:=1 to (m-1)*2 C1[i,j]:=0;k:=1; for i:=1 to m-1 for j:=i+1 to m if C[i,j]0 then begin C1[i,k]:=-1;C1[j,k]:=1;C1[i,k+m-1]:=1;C1[j,k+m-1]:=-1;C1[m,k]:=C[i,j];C1[m,k+m-1]:=C[i,j];k:=k+1; end; write(f3,m-1:10);write(f3,0:10);write(f3,0:10);write(f3,(m-1)*2:10);write(f3,1E+7:10);write(f3,1:10); writeln(f3); for i:=1 to m begin for j:=1 to (m-1)*2 write(f3,C1[i,j]:10:2);write(f3,dongtai[i]:10:2);writeln(f3); end; closefile(f3); { } {Tinh z2 cua phuong an cay bao trum moi} assignfile(f3,tf6);reset(f3); read(f3,m,m1,m2,n,gz,gh); for i:=1 to (m+1)*(n+1) read(f3,s[i]); closefile(f3); (* goi thu tuc don hinh *) dhct(m,n,n1,gz,s,ib,x,y,val,it); Z2:=val; if Z1+Z2 Zm*) {end; (*ket thuc dieu kien Z1+W2=Zm then begin for i:=1 to nut for j:=1 to nut lm[i,j]:=ls[i,j];goto label1; end; } (*ket thuc dieu kien Z1+W2>Zm*) end; if (Sc=nut-1) then begin tf3:='ketqua1.txt'; assignfile(f3,tf3);rewrite(f3); writeln(f3,'Phuong an toi uu la phuong an bao gom cac canh: '); for i:=1 to nut-1 for j:=i+1 to nut if (Ctu[i,j]0) then writeln(f3,' Canh ',i,' - ',j,' dai ',Ctu[i,j]:5:2,' km'); writeln(f3,'Gia tri ham muc tieu: Z = ',Ztu:1:5); writeln(f3,' Z1 = ',Z1tu:1:5); writeln(f3,' Z2 = ',Z2tu:1:5); writeln(f3); closefile(f3); memo1.lines.loadfromfile('ketqua1.txt'); memo1.visible:=true;button1.visible:=false;label6.visible:=false;label7.visible:=false; checkbox1.visible:=false; end;laben3:end; end ... phương pháp cận nhánh Trong đó, phương pháp cận nhánh sử Người thực hiện: Đỗ Văn Sáng ỨNG DỤNG PHƯƠNG PHÁP NHÁNH CẬN ĐỂ QUY HOẠCH MỞ RỘNG LƯỚI ĐIỆN KHI XÉT ĐẾN MẠNG ĐIỆN CÓ SẴN dụng kết hợp với phương. .. lưới điện xét đến mạng điện có sẵn 48 3.4 Tổng kết chương 57 Chương - ỨNG DỤNG PHƯƠNG PHÁP NHÁNH VÀ CẬN ĐỂ QUY HOẠCH MỞ RỘNG LƯỚI ĐIỆN 220KV THÀNH PHỐ HÀ NỘI KHI CÓ XÉT ĐẾN... quan quy hoạch lưới điện Chương II Phương pháp nhánh cận xác định cấu trúc tối ưu lưới điện Chương III Áp dụng phương pháp nhánh cận trường hợp tồn mạng điện có sẵn Chương IV Ứng dụng phương pháp

Ngày đăng: 28/02/2021, 10:14

Tài liệu cùng người dùng

Tài liệu liên quan