OPTIMASI
~ Materi Pengantar ~
Nb: Untuk segala bentuk diskusi, kritik dan saran mengenai materi silahkan hubungi admin!
Alamat | Sebagai Berikut : \(\downarrow\) |
dsciencelabs@outlook.com | |
https://www.instagram.com/dsciencelabs/ | |
RPubs | https://rpubs.com/dsciencelabs/ |
Github | https://github.com/dsciencelabs/ |
Telegram | @dsciencelabs |
Dari sudut pandang ilmu matematika, dapat dikatakan bahwa sebenarnya terdapat tiga pilar yang sangat penting untuk diketahui dengan baik dalam Sains Data (Data Science), yaitu; Aljabar Linier, Statistik dan Optimasi. Ketiga pilar ini yang digunakan cukup banyak di semua algoritma sains data. Dalam hal ini, jika titik berat pembahasannya adalah optimasi maka diperlukan pemahaman konsep dasar yang baik tentang aljabar linier.
Apa itu Optimasi?
Wikipedia mendefinisikan optimasi sebagai masalah di mana anda memaksimalkan atau meminimalkan fungsi nyata dengan secara sistematis memilih nilai input dari himpunan yang diizinkan dan menghitung nilai fungsi. Itu berarti ketika kita berbicara tentang pengoptimalan, kita selalu tertarik untuk menemukan solusi terbaik. Jadi, katakanlah seseorang memiliki beberapa bentuk fungsional (misalnya dalam bentuk \(f(x)\)) yang diamati dan mencoba mencari solusi terbaik untuk bentuk fungsional tesebut.
Secara umum optimasi berarti pencarian nilai terbaik (minimum atau maksimum) dari beberapa fungsi yang diberikan pada suatu konteks. Optimasi juga dapat berarti upaya untuk meningkatkan kinerja sehingga mempunyai kualitas yang baik dan hasil kerja yang tinggi. Secara matematis optimasi adalah cara mendapatkan harga ekstrim baik maksimum atau minimum dari suatu fungsi tertentu dengan faktor-faktor pembatasnya. Jika persoalan yang akan diselesaikan dicari nilai maksimumnya, maka keputusannya berupa maksimasi dan begitupun sebaliknya (Sari, 2014).
Menurut (Maharani, 2015) optimasi adalah salah satu dispilin ilmu dalam matematika yang fokus untuk mendapatkan nilai minimum atau maksimum secara sistematis dari suatu fungsi, peluang, maupun pencarian nilai lainnya dalam berbagai kasus. Optimasi hampir dapat digunakan dalam berbagai bidang untuk mencapai efektivitas dan efisiensi dari target yang diinginkan. Tujuan dari optimasi adalah penentuan total biaya minimum maka tujuan dalam model matematikanya adalah minimasi.
Sebagai penutup, maka saya definisikan bahwa optimasi dalam perspektif sains data adalah segala bentuk upaya yang melibatkan berbagai konsep aljabar linier dan metode statistika untuk mencari nilai optimum, efektif, dan efesien.
Pentingnya Optimasi?
Hampir semua algoritma yang digunakan dalam sains data secara khusus pada pembelajaran mesin (machine learning) dapat dilihat bahwa optimasi adalah solusi yang tepat dan menarik dalam berbagai masalah. Bahkan dalam kasus di mana teknik pembelajaran mesin tradisional yang memiliki dasar dan berasal dari bidang lain, misalnya; fisika, kimia, biologi dan lain sebagainya. Setiap orang masih dapat dan terus berupaya melakukan penelitian atau menafsirkan berbagai algoritma pembelajaran mesin sebagai beberapa solusi untuk masalah optimasi.
Beberapa alasan pentingnya optimasi dalam sains data (pembelajaran mesin):
- Lebih dalam memahami cara kerja algoritma.
- Merasionalkan kinerja algoritma. Itu berarti jika Anda mendapatkan hasil dan anda ingin menafsirkannya, dan jika anda memiliki pemahaman yang sangat mendalam tentang optimisasi, anda akan dapat melihat mengapa anda mendapatkan hasil tersebut.
- Dan pada tingkat pemahaman yang lebih tinggi, anda mungkin dapat mengembangkan sendiri algoritma baru.
Rumusan Masalah Optimasi
Secara umum, rumusan masalah dalam optimasi memiliki tiga komponen.
\[ \begin{align} \tag{1} maks_x/min_x \space f(x), \text{dimana} \space a\leq x \leq b \end{align} \]
- Fungsi tujuan (Objective function) \(f(x):\) yang kita coba maksimalkan atau minimalkan. Secara umum, kita berbicara tentang masalah minimalisasi ini hanya karena jika anda memiliki masalah maksimalisasi dengan \(f(x)\) kita dapat mengubahnya menjadi masalah minimalisasi dengan \(-f(x).\) Jadi, tanpa kehilangan keumuman, kita dapat melihat masalah minimasi.
- Kendala (Constrained) \((a\leq x \leq b):\) yang pada dasarnya \(x\) ini membatasi ke beberapa himpunan penyelesaian.
- Variabel keputusan (Decision variables) \((x):\) yang dapat kita pilih untuk meminimalkan fungsi. Jadi, kita tulis ini sebagai min \(f(x)\).
Jadi, setiap kali anda melihat masalah optimasi, anda harus mencari ketiga komponen diatas dalam proses penyelesainya.
Jenis Masalah Optimasi
Seperti disebutkan dalam rumusan masalah optimasi diatas, langkah penting dalam proses pengoptimalan adalah mengklasifikasikan model yang akan anda gunakan, karena algoritme untuk memecahkan masalah pengoptimalan disesuaikan dengan jenis masalah tertentu. Di sini saya memberikan beberapa panduan untuk membantu anda mengklasifikasikan model pengoptimalan; untuk berbagai jenis masalah pengoptimalan sebagai berikut:
Tanpa Kendala vs Terkendala
Optimasi tanpa kendala (Unconstrained optimization), yaitu proses maksimisasi atau minimisasi fungsi tujuan yang bergantung pada variabel bilangan rill tanpa batasan pada nilainya. Secara matematis, misalkan \(x \in R^n\) adalah vektor real dengan \(n\geq 1\) komponen dan misalkan \(f:R^n \to R\) adalah fungsi mulus. Maka, masalah optimasi tanpa kendala adalah dapat dinyatakan pada persamaan (1). Masalah optimasi tak terkendala muncul secara langsung di beberapa aplikasi tetapi juga muncul secara tidak langsung dari perumusan ulang masalah optimasi terkendala. Seringkali praktis untuk mengganti kendala dari masalah optimasi dengan istilah hukuman dalam fungsi tujuan dan untuk memecahkan masalah sebagai masalah yang tidak dibatasi.
Optimasi terkendala (Contrained optimization), yaitu proses maksimisasi atau minimisasi fungsi tujuan dengan berbagai kendala. Adanya kendala-kendala tersebut mengurangi kebebasan tindakan penyelesaian dan biasanya menghalangi pencapaian optimasi. Masalah optimasi terkendala dalam bisnis biasanya dapat dipecahkan dengan substitusi atau dengan Metode Langrange.
Variabel Keputusan dan Fungsi Tujuan
- Kontinu: (Continuous), suatu variabel \(x\) pada persamaan (1) dapat dikatakan kontinu jika mengambil sejumlah nilai yang tak terbatas. Dalam hal ini, \(x\) dapat mengambil jumlah nilai yang tidak terbatas antara -2 hingga 2.
Program linier: Jika variabel keputusan \((x)\) adalah variabel kontinu dan jika fungsi tujuan \((f)\) linier dan semua kendala juga linier maka jenis masalah ini dikenal sebagai masalah pemrograman linier.
Program nonlinier: Jika variabel keputusan \((x)\) tetap kontinu; namun, jika salah satu fungsi tujuan \((f)\) atau kendala adalah non-linier maka jenis masalah ini dikenal sebagai masalah pemrograman non-linear.
- Diskrit: (Discrete) Sebuah variabel \(x\) pada persamaan (1) dikatakan diskrit, jika beberapa atau semua variabel dalam model diharuskan menjadi bagian dari himpunan diskrit. Sebenarnya, terdapat dua cabang optimasi diskrit. Pertama, optimasi bilangan bulat (integer), himpunan diskrit adalah himpunan bagian dari bilangan bulat. Kedua, optimasi bilangan kombinatorial (combinatorial) yaitu himpunan bilangan bulat yang mengikuti struktur kombinatorial, seperti penugasan, kombinasi, rute, jadwal, atau urutan. Dalam hal ini, dijelaskan lebih lanjut mengenai optimasisi diskrit bilangan bulat sebagai berikut:
Bilangan bulat linier: Jika variabel keputusan \((x)\) adalah variabel bilangan bulat dan fungsi tujuan \((f)\) linier dan semua kendala juga linier maka jenis masalah ini dikenal sebagai masalah pemrograman bilangan bulat linier.
Bilangan bulat nonlinier: Jika variabel keputusan \((x)\) tetap bilangan bulat; namun, jika salah satu fungsi tujuan \((f)\) atau kendalanya adalah non-linier maka jenis masalah ini dikenal sebagai masalah pemrograman bilangan bulat non-linier.
Bilangan bulat biner: Jika variabel keputusan \((x)\) hanya dapat mengambil nilai biner seperti 0 dan 1 saja, maka jenis masalah ini dikenal sebagai masalah pemrograman bilangan bulat biner.
- Variabel campuran: Jika kita menggabungkan variabel kontinu dan variabel diskrit (integer) maka variabel keputusan ini dikenal sebagai variabel campuran.
Taksonomi Optimasi
Ada banyak sekali penjelasan mengenai optimasi, sehingga penyampain teori muapun penerapannya akan disesuaikan dengan konsentrasi dan prespektif yang berbeda-beda. Dalam hal ini saya akan mencoba merangkum toeri optimasi ini dalam bentuk taksonomi untuk memudahkan anda melihat perspektif yang sama. Terutama jika anda akan fokus pada subbidang optimasi deterministik dengan fungsi tujuan tunggal. Perhatikan Diagram 1, berikut:
Kontrak Kuliah
Materi
Pada kuliah ini akan dibahas berbagai topik yang dapat menunjang pengetahuan dan pemahaman anda mengenai Optimasi kususnya di bidang sains data.
Pertemuan | Materi |
Minggu 1 | Materi Pengantar |
Minggu 2 | Program Linier dengan R |
Minggu 3 | Program Linier dengan Python |
Minggu 4 | Numerik dan Regresi |
Minggu 5 | Optimasi Umum |
Minggu 6 | Algoritma EM |
Minggu 7 | Integration |
Minggu 8 | Ujian Tengah Semester |
Minggu 9 | Monte Carlo Independen |
Minggu 10 | Rantai Markov Monte Carlo |
Minggu 11 | Desain Eksperimen |
Minggu 12 | Multivariate Nonlinear |
Minggu 13 | Percepatan Reaksi |
Minggu 14 | Algoritma Genetika |
Minggu 15 | Portofolio |
Minggu 16 | Ujian Akhir Semester |
Template Laporan
Berikut adalah template yang digunakan dalam setiap laporan yang akan anda kerjakan setiap pengerjaan tugas mingguan.
Kriteria Penilaian
Penilaian dilakukan sesuai dengan kriteria penilaian yang berlaku di Universitas Matana sebagai berikut:
Nilai huruf | Nilai Numerik | Nilai Bobot | Predikat |
A | 4.00 | 81–100 | istimewa/sangat baik |
A- | 3.70 | 80-84 | hampir sangat baik |
B+ | 3.30 | 75-79 | lebih baik |
B | 3.00 | 70-75 | baik |
B- | 2.70 | 65-69 | hampir baik |
C+ | 2.30 | 60-69 | lebih dari cukup |
C | 2.00 | 55-59 | cukup |
C- | 1.70 | 50-54 | kurang |
D | 1.00 | 40-50 | tidak baik |
E | 0 | 0-40 | tidak lulus |
Contoh: persentase sistem penilaian yang berlaku:
- Ujian Akhir Semester = bobot 35%
- Ujian Tengah Semester = bobot 35%
- Tugas (dapat berupa makalah maupun tugas presentasi) = bobot 20%
- Kehadiran = 10%
Jika anda mendapat nilai sebesar:
- UAS : 86
- UTS: 75
- Tugas : 90
- Kehadiran : 100% (tidak pernah absen).
Maka perkiraan nilai akhirmu adalah, (86x0.35) + (75x0.35) + (90x0.2) + (100x0.1) = 84.35, atau bernilai A- dalam nilai huruf dan 3.70 dalam nilai numerik.
Aturan Pembelajaran & Ujian
- Kegiatan pembelajaran dimulai tepat waktu (sesuai jadwal), toleransi keterlambatan maksimal 15 menit.
- Selama pembelajaran/ujian berlangsung HP/gadget dimatikan (silent).
- Pengumpulan tugas individu sesuai jadwal. Bagi yang terlambat nilai hanya 50%; keterlambatan lebih satu minggu nilainya 0%.
- Tugas yang merupakan hasil copy paste tidak diterima.
- Aturan jumlah minimal kehadiran, berpakaian sopan, bersepatu dan aturan akademik lainnya tetap berlaku.
- Pada saat pelaksanaan ujian berlaku aturan tata tertib ujian yang diberlakukan di Universitas Matana
- Pada saat ujian, bila kedapatan berbuat curang, maka nilai ujian nol/dibatalkan.
- Bila komponen penilaian tidak lengkap tidak akan dapat nilai maksimal
- Tidak ada ujian susulan, kecuali bagi yang sakit dan opname, orang tua meninggal, atau ditugaskan oleh institusi kampus yang diperkuat dengan surat penugasan. Untuk hal ini perlu ada surat pengantar dari universitas untuk ujian susulan.
Referensi
- Sari, D. P. (2014). Optimasi Distribusi Gula Merah pada UD Sari Bumi Raya Menggunakan Model Transportasi dan Metode Least Cost. hal. 4.
- Maharani, A. P. (2015). Laporan Tugas Akhir Optimasi Biaya Pendistribusian Beras pada Rumah Beras Tiredi Menggunakan Model Transportasi North West Corner Method dan Modified Distribution Method. hal. 8.
- https://www.extremeoptimization.com/Documentation/Mathematics/Optimization/Default.aspx
- https://neos-guide.org/optimization-tree