Penyelesaian optimasi multivariabel dengan R dapat dilakukan menggunakan berbagai paket yang tersedia. Salah satu paket yang umum digunakan untuk optimasi multivariabel adalah “optim” dalam R. Berikut adalah langkah-langkah umum dalam penyelesaian optimasi multivariabel dengan R:

  1. Persiapkan Fungsi Objektif dan Kendala: Tentukan fungsi objektif dan kendala-kendala dalam bentuk R. Misalnya, mari kita tentukan fungsi objektif \(f(x, y) = x^2 + y^2\) dan kendala \(x + 2y \leq 10\) dan \(x \geq 0\).
# Fungsi objektif
f <- function(x) {
  return(x[1]^2 + x[2]^2)
}

# Kendala
constraint1 <- function(x) {
  return(x[1] + 2 * x[2] - 10)
}

constraint2 <- function(x) {
  return(-x[1])
}
  1. Pemecahan Masalah Optimasi: Gunakan fungsi “optim” untuk menyelesaikan masalah optimasi. Anda dapat memilih untuk mencari nilai minimum atau maksimum dengan mengatur argumen “maximum”. Misalnya, kita akan mencari nilai minimum.
# Memanggil optim untuk mencari minimum
result <- optim(par = c(0, 0), fn = f, gr = NULL, lower = c(0, -Inf), upper = c(Inf, Inf), control = list(fnscale = -1))
## Warning in optim(par = c(0, 0), fn = f, gr = NULL, lower = c(0, -Inf), upper =
## c(Inf, : bounds can only be used with method L-BFGS-B (or Brent)

Argumen-argumen di atas mengatur parameter fungsi “optim” yang digunakan untuk mencari minimum. “par” adalah titik awal, “fn” adalah fungsi objektif, “gr” adalah gradien (jika ada), “lower” adalah batasan bawah variabel, “upper” adalah batasan atas variabel, dan “control” adalah kontrol parameter lainnya.

  1. Interpretasi Hasil: Hasil optimasi akan disimpan dalam objek “result”. Anda dapat memeriksa hasil untuk mendapatkan nilai minimum dan lokasi minimum:
cat("Nilai Minimum:", result$value, "\n")
## Nilai Minimum: 3.127491e+27
cat("Lokasi Minimum:", result$par, "\n")
## Lokasi Minimum: 5.592397e+13 0
  1. Penyelesaian Kendala (Opsional): Jika ada kendala, Anda perlu memeriksa apakah solusi memenuhi kendala-kendala tersebut dengan menggantikan nilai “par” dengan hasil optimasi dan memeriksa kendala dengan fungsi kendala yang telah didefinisikan.

Ini adalah contoh sederhana penyelesaian optimasi multivariabel dengan R. Anda dapat menyesuaikan fungsi objektif, kendala, dan batasan sesuai dengan masalah yang Anda hadapi. Selain “optim”, R juga menyediakan paket-paket lain seperti “nloptr” dan “nlopt” yang dapat digunakan untuk masalah optimasi yang lebih kompleks dan lebih fleksibel.