82 poin oleh GN⁺ 2025-12-02 | 4 komentar | Bagikan ke WhatsApp
  • Buku ajar ini membahas prinsip dan keseluruhan algoritme optimasi matematis secara sistematis, mencakup masalah kontinu maupun diskret
  • Menjelaskan beragam pendekatan secara bertahap, mulai dari metode berbasis turunan hingga metode stokastik dan evolusioner
  • Mencakup struktur matematis yang dibutuhkan untuk aplikasi nyata seperti kendala, dualitas, pemrograman linear, dan pemrograman kuadratik
  • Setiap bab menyediakan ringkasan dan soal latihan agar pembelajaran dapat berjalan beriringan dengan praktik
  • Didistribusikan dengan lisensi terbuka MIT Press (CC BY-NC-ND)

Kata pengantar dan ikhtisar

  • Buku ini adalah buku ajar tentang teori dan implementasi algoritme untuk menyelesaikan masalah optimasi, diterbitkan dalam edisi ke-2
    • Penulisnya adalah Mykel J. Kochenderfer dan Tim A. Wheeler
    • Diterbitkan oleh MIT Press dan dibuka dengan lisensi Creative Commons nonkomersial tanpa turunan
  • Setelah kata pengantar dan ucapan terima kasih, buku ini terdiri dari 13 bab
  • Setiap bab disusun dengan konsep inti, ringkasan, dan soal latihan, sehingga mempertahankan struktur yang berfokus pada pembelajaran

Bab 1. Pendahuluan

  • Memperkenalkan sejarah, proses, formulasi matematis, dan bidang aplikasi optimasi
  • Menjelaskan nilai ekstrem (minima) dan kondisi optimalitas (optimality conditions)
  • Mencakup ikhtisar, ringkasan, dan soal latihan untuk keseluruhan bab

Bab 2. Turunan dan gradien

  • Menjelaskan definisi dan cara menghitung turunan satu variabel dan multivariabel
  • Mencakup teknik diferensiasi numerik (numerical differentiation) dan diferensiasi otomatis (automatic differentiation)
  • Membahas gradient regresi dan teknik aproksimasi stokastik (SPSA)

Bab 3. Bracketing

  • Menjelaskan konsep unimodalitas (unimodality) dan prosedur menemukan interval awal
  • Memuat algoritme berbasis interval seperti pencarian Fibonacci, pencarian golden section, dan pencarian aproksimasi kuadratik
  • Mencakup metode Shubert-Piyavskii dan bisection

Bab 4. Penurunan lokal (Local Descent)

  • Menjelaskan konsep iterasi arah turun (descent direction iteration) dan ukuran langkah (step factor)
  • Mencakup teknik line search dan aproksimasi line search
  • Membahas pendekatan trust region dan kondisi terminasi

Bab 5. Metode orde pertama (First-Order Methods)

  • Mencakup teknik utama seperti gradient descent, conjugate gradient, momentum, dan Nesterov momentum
  • Memuat algoritme optimasi modern seperti AdaGrad, RMSProp, Adadelta, Adam, Hypergradient Descent
  • Menyediakan karakteristik dan ringkasan perbandingan untuk tiap metode

Bab 6. Metode orde kedua (Second-Order Methods)

  • Menjelaskan Newton’s Method dan Secant Method
  • Mencakup algoritme Levenberg-Marquardt dan metode Quasi-Newton
  • Ditutup dengan ringkasan dan soal latihan

Bab 7. Metode langsung (Direct Methods)

  • Memperkenalkan coordinate search, Powell, Hooke-Jeeves, pattern search, dan metode simplex Nelder-Mead
  • Mencakup teknik Divided Rectangles
  • Berfokus pada pendekatan optimasi tanpa berbasis turunan

Bab 8. Metode stokastik (Stochastic Methods)

  • Membahas pendekatan stokastik seperti noisy descent, mesh adaptive search, dan optimasi tanpa turunan
  • Mencakup simulated annealing, cross-entropy, natural evolution strategies, dan covariance matrix adaptation (CMA)
  • Menekankan efisiensi pencarian berbasis probabilitas

