aplikasi ant colony optimization pada tuning parameter ... · pengendali pid ini terdiri dari tiga...
TRANSCRIPT
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 1
Aplikasi Ant Colony Optimization pada
Tuning Parameter Pengontrol PID [Aplikasi tuning secara off-line]
(Sumber Utama : A New PID Tuning Technique Using Ant Algorithm,
Huseyin A V, Department of Mechatronic Engineering Sabanci University
Zafer Bingul, Department of Mechatronic Engineering Kocaeli University)
Oleh:
Ahmad Riyad Firdaus
Muhammad Aria
I. Pendahuluan
Pengontrol PID adalah jenis pengontrol yang banyak diaplikasikan dalam kontrol proses
industri karena kesederhanaan strukturnya, lebih tahan terhadap gangguan luar serta dapat
diterapkan dalam kondisi operasi yang bervariasi. Tetapi pengontrol PID perlu ditala secara
benar yaitu menentukan harga konstanta pengontrol proporsional, integral dan derivatif
yang mengoptimalkan kinerja sistem. Setelah tiga parameter tersebut ditala, maka nilai
parameter pengontrol tersebut pada PID biasanya dipertahankan tetap selama proses
pengontrolan.
Sebuah sistem kendali close-loop yang dasar, diperlihatkan pada gambar 1 terdiri dari
sebuah pengendali dan sebuah plant. Pada makalah ini PID digunakan sebagai pengendali.
Pengendali PID ini terdiri dari tiga buah komponen: bagian proportional, bagian integral
dan bagian derivative. Pengendali PID menggunakan persamaan kendali sebagai berikut:
( )2
11
d p i
P d
i
K s K s KC s K T s
T s s
+ + = + + =
.................................................................. (1)
dimana PK adalah parameter proporsional,
i p iK K T= adalah parameter integral dan
d p dK K T= × adalah parameter derivatif. Dalam perancangan pengendali PID, ketiga
konstata tersebut harus dipilih agar sistem close-loop memberikan respon yang diinginkan.
Respon yang diinginkan haruslah memiliki settling time yang minimal dengan overshoot
yang kecil atau tanpa overshoot dari respon step sistem close-loop.
Gambar 1. Sistem close-loop
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 2
Pada penelitian ini, ant colony optimization (ACO) diterapkan untuk mengoptimasi
konstanta-konstanta pengendali PID. Untuk memperlihatkan keefektifan metode ini, respon
step dari sistem close-loop akan dibandingkan dengan metode-metode yang sudah ada (ZN,
IMC, dan IFT). Selanjutnya, metode ini diuji kekokohannya terhadap beberapa model
error. Dalam pengujian kekokohan, model yang digunakan diubah dengan cara:
menambahkan delay pada model, penambahan penguatan steady state dan pengubahan
pole. Pada akhir pengujian, ant algorithm digunakan untuk men-tune parameter-parameter
pengendali PID dengan presentasi noise di berbagai variansi yang berbeda-beda.
II. Ant Algorithm
Ant algorithm (Algoritma Semut) merupakan sebuah teknik optimasi yang terinspirasi dari
proses alam yang digunakan khususnya dalam permasalahan optimasi kombinatorial
(Combinatorial Optimization Problem - COP). Dalam algoritma ini, terdapat sejumlah
semut buatan, dinamai ants, yang berfungsi sebagai agent yang ditugaskan untuk mencari
solusi terhadap suatu masalah optimasi. Kerja sama antar ants dilakukan dengan cara
bertukar informasi melalui pheromone yang diletakkan pada ruas-ruas sebuah graf. Elemen
graf dengan kuantitas pheromone yang tinggi akan memiliki daya tarik tersendiri bagi
semut-semut yang lain. Kuantitas dari pheromone yang disimpan pada masing-masing
elemen merupakan sebuah fungsi kualitas dari solusi. Algoritma ini sudah diterapkan pada
Travelling Salesmen Probem (TSP) dan pada Quadratic Assigment Problems (QAP).
Dalam TSP, sebuah artifisial semut direpresentasikan sebagai sebuah agen yang bergerak
dari kota ke kota pada sebuah grafik TSP. Strategi perjalanan dari agen-agen tersebut
adalah berdasarkan sebuah fungsi probabilistik yang mempertimbangkan dua fakta.
Pertama: agen tersebut menghitung edge (tepian) yang sudah dikunjungi yang
akumulasinya dihitung sebagai sebuah jarak dari perjalanan tersebut. Kedua: agen men-
sense jejak (pheromone) yang tertinggal dari agen-agen yang lain. Semut-semut selanjutnya
memilih kota j yang ada pada list kandidat dengan mengikuti transition rule sebagai
berikut:
[ ][ ]{ }
[ ][ ][ ][ ]
.....(3).......................................................................................... )()(
)()()(
2).........(.................................................. jika
jika )()(maxarg
∑∈
∈
=
≥
≤=
kl
kl
Jl
ilil
iuiuk
iJ
o
oiuiuJu
tt
tttP
qqJ
qqttj
β
β
β
ητ
ητ
ητ
Dimana τ adalah pheromone, η adalah inverse dari jarak antara dua kota, q adalah sebuah
variabel random yang terdistribusi secara uniform pada range nilai [0,1], qo adalah sebuah
parameter yang dapat di-tune pada interval [0,1], dan J adalah sebuah list kandidat dan
dipilih berdasarkan pada probabilistic rule di atas (persamaan 3). Masing-masing semut
memodifikasi lingkungannya dengan dua cara yang berbeda, yaitu:
1. Update jejak lokal: agen bergerak dari satu kota ke kota yang lain dengan meng-update
sejumlah pheromone pada setiap tepi (edge) dengan mengikuti persamaan berikut:
( ) ( ) ( ) .......(4)................................................................................ 11 oijij tt ρττρτ +−−=
Dimana ρ merupakan konstanta evaporasi (penguapan). Nilai τo merupakan inisial nilai
dari jejak pheromone. Nilai ini diperoleh dengan menggunakan rumus: τo=(nLnn)-1
,
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 3
dimana n merupakan jumlah kota dan Lnn panjang tour yang diperoleh dengan satu
heuristic atau metode pelacakan nears neighborhood.
2. Update jejak global: ketika semua agen telah melaksanakan satu tour secara lengkap,
dan agen tersebut menemukan rute terpendek. Maka tepian-tepian yang dilewati oleh
agen tersebut akan di-update pheromone-nya dengan menggunakan persamaan:
( ) ( ) ( ) ......(5)................................................................................ 11+
+−−=L
tt ijij
ρτρτ
Dimana L+ merupakan panjang dari best tour yang ditemukan oleh satu agen dari
beberapa agen yang bekerja.
Aplikasi Ant Colony Optimization untuk Tuning PID
Untuk mengoptimasi parameter pengontrol PID menggunakan Ant Colony Optimization
maka dilakukan hybridisasi metode tuning PID menggunakan Ziegler Nichols dan Ant
Colony Optimization. Algoritma yang digunakan adalah sebagai berikut :
Procedure Tuning_PID_ACO
NormalZieglerNichols
AntColonyOptimization
End Tuning_PID_ACO
Pada algoritma ini, pertama-tama dicari parameter PID (KP, Ti dan Td) menggunakan
metode tuning Ziegler Nichols, kemudian dibangkitkan suatu graph (seperti gambar 2)
dimana nilai KPN, KIN dan KDN ditentukan dengan range nilai parameter dari 0 hingga 1,5
kali nilai parameter yang diperoleh dari tuning menggunakan metode Ziegler Nichols.
Dalam percobaan ini, jumlah N yang digunakan adalah 100. Graph tersebut dibuat untuk
mentransformasikan masalah optimasi parameter pengontrol PID kedalam bentuk
permasalahan optimasi kombinatorial
Gambar 2. Representasi graph permasalahan tuning PID
Fungsi subprogram NormalZieglerNichols untuk memperoleh nilai gain KU dan periode
sistem TU yang menyebabkan sistem berosilasi dengan amplitudo yang tetap. Dari nilai KU
dan TU tersebut dapat diperoleh nilai parameter pengontrol PID sebagai berikut :
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 4
0.6P UK K= ×
0.5I UT T= × ………………………………………………………………… (6)
0.25D UT T= ×
Setelah diperoleh parameter-parameter awal KP, KI dan KD, maka subprogram
AntColonyOptimization mencari KP – KI – KD dengan cost function terkecil dari gambar 2.
Semut-semut akan meletakan pheromone disetiap jalur graph yang dilaluinya. Pheromone
pada algoritma ini di-update dalam dua cara:
1. update pheromone local, dan
2. update pheromone global.
Pada peng-update-an pheromone lokal (7), masing-masing semut meng-update pheromone
dengan meletakkan pada alur setelah satu tour diselesaikan dengan menggunakan
persamaan:
( ) ( )1 ....................................................................................................(7)ij ij nnt t Cτ τ= − +
Dimana 1
_nnC
n L nn=
× yaitu koefisien peng-update-an pheromone umum. n adalah
jumlah alur dan _L nn adalah nilai cost function dari PID dengan parameter hasil ZN.
Pada peng-update-an pheromone global, ada peng-update-an pheromone positif (8) dan
negatif (9). Pheromone dari masing-masing alur merupakan best tour dan worst tour dari
koloni semut di-update dengan menggunakan persamaan-persamaan berikut:
( ) ( )
( ) ( )
........................................................................................................(8)
0.3 .............................
best best
ij ij
best
worst worst
ij ij
worst
t tL
t tL
ρτ τ
ρτ τ
= +
= − ........................................................................(9)
Dimana worstbest
ττ dan adalah pheromone dari masing-masing alur yang diikuti oleh semut
dalam tour dengan nilai cost terendah (Cbest) dan dengan nilai cost tertinggi (Cworst) dalam
satu iterasi secara berturut-turut. Pheromone dari masing-masing alur yang yang dimiliki
oleh best tour akan terus bertambah, sebaliknya pheromone dari worst tour akan terus
berkurang selama iterasi. Setelah satu iterasi, beberapa pheromone menguap. Penguapan
pheromone (10) mengijinkan Ant Colony Optimization (ACO) untuk melupakan histori
sebelumnya, maka dari itu ACO dapat secara langsung melakukan pelacakan dengan arah
yang baru tanpa akan terjebak pada local minimal.
( ) ( ) ........................................................................................................(10)ij ijt tλ
τ τ= + ∆
Dimana λ adalah konstanta penguapan, dan ∆ adalah jumlah dari persamaan (8) dan
persamaan (9).
Cost function yang digunakan untuk optimasi tuning PID dengan ant algortitm pada
penelitian ini adalah:
a. Integral Absolute Error (IAE)
b. Integral Squared Error (ISE)
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 5
c. Reference Based Error with Minimum Control Effort (RBEMCE).
Dalam RBEMCE, sebuah respon yang diinginkan diaproksimasi sebagai sebuah fungsi
eksponensial (respon sistem orde satu) (11).
( ) 1 ................................................................................................................(11)ct
dy t e−= −
Dimana c dapat diambil sebagai konstanta waktu dari sistem. Sistem dipaksa untuk men-
trace respon yang diinginkan ini menggunakan minimum control effort. Berdasarkan
asumsi ini, cost function yang digunakan dalam optimasi ini adalah sebagai berikut:
( ) [ ] [ ] [ ]1 1
1 ...........................................................................(12)
N N
d
i i
kI y i y i u i
N Nρ
= =
= − +∑ ∑
Dimana N adalah jumlah data point, k adala bobot dari minimal control effort dan ρ adalah
sebuah vektor yang teridiri dari parameter-parameter PID.
III. Beberapa Hasil Percobaan dan Diskusi
3.1 Analisis Cost Function dalam ACO
Agar bisa mengilustrasikan perbedaan antara tuning PID dengan menggunakan ACO
dengan metode-metode yang lain (ZN, IMC, dan IFT), berkut adalah model yang
digunakan:
( )( )
( )( )1 5
................................................................................................(13)1 10 1 20
sG s
s s
−=
+ +
Menggunakan tiga cost function yang berbeda (IAE, ISE, dan RBEMCE), proses tuning
dengan menggunakan ant colony optimization (ACO) diterapkan pada model (13). Karena
nilai probralilistic nature dari ant colony optimization (ACO), algoritma ini dijalankan 5
kali dengan 5 semut dan 1000 iterasi. Antar 5 kali penjalanan untuk masing-masing cost
function, hasil yang paling baik dengan cost paling rendah untuk input step, diperlihatkan
pada gambar 3. Bersesuaian, sinyal control diilustrasikan pada gambar 4. Seperti dapat
dilihat pada gambar 3 dan gambar 4, RBEMCE memiliki kinerja yang lebih baik dibanding
dengan kedua cost function yang lain. Dalam cost function RBEMCE, respon yang
diinginkan didefinisikan oleh user di-trace dengan menggunakan minimum control effort.
Untuk perbandingan, maximum oershoot (OS%), rise time (Tr) dan settling time (Ts) dari
pengendali yang dioptimasi dengan menggunakan ketiga cost function yang berbeda dapat
disimpulkan pada Tabel 1. Bagaimanapun, rise time dari metode RBEMCE lebih tinggi
daripada metode-metode yang lain. Hal ini hampir sama settling time-nya dengan metode
IAE dan tanpa overshoot. Kedua metode yang lain, IAE dan ISE memiliki overshoot yang
lebih tinggi.
Tabel 1.
Parameter PID untuk Cost Function yang berbeda
dan karakteristik Kendalinya
ANT-IAE ANT-ISE ANT-RBEMCE
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 6
kp 4.606 4.7655 3.3358
ki 0.0913 0.0725 0.0661
kd 21.7854 22.23 21.7854
OS(%) 8.2 4.7 0
Ts 29.95 72.3 31.7
TR 7.17 7.07 14.97
Gambar 3. Respon step untuk sistem close-loop dengan model G(s)
Gambar 4. Sinyal Kendali untuk sistem close-loop dengan model G(s)
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 7
3.2 Perbandingan dengan Metode Tuning yang Lain
Pada bagian ini, pengendali PID di-tune dengan ACO menggunakan cost function
RBEMCE akan dibandingkan dengan metode ZN, IMC dan IFT. Hasilnya dapat dilihat
pada Tabel 2.
Tabel 2.
Parameter PID untuk Metode yang Berbeda
dan Karakteristik Kendalinya
ZN IMC IFT ANT-RBEMCE
kp 3.5294 3.3926 3.0279 3.3358
ki 0.2101 0.1074 0.0654 0.0661
kd 14.8235 13.2247 18.4075 21.7854
OS(%) 54 23.5 0.5 0
Ts 86 45.1 28.55 31.7
TR 6.83 8.54 14.69 14.97
Dari Tabel 2, settling time yang paling baik dicapai oleh metode IFT dengan overshoot
yang kecil dan ANT-RBEMCE memiliki settling time yang hampir sama dengan metode
IFT tetapi tidak memiliki overshoot. Gambar 5 dan gambar 6 memperlihatkan respon step
dan sinyal kendali untuk sistem close-loop dengan pengendali PID yang sudah di-tune
dengan empat metode yang berbeda. Dari gambar 5, metode IFT dan metode ANT-
RBEMCE memiliki karakteristik keluaran yang paling baik (overshhot yang lebih rendah
dan settling time yang lebih cepat), begitupun untuk sinyal kendali memilki karakteristik
yang sama dengan respon step.
Gambar 5. Respon step untuk sistem close-loop dengan model G(s)
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 8
Gambar 5. Sinyal Kendali untuk sistem close-loop dengan model G(s)
3.3 Kekokohan terhadap Model Error
Metode tuning sebuah pengendali, semestinya memiliki kekokohan terhadap model
error. Untuk menguji kekokohan metode-metode ini, pengendali di-tune dengan metode
yang sudah dijelaskan sebelumnya diterapkan pada model yang berbeda dengan model
(13). Model-model tersebut adalah sebagai berikut:
( )( )
( )( )
( )( )
( )( )
1.5 1 5 ...............................................................................................(14)
1 10 1 20
1 5 ....................................................
1 10 1 25
a
b
sG s
s s
sG s
s s
−=
+ +
−=
+ +
( )( )
( )( )1.5
...........................................(15)
1 5 ........................................................................................(16)
1 10 1 20
s
c
sG s e
s s
−−=
+ +
Agar bisa mengevaluasi kekokohan dari pengendali PID yang sudah di-tune dengan ACO
dan dibandingkan dengan metode tuning yang lain, digunakan parameter-parameter PID
yang sama pada Tabel 2. Pertama: respon terhadap model (14) dimana penguatan steady
state dari model (13) bertambah sebesar 50%, yang diperlihatkan pada gambar 7. Kedua:
satu pole dari model (13) diubah menjadi (15) dan hasilnya diperlihatkan pada gambar 8.
Ketiga: sebuah delay sebesar 1.5 seconds ditambahkan pada Gc(s) (16). Respon
diperlihatkan pada gambar 9.
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 9
Gambar 7. Respon step untuk Ga(s) dengan metode yang berbeda
Gambar 8. Respon step untuk Gb(s) dengan metode yang berbeda
Gambar 9. Respon step untuk Gc(s) dengan metode yang berbeda
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 10
Keempat pengendali tersebut semuanya kokoh terhadap model error yang sudah diterapkan
kecuali dengan sistem dengan delay, yang menyebabkan sebuah penambahan settling time.
Bagaimanapun, ANT-RBEMCE memperlihatkan hasil yang terbaik dengan overshoot dan
settling time yang terendah dari semua kasus.
3.4 Sistem dengan Gaussian White Noise
Agar bisa menguji tuning PID dengan ACO pada sistem yang memiliki noise, ANT-
RBEMCE digunakan untuk mengendalikan plant yang didefinisikan sebagai berikut:
( ) ( ) ( ) ( ) ( )
( )
2
2 2
, dengan ...........................................................................(17)
1 ............................................................................
0.1 1
y t G s u t H s e t
G ss s
= +
=+ +
( )
...........................(18)
1 .....................................................................................................................(19)
1H s
s=
+Dimana e(t) adalah Gaussian white noise. Sistem di atas diuji untuk beberapa variansi yang
berbeda, σ2=0.0025 σ2
=0.025 σ2=0.25. ACO dijalankan 5 kali dengan menggunakan 5
semut dan 1000 iterasi. Parameter-parameter PID adalah 0 – 4.5 untuk kp, 0 – 0.45 untuk ki,
dan 0 – 22.5 untuk kd. koefisien update pheromone general adalah a dengan nilai 0.06 dan
parameter penguapan adalah λ dengan nilai 0.95. Respon close-loop dengan cost function
terendah untuk variansi yang berbeda dari gaussian white noise diilustrasikan pada gambar
10, 11, dan 12. Parameter-parameter PID dipresentasikan pada Tabel 3. Parameter-
parameter kendali dicapai dengan ANT-RBEMCE , pengendali memperlihatkan fitur
penolakan noise yang sangat baik. Walaupun sistem memiliki noise yang sangat tinggi,
sistem dapat men-trace respon yang diinginkan.
Gambar 10. Respon step untuk σ2
=0.0025
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 11
Gambar 11. Respon step untuk σ2
=0.025
Gambar 12. Respon step untuk σ2
=0.25
Tabel 3.
Parameter-parameter PID G2(s)
dengan white nosie yang berbeda
σ2=0.0025 σ2
=0.025 σ2=0.25
kp 2.6555 2.97 0.765
ki 0.1575 0.153 0.1575
kd 17.55 19.8 4.5
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 12
IV. Kesimpulan
1. Proses tuning parameter-parameter PID menggunakan hybridisasi metode tuning
Ziegler Nichols dengan Ant Colony Optimization (ACO) telah berhasil diterapkan.
2. Sistem dengan parameter hasil tuning ACO menggunakan cost function Reference
Based Error with Minimum Control Effort (RBEMCE) memberikan kinerja yang
lebih baik dibandingkan sistem hasil tuning menggunakan cost function IAE dan
ISE. Sistem hasil tuning menggunakan cost function RBEMCE memiliki settling
time yang optimum tanpa overshoot.
3. Pengendali yang di-tune dengan ANT-RBEMCE memperlihatkan kekokohan yang
tinggi terhadap kesalahan dalam pemodelan sistem dibandingkan dengan metode-
metode yang lain (ZN, IMC, dan IFT). Pengujian dilakukan dengan merubah pole
sistem, menambahkan time delay dan variasi penguatan seady state terhadap model
sistem.
4. Tuning PID menggunakan ANT-RBEMCE berhasil diterapkan terhadap sebuah
model dengan noise. Walaupun presentasi noise yang sangat tinggi, ANT-
RBEMCE memperlihatkan prilaku kendali yang baik.
5. Dari pengujian sistem terlihat keuntungan dari dari proses tuning PID dengan ANT-
RBEMCE yaitu memiliki respon tanpa overshoot sekalipun diberi gangguan dengan
berbagai cara dan memiliki penolakan noise yang cukup baik sekalipun memiliki
variansi noise yang sangat tinggi.
6. Proses tuning yang off-line yang digunakan pada penelitian ini dapat juga
dikembangkan menjadi prose tuning yang on-line .
REFERENSI
[1] Huseyin Atakan Varol, Zafer Bingul, “A New PID Tuning Technique Using Ant
Algorithm”, Proceeding of the 2004 American Control Conference, Boston, 2004
[2] Emmanuel A. Gonzalez, Felicito S. Caluyo, “Normal Ziegler-Nichols-Based PID
Retuning Using Sequential Ant Colony Optimization (SeqACO)”
[3] Emmanuel A. Gonzalez, Felicito S. Caluyo, “Optimal Retuning of Quarter-Wave
Ziegler-Nichols PID Controllers Using Sequential Ant Colony Optimization”
[4] Eric Bonabeau, Marco Dorigo, Guy Theraulaz, “Swarm intelligence : from natural
to artificial intelligent”, Oxford University Press, 1999
[5] Katsuhiko Ogata, “Modern Control Engineering”, Prentice-Hall International
Editions, 1990
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 1
LAMPIRAN Simulasi aplikasi algoritma dalam makalah ini
(menggunakan MATLAB)
I. CODING MATLAB YANG DIGUNAKAN
function [BestTourLength, BestTour] = ACOPID(Kp,Ti,Td,num,den)
% Pembuatan pilihan parameter PID menjadi COP n=50; %banyaknya pilihan parameter d=zeros(n,3); for i=1 : n d(i,1)=(rand+0.5)*Kp; d(i,2)=(rand+0.5)*Ti; d(i,3)=(rand+0.5)*Td; end
m=10; %number of ants t_max=100; %iteratios alpha = 1; %linearitas pengaruh pheromone rho = 0.9; %konstanta penambahan pheromone
%Cost Function yang digunakan : [numCL,denCL] = CL(Kp,Ti,Td,num,den); [y,t,x] = step(numCL,denCL); %L_nn=sum(abs(1-y)); %Integral absolute error criterion %L_nn=(1-y)'*(1-y); %Integral square error criterion L_nn = x*abs(1-y); %Integral of time multiplied absolute error criterion %L_nn = x*((1-y).^2); %Integral of time multiplied square-error criterion
L_best = inf; T_best = 0;
% INITIALIZATION
ant_tours = zeros(m, 3); %matriks ant tours %pheromone trails c = 1 / (n * L_nn); tauKp = ones(n,1) * c; tauKpTi = ones(n,n) * c; tauTiTd = ones(n,n) * c;
% MAIN LOOP
tt = 1; while (tt <= t_max) for s = 1 : 3 %jumlah pilihan for k = 1 : m %jumlah ants p = zeros (1,n); for i = 1 : n if (s == 1) p(i) = (tauKp(i,s))^alpha; elseif (s == 2 ) p(i) = (tauKpTi(ant_tours(k,1),i))^alpha; elseif (s == 3 ) p(i) = (tauTiTd(ant_tours(k,2),i))^alpha; end end
Lampiran -
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 2
sum_p = sum(p); p = p / sum_p; for i = 2 : n p(i) = p(i) + p(i-1); end r = rand; %Roulette Wheel for i = 1 : n if ( r <= p(i)) select = i; break; end end ant_tours(k,s)=select; if (s == 1) tauKp(select,1) = (1-rho) * tauKp(select,1) + c; elseif (s == 2) tauKpTi(ant_tours(k,1),select) = (1-rho) * ...
tauKpTi(ant_tours(k,1),select) + c; elseif (s == 3) tauTiTd(ant_tours(k,2),select) = (1-rho) * ...
tauTiTd(ant_tours(k,2),select) + c; end end end
% UPDATE % ============================================= best_ant = 1; for k = 1 : m % jumlah ants KP=d(ant_tours(k,1),1); TI=d(ant_tours(k,2),2); TD=d(ant_tours(k,3),3); [numCL,denCL] = CL(KP,TI,TD,num,den); [y,t,x] = step(numCL,denCL); %L_T(k) = sum(abs(1-y)); %Integral absolute error criterion %L_T(k) = (1-y)'*(1-y); %Integral square error criterion L_T(k) = x*abs(1-y); %Integral of time multiplied absolute
error criterion %L_T(k) = x*((1-y).^2); %Integral of time multiplied
square-error criterion if (L_T(k) < L_T(best_ant)) best_ant = k; end end L_min = min(L_T); KP=d(ant_tours(best_ant,1),1); TI=d(ant_tours(best_ant,2),2); TD=d(ant_tours(best_ant,3),3); T_min = [KP TI TD];
%update pheromone trails tauKp(ant_tours(best_ant,1),1) = (1-rho) * ...
tauKp(ant_tours(best_ant,1),1) + rho / L_min; tauKpTi(ant_tours(best_ant,1),ant_tours(best_ant,2)) = (1-rho) * ...
tauKpTi(ant_tours(best_ant,1),ant_tours(best_ant,2)) + ...
rho / L_min; tauTiTd(ant_tours(best_ant,2),ant_tours(best_ant,3)) = (1-rho) * ...
tauTiTd(ant_tours(best_ant,2),ant_tours(best_ant,3)) + ...
rho / L_min;
Lampiran -
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 3
% COMPLETE % =========================================
clc; tt = tt + 1 %Tampilkan nilai iterasi saat ini ant_tours = zeros(m, 3); if (L_min < L_best) %Update solusi terbaik L_best = L_min; T_best = T_min; end L_best %Tampilkan nilai cost function terbaik end
clc tt BestTourLength = L_best BestTour = T_best KP=BestTour(1); TI=BestTour(2); TD=BestTour(3); figure,step(numCL,denCL) %Tampilkan respon step sebelum ACO [numCL,denCL] = CL(KP,TI,TD,num,den); figure,step(numCL,denCL) %Tampilkan respon step setelah ACO
function [numCL,denCL] = CL(Kp,Ti,Td,num,den) numPID=[Kp*Td Kp Kp/Ti]; %Numerator PID denPID=[1 0]; %Denumerator PID numOL=conv(numPID,num); %Numerator open loop system denOL=conv(denPID,den); %Denumerator open loop system numCL=numOL; %Numerator closed loop system if max(size(denOL))>max(size(numOL)) numOLn=zeros(1,max(size(denOL))); for i=0:max(size(numOL))-1 numOLn(max(size(denOL))-i)=numOL(max(size(numOL))-i); end numOL=numOLn; elseif max(size(denOL))<max(size(numOL)) denOLn=zeros(1,max(size(numOL))); for i=1:max(size(denOL)) numOLn(max(size(numOL))-i)=numOL(max(size(denOL))-i); end denOL=denOLn; end denCL=denOL+numOL;
Lampiran -
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 4
II. PARAMETER YANG DIGUNAKAN
Tuning ACO menggunakan 10 ants, 100 iterasi serta 150 alternatif parameter Kp, Ti, Td.
Terdapat empat Cost function (berdasarkan performance index) yang dapat digunakan :
1. Integral square – error criterion (ISE)
( )2
0
e t dt
∞
∫
2. Integral – of – time – multiplied square – error criterion (ITSE)
( )2
0
.t e t dt
∞
∫
3. Integral absolute – error criterion (IAE)
( )0
e t dt
∞
∫
4. Integral – of – time – multiplied absoluter – error criterion (ITAE)
( )0
t e t dt
∞
∫
Berdasarkan pengamatan respon terbaik hasil tuning diperoleh jika menggunakan ITAE,
maka simulasi berikut menggunakan kriteria ITAE.
III. HASIL SIMULASI
Untuk model awal :
( )( )
( )( )1 5
1 10 1 20
sG s
s s
−=
+ +
Dari tuning Ziegler Nichols diperoleh parameter Kp = 3.5294, Ti = 16.7987 dan Td = 4.2.
Melalui simulasi MATLAB : >> num=[-5 1]; % numerator plant
>> den=conv([10 1],[20 1]) ; % denumerator plant
>> Kp=3.5294;Ti=16.7987;Td=4.2; % parameter PID.
>> [BestTourLength, BestTour] = ACOPID(Kp,Ti,Td,num,den)
BestTourLength =
22.9759
BestTour =
5.0607 24.6801 6.0175
Berarti diperoleh nilai Kp = 5.0607, Ti = 24.6801 dan Td=6.0175.
Lampiran -
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 5
Respon system hasil tuning PID :
0 20 40 60 80 100 120 140 160 180-0.5
0
0.5
1
1.5
2Step Response
Time (sec)
Am
plit
ude
Respon system hasil tuning ACO :
0 5 10 15 20 25 30-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5Step Response
Time (sec)
Am
plit
ude
Lampiran -
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 6
Simulasi terhadap model error : Jika menggunakan model :
( )( )
( )( )1.5 1 5
1 10 1 20a
sG s
s s
−=
+ +
Melalui simulasi MATLAB : >> num=1.5*[-5 1]; % numerator plant
>> den=conv([10 1],[20 1]) ; % denumerator plant
>> Kp=3.5294;Ti=16.7987;Td=4.2; % parameter PID.
>> [BestTourLength, BestTour] = ACOPID(Kp,Ti,Td,num,den)
BestTourLength =
5.0963
BestTour =
4.1534 20.1566 6.2928
Berarti diperoleh nilai Kp = 4.1534, Ti = 20.1566 dan Td = 6.2928.
Respon system hasil tuning ACO :
0 10 20 30 40 50 60-2
-1.5
-1
-0.5
0
0.5
1
1.5Step Response
Time (sec)
Am
plit
ude
Lampiran -
Intelegensia Artifisial Terdistribusi
Teknik Tuning Parameter PID Menggunakan Ant Algorithm 7
Simulasi terhadap model error : Jika menggunakan model :
( )( )
( )( )1 5
1 10 1 25b
sG s
s s
−=
+ +
Melalui simulasi MATLAB : >> num=[-5 1]; % numerator plant
>> den=conv([10 1],[25 1]) ; % denumerator plant
>> Kp=3.5294;Ti=16.7987;Td=4.2; % parameter PID.
>> [BestTourLength, BestTour] = ACOPID(Kp,Ti,Td,num,den)
BestTourLength =
65.1633
BestTour =
5.2274 23.6071 5.2019
Berarti diperoleh nilai Kp = 5.2274, Ti = 23.6071 dan Td = 5.2019.
Respon system hasil tuning ACO :
0 5 10 15 20 25 30 35 40-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5Step Response
Time (sec)
Am
plit
ude
Lampiran -