Vol. 01, No. 02 (2019), pp. 61 – 66 p-ISSN 2656-6303 – e-ISSN 2656-9876 URL:http://journal.unirow.ac.id/index.php/mv
Bidang Penelitian : Optimasi Tanggal Masuk: 29-08-2019; Revisi: 5-08-2019 Diterima:12-09-2019

## OPTIMISASI MATRIKS BOBOT PADA LINEAR QUADRATIC REGULATOR (LQR) INVERTED PENDULUM MENGGUNAKAN ANT COLONY OPTIMIZATION
Dinita Rahmalia Universitas Islam Darul Ulum Lamongan, dinitarahmalia@gmail.com
Abstrak –  Inverted pendulum terdiri dari kereta dan pendulum yang terpasang pada kereta. Suatu gaya (force) diberikan pada sistem yang terdiri dari posisi sudut, kecepatan sudut, posisi kereta, dan kecepatan kereta. Fungsi objective  dari inverted pendulum adalah meminimumkan sudut pendulum dan posisi kereta sesuai trayektori supaya pendulum stabil. Model kontrol optimal yang digunakan dalam penelitian ini menggunakan Linear Quadratic Regulator (LQR). Pada  LQR, nilai dari fungsi objective  ditentukan oleh matriks bobot dan matriks bobot secara umum ditentukan secara trial and error. Ant Colony Optimization (ACO) merupakan metode optimisasi yang berdasarkan perilaku semut dalam mencari jalan dari sarang menuju sumber makanan. Hasil simulasi menunjukkan metode ACO dapat menemukan matriks bobot optimum yang meminimumkan performance index sebagai fungsi objective.

## Kata  Kunci  –  Kontrol Optimal, Linear
Quadratic Regulator, Ant Colony Optimization

## I. PENDAHULUAN
Penetuan kontrol optimal telah banyak diaplikasikan pada berbagai  bidang. Salah satu contoh kontrol optimal sederhana adalah inverted pendulum. Inverted pendulum terdiri dari kereta dan pendulum yang terpasang pada kereta. Suatu gaya (force) diberikan pada sistem yang terdiri dari posisi sudut, kecepatan sudut, posisi kereta, dan kecepatan kereta. Fungsi objective  dari inverted pendulum adalah meminimumkan sudut pendulum dan posisi kereta sesuai trayektori supaya pendulum stabil [1],[2].
Model kontrol optimal yang digunakan dalam penelitian ini menggunakan Linear
Quadratic Regulator (LQR). Pada LQR, nilai dari  performance index sebagai  fungsi objective  ditentukan oleh matriks bobot dan matriks bobot secara umum ditentukan secara trial and error sehingga perlu proses optimisasi. Dalam LQR, terdapat tiga matriks bobot yang akan dioptimisasi. Pada penelitian sebelumnya, masalah optimisasi matriks bobot pada  kontrol optimal telah diteliti menggunakan Ant Colony Optimization (ACO)  [3], Particle Swarm Optimization (PSO)  [4], Artificial Bee Colony (ABC) [11].
Ant Colony Optimization (ACO) adalah metode optimisasi yang terinspirasi dari perilaku semut dalam mencari jalan dari sarang menuju sumber makanan. Metode ini ditemukan oleh Dorigo pada tahun 1990 [9].
Proses optimasasi ACO adalah  :  semut berangkat dari sarang kemudian melakukan perjalanan  melalui banyak titik  dari  layer pertama (sarang) menuju layer terakhir (sumber makanan) dan berhenti pada titik tujuan.
Hasil simulasi menunjukkan metode ACO dapat menemukan matriks bobot optimum yang meminimumkan performance index sebagai fungsi objective.

