Kali ini kita akan membahas apa itu Numerical Optimization. Numerical optimization adalah cara untuk mencari nilai maximal atau minimal dari suatu fungsi dengan menggunakan angka. Fungsi adalah hubungan antara dua hal yang saling bergantung. Misalnya fungsi h(x) = x + 2 berarti ada hubungan antara h dan x, yaitu h selalu sama dengan x ditambah 2. Nilai maximal atau minimal dari fungsi tersebut disebut juga nilai optimal. Nilai optimal berguna untuk memecahkan berbagai masalah di bidang ilmu pengetahuan, teknologi, ekonomi, dan lainnya.

Langkah pertama adalah mendefinisikan fungsi yang ingin kita optimalkan secara numerik. Fungsi adalah hubungan antara dua hal yang saling bergantung satu sama lain. Misalnya, fungsi h(x) = x + 2 berarti ada hubungan antara h dan x, yaitu h selalu sama dengan x ditambah 2. Optimization secara numerik adalah cara untuk mencari nilai terbesar atau terkecil dari suatu fungsi dengan menggunakan angka-angka. Misalnya, jika kita ingin mencari nilai terbesar dari fungsi h(x) = x + 2 dalam interval [-5, 5], kita dapat mencoba berbagai nilai x dari -5 sampai 5 dan melihat nilai h yang dihasilkan. Nilai maximum dari h adalah 7, yang dicapai jika x = 5. Untuk menentukan fungsi yang ingin kita optimalkan secara numerik, kita dapat menggunakan fungsi rfun(). Fungsi rfun() adalah fungsi yang dapat membantu kita membuat fungsi secara acak atau sembarang. Fungsi acak adalah fungsi yang dibuat dengan menggunakan angka atau huruf yang dipilih secara acak. Fungsi acak sangat berguna untuk melatih kemampuan kalkulus kita. Untuk menggunakan fungsi rfun(), kita perlu mengetikkan perintah berikut di RStudio:

#langkah awal
h <- rfun(~ x, seed=1234)

Langkah kedua adalah menggunakan fungsi argM() untuk mencari argumen maksimum dan minimum dari fungsi tersebut dalam interval tertentu. Argumen max adalah nilai x yang memberikan nilai maximum pada fungsi kita. Argumen min adalah nilai x yang memberikan nilai minimum pada fungsi kita.

Interval adalah rentang atau jarak antara dua angka. Misalnya, interval [-5, 5] berarti rentang dari -5 hingga 5. Fungsi argM() merupakan fungsi yang dapat membantu kita mencari argumen maksimum dan minimum dari suatu fungsi dengan menggunakan angka. Fungsi argM() mengembalikan kerangka data frame yang berisi nilai x, output, dan konkavitas dari fungsi kita pada titik ekstrem. Data frame adalah tabel atau kotak yang berisi data atau informasi. Outputnya adalah nilai dari fungsi ketika kita memasukkan nilai x tertentu. Konkavitas adalah bentuk atau keadaan dari kurva fungsi kita di sekitar titik ekstrem. Kurva adalah garis lengkung yang menggambarkan hubungan antara dua benda. Titik ekstrim adalah titik dimana fungsi kita memiliki nilai terbesar atau terkecil. Untuk menggunakan fungsi argM(), kita perlu mengetikkan perintah berikut di RStudio:

#langkah kedua
argM(h(x) ~ x, bounds(x=-10:10))
## # A tibble: 2 × 3
##         x  .output. concavity
##     <dbl>     <dbl>     <dbl>
## 1 -10.0   0.0000171         1
## 2   0.314 9.29             -1