Anda melihat diagram alir algoritma tingkat atas. Beberapa langkah individu dalam bagan alur mungkin pantas bagan alur terperinci mereka sendiri. Namun, dalam makalah yang diterbitkan memiliki penekanan pada singkatnya, banyak detail sering dihilangkan. Detail untuk masalah optimisasi internal standar, yang dianggap sebagai "topi lama" mungkin tidak disediakan sama sekali.
Gagasan umum adalah bahwa algoritma pengoptimalan mungkin memerlukan solusi dari serangkaian masalah pengoptimalan yang umumnya lebih mudah. Tidak jarang memiliki 3 atau bahkan 4 level algoritma optimasi dalam algoritma level atas, meskipun beberapa dari mereka internal ke pengoptimal standar.
Bahkan memutuskan kapan harus menghentikan suatu algoritma (pada salah satu level hierarki) mungkin memerlukan penyelesaian masalah optimasi sisi. Misalnya, masalah linear kuadrat non-negatif terbatas mungkin diselesaikan untuk menentukan pengganda Lagrange yang digunakan untuk mengevaluasi skor optimalitas KKT yang digunakan untuk memutuskan kapan harus menyatakan optimalitas.
Jika masalah optimisasi bersifat stokastik atau dinamis, mungkin masih ada tingkat optimasi hirarki tambahan.
Ini sebuah contoh. Sequential Quadratic Programming (SQP). Masalah optimisasi awal ditangani dengan secara iteratif menyelesaikan kondisi optimalitas Karush-Kuhn-Tucker, mulai dari titik awal dengan tujuan yang merupakan pendekatan kuadratik dari Lagrangian masalah, dan linierisasi kendala. Program Quadratic (QP) yang dihasilkan terpecahkan. QP yang diselesaikan baik memiliki kendala wilayah kepercayaan, atau pencarian garis dilakukan dari iterate saat ini ke solusi QP, yang merupakan masalah optimasi, untuk menemukan iterate berikutnya. Jika metode Quasi-Newton digunakan, masalah optimisasi harus dipecahkan untuk menentukan pembaruan Quasi-Newton ke Hessian dari Lagrangian - biasanya ini adalah optimasi bentuk tertutup menggunakan rumus formulir tertutup seperti BFGS atau SR1, tetapi itu bisa menjadi optimasi numerik. Kemudian QP baru diselesaikan, dll. Jika QP tidak mungkin, termasuk untuk memulai, masalah optimasi diselesaikan untuk menemukan titik yang layak. Sementara itu, mungkin ada satu atau dua tingkat masalah optimisasi internal yang disebut di dalam QP solver. Pada akhir setiap iterasi, masalah kuadrat linier non-negatif yang mungkin diselesaikan untuk menentukan skor optimalitas. Dll
Jika ini adalah masalah integer campuran, maka seluruh shebang ini mungkin dilakukan pada setiap node bercabang, sebagai bagian dari algoritma level yang lebih tinggi. Demikian pula untuk pengoptimal global - masalah pengoptimalan lokal digunakan untuk menghasilkan batas atas pada solusi optimal global, maka pelonggaran beberapa kendala dilakukan untuk menghasilkan masalah pengoptimalan batas bawah. Ribuan atau bahkan jutaan masalah optimisasi "mudah" dari cabang dan terikat mungkin diselesaikan untuk menyelesaikan satu bilangan bulat campuran atau masalah optimisasi global.
Ini akan mulai memberi Anda ide.
Sunting : Menanggapi pertanyaan ayam dan telur yang ditambahkan ke pertanyaan setelah jawaban saya: Jika ada masalah ayam dan telur, maka itu bukan algoritma praktis yang terdefinisi dengan baik. Dalam contoh yang saya berikan, tidak ada ayam dan telur. Langkah-langkah algoritma tingkat yang lebih tinggi memanggil pemecah optimisasi, yang didefinisikan atau sudah ada. SQP secara iteratif memanggil solver QP untuk menyelesaikan sub-masalah, tetapi solver QP memecahkan masalah yang lebih mudah, QP, daripada masalah aslinya. Jika ada algoritma optimisasi global tingkat yang lebih tinggi, itu mungkin memanggil solver SQP untuk menyelesaikan subproblem optimasi nonlinier lokal, dan solver SQP pada gilirannya memanggil solver QP untuk menyelesaikan subproblem QP. Tanpa chiicken dan telur.
Catatan: Peluang optimasi "di mana-mana". Pakar pengoptimalan, seperti yang mengembangkan algoritme pengoptimalan, lebih cenderung melihat peluang pengoptimalan ini, dan memandangnya demikian, daripada rata-rata Joe atau Jane. Dan karena cenderung algoritmik, secara alami mereka melihat peluang untuk membangun algoritme optimasi dari algoritme optimasi tingkat rendah. Perumusan dan solusi masalah optimasi berfungsi sebagai blok bangunan untuk algoritma optimasi (tingkat yang lebih tinggi) lainnya.
Sunting 2 : Menanggapi permintaan karunia yang baru saja ditambahkan oleh OP. Makalah yang menjelaskan SNOPT pengoptimal-linier SQP https://web.stanford.edu/group/SOL/reports/snopt.pdf secara khusus menyebutkan pemecah QP SQOPT, yang didokumentasikan secara terpisah, yang digunakan untuk menyelesaikan subproblem QP di SNOPT.