## II. PEMODELAN MATEMATIKA INVERTED PENDULUM
Pemodelan pada inverted pendulum dapat dilihat pada Gambar 1, dimana parameter pada inverted pendulum yang akan digunakan adalah : massa kereta M ; massa
pendulum m ;  panjang pendulum l ; percepatan gravitasi g . Suatu gaya (force) U diberikan pada sistem yang terdiri dari posisi sudut, kecepatan sudut, posisi kereta, dan kecepatan kereta. Fungsi objective  dari inverted pendulum adalah meminimumkan sudut pendulum θ dan posisi kereta x sesuai trayektori supaya pendulum stabil [7].
Gambar 1: Model Inverted Pendulum
Misalkan koordinat ( , ) x y dari pusat gravitasi pendulum adalah ( , ) G G x y : sin G x x l θ = + cos G y l θ = (1)
Pada pendulum terdapat tiga jenis gaya, yaitu gaya rotasi pendulum pada pusat gravitasi seperti pada persamaan (2), gaya horizontal pendulum pada pusat gravitasi seperti pada persamaan (3), dan gaya vertikal pendulum pada pusat gravitasi seperti pada persamaan (4).
sin cos I Vl Hl θ θ θ = −  (2)
( ) 2 2 sin d m x l H dt θ + = (3) ( ) 2 2 cos d m l V mg dt θ = − (4)
Sedangkan pada kereta, terdapat gaya horizontal seperti pada persamaan (5).
2 2 d x M U H dt = − (5)
Untuk mendapatkan sitem yang linier, dilakukan pelinearan sin θ θ ≈ dan cos 1 θ ≈ sehingga pada persamaan (2), (3), dan (4) menjadi  seperti persamaan (6), (7), dan (8) berturut-turut.
I Vl Hl θ θ = −  (6) ( ) m x l H θ + =   (7) 0 V mg = − (8)

## Substitusi persamaan (5) dan (7)
( ) M m x ml U θ + + =   (9)
Substitusi persamaan (7) dan (8) pada persamaan (6)
( ) I mgl mx ml l θ θ θ = − +    (10)
Dengan asumsi 0 I = maka pada persamaan (10) menjadi
2 ml mlx mgl θ θ + =   (11)
Diperoleh model matematika pada inverted pendulum seperti pada persamaan (9) dan persamaan (11). Kedua persamaan tersebut dapat dimodifikasi menjadi :
( ) Ml M m g U θ θ = + −  (12) Mx U mg θ = −  (13)
Dari persamaan (12) dengan memisalkan
1 x θ = dan 2 x θ =  dan dari persamaan (13) dengan memisalkan 3 x x = dan 4 x x =  menghasilkan bentuk state space :
1 1 2 2 3 3 4 4 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 x x M m g x x Ml ml U x x x x mg M M    
        +       −                 = +                         −             (14)

## III. LINEAR QUADRATIC REGULATOR
Linear Quadratic Regulator (LQR) bertujuan untuk menemukan kontrol optimal
( ) u t yang akan memberikan solusi state ( ) x t dari waktu awal menuju waktu akhir dengan meminimumkan performance index J . Bentuk LQR  adalah sebagai berikut [5],[6]:
State : ( ) ( ) x Ax t Bu t = +  (15)
Dengan performance index J sebagai berikut :
0 1 1 ( ) ( ) ( ) ( ) ( ) ( ) 2 2 T T T T t J x T Px T x T Qx T u t Ru t dt =   = + +   ∫ (16)
dengan 0 P ≥ dan 0 Q ≥ yang bersifat simetris dan semidefinit positif, serta 0 R > yang bersifat simetris dan definit positif.
Perhitungan  LQR d waktu kontinu adalah sebagai berikut :
1. Hitung solusi matriks Riccati
11 12 13 14 12 22 23 24 13 23 33 34 14 24 34 44 ( ) s s s s s s s s
S t s s s s s s s s    
  =  
 
  , 0 f t T ≤ < yang
