-
Cómo utilizar MATLAB para resolver un problema de programación lineal
-
MATLAB es un entorno de programación adecuado para la resolución de una amplia variedad de problemas técnicos y matemáticos. Un problema común en los campos de la técnica consiste en la programación lineal, o la optimización de los parámetros del sistema para minimizar el error resultante - o cualquier otra métrica. MATLAB proporciona una serie de métodos para resolver fácilmente los problemas de programación lineal con un mínimo de tiempo dedicado a escribir código.Instrucciones
1 Formato de su problema de programación lineal en el formato esperado por el MATLAB función "linprog ()" que minimiza el valor de "f '* x", donde "f'" es la transpuesta de "f", que satisface las condiciones:
A ∙ x <= b
A_eq ∙ x = b_eq
LOWER_BOUND <= x <= UPPER_BOUNDLas variables "f", "x", "b", "b_eq", "LOWER_BOUND" y "UPPER_BOUND" son todos los vectores. Las variables "A" y "A_eq" son matrices o vectores multidimensionales. Los argumentos "A_eq", "B_eq", "LOWER_BOUND" y "UPPER_BOUND" son opcionales.
2 Configuración de opciones para la "linprog ()" solucionador de usar el "optimset) (" función. El valor del parámetro se establece mediante la siguiente sintaxis; el segundo ejemplo se agrega un parámetro a un conjunto existente de opciones:
my_options = optimset ( 'param1', valor1, ...);
my_new_options = optimset (my_options, 'param2', valor2);Hay muchas opciones disponibles. Las opciones comunes para establecer incluir "maxiter" para establecer el número máximo de iteraciones del procedimiento de optimización y "Pantalla" para el progreso de salida después de cada iteración.
3 Ejecutar el "linprog ()" función utilizando la siguiente sintaxis:
... = Linprog (f, a, b, A_eq, b_eq, LOWER_BOUND, UPPER_BOUND, x0, opciones);
La variable "x 0" es el valor de partida para evaluar la "x", pero sólo está disponible utilizando el conjunto de algoritmo de mediana escala, utilizando la función ") (optimset".
4 Dirigir la salida de "linprog ()" para las variables de salida apropiadas:
[X, FVAL, exitflag, la producción, lambda] = linprog (...);
La variable "x" es el valor de "x" que optimiza el problema de programación lineal.
La variable "FVAL" es el valor de "f '* x" en el valor final de "x". El "exitflag" variable indica cómo el procedimiento de optimización terminó: "1" indica la optimización converge a una solución de "x", mientras que otros valores indican un error en el procedimiento. La variable "salida" es una estructura que contiene información sobre el procedimiento de optimización, y la variable "lambda" es una estructura que contiene los multiplicadores de Lagrange de "x".Consejos y advertencias
- Algunas funciones de programación lineal requieren el MATLAB Optimization Toolbox.