library(mosaicCalc)
## Loading required package: mosaic
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Attaching package: 'mosaic'
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
##     quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
## Loading required package: mosaicCore
## 
## Attaching package: 'mosaicCore'
## The following objects are masked from 'package:dplyr':
## 
##     count, tally
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D

Graphical Optimization

Optimisasi grafis merujuk pada metode pencarian nilai maksimum atau minimum dari suatu fungsi dengan menggunakan visualisasi grafik. Dalam optimisasi grafis, pendekatan yang digunakan adalah dengan memplot fungsi tersebut pada suatu grafik dan mengidentifikasi lokasi di mana nilai maksimum atau minimum dari fungsi tersebut terjadi.

Sebagai contoh, kita akan mencari nilai maksimum dan minimum dari fungsi x 3 2 x 2 5 x + 6

# Definisikan fungsi yang ingin dioptimalkan
fungsi <- function(x) {
  return(x^3 - 2*x^2 - 5*x + 6)  # Fungsi x^3 - 2x^2 - 5x + 6 sebagai contoh
}

# Mencari nilai minimum dan maksimum dari fungsi menggunakan optimize()
hasil_min <- optimize(fungsi, interval = c(-5, 5), maximum = FALSE)
hasil_max <- optimize(fungsi, interval = c(-5, 5), maximum = TRUE)

# Plot fungsi yang dioptimalkan
x <- seq(-5, 5, by = 0.1)
plot(x, fungsi(x), type = "l", main = "Grafik Fungsi dan Nilai Ekstremum", xlab = "Nilai x", ylab = "Nilai Fungsi")

# Menandai nilai minimum pada grafik
points(hasil_min$minimum, fungsi(hasil_min$minimum), col = "red", pch = 19)
text(hasil_min$minimum, fungsi(hasil_min$minimum) + 1, paste("Minimum =", round(hasil_min$objective, 2)), pos = 1, col = "red")

# Menandai nilai maksimum pada grafik
points(hasil_max$maximum, fungsi(hasil_max$maximum), col = "blue", pch = 19)
text(hasil_max$maximum, fungsi(hasil_max$maximum), paste("Maksimum =", round(hasil_max$objective, 2)), pos = 3, col = "blue")

Referensi: Kaplan, Daniel. 2022. MOSAIC Calculus. GitHub Pages. https://dtkaplan.github.io/MC2/