¿Alguien me puede mostrar ejemplos o revisiones para la optimización no lineal restringida en Microsoft Solver Foundation 3.0? ¿Cómo se compara con el fmincon de Matlab? ¿O hay alguna biblioteca .net mejor para la optimización no lineal restringida? gracias,optimización no lineal restringida en Microsoft Solver foundation vs Matlab fmincon
Respuesta
ACTUALIZACIÓN IMPORTANTE el 25 de febrero 2012:
MSF 3.1 ahora es compatible con la optimización no lineal con variables acotadas a través de su NelderMeadSolver solucionador: http://msdn.microsoft.com/en-us/library/hh404037(v=vs.93).aspx
Por restricciones lineales generales, La base de solucionador de Microsoft solo admite programación lineal y programación cuadrática a través de su solucionador de puntos interior. Para este solucionador, consulte la publicación de SVM mencionada por Tomás.
MSF tiene un solucionador de programación no lineal general, Limited-Memory-BFGS, pero que no admite ninguna restricción. Este solucionador también requiere una función de gradiente explícita. Para este programa de solución, por favor ver:
Logistic regression in F# using MSF
F # ODSL mencionado por Tomas sólo es compatible con la programación lineal. Tengo una extensión QP para él, disponible en codexplex.
Volviendo a su pregunta - optimice f (x) con restricciones lineales (similar a fmincon
), no he visto ninguna biblioteca libre que tenga esta capacidad. NMath.NET (comercial) parece tener uno. Intenté eso para resolver una optimización altamente no lineal, pero no funciona para mí. Finalmente recurrí a B-LBFGS implementado en DotNumerics.
creo que también puede estar interesado en los siguientes SO pregunta:
Open source alternative to MATLAB's fmincon function?
Las respuestas apuntan a SciPy.optimize.cobyla
, que parece ser algo similar a fmincon
. Pero el mensaje principal es que para su problema específico, tal vez fmincon
es demasiado general. Puede usar un solucionador más específico, p. LBFGS o QP. Además, los solucionadores generales a veces no funcionan si su valor inicial no es bueno.
no tengo mucha experiencia con Microsoft Solver Fundación mí mismo, pero hay un buen artículo que demuestran cómo usarlo de F #:
Para F #, también hay un lenguaje de modelado integrado: esto le permite escribir sus restricciones como expresiones ordinarias F # (envueltas en citas) y el intérprete de este lenguaje llama a Microsoft Solver Foundation con las restricciones apropiadas creadas (¡creo que esto es totalmente increíble!):
He transferido recientemente a C# los códigos libres de derivados de Michael Powell COBYLA2 (función objetivo no lineal, restricciones no lineales) y BOBYQA (función objetivo no lineal, límites variables). Cuando el problema de optimización solo contiene límites variables, el algoritmo BOBYQA es sustancialmente más rápido.
Tengo código abierto de ambos códigos; puede encontrarlos en Github: cscobyla y csbobyqa.
Si prefiere un algoritmo derivado, también he implementado un adaptador a IPOPT. Se llama csipopt y se puede obtener de Github también.
No hay ninguna interfaz Fundación Solver desarrollado para cualquiera de estos algoritmos, y no puedo decir lo bien que se comparan con fmincon (no soy un usuario Matlab yo), pero espero que los códigos puede ser de alguna ayuda en su trabajo de optimización.
Me doy cuenta de que esta es una pregunta antigua, pero las respuestas aquí son inexactas y/o desactualizadas. Aquí está el tutorial definitivo sobre cómo utilizar el solucionador no lineal restringida en MSSF:
En este ejemplo se utiliza el solucionador no lineal por defecto que se llama el HybridLocalSearchSover.
(Sin embargo, no estoy familiarizado con fmincon, así que no puedo hablar de eso.)
- 1. R equivalente al fmincon de MATLAB para la optimización restringida?
- 2. Utilice Microsoft Solver Foundation en C#
- 3. ¿Microsoft Solver Foundation se ajusta a mis necesidades?
- 4. ¿Alternativa de código abierto a la función fmincon de MATLAB?
- 5. ¿Cómo puedo emular la funcionalidad de Solver de Microsoft Excel (GRG no lineal) en C#?
- 6. optimización restringida en R
- 7. Solver Foundation Optimization - 1D Bin Packing
- 8. Optimización restringida de funciones personalizadas en R
- 9. optimización con restricciones para la función no lineal multivariable en Java
- 10. Bibliotecas de optimización no lineal secuenciales en C++ WITH constraints
- 11. CoreFoundation vs Foundation
- 12. Optimización de algoritmo de búsqueda lineal
- 13. Learning Windows Forms vs. Windows Presentation Foundation
- 14. MVVM Foundation vs MVVM Toolkit
- 15. ¿Qué es "$ (SourceDir)" en Microsoft Team Foundation Server?
- 16. Microsoft Visual C++ optimización de código
- 17. optimización de matlab para el ciclo
- 18. no lineal para el bucle
- 19. Matlab vs Aforge vs OpenCV
- 20. Microsoft Roslyn vs CodeDom
- 21. Transformación de Microsoft Media Foundation (MFT) con C#?
- 22. Cómo establecer la suma de los parámetros en 1 en la optimización restringida
- 23. Cruise Control .Net vs Team Foundation Compilación
- 24. Prolog SAT Solver
- 25. Pentaho vs Microsoft BI Stack
- 26. QP solver para Java
- 27. Ruby anagram solver
- 28. Arreglo disperso vs normal Matlab
- 29. Matlab Coder vs hand coding?
- 30. Matriz lógica vs numérica en MATLAB
gracias por su respuesta y su blog. Esperaba que MSF pudiera hacer LBFGS contraídos o similares. – ahala
Esta respuesta ya no es precisa. MSF * does * admite programación no lineal restringida. Este tutorial lo demuestra: https://msdn.microsoft.com/en-us/library/gg261758%28v=vs.93%29.aspx?f=255&MSPPError=-2147217396 – kmote
@kmote ¿sabe si MSF dejó de desarrollarse? ? –