bersifat simetris semidefinit positif dan menggunakan Runge Kutta orde empat secara mundur. Karena  terdapat sepuluh elemen matriks yang berbeda, maka terdapat sepuluh persamaan membentuk sistem persamaan diferensial.
1 T T S A S SA SBR B S Q
− − = + − +  , ( ) f S T P = (17)
for : f t T h = 1 ( , ( )) i i i n f t S t = , 1, 2,...,10 i =
2 1 , ( ) 2 2 i i i i h h n f t S t n   = − −     , 1, 2,...,10 i =
3 2 , ( ) 2 2 i i i i h h n f t S t n   = − −     , 1, 2,...,10 i = ( ) 4 3 , ( ) i i i i n f t h S t hn = − − , 1, 2,...,10 i = ( ) 1 2 3 4 ( ) ( ) 2 2 6 i i i i i i h S t h S t n n n n − = − + + + ,
1, 2,...,10 i = end 2. Hitung optimal feedback gain
1 ( ) ( ) T K t R B S t − = (18)
3. Hitung solusi persamaan state
( ) ( ) ( ) x A BK t x t = −  , 0 (0) x x = (19)
for 0 : f t T h = −
1 ( , ( ), ( )) i i i i n f t x t K t = , 1, 2, 3, 4 i = 2 1 ( ) ( ) , ( ) , 2 2 2 i i i i i i K t K t h h h n f t x t n + +   = + +     ,
1, 2, 3, 4 i = 3 2 ( ) ( ) , ( ) , 2 2 2 i i i i i i K t K t h h h n f t x t n + +   = + +     ,
1, 2, 3, 4 i = ( ) 4 3 , ( ) , ( ) i i i i i n f t h x t hn K t h = + + + , 1, 2, 3, 4 i = ( ) 1 2 3 4 ( ) ( ) 2 2 6 i i i i i i h x t h x t n n n n + = + + + + , 1, 2, 3, 4 i = End 4. Hitung optimal kontrol
( ) ( ) ( ) u t K t x t = − (20)
5. Hitung performance index secara diskrit sebagai nilai objective
1 1 1 1 ( ) ( ) ( ) ( ) ( ) ( ) 2 2 T T T T t J x T Px T x t Qx t u t Ru t dt − =   = + +   ∑ (21)

## IV. ANT COLONY OPTIMIZATION
Ant Colony Optimization (ACO) adalah metode optimisasi yang terinspirasi dari perilaku semut dalam mencari jalan dari sarang menuju sumber makanan. Metode ini ditemukan oleh Dorigo pada tahun 1990.
Proses optimasasi ACO adalah  :  semut berangkat dari sarang kemudian melakukan perjalanan  melalui banyak titik  dari  layer pertama (sarang) menuju layer terakhir (sumber makanan) dan berhenti pada titik tujuan.
Pada awal iterasi, semua jalan diinisialisasi dengan jejak  pheromone dalam jumlah yang sama. Pada solusi optimal, semua semut akan berjalan pada jalan yang sama dengan jejak pheromone yang tinggi.

