Professional Documents
Culture Documents
𝜹𝒎 = −𝑯−𝟏 . 𝒈 (11)
menggunakan metode langsung atau iterasi. Namun karena matrix H sangat besar dan
padat (dense) maka persamaan 𝜹𝒎 membutuhkan toleransi tinggi untuk diselesaiakan.
Dembo et.al (1982), menyatakan bahwa penyelesaian matrix J atau 𝑯−𝟏 tidak perlu
toleransi tinggi untuk medapat model pembaruan. Oleh karenanya, persamaan matrix J
(equation 8) dapat diselesaikan dengan toleransi rendah (algoritma Inexact Gauss-
Newton). Dengan algoritma tersebut, persamaan 𝜹𝒎 dapat diperoleh melalui:
a) Gunakan algoritma J, hitung nilai 𝒈 = −𝑱𝑻 (𝑸𝑨−𝟏 . 𝒒 − 𝒅𝒐𝒃𝒔) + 𝜷𝑾𝑻 𝑾(𝒎 − 𝒎𝒓𝒆𝒇)
dalam toleransi tinggi, sehingga arah penurunannya benar.
b) Masukkan ke dalam preconditioned conjugate gradient (PGC) solver untuk
menyelesaiakan persamaan 11
c) Bentuklah H dalam PCG solver dimana dalam setiap iterasi, untuk toleransi yang rendah
menggunakan algoritma J (menyelesaiakan 𝒚 = 𝑨−𝟏 . 𝒘).
d) Lakukan iterasi dalam PCG solver dalam jumlah kecil (< 5) untuk mendapatkan pembaruan
model yang diperkirakan.
Pembaruan model dengan metode ini jauh lebih murah dibandingkan dengan metode inversi
Gauss-Newton yang tradisional.
Line Search and Further Iterations
Setelah diperoleh pembaruan model vektor menggunakan algoritma 𝜹𝒎 di atas, maka dapat dibuat
model baru:
𝒎𝑖 + 1 = 𝒎𝑖 + 𝜶𝜹𝒎 (12)
Dimana mi+1 adalah model baru dan 𝜶 adalah parameter pencarian baris yang digunakan untuk
mengontrol magnitude dari pembaruan model yang telah dibuat sebelumnya. Penentuan nilai 𝜶
dengan menetapkan kondisi penurunan yang sesuai dengan aturan Armijo (1966):
Dimana c1 adalah konstanta yang memiliki nilai yang sangat kecil (10−4 ). Persamaan 13
digunakan untuk memastikan bahwa pembaruan model baru mengurangi fungsi objektif.
Sedangkan ketika menampilkan pembaruan model dengan equation 12, nilai 𝜶 adalah 1 (satu)
sehingga model baru tersebut valid atau dapat diterima. Jika kondisinya tidak terpenuhi, 𝜶
dikurangi satu setengah dan dievaluasi kembali. Prosedur tersebut diulangi hingga menemukan
model baru yang sesuai dengan kriteria equation 13.
Karena equation 8 dihasilkan dari linearisasi model mi dan model mi+1 belum mencapai lokal
minimum, maka dilakukan iterasi lain dari pembaruan IGN, yaitu melakukan linierisasi model
mi+1 tersebut. Proses iterasi diulangi hingga fungsi objektif / ketidakcocokan data menurun hingga
level tertentu. Secara alternatifnya, inversi dapat dihentikan ketika besaran gradien g dibawah
toleransi yang diberikan. Hal ini mengindikasikan bahwa fungsi objektif telah diratakan dan tidak
ada perbaikan model lanjutan yang dibuat. Ambang batas untuk menghentikan kriteria sangat besar
sehingga tidak ada nilai spesifik untuk menghentikannya. Berdasarkan pengalaman, cara terbaik
untuk menghentikan kriteria yang dicari adalah melalui eksplorasi model sintetik.
Dalam prakteknya, jika tebakan model awal mendekati solusi, maka jumlah pembaruan model
yang diperoleh dengan iterasi IGN jarang >10. Ketika tebakan model awal jauh dari solusi, maka
iterasi IGN menjadi lebih sering dilakukan. Sedangkan jika tebakan model awal sangat buruk,
maka algoritma yang diharapakan kemungkinan tidak konvergen.
IMPLEMENTASI MATLAB
Pada bagian ini dijelaskan rincian terkait implementasi algoritma Inexact Gauss-Newton. Semua
source code telah dikembangkan dalam MATLAB. Adapun penjelasan lebih lanjut meliputi:
Data Structure
Kode inversi yang dimiliki terdiri atas 35 m-file yang diantaranya dapat memanggil fungsi built-
in MATLAB. Dengan sejumlah fungsi tersebut, penyusunan struktur array MATLAB menjadi
lebih mudah. Struktur array pada MATLAB dapat diberi nama dan nilainya dapat ditetapkan
dalam skalar untuk matrix multidimensional. Dalam hal ini diperlukan dua struktur data yang
ditetapkan pengguna untuk operasi inversi yaitu: MTX dan Para. Kedua struktur ini berisikan
semua informasi yang dibutuhkan untuk menjalankan inversi. Adapun komponen utama kedua
struktur ini dapat dilihat pada gambar 1 dan 2. Rincian lebih lanjut dapat ditemukan di file driver
untuk kode inversi. Untuk struktur Para, pengguna akan lebih mudah menyelesaikan regulasi
dengan tipe yang sangat kecil yang diaplikasikan pada permasalahan spesifik. Sedangkan struktur
MTX mengandung semua informasi berdasarkan model dan ruang data. Deskripsi dari tiap
komponen MTX ini dapat ditemukan pada dokumen m-file, updateMTX.m, dan generateMTX.m.
Operator forward bersifat jarang (sparse) dan terikat sehingga equation 3 lebih mudah diselesaikan
menggunakan metode iterasi preconditioned. Namun, karena harus menyelesaiakan system linier
pada equation 3 untuk setiap term source, secara komputasi perlu dihitung prekonduktor yang baik
di setiap iterasi IGN yang dilakukan. Dalam hal ini digunakan faktorisasi LU incomplete dengan
built-in fungsi MATLAB luinc untuk menghasilkan matrik prakondisi. Adapun rentang toleransi
drop yang digunakan diantara 10-3 dan 10-4. Toleransi drop menentukan seberapa dekat faktorisasi
LU incomplete dengan faktorisasi LU complete. Dengan preconditioner ini equation 3 dapat
diselesaikan dalam semua algoritma term source diantaranya menggunakan preconditioned,
biconjugate, dan algoritma gradien stabil (bicgstb.m).
Proses untuk membuat q adalah sama, kecuali dalam q, bobot interpolasi diskalakan dengan faktor
1
dimana ∆𝑉 adalah volume cell. Jika receiver tidak terletak di pusat lokasi cell, maka interpolasi
∆𝑉
linier dilakukan ke titik cell sekitarnya. Sehingga menghasilkan row entry pada Q yang memiliki
8 nilai bobot. Sedangkan untuk data yang terletak dipermukaan dimana koordinat z =0, data
tersebut diberi koordinat z sesuai dengan pusat cell pertama. Selanjutnya diinterpolasi ke 4 cell
disemitarnya dalam arah x dan y. Dalam kasus ini row Q memiliki 4 bobot data. Jika datum terletak
di pusat cell, maka row entry yang dihasilkan pada titik Q hanya satu. Survei permukaan dan
lubang bor yang digabungkan berpotensi menguntungkan karena memungkinkan untuk
memperoleh set data permukaan yang lengkap secara spasial, sementara secara bersamaan dapat
diperoleh informasi kedalaman dari distribusi secara vertikal lubang bor.
Gambar 1. Rincian komponen yang menyusun struktur Para yang diinput sebelum struktur MTX dibuat
𝟏 𝜷
𝜱(𝒎) = 𝟐 ‖𝑾𝒅𝑾(𝒅(𝒎) − 𝒅𝒐𝒃𝒔)‖𝟐 + 𝟐 ‖𝑾(𝒎 − 𝒎𝒓𝒆𝒇)‖𝟐 (14)
WdW adalah bentuk standar yang sederhana. Diagonal utama dari WdW mengandung input
eror absolut:
1
𝒅𝒊𝒂𝒈(𝑾𝒅𝑾) = |𝒅𝒐𝒃𝒔|.𝑺𝑫(𝒅𝒐𝒃𝒔)+𝜺
(15)
Dimana 𝑺𝑫(𝒅𝒐𝒃𝒔) adalah standar deviasi dari data observasi (MTX.DTW) dan 𝜺 adalah bobot.
𝑾 = (𝑎𝑙𝑠. 𝑰 + 𝑎𝑙𝑥. 𝐺𝑥 + 𝑎𝑙𝑦. 𝐺𝑦 + 𝑎𝑙𝑧. 𝐺𝑧)𝑇 (𝑎𝑙𝑠. 𝑰 + 𝑎𝑙𝑥. 𝐺𝑥 + 𝑎𝑙𝑦. 𝐺𝑦 + 𝑎𝑙𝑧. 𝐺𝑧) (16)
Dimana Gx, Gy, dan Gz, adalah komponen gradien arah x, y, dan z. I adalah matrik identitas,
alx, aly, dan alz adalah bobot relative dalam gradien komponen x, y, dan z. Sebagai contoh, jika
nilai alx lebih besar maka solusi menjadi datar dalam arah x. sehingga penerapan bobot yang
berbeda pada masing-masing komponen gradien menyebabkan tingkat flatten menjadi berbeda
pada arah tertentu.
Selain mengenal adanya istilah smallness dan faltness, MTX.WTW juga memiliki vector bobot
yang dapat ditentukan oleh pengguna itu sendiri yaitu MTX.wt. dengan vector tersebut, dapat
memungkinkan untuk mengetahui lebih lanjut pengetahuan yang belum diketahui tentang operator
regulasi tersebut. Dalam kasus yang disajikan ini diberikan istilah pembobotan kedalaman yang
memiliki model bobot 1/z2. Sehingga dengan model bobot tersebut inversi data dapat disesuaikan
dengan log lubang bor yang ada.
A note on β
Banyak pekerjaan yang telah diselesaikan sebagai keuntungan dari pengurangan β selama proses
inversi. Banyak pendekatan dan yang disrankan dari literature dan secara prakteknya oleh
(Constable et.al.,1987; Hansen,1998). Tiga pendekatan umum yang sesuai dengan β adalah:
1). Memperbaiki β untuk seluruh inversi
2). Mengurangi β dengan jumlah tetap setelah iterasi
3). Menggunakan kriteria L-curve untuk memilih yang sesuai dengan iterasi.
Pendekatan terakhir ini dikatakan memberikan hasil yang terbaik. Namun, biaya komputasinya
cukup besarsehingga pada implementasi ini dipilih inversi yang sesuai dengan β. Oleh karena itu
dalam hal ini ditulis kode untuk mempermudah pengguna dalam mengimplementasi perbedaan
strategi dalam menentukan β. Para pengguna harus sering menentukan β melalui trial. Ketika
melakukan trial, pengguna harus mencari nilai terbesar yang memungkinkan data dapat
disesuaikan dengan level noise-nya.