¿Alguna recomendación para elegir una biblioteca de optimización restringida adecuada para mi función de optimización? Estoy minimizando ai) la función no lineal con restricciones lineales de igualdad y desigualdad, y ii) tengo disponible el gradiente y el hessian de la función.
Si ayuda, la función que estoy minimizando es la divergencia Kullback-Liebler .
constrOptim solo trata las restricciones de desigualdad. Quadprog maneja cuadráticos. La confianza no admite restricciones. Por lo tanto, la divergencia KL no encaja en estas soluciones.
Hay bastantes soluciones en la página de tareas de R Cran para la optimización . Puedo realizar la optimización en MATLAB usando la función fmincon () que parece usar un punto interior o un reflejo de región de confianza. Idealmente, hay una biblioteca que se adapte bien al problema definido.
fuente
constrOptim
Respuestas:
Ambos paquetes, alabama y Rsolnp, contienen "[i] implementaciones del método multiplicador de lagrange aumentado para la optimización general no lineal", como dice la vista de tareas de optimización, y son bastante confiables y robustos. El puede manejar las restricciones de igualdad y desigualdad definidas como funciones (no lineales) nuevamente.
He trabajado con ambos paquetes. A veces, las restricciones son un poco más fáciles de formular con Rsolnp, mientras que alabama parece ser un poco más rápido a veces.
También está el paquete Rdonlp2 que se basa en una biblioteca de software conocida y externa de la comunidad de optimización. Desafortunadamente, su estado de licencia es un poco incierto en este momento.
fuente