Dosen : Prof. Dr. Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Jurusan : Teknik Informatika

Optimasi Numerik

Terkait fungsi, maksimalisasi adalah proses menemukan masukan ke fungsi yang menghasilkan keluaran lebih besar daripada masukan terdekat lainnya.

Sebagai ilustrasi, Gambar 1 menunjukkan fungsi dengan dua puncak.

Gambar 1 : fungsi dengan dua puncak

Sama seperti Anda dapat melihat puncak gunung dari kejauhan, Anda juga dapat melihat di mana fungsi tersebut mengambil nilai puncaknya. Gambarlah garis vertikal melalui masing-masing puncak. Nilai input yang sesuai dengan setiap garis vertikal disebut argmax , singkatan dari “argumen 2 di mana fungsi mencapai nilai maksimum lokal.

Minimisasi mengacu pada teknik yang sama, tetapi garis vertikal digambar pada titik terdalam di setiap “lembah” grafik fungsi. Nilai masukan yang terletak di salah satu lembah tersebut disebut argmin .

Optimasi adalah istilah umum yang mencakup maksimalisasi dan minimalisasi.

Fungsi R/mosaik argM()merupakan fungsi argmax dan argmin pada domain tertentu. Ia bekerja dengan cara yang persis sama seperti slice_plot(), namun alih-alih menggambar grafik, ia mengembalikan bingkai data yang memberikan argmax di satu baris dan argmin di baris lainnya. Misalnya, fungsi yang ditunjukkan pada Gambar 1 adalah , dihasilkan oleh rfun():

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
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, were retired in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## 
## Attaching package: 'mosaicCalc'
## The following object is masked from 'package:stats':
## 
##     D
h <- rfun(~ x, seed=7293)
argM(h(x) ~ x, bounds(x=-5:5))
## # A tibble: 2 × 3
##        x .output. concavity
##    <dbl>    <dbl>     <dbl>
## 1 -1.68      1.93         1
## 2  0.173     8.25        -1

Kolom xmenampung argmax dan argmin, .output.kolom memberikan nilai output fungsi untuk input x. Kolom tersebut concavitymenunjukkan apakah kecekungan fungsi tersebut xpositif atau negatif. Mendekati puncak, cekungannya akan menjadi negatif; dekat lembah, cekungannya positif. Akibatnya, Anda dapat melihat bahwa baris pertama dari bingkai data sesuai dengan minimum lokal dan baris kedua adalah maksimum lokal.

argM()diatur untuk mencari satu argmax dan satu argmin dalam interval domain yang diberikan sebagai argumen kedua. Pada Gambar 1 terdapat dua puncak lokal dan dua lembah lokal. argM()hanya memberikan puncak terbesar dan lembah terdalam.