Tecnología

Inicio

Cómo utilizar MATLAB para resolver un problema de programación lineal

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_BOUND

Las 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.