Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
Internamente, la función resuelve problemas de optimización llamando a un solucionador:solve
para las restricciones lineales objetivas y linealeslinprog
para las restricciones lineales objetivas y lineales y las restricciones de enterosintlinprog
para las restricciones lineales y objetivas cuadráticasquadprog
o para mínimos cuadrados lineales con restricciones linealeslsqlin
lsqnonneg
para problemas sin restricciones (ni siquiera límites variables) y con una función de objetivo no lineal generalfminunc
para problemas con una restricción no lineal, o con un objetivo general no lineal y al menos una restricciónfmincon
Antes puede llamar a estas funciones, los problemas se deben convertir al formulario del solucionador, ya sea por o algunas otras funciones o objetos asociados.solve
solve
Esta conversión implica, por ejemplo, las restricciones lineales que tienen una representación de matriz en lugar de una expresión de variable de optimización.
El primer paso del algoritmo se produce cuando se colocan expresiones de optimización en el problema. Un objeto tiene una lista interna de las variables utilizadas en sus expresiones.OptimizationProblem
Cada variable tiene un índice lineal en la expresión y un tamaño. Por lo tanto, las variables de problema tienen una forma de matriz implícita. La función realiza la conversión del formulario de problema al formulario de solucionador.prob2struct
Para ver un ejemplo, vea.Convertir problema a estructura
Para los solucionadores predeterminados y permitidos que llama, según el objetivo del problema y las restricciones, consulte.solve
'solver'
Puede invalidar el valor predeterminado mediante el argumento de par nombre-valor al llamar.'solver'
solve
Para el algoritmo que utiliza para resolver problemas MILP, vea.intlinprog
Algoritmo intlinprog Para los algoritmos que se utilizan para resolver problemas de programación lineal, consulte.linprog
Algoritmos de programación lineal Para los algoritmos que se utilizan para resolver problemas de programación cuadrática, vea.quadprog
Algoritmos de programación cuadrática Para los algoritmos que se utilizan para resolver problemas lineales de mínimos cuadrados, consulte.lsqlin
Algoritmos de mínimos cuadrados (ajuste de modelo) Para los algoritmos de solucionador no lineales, vea y.Algoritmos de optimización no lineales no restringidosAlgoritmos de optimización no lineales restringidos
Si su función objetiva es una suma de cuadrados, y desea reconocerla como tal, escríbelo como, y no como.solve
sum(expr.^2)
expr'*expr
El analizador interno reconoce sólo las sumas explícitas de los cuadrados. Para ver un ejemplo, vea.Mínimos cuadrados no negativos, basados en problemas
intlinprog
| linprog
| prob2struct