## A. Perilaku pada Semut
Terdapat tiga langkah pada algoritma ACO yaitu  : perilaku pencarian pada semut, proses penguapan pada jejak pheromone, dan pelacakan jalan  dan update jejak pheromone [8],[10].
1. Perilaku Pencarian pada Semut Seekor semut k ,  ketika berlokasi di titik i , mengeluarkan jejak pheromone ij τ untuk menghitung peluang  memilih j sebagai titik berikutnya.
𝑝 𝑖𝑗 ( 𝑘 ) = ⎩ ⎨ ⎧ 𝜏 𝑖𝑗 𝛼 ∑ 𝜏 𝑖𝑗 𝛼 𝑗∈𝑁 𝑖 ( 𝑘 ) if 𝑗 ∈ 𝑁 𝑖 ( 𝑘 ) 0                           if 𝑗 ∉ 𝑁 𝑖 ( 𝑘 ) (22)
dengan α adalah tingkat kepentingan  dari jejak pheromone  dan ) ( k i N adalah titik yang saling bertetangga  dari  semut k ketika di titik i .
2. Proses Penguapan pada Jejak Pheromone Ketika seekor  semut k berpindah  ke titik berikutnya, jejak pheromone menguap.
ij ij τ ρ τ ) 1 ( − ← (23)
dengan ] 1 , 0 ( ∈ ρ
Ketika semua semut kembali ke sarang, jejak pheromone diupdate karena penguapan.
∑ = ∆ + − ← N k k ij ij ij 1 ) ( ) 1 ( τ τ ρ τ (24)
dengan ] 1 , 0 ( ∈ ρ adalah laju penguapan jejak pheromone dan ) ( k τ ∆ adalah jumlah pheromone  yang diletakkan  oleh  semut terbaik k dengan persamaan (25)
� ∆𝜏 𝑖𝑗 ( 𝑘 ) = �𝑁 𝑏𝑒𝑠𝑡 . 𝑄 𝑓 𝑏𝑒𝑠𝑡 ,      jika ( 𝑖 , 𝑗 ) terbaik 0,                  yang lain (25)
dengan Q adalah konstant.
3. Pelacakan Jalan  dan Update Jejak
Pheromone
Jejak pheromone ij τ diupdate. Jejak pheromone yang tinggi memilki peluang yang tinggi dipilih oleh semut pada waktu berikutnya.

## B. Optimisasi ACO pada LQR
Dalam LQR, terdapat tiga matriks bobot yang akan dioptimisasi menggunakan ACO yaitu : 0 P ≥ dan 0 Q ≥ yang bersifat simetris dan  semidefinit positif, serta 0 R > yang bersifat simetris dan definit positif. Dengan mengasumsikan 0 P = dan 11 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 q Q q    
  =      
karena akan meminimumkan posisi sudut pendulum 1 x dan  posisi kereta 3 x , maka terdapat tiga variabel sebagai variabel keputusan. Suatu jalan pada ACO sebagai variabel keputusan dapat direpresentasikan sebagai berikut :
[ ] 11 33 X q q R = (26)
dengan nilai fitness adalah performance index sebagai fungsi objective pada persamaan (21).
Algoritma untuk mengoptimisasi matriks bobot pada LQR menggunakan  ACO dapat dikonstruksi sebagai berikut :
1. Tentukan jumlah semut N dan laju penguapan jejak pheromone ρ .
2. Bangkitkan M populasi matriks bobot pada persamaan (27)  sebagai jalan dan hitung peluang menggunakan persamaan
M X p i 1 ) ( = , M i ,..., 2 , 1 = (27)

## 3. Hitung peluang kumulative pada range
i C
4. Bangkitkan bilangan acak pada setiap semut ) 1 , 0 ( ~ U r s N s ,..., 2 , 1 = . 5. Tentukan matriks bobot sebagai jalan yang terpilih } ,..., 2 , 1 { , M i
X i ∈ pada setiap semut s .
6. Hitung nilai objective  pada  setiap semut s .
7. Pilih nilai objective yang paling kecil ( ) } ,..., 2 , 1 { ), ( min M i X f f i best ∈ = , dan hitung best N , yaitu jumlah dari best f 8. Tentukan Q dan hitung ∑ ∆ ) ( i X τ , M i ,..., 2 , 1 = � ∆𝜏 (X 𝑖 ) = �𝑁 𝑏𝑒𝑠𝑡 . 𝑄 𝑓 𝑏𝑒𝑠𝑡 ,      jika X 𝑖 terbaik 0,                  otherwise (28)
9. Update jejak pheromone ( ) i i i X ∑ ∆ + − = τ τ ρ τ ) 1 ( M i ,..., 2 , 1 = (29)
10. Update peluang dari jejak pheromone
∑ = i i i X p τ τ ) ( M i ,..., 2 , 1 = (30)
11. Ulangi langkah 3-10 sampai semua semut memilih matriks bobot sebagai jalan yang sama sehingga proses konvergen.

## V. HASIL DAN PEMBAHASAN
Pada  ACO, populasi jalan  adalah elemen dari matriks bobot dan nilai fitness yang digunakan adalah performace index dari model LQR dengan waktu diskrit. Setelah elemen matriks bobot optimal diperoleh, dilakukan simulasi LQR menggunakan waktu kontinu.
Parameter pada inverted pendulum yang akan digunakan pada simulasi LQR adalah : massa kereta 0, 5 M = ; massa pendulum 0, 2 m = ; panjang pendulum 0, 6 l = ; percepatan gravitasi 9,81 g = . Pada simulasi Runge Kutta orde empat digunakan nilai awal [ ] (0) 5 2 3 6 T x = ; beda 0,1 h = ; waktu akhir 10 f T = .
Parameter ACO yang digunakan adalah : Jumlah populasi jalan M : 1000 Jumlah semut N : 5 Laju penguapan ρ : 0,1
Gambar  2  adalah  proses  optimisasi  dari ACO pada pencarian matriks bobot dari LQR inverted pendulum yang optimal. Pada iterasi awal, semua semut memilih  matriks bobot secara acak. Pada proses optimisasi, jejak pheromone diupdate karena penguapan sampai semua  semut  memilih matriks bobot yang optimal.  Setelah  ACO  diterapkan sampai iterasi maksimum, diperoleh pendekatan matriks bobot yang optimal adalah
11 2,195 q = , 33 1, 024 q = , 0, 229 R = .
dengan nilai performance index  adalah 115,962.
Gambar 3 adalah solusi dari optimal feedback gain yang diperoleh dari persamaan (18). Gambar 4 adalah solusi persamaan state yaitu sudut pendulum, kecepatan sudut pendulum, posisi kereta, dan kecepatan posisi kereta. Gambar 5 adalah kontrol optimal yang diperoleh.
Gambar 2 : Proses Optimisasi pada ACO
Gambar 3 : Optimal Feedback Gain
Gambar 4 : Solusi Persamaan State
Gambar 5 : Kontrol Optimal

## VI. KESIMPULAN
Pada  LQR, nilai dari fungsi objective ditentukan oleh matriks bobot. Matriks bobot secara umum ditentukan secara trial and error sehingga perlu proses optimisasi. Pada penelitian ini optimisasi matriks bobot dilakukan menggunakan metode ACO. Hasil simulasi menunjukkan metode ACO dapat menemukan matriks bobot optimum yang meminimumkan performance index sebagai fungsi objective.

## REFERENSI
[1]Hassani, K., Lee, W.S., “Optimal Tuning of Linear Quadratic Regulators Using Quantum Particle
Swarm Optimization,” Proceedings of the Int. Conference of Control, Dynamic System, and
Robotics , (Canada), pp. 59(1-8), 2014.
[2]  Karthick, S.,  Jerome, J.,  “APSO Based Weighting Matrices Selection of LQR Applied to Tracking
Control  of SIMO System,” Proceedings of 3 rd
International Conference on Advanced Computing, Networking and Informatics, Smart
Innovation, Systems and Technologies , (India), pp. 11-20, 2016.
[3]  Rahmalia, D.,  Herlambang, T.,  “Application Ant Colony Optimization on Weight Selection of
Optimal Control SEIR Epidemic Model,” Proceeding The 7 th Annual Basic Science International Conference , (Malang), pp. 196–
199, 2017.
[4] Herlambang, T.,  Rahmalia, D., Yulianto, T., “Particle Swarm Optimization (PSO) and Ant Colony Optimization (ACO) for Optimizing PID
Parameters on Autonomous Underwater Vehicle (AUV) Control System,” Journal of Physics :
Conference Series , (Jember), 2019.
[5]  Lewis, F.L., Vrabie, D.L.,  Syrmos, V.L., Optimal Control . New Jersey: John Wiley and Sons, 2012.
[6]  Naidu, D.S., Optimal Control System .  Florida: CRC Press, 2003.
[7]  Ogata, K., Modern Control Engineering .  New
Jersey: Prentice Hall, 2002.
[8]  Rao, S.S., Engineering Optimization Theory and Practice .  New  Jersey: John Wiley and Sons, 2009.
[9] Dorigo,  M.,  Stutzle, T., Ant Colony Optimization .
London: The MIT Press, 2004
[10]  Rahmalia, D., “Estimation of Exponential Smoothing Parameter on Pesticide Characteristic Forecast Using Ant Colony Optimization (ACO),” Eksakta: Jurnal Ilmu-Ilmu MIPA, UII Yogyakarta , vol. 18, no. 1, pp. 56–63, 2018.
[11]  Rahmalia, D.,  Herlambang, T.,  “Weight Optimization of Optimal Control Influenza Model Using Artificial Bee Colony,” International Journal of Computing Science and Applied Mathematics, ITS Surabaya , vol. 4, no. 1, pp. 27-31, 2018.