Bab 9. Metode berbasis populasi (Population Methods)

  • Menjelaskan teknik pencarian populasi seperti algoritme genetika, differential evolution, dan particle swarm optimization (PSO)
  • Mencakup Firefly, Cuckoo Search, dan metode hibrida
  • Menyelesaikan masalah melalui struktur iterasi populasi (population iteration)

Bab 10. Kendala (Constraints)

  • Menjelaskan konsep dasar optimasi berkendala (constrained optimization) dan jenis-jenis kendala
  • Mencakup metode pengali Lagrange, variabel slack, penalti, dan interior point
  • Membahas transformasi penghilangan kendala (transformations) dan method of multipliers

Bab 11. Dualitas (Duality)

  • Menjelaskan masalah dual (dual problem) dan metode primal-dual
  • Mencakup dual ascent dan ADMM (Alternating Direction Method of Multipliers)
  • Membahas aplikasi optimasi terdistribusi (distributed methods)

Bab 12. Pemrograman linear (Linear Programming)

  • Menjelaskan formulasi masalah, Simplex Algorithm, dan dual certificates
  • Menyajikan secara sistematis struktur optimasi di bawah kendala linear

Bab 13. Pemrograman kuadratik (Quadratic Programming)

  • Formulasi masalah yang mencakup fungsi objektif kuadratik dan kendala linear
  • Membahas masalah least squares dan kendala pertidaksamaan linear
  • Mencakup least distance programming

Lampiran dan informasi lain

  • Ringkasan dan soal latihan disertakan di akhir setiap bab
  • Diterbitkan oleh MIT Press sebagai edisi 2025, dengan izin berbagi nonkomersial (CC BY-NC-ND)
  • Disusun dengan LaTeX, untuk pertanyaan diarahkan ke bugs@algorithmsbook.com

4 komentar

 
plorrr 2025-12-02

Sekarang tidak bisa diakses ya T_T

 
slimeyslime 2025-12-03

https://algorithmsbook.com/optimization/#download
Sepertinya tautannya sekarang sedikit berubah; di sini Anda bisa melihat atau mengunduh PDF-nya.

 
plorrr 2025-12-03

