Ikhtisar: Teknik Kontrol Optimal Untuk
Menyelesaikan Persamaan Diferensial
Tio Dewantho Sunoto
Jurusan Teknik Elektro, Universitas Kristen Maranatha, Bandung Jl. Suria Sumantri 65, Bandung 40164, Indonesia
Abstrak: Untuk menyatakan karakteristik sebuah sistem sering dipergunakan persamaan diferensial biasa (ordinary differential equation, ODE), formula ini sudah lama dikembangkan dan telah banyak metode untuk menyelesaikannya dalam bentuk masalah nilai awal (initial
value problem). Selain itu terdapat masalah nilai batas dua titik (two point boundary problem)
yang mirip dengan masalah nilai awal dan keduanya bisa saling berhubungan. Teknik kontrol optimal dapat dipakai untuk menyelesaian persamaan diferensial biasa, karena melalui teknik ini masalah yang ditinjau dapat ditransformasikan menjadi masalah nilai batas. Karya tulis ini sebagai ikhtisar dari karya tulis sebelumnya [1], untuk menjembatani bagaimana hubungan yang berlaku antara masalah nilai awal, masalah nilai batas dan penerapan teknik kontrol optimal (optimal control technique) untuk menyelesaikan persaman diferensial biasa melalui metode tertentu (shooting method, finite-difference method). Pernyataan bahwa kesalahan yang diperoleh lebih kecil dengan menggunakan teknik kontrol optimal, bisa menjadi topik diskusi selanjutnya karena dengan metode Taylor pun bila pendekatannya melalui orde tinggi akan menghasilkan akurasi solusinya yang tinggi dan faktor lainnya yang mempengaruhi pendekatan solusi antara lain pemotongan lokal (local truncation) dan proses pembulatan (round-off).
Kata kunci: ordinary differential equations, initial value problems, two point boundary value problem, optimal control
Abstract: In order to express the characteristics of a system of ordinary differential equations
are often used ordinary differential equation, ODE, this formula has been developed and have a lot of methods to solve them in the form of the initial value problem. In addition there are two point boundary value problems which are similar to the initial value problem and both can be interconnected. Optimal control techniques can be used for resolving ordinary differential equations, because through this technique are reviewed problems can be transformed into a boundary value problem. This paper is an overview of the previous paper [1], to bridge the existing relationship between the initial value problems, boundary value problems and the application of optimal control techniques to solve ordinary differential equations through a particular method (shooting method, finite-difference method). The statement that the obtained error is smaller by using optimal control technique, could be a topic of further discussion as to the method of Taylor was when the approach through higher order will generate a high accuracy solution and other factors that affect the solution approaches such as local truncation and round-off process.
ISSN 1979-2867 (print) Electrical Engineering Journal
Keywords: ordinary differential equations, initial value problems, two point boundary value
problem, optimal control.
I. P
ENDAHULUANPersamaan diferensial biasa (ordinary differential equation) sudah lama dipergunakan untuk memodelkan sistem kontinyu baik pada disiplin rekayasa atau ilmu pengetahuan.
Telah banyak buku ditulis dan dipakai sebagai pegangan umum untuk mencari solusi numerik persamaan diferensial[2], dan metode-metode atau formula dikembangkan sehingga diperoleh solusi dengan akurasi tinggi dan kesalahan yang kecil. Metode numerik yang umum dipakai adalah metode Taylor, Euler, Runge-Kutta, multistep, extrapolation dan adaptive
techniques.
Formula matematik yang umum untuk masalah nilai awal (initial value) orde satu adalah
xi = fi (t, x1(t), …. xn(t)) , xi(a) = yi , i = 1, 2, … n.
Perbedaan antara masalah nilai awal (initial value) dengan nilai batas (boundary value) adalah, pada nilai awal ditentukan pada titik yang sama pada variabel independennya (misalnya,
x(a) = ya), sedangkan pada nilai batas ditentukan pada nilai yang berbeda pada variabel independennya (misalnya, xi (a) = ya , xi (b) = yb). Terdapat tiga jenis kondisi nilai batas, bila nilai dinyatakan pada satu lokasi tertentu disebut dirichlet condition, bila pada nilai turunannya dikenal Neumann condition dan kondisi gabungannya. Terdapat beberapa metode untuk menyelesaikan masalah nilai batas diantaranya, metode shooting untuk linier dan nonlinier (dikenal metode Secant dan Newton), metode beda berhingga (finite-difference) untuk linier dan nonlinier (dikenal Richardson extrapolation, newton method for iteration) dan metode
Rayleigh-Ritz.[3]
Permasalahan kontrol optimal dapat dipandang sebagai masalah nilai batas (boundary
value problem)[4], dan melalui metode tertentu dapat diubah menjadi masalah nilai awal diantaranya melalui metode shooting atau metode beda berhingga (finite-difference method).
Pengenalan konsep teori kontrol (control theory) dan kontrol optimal (optimal control)[5], akan membantu untuk memahami bahwa permasalahan yang ditinjau sebagai sebuah sistem kontrol.
II. M
ASALAHN
ILAIA
WALU
NTUKP
ERSAMAAND
IFERENSIALB
IASAMetode numerik sebagai teknik untuk menyelesaikan permasalahan yang diformulasikan secara matematik dengan cara operasi hitungan (arithmetic), alasan dipergunakan teknik ini adalah tidak semua permasalahan matematik dapat diselesaikan dengan mudah, misalnya fungsi yang sulit diturunkan. Metode-metode numerik yang dipergunakan untuk menyelesaikan masalah persamaan nilai awal (initial value) telah cukup tersedia, diantaranya metode Euler, metode Taylor orde tinggi, metode Runge-Kutta (orde dua, orde empat) metode titik tengah (midpoint), metode Runge-Kutta-Fehlberg, metode multistep (Bashforth,
Adams-Moulton, predictor-corrector, Milne, Simpson), metode step-size multistep, metode extrapolasi
dan permasalahan persamaan orde tinggi. Dengan referensi yang tersedia[2], beberapa metode tersebut diulas cukup rinci untuk memberikan gambaran secara menyeluruh.
Metode Euler banyak dipakai sebagai teknik dasar umum untuk pendekatan menyelesaikan masalah nilai awal (initial value) pada persamaan diferensial biasa (ordinary
differential equation, ODE).
Tinjau persamaan nilai awal berikut:
y = f(t,y) a t b, y(a) = (1)
Bila solusi pendekatan untuk y(t) tidak didapat maka sebagai penggantinya dipakai prinsip titik-titik jala (mesh points) dalam interval [a,b]. Melalui bantuan teorema Taylor dan asumsi Persamaan (1) mempunyai turunan kontinyu pada [a,b] untuk setiap i = 0, 1, 2, .... , N-1, maka
y(ti+1) = y(ti) + h f(ti , y(ti)) +
"
(
)
2
2 iy
h
(2)h = (b-a)/N = ti+1 - ti = jarak antara titik-titik (ukuran langkah, step size).
ti = a + ih, i = 0, 1, 2, ... N , i bilangan pada (ti , ti+1)
Pendekatan Metode Euler menyatakan wi y(ti) untuk i = 1, 2, .... N, dengan
w0 =
wi+1 = wi + h f(ti , wi), i = 0, 1, 2, ... N-1 (3) Persamaan (3) disebut persamaan diferensi (difference equation) yang berhubungan dengan metode Euler.
Tinjau kasus persamaan:
y = y – t2 + 1, a t b; y(0) = 0,5 (4) solusi tepat (exact): y(t) = (t+1)2 – 0,5et, persamaan ini dipilih karena mengandung unsur turunan, tanpa turunan, variabel independen dan konstanta. Misalkan dipilih N = 10, a= 0, b= 2, sehingga h =(2-0)/10 = 0,2, ti = a+ih = 0 + i 0,2 = 0,2i, maka Persamaan (3) menjadi
w0 = 0,5 wi+1 = wi + h(wi - ti 2 + 1) = wi + 0,2(wi – 0,04i 2 + 1) = 1,2wi - 0,008i 2 + 0,2. untuk i = 0, 1, ..., 9 didapat: w1 = 1,2(0,5) – 0,008(0) 2 + 0,2 = 0,8 w2 = 1,2(0,8) – 0,008(1)2 + 0,2 = 1,152 w3 = 1,2(1,152) – 0,008(2) 2 + 0,2 = 1,5504 : :
dan hasilnya dari enam kali iterasi dinyatakan pada Tabel 1.
TABEL 1.SOLUSI TEPAT DAN PENDEKATAN PERSAMAAN (4)MELALUI METODE EULER.
ti
Solusi tepat (exact solution) :
y(ti) = (ti+1) 2
- 0,5et
Solusi pendekatan metode Euler
ti = 0,2i ; w0 = wi+1 = 1,2wi - 0,008i2 + 0,2 Kesalahan = | yi - wi | : 0,0 0,2 0,4 0,6 0,8 1,0 y(0,0) = y0 = 0,5000000 y(0,2) = y1 = 0,8292986 y(0,4) = y2 = 1,2140877 y(0,6) = y3 = 1,6489406 y(0,8) = y4 = 2,1272295 y(1,0) = y5 = 2,6408591 w(0,0) = w0 = 0,5000000 w(0,2) = w1 = 0,8000000 w(0,4) = w2 = 1,1520000 w(0,6) = w3 = 1,5504000 w(0,8) = w9 = 1,9884800 w(1,0) = w10 = 2,4581760 | y0,0 – w0,0 | = 0,0000000 | y0,2 – w0,2 | = 0,0292986 | y0,4 – w0,4 | = 0,0620877 | y0,6 – w0,6 | = 0,0985406 | y0,8 – w0,8 | = 0,1387495 | y1,0 – w1,0 | = 0,1826831
Diperoleh kesalahan yang terjadi bertambah dengan naiknya nilai t, dan untuk memperkecilnya dapat dilakukan dengan memakai prinsip error bound :
| yi+1 - wi+1 |
[
1
]
2
) (ti1a L
e
L
hM
dengan i = 0, 1, 2, .... N-1; aj = | yj – wj |; M dan L konstanta.Untuk kasus Persamaan (4): y = y – t2 + 1, a t b; y(0) = 0,5 didapat: h = 0,2; L =
1; M = 0,5e2 – 2; ti+1 = a+ (i+1)h = 0 + (i+1)0,2 = 0,2(i+1) ; ti = 0,2i dengan kesalahan, | yi+1 - wi+1 |
[
1
]
2
) (ti1a L
e
L
hM
[
1
]
2
2
,
0
0,2
ie
M
0,1 (0,5e2i – 2) | yi - wi | 0,1(0,5e 2 – 2) (eti -1) maka : | y0,0 - w0,0 | 0,00000 | y0,2 – w0,2 | 0,03752 : : | y0,8 - w0,8 | 0,20767 | y1,0 - w1,0 | 0,29117II.2. Metode Taylor orde tinggi (higher-order Taylor Methods)
Karena proses pemotongan angka sebelumnya (ti) mempengaruhi perhitungan berikutnya
(ti+1) maka pemotongan angka menjadi hal penting dalam perhitungan kesalahan.
Terdapat metode kesalahan pemotongan lokal (the local truncation error method) yang spesifik fokus pada jumlah langkah-langkah pengukuran antara solusi tepat (exact) dengan persamaan diferensi (difference equation) sebagai solusi pendekatannya.
Untuk Persamaan (1), melalui pendekatan metode Euler didapat y = f(t,y), a t b, y(a) = dengan kesalahan lokal (local error) : i+1(h) = 1
(
i,
i)
i i
f
t
y
h
y
y
, i =0,1,2,.... N-1, Mkonstanta pada [a,b] dan kesalahan pemotongan lokal (local truncation error), O(h) : |i+1(h)| hM/2.
Metode Euler yang telah dibahas sebelumnya memakai bantuan Metode Taylor orde satu dan bila dipakai orde n maka Persamaan (3) menjadi:
w0 = wi+1 = wi + h T (n) (ti, wi), i = 0, 1, 2, ... N-1 dengan T(n)(ti , wi) = f(ti , wi) + ½hf(ti , wi) + ……. + ! 1 n hn f (n-1)(ti , wi).
Untuk kasus Persamaan (4) : y = y – t2 + 1 , a t b; y(0) = 0,5 dengan N = 10,
a). Metode Taylor orde dua: f(t, y(t)) = y(t) – t2 + 1. f(t, y(t)) = dt d (y – t2 + 1) = y – 2t = y – t2 + 1 – 2t T(2)(ti , wi) = f(ti , wi)+ ½hf(ti , wi) = wi – ti 2 +1+ ½ h(wi – ti 2 +1–2ti) = (1+ ½ h) (wi – ti 2 +1) – hti. Sehingga: w0 = 0,5 wi+1 = wi + h[(1 + ½ h) (wi – ti 2 + 1) – hti] = wi + 0,2[(1+ 0,2/2) (wi – 0,04i 2 +1) – 0,04i] = 1,22wi - 0,0088i 2 - 0,008i + 0,22 Untuk y(0,2) = w1 = 1,22(0,5) - 0,0088(0) 2 - 0,008(0) + 0,22 = 0,83 y(0,4) = w2 = 1,22(0,83) - 0,0088(0,2) 2 - 0,008(0,2) + 0,22 = 1,2158 :
:
b). Metode Taylor orde empat : f(t, y(t)) = y(t) – t2 + 1. f(t, y(t)) = y – t2 + 1 – 2t. f(t, y(t)) = y – 2t + 2 = y – t2 + 1 – 2t + 2 = y – t2 – 2t – 1. f(t, y(t)) = y – 2t - 2 = y – t2 – 2t - 1. T(4)(ti , wi) = f(ti , wi)+ 2 hf(t i , wi) + 6 2 h f(t i , wi) + 24 3 h f(t i , wi) = wi – ti 2 +1+ 2 h(w i – ti 2 +1–2ti) + 6 2 h (w i – ti 2 –2t i - 1) + 24 3 h (w i – ti 2 –2t i - 1) = (1 + 2 h + 6 2 h + 24 3 h ) (w i – ti 2 ) - (1 + 3 h + 12 2 h ) (ht i ) + 1 + 2 h - 6 2 h - 24 3 h . Sehingga: w0 = 0,5 wi+1 = wi + h[ (1 + 2 h + 6 2 h + 24 3 h )(w i – ti2) - (1 + 3 h + 12 2 h ) (ht i ) + 1 + 2 h - 6 2 h - 24 3 h ] = wi + 0,2[ (1 + 2 2 , 0 + 6 04 , 0 + 24 008 , 0 ) (w i – 0,04i 2 ) - (1 + 3 2 , 0 + 12 04 , 0 ) (0,04i) + 1 + 2 2 , 0 + 6 04 , 0 + 24 008 , 0 = 1,2214wi - 0,008856i2 - 0,00856i + 0,2186. Untuk y(0,2) = w1 = 1,2214(0,5) - 0,008856(0) 2 - 0,00856(0) + 0,2186 = 0,8293 y(0,4) = w2 = 1,2214(0,8293) - 0,008856(0,2)2 - 0,00856(0,2) + 0,2186 = 1,214091 : :
Rangkuman hasil pendekatan metode Taylor ini dinyatakan pada Tabel 2.
Metode kesalahan pemotongan lokal menghasilkan kesalahan yang kecil dari pada kesalahan sebelumnya, terlebih bila diambil orde yang lebih tinggi, tapi metode ini mempunyai kekurangan pada saat nilai t tidak seperti sebelumnya (ti=0,2; 0,4; 0,6; ... ), misalnya untuk t = 0,5 maka nilai yang dipakai adalah saat t = 0,4 dan t = 0,6 kemudian dirata-rata dan hasil kesalahannya menjadi besar sekali, untuk mengatasinya dipergunakan interpolasi kubik dari
Hermite (cubic Hermite interpolation).
II.3. Metode Runge-Kutta (Runge-Kutta Methods)
Metode Taylor orde tinggi dengan kesalahan pemotongan lokal akan bersifat membutuhkan komputasi dan evaluasi turunan f(t,y), hal ini cukup rumit dan memakan waktu sehingga metode Taylor ini jarang digunakan dalam prakteknya.
Metode Runge-Kutta orde tinggi dengan kesalahan pemotongan lokal adalah seperti metode Taylor tapi tidak perlu menghitung dan mengevaluasi turunan f(t,y).
A. Metode Runge-Kutta orde dua.
Tinjau persamaan f(t,y), dengan semua turunan parsial ordenya lebih kecil atau sama dengan n+1 dan kontinyu pada D = [f(t,y) | a t b, c y d], (t0, y0) D. Bentuk persamaan
Runge-Kutta yang diperluas (expanded): a1 f(t+1 , y+1) mendekati T
(2)
(t,y) = f(t,y) + h/2 f’(t,y) dengan kesalahan tak lebih besar dari O(h2), hal ini sama dengan orde dari kesalahan pemotongan lokal untuk metode Taylor orde dua.
Metode persamaan diferensi (difference-equation method) didapat dengan cara mengganti
metode Runge-Kutta khusus yang dikenal sebagai metode titik tengah (midpoint method).
B. Metode titik tengah (midpoint method)
Pada kondisi Taylor orde dua didapat:w0 = wi+1 = wi + h f[(ti+ 2 h , w i+ 2 hf(t i wi)] untuk i = 0, 1, 2, ... N-1.
Hanya ada tiga parameter pada a1 f(t+1 , y+1) dan semuanya harus sama dengan T (2)
, hal ini cukup sulit diperoleh terlebih lagi harus memenuhi setiap kondisi untuk metode Taylor orde tinggi. Cara yang paling cocok untuk pendekatan T(3)(t, y) = f(t, y)+
2
hf(t, y) +
6
2
h f(t, y)
adalah bentuk empat-parameter (fourth-paramater) yang lebih fleksibel saat memilih.
Satu metode yang penting adalah metode Euler dimodifikasi (Modified Euler method) sehingga didapat berhubungan nilai a1 = a2 = ½ ,2 =
2 = h dan bentuk persamaan diferensi:w0 =
wi+1 = wi + 2
h [ f(t
i+wi) + f(ti+1, wi+hf(ti+wi)], i = 0, 1, 2, ... N-1
Untuk kasus persamaan (4), dengan N = 10, h = 0,2, ti = 0,2i dan w0 = 0,5 maka:
- metode titik tengah (midpoint method): wi+1 = 1,22wi – 0,008 i – 0,0088 i
2 + 0,218 w1 = 1,22(0,5) – 0,008(0) – 0,0088(0) 2 + 0,218 = 0,828. w2 = 1,22(0,828) – 0,008(0,2) – 0,0088(0,2) 2 + 0,218 = 1,21136. : :
- metode Euler dimodifikasi : wi+1 = 1,22wi – 0,008 i – 0,0088 i
2 + 0,216. w1 = 1,22(0,5) – 0,008(0) – 0,0088(0) 2 + 0,216 = 0,826. w2 = 1,22(0,826) – 0,008(0,2) – 0,0088(0,2) 2 + 0,216 = 1,20692. : :
Hasil solusi pendekatan metode titik tengah (midpoint method) dinyatakan pada Tabel 2.
C. Metode Runge-Kutta orde empat.
Pada metode Runge-Kutta orde dua yang diperluas sifat a1 f(t+1 , y+1) mendekati
T(2)(t,y), untuk T(3)(t,y) dapat didekati oleh kesalahan O(h3) dengan bentuk f(t+1 , y+1 f(t+2 ,
y+2 f(t,y))) yang berisi empat parameter 1, 1 , 2 , 2. Metode yang umum dipakai untuk
bentuk O(h3) adalah metode Heun (Heun method) dengan:
w0 = wi+1 = wi + 4 h(f(t i+wi) + 3 f(ti+ 3 2h, w i+ 3 2h f(t i+ 3 h, w i+ 3 h f(t i+wi)))) untuk i = 0, 1, 2, ...., N-1
Kesalahan pada metode Heun lebih kecil dibandingkan metode Euler dimodifikasi atau metode titik tengah (midpoint).
Metode Runge-Kutta orde tiga jarang dipakai, yang sering dipakai adalah orde empat:
w0 = k1 = h f(ti+wi), k2 = h f(ti+ 2 h, w i+½ k1),
k3 = h f(ti+ 2 h, w i+½ k2), k4 = h f(ti+1, wi+k3), wi+1 = wi + 6 1(k 1+2k2+2k3+k4), i = 0, 1, 2, ... N-1,
dengan kesalahan pemotongan lokal O(h4) dan solusi y(t) mempunyai lima turunan yang
kontinyu. Sebagai contoh perhitungan untuk pendekatan solusi y(0,2) didapat:
w0 = 0,5 k1 = h f(ti+wi) = 0,2 f(0, 0,5) = 0,2(0,5 – (0) 2 + 1) = 0,3. k2 = h f(ti+ 2 h, w i+½ k1) = 0,2 f(0+ 2 2 , 0 , 0,5+ 2 10,3) = 0,2 f(0,1, 0,65) = 0,328. k3 = h f(ti+ 2 h, w i+½ k2) = 0,2 f(0+ 2 2 , 0 , 0,5+ 2 10,328) = 0,2 f(0,1, 0,664) = 0,3308. k4 = h f(ti+1, wi+k3) = 0,2 f(0+0,2, 0,5+0,3308) = 0,2 f(0,2, 0,8308) = 0,35816. w1 = 0,5 + 6 1(0,3 + 2(0,328) + 2(0,3308) + 0,35816) = 0,8292933.
dan dengan cara yang sama maka nilai y(t) lainnya dapat dihitung (rangkuman pada Tabel 2). Metode Runge-Kutta orde empat perlu empat kali perhitungan (k1, k2, k3, k4) pada setiap
langkahnya, untuk orde dua perlu dua kali perhitungan dan untuk metode Euler cukup satu kali perhitungan, tapi hasil jawaban dengan metode Runge-Kutta orde empat yang paling akurat.
Metode Runge-Kutta dapat dihubungkan dengan teori kontrol kesalahan (error control
theory) untuk mendapatkan pendekatan solusi dengan kesalahan yang lebih kecil, cara yang
dipakai adalah ukuran langkah (h) dibuat bervariasi dan dikenal metode Runge-Kutta-Fehlberg. Prinsip dasar metode ini bukan mengestimasi kesalahan pemotongan lokal tetapi mengatur ukuran langkah (step size) berikutnya t i+1 yang dihitung dari data sebelumnya t i.
II.4. Metode banyak langkah (multistep method)
Pemahaman metode satu langkah (one step) bila pendekatan untuk titik mata jala (mesh
point) ti+1 hanya melibatkan informasi dari satu titik mata jala sebelumnya ti, metode banyak langkah (multistep method) bila memakai informasi lebih dari satu titik mata jala sebelumnya.
Untuk mencari solusi pendekatan dengan banyak langkah dikenal metode eksplisit dari
Adams-Bashforth dan metode implisit dari Adam-Moulton.
A. Metode Adams-Basforth:
2 langkah (two-step): w0 = , w1 = 1, wi+1 = wi + 2 h[3 f(t i+wi) – f(ti-1+wi-1)], i = 1, 2, ... N-1 Kesalahan pemotongan lokal: i+1(h) =12 5 y(3) (
i)h
2
untuk beberapa i (ti-1, ti+1) 3 langkah (three-step):
w0 = , w1 = 1, w2 = 2,
wi+1 = wi + 12
h [23 f(t
i+wi) – 16 f(ti-1+wi-1) + 5 f(ti-2+wi-2)], i = 2, 3, ... N-1. Kesalahan pemotongan lokal: i+1(h) =
8 3 y(4)(
i)h
3
untuk beberapa i (ti-2, ti+1) 4 langkah (four-step):
w0 = , w1 = 1, w2 = 2, w3 = 3
wi+1 = wi + 24
h [55 f(t
i+wi) – 59 f(ti-1+wi-1)+ 37 f(ti-2+wi-2) – 9 f(ti-3+wi-3)]. i = 3, 4, ... N-1 Kesalahan pemotongan lokal: i+1(h) =
720 251 y(5)(
i)h
4
untuk beberapa i (ti-3, ti+1) 5 langkah (five-step):
w0 = , w1 = 1, w2 = 2, w3 = 3 w4 = 4
wi+1 = wi + 720
h [1901 f(t
i+wi) – 2774 f(ti-1+wi-1) + 2616 f(ti-2+wi-2) – 1274 f(ti-3+wi-3) + 251 f(ti-4+wi-4)], i = 4, 5, ... N-1
Kesalahan pemotongan lokal: i+1(h) = 288
95 y(6)(
i)h
5
untuk beberapa i (ti-4, ti+1)
B. Metode Adams-Moulton:
2 langkah (two-step): w0 = , w1 = 1, wi+1 = wi + 12 h [5 f(ti+1+wi+1) + 8 f(ti+wi) - f(ti-1+wi-1)], i = 1, 2, ... N-1 Kesalahan pemotongan lokal: i+1(h) = -
24 1 y(4) (
i)h
3
untuk beberapa i (ti-1, ti+1) 3 langkah (three-step):
w0 = , w1 = 1, w2 = 2,
wi+1 = wi + 24
h [9 f(t
i+1+wi+1)+ 19 f(ti+wi) – 5 f(ti-1+wi-1) + f(ti-2+wi-2)], i = 2, 3, ... N-1 Kesalahan pemotongan lokal : i+1(h) = -
720 19 y(5) (
i)h
4
untuk beberapa i (ti-2, ti+1) 4 langkah (four-step):
w0 = , w1 = 1, w2 = 2, w3 = 3
wi+1 = wi + 720
h [251 f(t
i+1+wi+1) + 646 f(ti+wi) – 264 f(ti-1+wi-1) + 106 f(ti-2+wi-2) – – 19 f(ti-3+wi-3)]. i = 3, 4, ... N-1
Kesalahan pemotongan lokal : i+1(h) = - 160
3 y(6) (
i)h
5
untuk beberapa i (ti-3, ti+1). Secara umum koefisien dari f pada kesalahan pemotongan lokal, untuk implisit lebih kecil daripada eksplisit sehingga lebih stabil dengan kesalahan pembulatan (round-off) lebih kecil.
Untuk kasus Persamaan (4), tiga data sebelumnya dapat diambil dari hasil perhitungan melalui Runge-Kutta orde empat yang telah dibahas sebelumnya dan didapat: ti = 0,2i; y(0) = w0
= 0,5; y(0,2) w1 = 0,8292933; y(0,4) w2 = 1,2140762; y(0,6) w3 = 1,6489220, contoh untuk
memprediksi nilai y(0,8) dan y(1,0) dengan metode:
- eksplisit Adam-Basforth empat langkah,
wi+1 = wi + 24
h [55f(t
i+wi) – 59f(ti-1+wi-1)+ 37f(ti-2+wi-2) – 9f(ti-3+wi-3)], i = 3, 4, ... N-1
wi+1 = 24
1 [35w
i – 11,8wi-1 + 7,4wi-2 – 1,8wi-3 – 0,192i
2 – 0,192i + 4,736], i = 3, 4, …, 9 maka: y(0,8) w4 = 24 1 [35w 3 – 11,8w2 + 7,4w1 – 1,8w0 – 0,192(3) 2 – 0,192(3) + 4,736]
y(1,0) w5 = 24 1 [35w 4 – 11,8w3 + 7,4w2 – 1,8w1 – 0,192(4) 2 – 0,192(4) + 4,736]
- implisit Adam-Moulton tiga langkah,
wi+1 = wi + 24
h [9 f(t
i+1+wi+1)+ 19 f(ti+wi) – 5 f(ti-1+wi-1) + f(ti-2+wi-2)], i = 2, 3, ... N-1
wi+1 = 2 , 22
1 [27,8w
i - wi-1 + 0,2wi-2 - 0,192i
2 – 0,192i + 4,736], i = 2, 3, …, 9 maka: y(0,8) w4 = 2 , 22 1 [27,8w 3 - w2 + 0,2w1 - 0,192(3)2 – 0,192(3) + 4,736] y(1,0) w5 = 2 , 22 1 [27,8w 4 - w3 + 0,2w2 - 0,192(3) 2 – 0,192(3) + 4,736]
Rangkuman solusi pendekatan melalui pendekatan ini dinyatakan pada Tabel 2.
Bila dibandingkan antara metode eksplisit dan implisit maka metode implisit
Adams-Moulton memberikan hasil yang lebih baik dibandingkan metode eksplisit Adam-Basforth.
C. Metode prediktor-korektor (predictor-corrector method)
Walaupun hasil dari metode implisit Adam-Moulton lebih baik, tapi mempunyai kelemahan karena secara aljabar mungkin tidak dapat mengubah dari implisit menjadi eksplisit. Untuk mengatasinya dipakai metode Newton atau metode Secant (garis potong) walaupun perhitungannya lebih rumit, dan terdapat metode prediksi-koreksi (predictor-corrector method) sebagai kombinasi dari prediksi (metode eksplisit) dan koreksi (metode implisit).
Data hasil metode Runge-Kutta orde empat, w4p dipakai untuk memperkirakan nilai y(t4)
didapat: w4p = w3 + (h/24) [ 55 f(t3 ,w3) – 59 f(t2 ,w2) + 37 f(t1 ,w1) – 9 f(t0 ,w0) ]. Langkah
mencari nilai pendekatan diperbaiki dengan memasukkan nilai w4p kebagian kanan persamaan
implisit metode Adams-Moulton orde tiga yang bertindak sebagai korektor:
w4 = w3 + (h/24) [ 9 f(t4 ,w4p) + 19 f(t3 ,w3) - 5 f(t2 ,w2) + f(t1 ,w1) ]
Untuk kasus persamaan (4), data dari metode Runge-Kutta sebelumnya: y(0) = w0 = 0,5;
y(0,2) w1 = 0,8292933; y(0,4) w2 = 1,2140762; y(0,6) w3 = 1,6489220.
- Metode Adam-Bashforth orde empat sebagai prediktor untuk nilai y(0,8) dan y(1,0) :
w4p = w3 + (h/24) [ 55 f(t3 ,w3) – 59 f(t2 ,w2) + 37 f(t1 ,w1) – 9 f(t0, w0) ] y(0,8) w4p = w3 + (0,2/24) [ 55 f(0,6, w3) – 59 f(0,4, w2) + 37 f(0,2, w1) – 9 f(0 ,w0) ] = 1,6489220+ (0,2/24)[55f(0,6, 1,6489220)– 59f(0,4, 1,2140762)+ 37f(0,2, 0,8292933) – 9 f(0, 0,5)] = 1,6489220 + 0,0083333 [55(2,2889220) – 59(2,0540762) + 37(1,7892933)) – 9(1,5)] = 1,1272892. y(1,0) w5p = w4 + (0,2/24) [ 55 f(0,8, w4) – 59 f(0,6, w3) + 37 f(0,4, w2) – 9 f(0 ,w1) ] = 2,1272056+ (0,2/24)(55f(0,8, 2,1272056) - 59f(0,6, 1,6489220) + 37f(0,4, 1,2140762) – 9 f(0, 0,8292933)] = 2,1272056+0,0083333 [55(2,4872056)–59(2,288920) +37(2,0540762) –9(1,7892933] = 2,6409314.
- Metode Adam-Moulton orde tiga sebagai korektor untuk nilai y(0,8) dan y(1,0) :
w4 = w3 + (h/24) [9 f(t4, w4)+ 19 f(t3, w3) – 5 f(t2, w2) + f(t1, w1)]
y(0,8) w4 = w3 + (0,2/24) [9 f(0,8, w4p) + 19 f(0,6, w3) – 5 f(0,4, w2) + f(0,2, w1)]
f(0,2, 0,8292933)] = 1,6489220 + 0,0083333 [9(2,4872892) +19(2,2889220) –5(2,0540762) +1,7892933] = 2,1272056. y(1,0) w5 = w4 + 24 2 , 0 [9 f(1,0, w 5p) + 19 f(0,8, w4) – 5 f(0,6, w3) + f(0,4, w2)] = 2,1272056+ (0,2/24)[9 f(1,0, 2,6409314)+ 19 f(0,8, 2,1272892)– 5 f(0,6, 1,6489220) + f(0,4, 1,2140762)] = 2,1272056 + 0,0083333 [9(2,6409314) +19(2,4872056) –5(2,2889220) + 2,0540762] = 2,6408286.
Maka, saat y(0,8): |exact - korektor| = |2,1272295 – 2,1272056| = 2,39 x 10-5. saat y(1,0): |korektor – exact| = |2,6408286 – 2,6408591| = 3,05 x 10-5.
saat y(0,8): |Runge-Kutta – prediktor| = |2,1272027 – 2,1272892 | = 2,69 x 10-5. saat y(1,0): |Runge-Kutta – exact| = |2,6408227 – 2,6408591| = 3,64 x 10-5. Rangkuman solusi pendekatan melalui metode prediktor-korektor dinyatakan pada Tabel 2.
TABEL 2.SOLUSI PENDEKATAN PERSAMAAN (4)DENGAN BEBERAPA METODE YANG BERBEDA.
Metode ti 0,0 0,2 …... 0,8 1,0 Solusi tepat (exact) 0,5000000 0,8292986 …... 2,1272295 2,6408591 Euler Pendekatan 0,5000000 0,8000000 …... 1,9884800 2,4581760 Kesalahan 0,0000000 0,0292986 …... 0,1387495 0,1826831
Taylor (orde 2) Pendekatan 0,5000000 0,8300000 …... 2,1323330 2,6486460
Kesalahan 0,0000000 0,0007010 …... 0,0051030 0,0077870
Taylor (orde 4) Pendekatan 0,5000000 0,8293000 …... 2,1272400 2,6408740
Kesalahan 0,0000000 0,0000010 …... 0,0000100 0,0000150 Titik tengah (Midpoint) Pendekatan 0,5000000 0,8280000 …... 2,1212842 2,6331668 Kesalahan 0,0000000 0,0012986 …... 0,0059453 0,0076923 Euler modifikasi (modified Euler) Pendekatan 0,5000000 0,8260000 …... 2,1102357 2,6176876 Kesalahan 0,0000000 0,0032986 …... 0,0169938 0,0231715 Heun Pendekatan 0,5000000 0,8292444 …... 2,1269905 2,6405555 Kesalahan 0,0000000 0,0000542 …... 0,0002390 0,0003035 Runge-Kutta (orde 4) Pendekatan 0,5000000 0,8292933 …... 2,1272027 2,6408227 Kesalahan 0,0000000 0,0000053 …... 0,0000269 0,0000364 Adams-Bashforth (4 langkah) Pendekatan …... …... …... 2,1273124 2,6410810 Kesalahan …... …... …... 0,0000828 0,0002219 Adams-Moulton (3 langkah) Pendekatan …... …... …... 2,1272136 2,6408298 Kesalahan …... …... …... 0,0000160 0,0000293 prediktor-korektor prediktor : Adam-Bashforth, korektor : Adam-Moulton korektor 0,5000000 0,8292933 …... 2,1272056 2,6408286 Kesalahan …... …... …... 0,0000239 0,0000305 Prediktor …... …... …... 2,1272892 2,6409314 Kesalahan …... …... …... 0,0000597 0,0000723
Metode banyak langkah (multistep) lainnya adalah memakai integrasi dari polinomial interpolasi dalam interval [tj, ti+1], j i-1 sehingga diperoleh pendekatan nilai y(ti+1). Ketika polinomial interpolasi diintegrasikan pada [ti-3, ti+1] maka didapat metode eksplisit Milne,
wi+1 = wi-3 + 3 4h[2 f(t
i, wi) - f(ti-1, wi-1) + 2 f(ti-2+wi-2)], dengan kesalahan pemotongan lokal: i+1(h) =
45 14 h4
y(5)(i) untuk beberapa i (ti-3, ti+1).
Metode Milne kadangkala dipakai sebagai prediktor untuk metode implisit Simpson dan didapat: wi+1 = wi-1 +
3
h[ f(t
i+1, wi+1) + 4 f(ti, wi) + f(ti-1+wi-1) ], kesalahan pemotongan lokal: i+1(h) = -
45 14(h4
/90) y(5)(i) untuk beberapa i (ti-1, ti+1).
Secara umum kesalahan pemotongan lokal dengan melibatkan metode Simpson lebih kecil dari metode Adam-Bashforth-Moulton, tetapi teknik ini pemakaiannya terbatas karena ada masalah pada kesalahan pembulatan (round-off) yang tidak terjadi pada prosedur
Adam-Bashforth-Moulton.
Selain metode yang telah dibahas sebelumnya, masih terdapat metode lainnya seperti: - metode banyak langkah (multistep) dengan ukuran langkah bervariasi (variabel step-size). - metode ektrapolasi (extrapolation method) berdasarkan pada metode midpoint.
- pendekatan melalui persamaan orde tinggi (higher- order equation) dan sistem persamaan diferensial (system of differential equations).
D. Persamaan orde tinggi dan sistem persamaan diferensial (higher-order equations
and systems of differential equations)
Permasalahan solusi numerik dengan nilai awal pada orde tinggi (higher-order
initial-value problem) dapat ditransformasikan menjadi sebuah sistem persamaan diferensial orde satu.
Sistem orde m dapat ditransformasikan menajdi m buah sistem orde satu dengan bentuk: dt du1 f 1(t, u1, u2, … um), dt du2 f 2(t, u1, u2, … um), : : dt dum f m(t, u1, u2, … um),
a t b dengan kondisi awal u1(a) = 1, u2 (a) = 2, . . . . um(a) = m. Permasalahannya adalah mencari m buah fungsi u1(t), u2(t), . . . . um(t) yang memenuhi setiap persamaan diferensial dan memenuhi semua kondisi awalnya.
Melalui definisi kondisi Lipschitz yang diperluas dan teorema nilai rata-rata (mean value
theorem) maka f dan turunan parsialnya kontinyu dalam D jika memenuhi:
i m u u u t f
(, 1,..., ) L dengan i = 1, 2, … , m untuk semua (t, u
1, …, um) pada D, f memenuhi kondisi Lipschitz pada D dan L konstanta Lipschitz. Dengan D = {(t, u1, …., um) | a t b dan - < ui < untuk setiap i = 1, 2, ... m} dan f(t, u1, …, um), i = 1, 2, … , m kontinyu dan memenuhi kondisi Lipschitz pada D, sehingga sistem orde m dengan nilai awal orde satu akan mempunyai solusi unik u1(t), u2(t), . . . um(t) untuk a t b.
Korelasi orde satu dan orde yang lebih tinggi dapat diturunkan, misalkan kondisi nilai awal memakai metode Runge-Kutta orde empat, maka didapat hubungan:[2]
Satu persamaan nilai awal orde satu Satu sistem nilai awal orde satu w0 = k1 = h f(ti+wi), k2 = h f(ti+ 2 h , wi+½ k1), k3 = h f(ti+ 2 h , wi+½ k2), k4 = h f(ti+1, wi+k3), wi+1 = wi + 6 1 (k1+2k2+2k3+k4), i = 0, 1, 2, ... N-1, w1,0=1, w2,0 =2, ...., wm,0=m k1,i = h fi(tj, w1,j, w2j, ...., wm,j) k2,i = h fi(tj + 2 h , w1,j+½ k1,1, w2,j+½ k1,2 , ...., wm,j+½ k1,m) k3,i = h fi(tj + 2 h , w1,j+½ k2,1, w2,j+½ k2,2, ...., wm,j+½ k2,m) k4,i = h fi(tj+h, w1,j+k3,1, w2,j+k3,2 , ...., wm,j+k3,m) wi, j+1 = wi,j + 6
1 (k1,i+2k2,i+2k3,i+k4,i ), i = 0, 1, 2, ... m,
k1,1, k1,1, ... k1,m harus lebih dulu dihitung sebelum bentuk k2,i ditentukan.
Sebagai contoh transformasikan masalah orde dua nilai awal berikut ini, y – 2y + 2y = e2t sin t, 0 t 1 dengan y(0) = -0,4 dan y(0) = -0,6 menjadi sebuah sistem nilai awal orde
satu dan pergunakan pendekatan Runge-Kutta orde empat dengan h = 0,1.
Penyelesaian, ambil u1(t) = y(t) dan u2(t) = y(t), dan persamaan orde dua diubah menjadi
sistem
u1(t) = u2(t)
u2(t) = e 2t
sin t - 2u1(t) + 2u2(t),
u1(0) = -0,4 dan u2(0) = -0,6 dengan kondisi awal w1,0 = -0,4 dan w2,0 = -0,6.
k1,1 = h f1(t0, w1,0, w2,0) = h w2,0 = 0,1(-0,6) = - 0,6 k1,2 = h f2(t0, w1,0, w2,0) = h [e 2t0 sin t0 - 2w1,0 + 2w2,0] = 0,1 f2[e 2t sin t - 2u1(t) + 2u2(t)] = 0,1[e2.(0) sin(0) - 2u1(0) + 2u2(0)] = 0,1[1(0) - 2w1,0 + 2w2,0] = 0,1[0 –(-0,4) + 2(-0,6)] = 0,1[0,8-1,2] = - 0,04. k2,1 = h f1(t0+ ½h, w1,0+ ½ k1,1, w2,0+ ½ k1,2) = h f1[w2,0 + ½ k1,2] = 0,1[-0,6+1/2(-0,04)] = 0,1[-0,6-0,02] = - 0,062. k2,2 = h f2(t0+½h, w1,0+½k1,1, w2,0+½k1,2) = h[e 2(t0+0,05) sin (t0+0,05)–2(w1,0+½k1,1)+ 2(w2,0+½k1,2)] = h[e0,1 sin (0,05)– 2(-0,4+½ (-0,06)) + 2(-0,6+½(-0,04)] = 0,1[1,1052(0,000873) -2(-0,4+½(-0,06)) + 2(-0,6+½(-0,04)] = - 0,03247644757. k3,1 = h [w2,0+½ k2,2] = - 0,06162832238. k3,2 = h [e 2(t0+0,05) sin (t0+0,05) – 2(w1,0+½ k2,1) + 2(w2,0+ ½ k2,2 )] = - 0,03152409237. k4,1 = h [w2,0+½ k3,2] = - 0,06 315240924. k4,2 = h [e 2(t0+0,1) sin (t0+0,1) – 2(w1,0+½ k3,1) + 2(w2,0+ ½ k3,2 )] = - 0,02178637298. w1,1 = w1,0 + 1/6 (k1,1+2k2,1+2k3,1+k4,1) = - 0,4617333423. w2,1 = w2,0 + 1/6 (k1,2+2k2,2+2k3,2+k4,2) = - 0,6316312421.
Nilai w1,j dan w2,j untuk j = 0, 1, …. 10 dinyatakan melalui Tabel 3, dan nilai aktualnya:
u1(t) = 0,2e 2t
(sin t – 2cos t) dan u2 (t) = u1(t) = 0,2e 2t
(4sin t – 3cos t).
TABEL 3.PENDEKATAN SOLUSI PERSAMAAN ORDE TINGGI y2y2y = e2tsint, MELALUI METODE RUNGE -KUTTA ORDE EMPAT.
tj y(tj) = u1(t) w1,j y(tj) = u2(t) w2,j | y(tj) - w1,j | | y(tj) - w2,j | 0,0 0,1 : : 0,9 1,0 -0,40000000 -0,46173297 -0,55643814 -0,35339436 -0,40000000 -0,45173334 -0,55644290 -0,35339886 -0,6000000 -0,6316304 1,534764 2,578741 -0,60000000 -0,63363124 1,5347815 2,5787663 0 3,70 x 10-7 4,76 x 10-6 4,50 x 10-6 0 7,75 x 10-7 9,54 x 10-6 1,34 x 10-5
III. M
ASALAHN
ILAIB
ATAS(B
OUNDARYV
ALUEP
ROBLEM)
Perbedaan antara masalah nilai awal (initial value) dengan nilai batas (boundary value) adalah, pada nilai awal ditentukan pada titik yang sama pada variabel independennya (dalam hal ini t) sedangkan kondisi batas ditentukan pada nilai yang berbeda pada variabel independennya. Untuk persamaan diferensial orde satu tak berbeda antara nilai awal dan nilai batas, perbedaan muncul ketika ordenya lebih tinggi dari satu. Terdapat tiga jenis kondisi batas, bila nilai dinyatakan pada satu lokasi tertentu disebut dirichlet condition, bila pada nilai turunannya dikenal Neumann condition dan kondisi gabungannya.
Beberapa metode untuk menyelesaian masalah nilai batas diantaranya, metode shooting linier dan nonlinier (metode secant dan metode Newton), metode finite-difference untuk linier dan nonlinier (Richardson extrapolation, Newton method untuk iterasi) dan metode
Rayleigh-Ritz (piecewise-linear, B-spline basic, cubic spline)[3].
Bila fungsi f sebuah masalah nilai batas maka, y = f(x, y, y), a x b dengan y(a) =
dan y(b) = , adalah kontinyu dalam D = {(x, y, y) |, a t b dengan - < y < dan - < y <
}, dan turunan parsial fy dan fy juga kontinyu dalam D. Jika: - fy (x, y, y) > 0 untuk semua (x, y, y) D dan
- ada konstanta M dengan | fy(x, y, y) | D untuk semua (x, y, y) D maka masalah nilai batas akan mempunyai solusi unik.
III.1. Metode shooting (shooting method)
A. Metode shooting linier (linier shooting method)
Metode shooting linier untuk persamaan linier didasarkan pada penggantian persamaan linier nilai batas (boundary value) menjadi dua persamaan nilai awal (initial value), prinsipnya sebagai sebuah algoritma iterasi yang berusaha mengidentifikasi kecocokan kondisi awal (initial
condition) untuk dihubungkan dengan masalah nilai awal yang merupakan solusi masalah nilai
batas[2]. Metode shooting linier, mengubah sebuah masalah nilai batas menjadi dua buah masalah nilai awal. Persamaan y = p(x)y + q(x)y + r(x), a x b , y(a) = dan y(b) =
diubah menjadi: y = p(x)y + q(x)y + r(x), a x b, y(a) = , y(a) = 0 dengan solusi y1(x).
y = p(x)y + q(x)y, a x b, y(a)= 0, y(a)= 1 dengan solusi y2(x), y2(b) 0.
Solusi seluruhnya: y(x) = y1(x) +
) ( ) ( 2 1 b y b y y 2(x).
Dua persamaan tersebut adalah masalah nilai awal dan solusinya dapat dicapai melalui metode-metode yang berlaku pada masalah nilai awal.
B. Metode shooting taklinier (nonlinier shooting method)
Teknik shooting untuk masalah nilai batas taklinier orde dua dapat dinyatakan dengan:
y = f(x, y, y), a x b , dengan y(a) = , y(b) = (5) Persamaan (5) sama seperti kondisi linier kecuali solusinya tak dapat dinyatakan sebagai kombinasi linier dari solusi-solusi untuk dua masalah nilai awal. Solusi taklinier melalui sekuen (sequence) nilai awal dengan melibatkan sebuah parameter t.
Tinjau persamaannya: y = f(x, y, y), a x b, y(a) = dan y(a) = t (6) dengan memilih t = tk sehingga memastikan berlaku lim𝑘→∞𝑦(𝑏, 𝑡𝑘) = y(b) = . y(x,tk) solusi masalah nilai awal Persamaan (6), bila t = tk maka y(x) sebagai solusi nilai batas Persamaan (5).
Penentuan parameter tk melalui metode secant (secant method) akan didapat pendekatan t0 dan t1 dengan tk = tk-1 - ) , ( ) , ( ) ( ) ) , ( ( 2 1 2 1 1 k k k k k t b y t b y t t t b y , k = 2, 3, ….
Bila {tk} ditentukan dengan metode Newton maka cukup diperlukan nilai t0 saja dengan
bentuk iterasinya 𝑡𝑘 = 𝑡𝑘−1 –𝑦 𝑏,𝑡𝑘−1 −𝛽 𝑑𝑦
𝑑𝑡 𝑏,𝑡𝑘−1
, tapi metode ini perlu pengetahuan tentang (dy/dt)(b,
tk-1) dan cukup menyulitkan karena pernyataan ekspilit y(b,t) tak diketahui, yang diketahui hanya y(b, t0), y(b, t1), ….. y(b, t k-1)
[2]
.
Berikut contoh penyelesaian metode shooting linier secara numerik[4]. Tinjau persamaan diferensial biasa yang mewakili pergeseran radial u sepanjang bejana bertekanan dengan jari-jari dalam a dan jari-jari-jari-jari luar b: 2 1 2 0
2 r u dr du r dr u d (Gambar 1).
Gambar 1. Potongan melintang sebuah bejana bertekanan
Regangan arah tangensial pada bejana: t = u/r, misalkan a = 5 dan b = 8 maka t|r=a = 0,0038731, t|r=b = 0,0030770 , maka persamaan awal menjadi:
0 1 2 2 2 r u dr du r dr u d (7)
dengan u(5) = 0,0038731 dan u(8) = 0,0030770. Solusi tepat (exact): u = 0,00013462r + 0,016000/r.
Persamaan (7) sebagai masalah nilai batas (boundary value), dan dengan metode shooting diubah menjadi dua persamaan diferensial nilai awal orde satu. Bila w
dr du maka Persamaan (7) menjadi 20 r u r w dr
dw dengan w(5) = tak diketahui. Misalkan w(5) =
) 5 ( dr du 5 8 ) 5 ( ) 8 ( u u -0,00026538 maka diperoleh: ) , , ( 1 r u w f w dr du , u(5) = 0,0038731 ) , , ( 2 2 f ru w r u r w dr dw , w(5) = -0,00026538.
Pakai metode yang berlaku pada permasalahan nilai awal, misalkan metode Euler (persamaan 3) maka didapat, ui1 ui hfi(ri,ui,wi) dan wi1 wi hf2(ri,ui,wi).
Bila diambil 4 segmen antara batas r = 5 dan r = 8, h = (8-5)/4 = 0,75 maka dengan:
i = 0, r0 = 5, u0 = 0,0038731, w0 = -0,00026538.
u1u0hf1(r0,u0,w0)= 0,0038731+(0,75)f1[5,0 ; 0,0038371 ; -0,00026538]= 0,0036741
= -0,00026538+(0,75) ) 5 0038371 , 0 5 00026538 , 0 ( 2 = -0,00010938 i = 1, r1 = r0+h = 5+0,75 = 5,75 , u1 = 0,0036741, w1 = -0,00010938. ) , , (1 1 1 1 1 2 u hf r u w u = 0,0035920, w2 w1hf2(r1,u1,w1) = -0,0000117. i = 2, r2 = r1+h = 5,75+0,75 = 6,5 , u2 = 0,0035920, w2 = -0,0000117. u3 u2hf1(r2,u2,w2) = 0,0035832, w3w2hf2(r2,u2,w2) = -0,0000533. i = 3, r3 = r2+h = 6,50+0,75 = 7,25 , u2 = 0,0035832, w2 = -0,0000533. ) , , (3 3 3 1 3 4 u hf r u w u = 0,0036232, w4 w3h f2(r3,u3,w3) = -0,0000989.
saat r4 = r3+h = 7,25+0,75 = 8, u4 = u(8) 0,0036232 dan nilai yang diketahui saat u4 = u(8)
0,0030770. Rangkuman hasil perhitungan ini dinyatakan pada Tabel 3. Bila diambil pendekatan: w(5) = 2 (5)
dr du 2 5 8 ) 5 ( ) 8 ( u u -0,00053076 , maka didapat:
u4 = u(8) 0,0029665 (Euler), u4 = u(8) 0,0030769 (linear interpolation) dan dengan
Runge-Kutta hasilnya lebih baik lagi[4], dan rangkumannya ditunjukkan pada Tabel 3.
TABEL 3.SOLUSI PERSAMAAN (7) DENGAN BEBERAPA METODE YANG BERBEDA r
(in)
Solusi tepat
(exact) Metode Euler, w(5) =dr(5)
du Metode Euler dan Interpolasi linier Metode Runge-Kutta (orde 4) 5 0,0038731 0,0038731 0,0038731 0,0038731 5,75 0,0035567 0,0036741 0,0035085 0,0035554 6,5 0,0033366 0,0035920 0,0032858 0,0033341 7,25 0,0031829 0,0035832 0,0031518 0,0031792 8 0,0030770 0,0036232 0,0030770 0,0030723
Gambar 2. Perbandingan kemiringan untuk beberapa perkiraan awal yang berbeda.
Grafik pada Gambar 2, memperlihatkan du/dr = 0,00048611 yang paling mendekati nilai
exact. Pada metode shooting dilakukan interpolasi linier atau taklinier untuk mencari nilai
pendekatan awal dan saat akhirnya diperoleh nilai yang sama dengan nilai yang diketahui, pada contoh kasus yang ditinjau terjadi pada pemisalan w(5) = 𝑑𝑢𝑑𝑟(5) = -0,00026538 dengan nilai pendekatan w(5) = 2𝑑𝑢𝑑𝑟(5) = -0,00053076.
III.2. Metode beda berhingga (finite difference method)
persamaan diferensial biasa yang memiliki kondisi permasalahan nilai batas (boundary value
problem). Pada metode ini setiap turunan persamaan diferensial dari persamaan finite-difference
diganti dengan pendekatan difference-quotient yang sesuai.
Pada metode shooting linier dan taklinier untuk masalah nilai batas dapat menimbulkan masalah ketidakstabilan, dengan metode beda berhingga didapat karakteristik kestabilan yang lebih baik walaupun perlu perhitungan yang lebih komplek untuk mencapai akurasi yang ditentukan.
Contoh dari persamaan diferensial biasa orde dua: 𝑑
2𝑦
𝑑𝑥2 = 𝑓(𝑥, 𝑦, 𝑦′) dengan a x b
dan kondisi batas y(a) = ya, y(b) = yb.
Banyak akademisi beranggapan masalah nilai batas tergantung pada posisi
(position-dependent) dan nilai awal tergantung pada waktu (time-(position-dependent), maksud dari pernyataan
tersebut dapat dinyatakan melalui persamaan (7) yang telah dibahas pada metode shooting: 0 1 2 2 2 r u dr du r dr u
d , dengan u(5) = 0,0038731 dan u(8) = 0,0030770.
Gambar 3. Titik-titik sepanjang arah radial sebuah bejana bertekanan. Bila diambil lima segmen sepanjang arah radial (Gambar 3) maka titk-titik i :
2 2 dr u d 2 1 1 2 r u u ui i i dan dr du r u ui i
1 . Persamaan ini substitusikan kepada persamaan (7)
didapat 2 1 1 2 r u u ui i i + i r 1 r u ui i 1 - 2 i i r u = 0 atau 1 2 ) ( 1 ui r + i i i u r r r r 2 1 12 ) ( 2 + 1 2 1 ) ( 1 i i u r r r = 0.
Dengan n = 5, r = (b-a)/n = (8-5)/5 = 0,6 maka: i = 0, r0 = 5, u0 = 0,0038731 i = 1, r1 = r0+r =5+0,6 = 5,6 maka 0 2 6 , 0 1 u + 2 2 1 ) 6 , 5 ( 1 ) 6 , 0 )( 6 , 5 ( 1 6 , 0 2 u + 2 2 ) 6 , 0 )( 6 , 5 ( 1 6 , 0 1 u = 0
didapat 2,7778u0 –5,8851u1+3,0754u2 = 0
i = 2, r2 = r1+r =5,6+0,6 = 6,2, didapat 2,7778 u1 – 5,8504 u2 + 3,0466 u3 = 0
i = 3, r3 = r2+r =6,2+0,6 = 6,8, didapat 2,7778 u2 – 5,8223 u3 + 3,0229 u4 = 0
i = 4, r4 = r3+r =6,8+0,6 = 7,4, didapat 2,7778 u3 – 5,7990 u4 + 3,0030 u5 = 0
i = 5, r5= r4+r =7,4+0,6 = 8, didapat u(5) = u|r=b = 0,0030770. Didapat harga-harga u :
u0 = 0,0038731; u1 = 0,0036165; u2 = 0,0034222; u3 = 0,0032743
u4 = 0,0031618; u5 = 0,0030769.
Pendekatan yang dilakukan sebelumnya:
dr du r u ui i
1 bersifat akurasi orde satu dengan
kesalahan O(r), bila pendekatannya orde dua
2 2 dr u d 2 1 1 2 r u u ui i i
maka kesalahan O(r)2,
bila kedua pendekatan ini digabungkan akan menghasilkan akurasi orde satu O(r). Pendekatan
yang lebih baik bila
dr du r u ui i 2 1
1 karena akurasinya orde dua dan menghasilkan perhitungan
yang lebih mendekati nilai sebenarnya dengan kesalahan yang lebih kecil[4].
Ambil pendekatan 1 2 1 2 2 2 r u u u dr u d i i i dan r u u dr du i i 2 1 1 , Persamaan (7) menjadi: 0 2 1 2 2 1 1 2 1 1 i i i i i i i i r u r u u r r u u u atau 1 2 ) ( 1 ) ( 2 1 i i u r r r + r ri ui 2 12 ) ( 2 + 1 2 2 1 ) ( 1 i i u r r r = 0.
Dengan n = 5, r = (b-a)/n = (8-5)/5 = 0,6 maka: i = 0, r0 = a = 5, u0 = 0,0038731 i = 1, r1 = r0 + r = 5 + 0,6 = 5,6 0 2 ) 6 , 0 ( 1 ) 6 , 0 )( 6 , 5 ( 2 1 u + 1 2 2 ) 6 , 5 ( 1 ) 6 , 0 ( 2 u + 2 2 ) 6 , 0 )( 6 , 5 ( 2 1 ) 6 , 0 ( 1 u = 0 didapat 2,6297 u0 - 5,5874 u1 + 2,9266 u2 = 0 i = 2, r2 = r1 + r = 5,6 + 0,6 = 6,2 didapat 2,643 u1 - 5,581 u2 + 2,9122 u3 = 0 i = 3, r3 = r2 + r = 6,2 + 0,6 = 6,8 didapat 2,6552 u2 - 5,5772 u3 + 2,9003 u4 = 0 i = 4, r4 = r3 + r = 6,8 + 0,6 = 7,4 didapat 2,6551 u3 - 5,5738 u4 + 2,8903 u5 = 0 i = 5, r5 = r4 + r = 7,4 + 0,6 = 8 didapat u(5) = u|r=b = 0,0030769 sehingga: u0 = 0,0038731 u1 = 0,0036115 u2 = 0,0034159 u3 = 0,0032689 u4 = 0,0031586 u5 = 0,0030769
Rangkuman dari harga u dengan pendekatan orde satu dan orde dua dinyatakan pada Tabel 4.
TABEL 4.SOLUSI PERSAMAAN (7) DENGAN PENDEKATAN du drORDEE SATU DAN DUA.
r uexact uorde satu |t | uorde dua |t |
5 0.0038731 0.0038731 0.00000 0.0038731 0.0000000 5.6 0.0036110 0.0036165 0,15160 0.0036115 0,0145400 6.2 0.0034152 0.0034222 0,20260 0.0034159 0,0187650 6.8 0.0032683 0.0032743 0,18157 0.0032689 0,0163340 7.4 0.0031583 0.0031618 0,10903 0.0031586 0,0095665 8 0.0030770 0.0030769 0,00000 0.0030769 0,0000000
IV. K
ONTROLO
PTIMALTeori kontrol optimal adalah pengembangan dari kalkulus variasi (calculus of variations)
klasik. Bentuk integral J = F x xt dt
t t ) , , ( 1 0
fungsi dari x(t), x(t)sebagai turunannya dan t variabel independen. Jalur x(t) didefinisikan untuk t0 t t1 secara umum x = x1(t) memberikan nilai J = J1 dan x = x2(t) memberikan nilai J
= J2, J1 J2.
Gambar 4. Kemungkinan jalur antara titik A dan B.
Tinjau kasus berikut ini, pada Gambar 4, diinginkan jalur (path), y = y(x) antara titik A dan B yang memberikan nilai ekstrumum secara funsional[5]. Misal C0 kurva yang diinginkan
dengan persamaan y0(x), ambil C disekitar C0 dengan persamaan: y (x) = y0(x) + (x), =
parameter yang kecil, jika = 0 akan memberikan kurva optimal untuk C (C= C0), (x) =
perubahan fungsi diferensial dari x, (a) = (b) = 0.
Bentuk umum J untuk jalur C adalah,
J
F
y
y
x
dx
b a]
,
'
'
,
(
[
0 0
, y= dx dy dan = dxd
, agar J() ekstremum maka0
0
d
dJ
, sehinggadx
x
y
y
F
y
x
y
y
F
d
dJ
y b a y(
,
'
'
,
)
'
(
,
'
'
,
)]
[
0
0
' 0
0
dengan Fy =dy
dF
dan Fy ='
dy
dF
Melalui lemma[5] didapat: Fy -
dx d (F
y’) = 0 (8)
Persamaan (8) sebagai persamaan Euler atau Euler-Lagrange dan harus memenuhi jalur y(x) yang menghasilkan nilai ekstremum fungsional J. Bentuk khusus persamaan Euler adalah: - ketika F independen dari y, didapat
dx d (F
y’) = 0, (Fy’) = konstanta. - ketika F independen dari x, didapat
dx dF= y dx d (F y’) + yFy = dx d (yF
y’), F - yFy’ = konstanta Bila integrasi batas akhir (b) tak dispesifikasikan, didapat
' dy dF = 0. Bentuk fungsional: J F x x xn x x xn t dt b a ) , ,..., , , , . . . , , ( 1 2 1 2 1
(9)dengan persamaan Euler:
i x F -dt d i x F
= 0, dan jika xi bebas maka
i x F = 0 (10)
Pada beberapa masalah optimalisasi, didapat batasan (constraint) pada variabelnya, misalkan nilai ekstremum f(x1, x2) dengan batasan g(x1, x2) = 0. Asumsikan tak mungkin
menghilangkan batasan x1 atau x2, maka perkenalkan pengali Lagrange (Lagrange multiplier)
dan fungsi yang diperluas f* = f(x1, x2) + g(x1, x2), didapat nilai ekstremum f* : 1 * x f = 2 * x f = 0,
dengan x1, x2 fungsi dari parameter sehingga x1(), x2(), sejak f* f maka didapat kondisi
ekstremum untuk f.
Persamaan (9) dapat dituliskan dengan bentuk J F x x xn u u un t dt
b a ) , , . . . , , , , . . . , , ( 1 2 1 2 1
, xvariabel keadaan (state variable), u variabel kontrol (control variable), persamaan Euler:
i x F - dt d i x F = 0 dan i u F dt d i u F = 0.
Tinjau bentuk umum
J
f
x
u
t
dt
T)
,
,
(
1 0 0
pada persamaan diferensial x = f(x, u, t), dengan kondisi batas x(0) = a. Melalui pengali Lagrange maka bentuk perluasan fungsional:dt x t u x f t u x f J T ]} ) , , ( [ ) , , ( { 1 0 0 *
, dengan F = f0 (x,u,t) + [f(x,u,t) - x ] sebagai sebuahfungsi dua variabel x dan u dan bentuk persamaan Euler:
x F - dt d x F = 0 x f 0 + x f + = 0 dan u F - dt d x F = 0 u f 0 + u f = 0
Bila didefinisikan bentuk Hamiltonian : H = f0 + f , maka
x H , 0 = u H dan
bersama dengan persamaan x = f(x, u, t) akan menentukan jalur kondisi optimal.
A. Contoh penyelesaian dengan konsep kontrol optimal.
1) Cari nilai ekstremum f(x1, x2) = x12
+ x2 2
yang berlaku pada x1 + 3x2 = 4. Didapat x1 + 3x2 = 4
atau x1 = 4 - 3x2 sehingga f(x1, x2) = (4 - 3x2) 2
+ x2 2
. Libatkan pengali Lagrange dengan perluasan fungsional: f* = x1
2
+ x2 2 + (x
1 + 3x2 - 4), nilai ekstrenum dari f* : 1 * x f = 2 * x f =
0, maka 2x1+ = 0 dan 2x2+3 = 0 atau x1 = -/2, x2 = -3/4 yang harus memenuhi batasan
x1 + 3x2 = 4, didapat (-/2) + [3(-3/4)] = 4, (-2/4) + (-9/4) = 4, = -16/11, ekstremum
terjadi saat x1 = -/2 = 32/11 dan x2 = -3/4 = 48/44.
2) Diketahui: x+ x = u dengan x(0) = x0, x(T) = 0 (persamaan diferensial orde satu).
Minimumkan 𝐽 = (𝑥𝑇 2+
0 𝑢2)𝑑𝑡. Libatkan pengali Lagrange: 𝐽∗= (𝑥2+ 𝑇
0 𝑢2+ 𝜆(𝑥′+
𝑥 − 𝑢))𝑑𝑡, integran F = x2
+ u2 + (x + x - u) sebagai fungsi dua variabel x dan u, persamaan Euler: x F - dt d ' x F = 0; 2x + - = 0 dan u F - dt d ' u F = 0; 2u - = 0. Selesaikan
persamaan-persamaan: x + x = u; 2x + - = 0; 2u - = 0, maka x – 2x = 0 dengan x = Ae2t
+ Be2t atau dipakai bentuk: x = a cosh 2T + b sinh 2T. Kemudian masukkan kondisi batas x(0) =
x0, x(T) = 0, didapat: T t T x x 2 sinh ) ( 2 sinh 0 dan T t T t T x u 2 sinh ) ( 2 cosh 2 ) ( 2 sinh 0 .
3)
Diketahui: x
+ x
= u dengan x = a, x
= b, saat t
, x dan x
0 (persamaan
diferensial orde dua). Minimumkan 𝐽 =
12
(𝑥
2
+
∞0 𝑎
𝑢
2)𝑑𝑡
dengan
= konstanta.
Misalkan x1 = x dan x2 = x atau x2 - x1 = 0 dan persamaan x + x = u menjadi - x2 - x2 + u
Perluasan fungsional: 𝐽∗= [1 2(𝑥1 2+ ∞ 0 𝑎𝑢2) + 𝜆1 𝑥2− 𝑥1′ + 𝜆2 −𝑥2′ − 𝑥2+ 𝑢 ]𝑑𝑡 Persamaan Euler: 1 x F - dt d ' 1 x F = 0, didapat ½ (2 x 1) - dt d (- 1) = x1 - 1 = 0. 2 x F - dt d ' 2 x F = 0, didapat 1 - 2 - dt d (- 2) = 1 - 2 + 2 = 0. u F - dt d ' u F = 0, didapat ½ (2u) + 2 - dt d (0) = u + 2 = 0.
Hilangkan unsur 1 didapat 41 4 dt x d - 2 1 2 dt x d + 1 x = 0, ambil nilai = 4, solusi x1 = e mt dengan
m harus memenuhi m4 – m2 + ¼ = (m2 – ½)2 = 0, sehingga m = 1/2, masukkan kondisi batasnya didapat: x1 = [a + (b+a/2)t] e
-t/2 ; x2 = [b - (b+a/2)t/2] e -t/2 dan u = [-a/2 - (2 - 1)b – (b+a/2)(1 – 1/2)t/2] e-t/2 .
V. K
ESIMPULANTeknik kontrol optimal dapat diterapkan sebagai teknik baru untuk menyelesaikan persamaan diferensial biasa (ordinary differential equation, ODE). Penyelesaian melalui kontrol optimal dapat dipandang sebagai sebuah masalah nilai batas (boundary value), yang penyelesaiannya dapat dilakukan melalui metode nilai awal (initial value), dan telah banyak tersedia buku referensi mengenai metode nilai awal sebagai metode klasik untuk menyelesaikan persamaan diferensial orde satu.
Karya tulis ini sebagai ikhtisar dari karya tulis sebelumnya [1], diharapkan berguna dapat membantu memahami kerangka berlogika untuk menghubungkan permasalahan nilai awal, nilai batas dan teknik kontrol optimal.
Melalui teknik kontrol optimal diperoleh kesalahan yang lebih kecil, pernyataan tersebut bisa menjadi perdebatan karena saat mencari dan mengumpulkan materi untuk ikhtisar diperoleh informasi, solusi numerik dicapai melalui proses iterasi yang bergantung kepada tingginya orde pendekatan, pemotongan lokal (local truncation), pembulatan (round-off) dan seberapa besar penyempurnaan/pengembangan terhadap metode-metode sebelumnya.
D
AFTARR
EFERENSI[1] L. Bayon, J.M. Grau, M.M. Ruiz and P.M. Suarez, A Bolza, “An Optimal Control Technique for Solving Differential Equations”, AIP Conference Proceedings, 2009, Vol. 1148, Issue 1, p.25-28, [2] R.L. Burden and J.D. Faires, Numerical Analysis, Boston: Thomson Brooks/Cole, 2011.
[3] U.M. Ascher, R. Mattheij, and R.D. Russell, Numerical Solution of Boundary Value Problems for
Ordinary Differential Equations, Philadelphia: SIAM, 1995.
[4] A. Kaw, C. Barker, Numerical Method with Applications, Florida: University of South Florida, 2009.
[5] T.T. Nguyen, Introduction to Control Theory Including Optimal Control, http://www4.hcmut.edu.vn/ ~nttien/optimal_control.