Nama/Nim : Axel Dzakhwan AL
Yushen/230605110124
Dosen Pengampu :
Prof. Dr. Suhartono, M.Kom
Universitas :
Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Program
Studi : Teknik Informatika
Di artikel ini kita akan
membahas apa itu Numerical Optimization. Numerical optimization adalah
cara untuk mencari nilai terbesar atau terkecil dari suatu fungsi dengan
menggunakan angka-angka. 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.
Nilai terbesar atau terkecil dari suatu fungsi disebut juga nilai
optimal. Nilai optimal berguna untuk menyelesaikan berbagai masalah di
bidang ilmu pengetahuan, teknologi, ekonomi, dan lain-lain.
# Install dan load library yang diperlukan
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
library(ggplot2)
# Fungsi yang akan dioptimalkan
f <- function(x) {
return(x^2 + 2*x + 1)
}
# Algoritma optim() untuk numerical optimization
result <- optim(par = 0, fn = f, method = "BFGS")
# Tampilkan hasil
print(result)
## $par
## [1] -1
##
## $value
## [1] 0
##
## $counts
## function gradient
## 12 3
##
## $convergence
## [1] 0
##
## $message
## NULL
# Visualisasi
history <- data.frame(iteration = 1:result$counts[1], x = result$par, f_x = result$value)
ggplot(history, aes(x = iteration, y = f_x)) +
geom_line(color = "blue") +
geom_point(aes(x = iteration, y = f_x), color = "red") +
labs(title = "Optimasi Numerik dengan optim()", x = "Iterasi", y = "f(x)")