Pustaka Optimalisasi Terkini untuk kendala persamaan dan ketidaksetaraan

14

Adakah rekomendasi untuk pilihan pustaka optimasi terbatas yang cocok untuk fungsi optimasi saya? Saya meminimalkan ai) fungsi non-linear dengan kendala kesetaraan dan ketidaksetaraan linear, dan ii) telah menyediakan gradien dan goni fungsi.

Jika ini membantu, fungsi yang saya minimalkan adalah perbedaan Kullback-Liebler .

constrOptim hanya menangani kendala ketimpangan. Quadprog menangani kuadratika. Kepercayaan tidak mendukung kendala. Jadi perbedaan KL tidak cocok dengan solusi ini.

Ada beberapa solusi di halaman Tugas Cran untuk Optimasi . Saya dapat melakukan optimasi dalam MATLAB menggunakan fungsi fmincon () yang tampaknya menggunakan titik-interior atau reflektif-wilayah-kepercayaan. Idealnya ada perpustakaan yang cocok dengan masalah yang didefinisikan.

Ram Ahluwalia
sumber
Apakah batasannya linear?
kardinal
@ cardinal - ya - batasannya linear
Ram Ahluwalia
2
SEBUAHx=bconstrOptimSEBUAHxbSEBUAHxb
Itu sangat pintar. Saya akan mengeksplorasi ini dan melihat kinerjanya. Anda harus mempertimbangkan memposting ini sebagai jawaban. Saya akan membiarkan pertanyaan terbuka selama beberapa hari untuk melihat alat apa yang tersedia
Ram Ahluwalia
1
Trik kardinal @ tidak membantu untuk metode titik interior, seperti yang ada pada constructOptim, karena metode ini memerlukan titik awal ke bagian dalam wilayah yang layak - tidak di perbatasan
stackovergio

Jawaban:

14

Kedua paket, alabama dan Rsolnp, berisi "[i] mplementasi metode pengali lagrange augmented untuk optimasi nonlinier umum" --- seperti yang dikatakan tampilan tugas pengoptimalan --- dan cukup andal dan kuat. Dapat menangani kendala kesetaraan dan ketidaksetaraan didefinisikan sebagai (nonlinier) fungsi lagi.

Saya telah bekerja dengan kedua paket. Kadang-kadang, kendala sedikit lebih mudah untuk dirumuskan dengan Rsolnp, sedangkan alabama tampaknya sedikit lebih cepat.

Ada juga paket Rdonlp2 yang bergantung pada perpustakaan perangkat lunak eksternal dan dalam komunitas optimasi yang terkenal. Sayangnya, status lisensinya agak tidak pasti saat ini.

Hans W.
sumber
1
Hanya ingin menambahkan satu properti kendala ketimpangan Alabama yang saya temukan hari ini. Jika kendala ketidaksetaraan Anda menciptakan wilayah yang tidak layak, maka kode berjalan tanpa pesan peringatan / kesalahan dan mengambil nilai rata-rata batas sebagai nilai tetap dari parameter. Misalnya jika Anda memiliki x> 6 dan x <4, maka solusinya akan memberikan solusi dengan x = 5 tanpa peringatan apa pun.
Gaurav Singhal
Sepertinya jawaban ini masih dikunjungi dan dibaca. Oleh karena itu, saya ingin menambahkan bahwa ada paket baru NlcOptim (sejak 2015). Ini memecahkan masalah optimasi dengan fungsi objektif dan kendala nonlinier, di mana kendala kesetaraan dan ketidaksetaraan nonlini diizinkan. Saya menggunakannya secara teratur.
Hans W.