En la investigación de operaciones , el método Big M es un método para resolver problemas de programación lineal utilizando el algoritmo símplex . El método Big M extiende el algoritmo símplex a problemas que contienen restricciones de tipo "mayor que". Lo hace asociando las restricciones con constantes negativas grandes que no serían parte de ninguna solución óptima, si existiera.
El algoritmo simplex es el método original y todavía uno de los más utilizados para resolver problemas de maximización lineal. Sin embargo, para aplicarlo, el origen (todas las variables iguales a 0) debe ser un punto factible. Esta condición se cumple solo cuando todas las restricciones (excepto la no negatividad) son restricciones menores que y con una constante positiva en el lado derecho. El método de la M grande introduce variables excedentes y artificiales para convertir todas las desigualdades en esa forma. La "M grande" se refiere a un gran número asociado con las variables artificiales, representado por la letra M.
Los pasos del algoritmo son los siguientes:
Por ejemplo, x + y ≤ 100 se convierte en x + y + s 1 = 100, mientras que x + y ≥ 100 se convierte en x + y − s 1 + a 1 = 100. Se debe demostrar que las variables artificiales son 0. La función que se va a maximizar se reescribe para incluir la suma de todas las variables artificiales. Luego se aplican reducciones de filas para obtener una solución final.
El valor de M debe elegirse lo suficientemente grande como para que la variable artificial no sea parte de ninguna solución factible.
Para una M suficientemente grande, la solución óptima contiene cualquier variable artificial en la base (es decir, valores positivos) si y sólo si el problema no es factible.
Sin embargo, la selección a priori de un valor apropiado para M no es trivial. En [1] se describe una forma de superar la necesidad de especificar el valor de M.
Cuando se utiliza en la función objetivo, el método Big M a veces se refiere a formulaciones de problemas de optimización lineal en los que las violaciones de una restricción o un conjunto de restricciones están asociadas con una constante de penalización positiva grande, M.
Cuando se utiliza en las propias restricciones, uno de los muchos usos de Big M, por ejemplo, se refiere a garantizar la igualdad de variables solo cuando una determinada variable binaria toma un valor, pero dejar las variables "abiertas" si la variable binaria toma su valor opuesto. Un ejemplo de esto es el siguiente: para una variable binaria M y z suficientemente grandes (0 o 1), las restricciones
Asegúrese de que cuando entonces . De lo contrario, cuando , entonces , lo que indica que las variables x e y pueden tener cualquier valor siempre que el valor absoluto de su diferencia esté acotado por (de ahí la necesidad de que M sea "suficientemente grande").
Bibliografía
Discusión