Ekonomik Yük Dağıtımının MATLAB ile Modellenmesi

Ekonomik yük dağıtım problemi bir güç sisteminde talep edilen gücü karşılamak ve eş zamanlı olarak sistemin tüm maliyetini minimize etmek için yapılır. Ekonomik dağıtım 3 ile 5 dakika aralıklarla her bir ünite için talep edilen yük doğrultusunda optimal paylaşımını belirlemektir.(1)

Bu hesaplamalar MATLAB ve diğer programlama dilleriyle bilgisayar ortamında çözülebilmektedir. Bugün paylaşacağımız kod ile istenilen sayıda generatör içeren kayıpsız ekonomik yük dağılımı problemlerini Lagrange yöntemiyle çözülebilmektedir.

Program işleyişinde generatör maliyet katsayıları matris içerisine kaydedilmektedir. Böylelikle kolayca işlem yapılabilmektedir.

Yazılan program okuyucular tarafından geliştirilebilir. Kayıplı sistemler için uyumlu hale getirilebilir ve genetik algoritma ile daha kapsamlı hale getirilebilir.

Kod :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
% Lagrange yöntemiyle kayıpsız sistemlerde ekonomik yük dağıtımının bulunması
% Oğuzhan Yeşilyurt
 
% Kullanılan Değişkenler
% Talep Edilen Güç = PR
% Generatör Sayısı = n
% Katsayılar Matrisi = A
% Maksimum ve minimum güç değerler = P
% Güç Matrisi = PM
 
clc
clear all
format long
 
% For döngüsü içerisindeki bazı değişkenlerin hata verme olasılığı ortadan
% kaldırıldı.
bici = 0;
ci = 0;
 
 
PR = input ('Talep Edilen Gücün Değerini Giriniz = ');
 
n = input ('Generatör Sayısını Giriniz = ');
 
 
for i = 1 : 1 : n
    for j = 1 : 1 : 3
        fprintf("%d . Satır %d . Sütuna Ait Katsayı",i,j)
        A(i,j) = input(' Değerini Giriniz = ');
    end    
end
 
disp('.....Oluşan Katsayılar Matrisi.....')
 
A
 
 
for i = 1 : 1 : n    
        fprintf("%d . Generatörün PMIN",i)
        P(i,1) = input(' degerini Giriniz = ');       
end
 
 
for i = 1 : 1 : n    
        fprintf("%d . Generatörün PMAX",i)
        P(i,2) = input(' değerini Giriniz = ');       
end
 
disp('.....Oluşan Güçler Matrisi.....')
 
P
 
% bi'nin hesaplanması
 
for i = 1 : 1 : n
 
    bici = (A(i,2)/(2*A(i,3))) + bici;
 
end
 
for i = 1 : 1 : n
 
    ci = (1/(2*A(i,3))) + ci;
 
end
 
lamda = ((PR + bici) / ci)
 
format short
 
for i = 1 : 1 : n
 
    PM(i,1) = (lamda - A(i,2))/(2*A(i,3));
 
end
 
for i = 1 : 1 : n
 
    fprintf("\nP%d",i)
    PM(i,1)
end

Çıkış Penceresi :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Talep Edilen Gücün Değerini Giriniz = 850
Generatör Sayısını Giriniz = 3
1 . Satır 1 . Sütuna Ait Katsayı Değerini Giriniz = 561
1 . Satır 2 . Sütuna Ait Katsayı Değerini Giriniz = 7.92
1 . Satır 3 . Sütuna Ait Katsayı Değerini Giriniz = 0.001562
2 . Satır 1 . Sütuna Ait Katsayı Değerini Giriniz = 310
2 . Satır 2 . Sütuna Ait Katsayı Değerini Giriniz = 7.85
2 . Satır 3 . Sütuna Ait Katsayı Değerini Giriniz = 0.00194
3 . Satır 1 . Sütuna Ait Katsayı Değerini Giriniz = 78
3 . Satır 2 . Sütuna Ait Katsayı Değerini Giriniz = 7.97
3 . Satır 3 . Sütuna Ait Katsayı Değerini Giriniz = 0.00482
.....Oluşan Katsayılar Matrisi.....
 
A =
 
   1.0e+02 *
 
   5.610000000000000   0.079200000000000   0.000015620000000
   3.100000000000000   0.078500000000000   0.000019400000000
   0.780000000000000   0.079700000000000   0.000048200000000
 
1 . Generatörün PMIN degerini Giriniz = 150
2 . Generatörün PMIN degerini Giriniz = 100
3 . Generatörün PMIN degerini Giriniz = 50
1 . Generatörün PMAX değerini Giriniz = 600
2 . Generatörün PMAX değerini Giriniz = 400
3 . Generatörün PMAX değerini Giriniz = 200
.....Oluşan Güçler Matrisi.....
 
P =
 
   150   600
   100   400
    50   200
 
lamda =
 
   9.148262570618064
 
P1
ans =
 
  393.1698
 
P2
ans =
 
  334.6038
 
P3
ans =
 
  122.2264

Kaynakça :

(1)M.Kenan DÖŞOĞLU, Sehat DUMAN, Ali ÖZTÜRK, “Genetik Algoritma Kulanarak Ekonomil Dağıtım Analizi : Türkiye Uygulaması”

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.