Terima kasih!!

 
GN⁺ 2025-12-02
Opini Hacker News
  • Senang melihat topik optimization muncul di halaman utama HN
    Saya ingin memperkenalkan situs visualisasi LP yang saya buat. Di sana kita bisa melihat secara visual bagaimana algoritme Linear Programming bereaksi saat kendala atau fungsi objektif berubah
    Jika masuk ke halaman demo, poligon akan digambar otomatis, dan Anda bisa mengamati iteration algoritme sambil menyeret titik sudut atau garis kendala
    Memang belum terlalu matang, tetapi bagi orang yang suka pembelajaran visual, sepertinya ini bisa cukup menyenangkan untuk dipakai. Masukan sangat diterima

    • Menurut saya ini proyek yang benar-benar keren
  • Saya ingin membagikan materi terkait metaheuristics

    • Essentials of Metaheuristics (Sean Luke)
    • Clever Algorithms (Jason Brownlee)
      Di Timefold, tempat saya bekerja, kami memakai algoritme seperti Tabu Search dan Simulated Annealing yang dibahas di buku-buku ini untuk cepat menemukan solusi optimal hampiran
      Diagram algoritme local search di dokumentasi Timefold juga layak dilihat
    • Timefold terlihat menarik. Saya penasaran apakah Anda juga pernah melihat proyek seperti InfoBax
  • Ini adalah buku ajar optimization berlisensi CC setebal 521 halaman, dan kelihatannya sangat bagus
    Di bagian awal dibahas algoritme gradient-based modern berbasis diferensiasi otomatis, misalnya Adam, lalu di bagian akhir (Bab 12) dibahas optimisasi linear seperti simplex
    Ada banyak latihan juga, dan ini persis jenis buku yang sudah lama saya tunggu
    Saya merasa algoritme optimisasi bukan sekadar alat untuk menyelesaikan masalah, tetapi upaya menuju “pemecah masalah umum”. Alih-alih program langsung menemukan jawaban, kita mendefinisikan dulu ‘bentuk seperti apa jawaban itu’, lalu menerapkan optimisasi di atasnya
    AI saat ini juga dibangun di atas pendekatan seperti ini

    • Ini mengingatkan saya pada teorema no free lunch, bahwa pemecah masalah umum yang benar-benar universal itu mustahil
  • Buku ini karya Kochenderfer, bersama buku sebelumnya Decision Making Under Uncertainty(PDF), termasuk salah satu buku teknis favorit saya
    Penjelasannya jelas, visualisasinya sangat bagus, dan membahas berbagai cara berpikir tentang optimisasi di luar gradient descent
    Kodenya memang ditulis dalam Julia, tetapi tidak sulit dipindahkan ke bahasa lain. Jangan terpaku pada bahasanya; fokuslah pada konsepnya
    Optimisasi bukan sekadar teknik, melainkan cara berpikir untuk memecahkan masalah sulit itu sendiri

    • Untuk pemecahan masalah praktis, memanfaatkan solver off-the-shelf juga sangat membantu. Misalnya, jika masalahnya dirumuskan ulang sebagai MILP atau SMT, Anda bisa cepat mendapatkan baseline performa yang baik. Ini juga membantu mempelajari cara memisahkan spesifikasi dari komputasi
    • Saya penasaran apakah ada rekomendasi materi lain untuk belajar optimisasi. Dalam pekerjaan saya sering memakai multi-armed bandit, tetapi ingin mencoba mengeksplorasi algoritme lain juga
    • Daftar buku ajar lain karya Kochenderfer bisa dilihat di situs resminya
    • Kode contoh Julia juga bisa dikonversi otomatis dengan LLM
  • Buku ini termasuk sumber yang langka karena membahas CMA-ES, surrogate model, Gaussian process dan lain-lain dalam satu volume
    Kalau buku seperti ini sudah ada saat saya masih riset S1, pasti akan sangat membantu. Dulu materi terkait tersebar di banyak paper dan buku

  • Saat menempuh doktoral, saya membaca buku ini dengan saksama berkali-kali. Saya meneliti jaringan saraf dan analisis numerik, dan menurut saya kedalaman serta cakupannya seimbang dengan baik
    Sampai sekarang pun saya masih sering memakainya sebagai referensi

  • Saya terkejut melihat buku ini memasukkan metaheuristik seperti Firefly dan Cuckoo Search
    Algoritme-algoritme ini kurang dipercaya di kalangan akademik, dan juga dikritik dalam paper ITOR
    Ada komunitas kecil yang hanya meneliti pendekatan seperti ini lalu saling mengutip hingga membentuk gelembung. Di konferensi pun ini kadang menjadi bahan perdebatan

  • Bab tentang multiobjective optimization sangat bagus
    Saya penasaran apakah ada buku atau materi lain yang fokus pada topik ini

  • Saya ingin tahu bagaimana perbandingan buku ini dengan Numerical Optimization karya Nocedal & Wright

    • Buku ini membahas banyak metode secara luas seperti ensiklopedia, tetapi tidak terlalu mendalam dalam penggunaan praktisnya. Sebaliknya, Nocedal & Wright adalah buku ajar tingkat pascasarjana yang menjelaskan sejumlah kecil algoritme inti secara mendalam. Misalnya, Interior Point Method di buku ini hanya diringkas 2–3 halaman, sedangkan di Nocedal & Wright mendapat satu bab penuh (sekitar 25 halaman)
    • Lain kali akan lebih baik jika judul bukunya disebutkan lebih dulu (Numerical Optimization, Jorge Nocedal & Stephen J. Wright)