Programacion Lineal para Dummies

Page 1

PROGRAMACIÓN LINEAL PARA DUMMIES ___ Por: Silva Salazar Omar Sebastian Lozada Sánchez Alan Omar

Figura 1


2

INTRODUCCIÓN

PROGRAMACIÓN LINEAL Es un enfoque de solución de problemas elaborado para ayudar a tomar decisiones. Es un modelo matemático con una función objetivo lineal, un conjunto de restricciones lineales variables no negativas. En el ambiente de negocios actual, pueden encontrarse gran cantidad de aplicaciones. La función objetivo define la cantidad que se va a maximizar o minimizar en un modelo de programación lineal. Las restricciones limitan o reducen el grado en que puede perseguirse el objetivo. Las variables son las entradas controlables en el problema. ¿SABÍAS QUE? En 1947

George Dantzig público el algoritmo simplex uno de los métodos más populares en la programación lineal

Figura 2


3

Método gráfico El método gráfico se emplea para resolver problemas que presentan sólo 2 variables de decisión. El procedimiento consiste en trazar las ecuaciones de las restricciones en un eje de coordenadas X​1​, X​2 para tratar de identificar el área de soluciones factibles (soluciones que cumplen con todas las restricciones). La solución óptima del problema se encuentra en uno de los vértices de esta área de soluciones creada, por lo que se buscará en estos datos el valor mínimo o máximo del problema.

Figura 3

Algoritmo del método gráfico Las fases del método Gráfico son las siguientes: 1. Dibujar un sistema de coordenadas cartesianas en el que cada variable de decisión esté representada por un eje. 2. Establecer una escala de medida para cada uno de los ejes adecuada a su variable asociada.


4

3. Dibujar en el sistema de coordenadas las restricciones del problema, incluyendo las de no negatividad (que serán los propios ejes). Notar que una inecuación define una región que será el semiplano limitado por la línea recta que se tiene al considerar la restricción como una igualdad, mientras que si una ecuación define una región que es la propia línea recta. 4. La intersección de todas las regiones determina la región factible o espacio de soluciones (que es un conjunto convexo). Si esta región es no vacía, se continuará con el paso siguiente. En caso contrario, no existe ningún punto que satisfaga simultáneamente todas las restricciones, por lo que el problema no tendrá solución, denominándose no factible. 5. Determinar los puntos extremos o vértices del polígono o poliedro que forma la región factible. Estos puntos serán los candidatos para la solución óptima. 6. Evaluar la función objetivo en todos los vértices y aquél (o aquellos) que maximicen (o minimicen) el valor resultante determinarán la solución óptima del problema.

Ejemplos del método gráfico Ejemplo 1: Una compañía de auditores se especializa en preparar liquidaciones y auditorías de empresas pequeñas. Tienen interés en saber cuántas auditorías y liquidaciones pueden realizar mensualmente para maximizar sus ingresos. Se dispone de 800 horas de trabajo directo y 320 horas para revisión. Una auditoría en promedio requiere de 40 horas de trabajo directo y 10 horas de revisión, además aporta un ingreso de 300 dls. Una liquidación de impuesto requiere de 8 horas de trabajo directo y de 5 horas de revisión, produce un ingreso de 100 dls. El máximo de liquidaciones mensuales disponibles es de 60. Objetivo : Maximizar el ingreso total. Variables de decisión: Cantidad de auditorías (X​1​). Cantidad de liquidaciones (X​2​). Restricciones :

Tiempo disponible de trabajo directo Tiempo disponible de revisión Número máximo de liquidaciones.


5

MAXIMIZAR: ​Z = 300 X​1​ + 100 X​2 40 X​1​ + 8 X​2​ ≤ 800 10 X​1​ + 5 X​2​ ≤ 320 X​2​ ≤ 60 X​1​, X​2​ ≥ 0 Solución (utilizando www.phpsimplex.com/simplex/simplex.htm): Graficando las 3 restricciones del problema obtenemos una región factible donde se encuentra la solución óptima.

Ahora para identificar la solución óptima evaluamos todos los puntos de intersección y nos quedamos con la Z más grande y que se encuentre en la región factible debido a que es un problema de maximización.


6

La solución óptima de este problema es:

X​1​=12, X​2​=40 donde Z=7600

sustituyendo estos datos en las restricciones tenemos que: 40 (12) + 8 (40) = 800 ≤ 800 10 X​1​ + 5 X​2​ = 320 ≤ 320 X​2​ = 40 ≤ 60 por lo tanto concluimos que realizando 12 auditorías y 40 liquidaciones por mes se agotan las horas disponibles de trabajo directo y las horas disponibles de revisión; la tercer restricción nos indica que sobran 20 liquidaciones para alcanzar el máximo disponible por mes; con una ganancia total de 7600 dolares. Ejemplo 2: Un expendio de carnes acostumbra preparar carne para hamburguesa con una combinación de carne molida de res y carne molida de cerdo. La carne de res contiene 80 % de carne y 20 % de grasa y le cuesta a la tienda 80 centavos por libra. La carne de cerdo contiene 68 % de carne y 32 % de grasa y cuesta 60 centavos por libra. ¿Qué cantidad de cada tipo de carne debe emplear la tienda por cada libra de carne para hamburguesa si desea minimizar el costo y mantener el contenido de grasa no mayor de 25 %? Objetivo : Minimizar el gasto total.. Variables de decisión: Libras de carne de res (X​1​). Libras de carne de cerdo (X​2​). Restricciones :

MINIMIZAR: Z = 80 X1 + 60 X2 20 X​1​ + 32 X​2​ ≤ 25 1 X​1​ + 1 X​2​ = 1 X​1​, X​2​ ≥ 0

Solución (utilizando www.phpsimplex.com/simplex/simplex.htm): Graficando las 2 restricciones del problema obtenemos una región factible donde se encuentra la solución óptima.


7

Ahora para identificar la solución óptima evaluamos todos los puntos de intersección y nos quedamos con la Z más pequeño y que se encuentre en la región factible debido a que es un problema de minimización.

La solución óptima de este problema es:

X​1​=7/12, X​2​=5/12 donde Z=215/3

sustituyendo estos datos en las restricciones tenemos que: 20 (7/12) + 32 (5/12) = 25 ≤ 25 7/12 + 5/12 = 1=1 por lo tanto concluimos que comprando 7/12 libras de carne de res y 5/12 libras de carne de cerdo se cumple el 25% de grasa en la carne con un costo total de 215/3 centavos.


8

Método Algebraico En la necesidad de desarrollar un método para resolver problemas de programación lineal de más de dos variables, los matemáticos implementaron el método algebraico, el que más tarde se convertiría en el tan afamado método simplex. Como su nombre lo indica, el método usa como su principal herramienta, el álgebra, que ligada a un proceso de lógica matemática dio como resultado el método algebraico. Pasos para desarrollar el método algebraico según Chediak: 1.Hallar una solución básica y factible (solución inicial) 2. Expresar las inecuaciones como ecuaciones. 3. Hallar una variable básica para cada ecuación: 4.Organizar el sistema de ecuaciones lineales 5. Escoger la variable que entra. 6. Escoger la variable que sale. 7. Reorganizar el sistema de ecuaciones. 8. Repetir los pasos 2,3, y 4 hasta encontrar la solución.


9

Condición de Parada: Esta condición está dada en el momento de escoger la variable de entrada, que en caso de maximización se vuelve todos los coeficientes positivos, por lo que significa que hemos terminado el algoritmo, este método es poco aplicado porque llega a ser muy tardado y poco práctico. Ejemplo #1: Problema : La Ford produce dos tipos de auto: Fiesta y Focus que se deben procesar a través de dos departamentos. El depto. 1 tiene 70 horas disponibles y el departamento 3 tiene 60 horas disponibles. La fabricación de un Fiesta requiere 4 hrs. en Depto 1 y 2 hrs. en depto. 2. Cada Focus requiere 2 hrs en el depto. 1 y 4 hrs en el depto. 2. La utilidad del fiesta es $40,000 y del Focus $60,000 ¿Cuantos autos focus y fiesta se deben producir para obtener la maxima ganancia? Planteamiento de este problema tenemos que necesitamos encontrar la máxima ganancia con las restricciones dadas. Por lo que definimos las siguientes variables de decision x1=Numero de autos Fiesta producidos x2=Numero de autos Focus producidos Ahora planteando un modelo, queda como Max z=40x1+60x2 (multiplicando los coeficientes por 1000) 4x1+2x2<=70 4x1+4x2<=60

(horas en el depto 1 totales) (horas en el depto 2 totales)


10

x1,x2>=0 Reescribimos el modelo en forma estandar Max z=40x1+60x2 4x1+2x2+x3=70 4x1+4x2+x4=60 x1,x2,x3,x4>=0 Si tomamos que la solución inicial será x1 = x2 = 0, entonces x3 = 70 y x4 = 60, por lo que las variables no básicas son x1 y x2, y x3,x4 las básicas, ahora debemos elegir una variable de entrada, por lo que si despejamos x3 y x4 obtenemos que

x3=70-4x1-2x2 x4=60-4x1-4x2 revisamos la función objetivo y elegimos a la variable con el coeficiente mas grande. En este caso elegimos a x2 Ahora tenemos para la variable de salida. Debemos de hacer a x1=0 y lo sustituimos en las restricciones despejadas, además igualamos a cero y tenemos:

0=70-2x2---------x2=70/2 cuando x3=0 0=60-4x2----------x2=60/4 cuando x4=0


11

Elegimos a la variable de menor valor, que en este caso sera x4.Ahora debemos que dejar el modelo en función de nuestras nuevas variables básicas. Para eso despejamos a x2 de la ecuación de la variable que entrara a la base x2=15-(1/4)x4-x1

Sustituimos esta nueva ecuación en las demás restricciones y en la función objetivo , y despues obtenemos lo siguiente

Max z=+900-15x4-20x1 x3=40-4x1+1/2x4+2x1 x2=15-(1/4)x4-x1 x1,x2,x3,x4>=0

Si observamos la función objetivo nos daremos cuenta de que ya no hay variable de entrada, por lo cual llegamos a la solución óptima. Como finalmente las variables x3, x4, x1 fueron las variables no básicas, tienen el valor de cero y nos queda finalmente la solución como: Max z=900 x3=40 x2=15 x3,x4,x1=0


12

Entonces podemos decirle al cliente que estará ganando como máximo 900000 produciendo 15 autos Focus. Además, como x3=40, tenemos que están sobrando 30 horas en el departamento 1, pero se ocupan todas en el departamento 2

Ejemplo 2: Electra produce dos clases de motores eléctricos cada uno en una línea de producción aparte. Las capacidades diarias de las dos líneas son de 600 y de 750 motores. El motor tipo 1 usa 10 unidades de cierto componente electrónico, y el motor 2 usa 8 unidades. El proveedor de ese componente puede suministrar 8000 piezas por día. Las utilidades

Definamos entonces a X1 = El numero de motores de modelo 1 , y X2 = El numero de motores tipo 2 Planteamiento del modelo tenemos que: max Z= 60X1+40X2 Sujeto a: 10X1+8X2<=8000 X1<=600 X2<=750 X1,X2>=0 Forma estándar, agregamos dos variables de holgura: max Z= 60X1+40X2 Sujeto a:


13

10X1+8X2+X3=8000 X1+X4=600 X2+X5=750 Xi>=0 Tenemos 5 variables y 3 restricciones, por lo tanto tenemos 3 variables básicas y 2 no básicas. La solución inicial del modelo es el origen: X1=X2=0 X3=8000 X4=600 X5=750 Z=0 X1 y X2 variables no básicas X3 , X4 y X5 variables básicas Ahora bien despejemos X3,X4,X5 para poder obtener cual es la variable de entrada y de salida. Z=60X1+40X2 X3=8000-10X1-8X2 X4=600-X1 X5=750-X2


14

Para esto nos fijamos en la función objetivo y como es un caso de maximización, tomaremos el coeficiente más grande, en este caso tomaremos el coeficiente de X1 es 60. Z=60X1+40X2 Como X1 será la variable de entrada, debemos elegir una variable de salida que tomaremos de las variables básicas para convertirla en no básica. Del despeje anterior tenemos esto, y si bien, X2 sigue siendo no básica, tomemos su valor como 0, por lo cual X3=8000-10X1 X4=600-X1 X5=750 Hacemos cero a las variables básicas y el sistema queda de la siguiente manera: 0=8000-10X1 0=600-X1

X1=800 ---> X3=0 X1=600 ---> X4=0

Elegimos al de valor más pequeño. No tomamos en cuenta a X5 porque en esa restricción no aparece X1 Por lo tanto ahora nuestras nuevas variables no básicas son X4 y X2 y las nuevas variables básicas son X3 , X5 y X1


15

Ahora el modelo debe quedar en función a las nuevas variables no básicas, para ello despejamos X1 de la variable que salio. Queda como. X1=600-X4 Ahora sustituimos X1 en las demás ecuaciones, tenemos Z=60(600-X4 )+40X2 =36000-60X4 +40X2 X3=8000-10(600-X4)-8X2 =2000+10X4-8X2 X1=600-X4 X5=750-X2 Determinar la nueva variable no básica a convertir en variable básica. Z =36000-60X4 +40X2 X4 ya habia salido, y no es bueno que vuelva a entrar, por que caeriamos en un bucle, asi que tomemos a X2 como la variable básica, en consecuencia será la variable de entrada y ahora para elegir una variable de salida. Procedemos a plantear las restricciones sin la variable no básica(X4 = 0). X3=2000-8X2 X1=600 X5=750-X2


16

Hacemos cero a las variables básicas o bien el lado izquierdo de la desigualdad, tenemos entonces que: 0=2000-8X2

X2=250 ---> X3=0

0=750-X2

X2=750 ---> X5=0

Elegimos el valor más pequeño. No tomamos en cuenta a X1 porque en esa restricción no aparece X2(No aparecio por la sustitucion anterior que realizamos.) Por lo tanto ahora nuestras nuevas variables no básicas son X4 y X3 y las nuevas variables básicas son X2 , X5 y X1 Ahora el modelo debe quedar en función a las nuevas variables no básicas, para ello despejamos X2 de la primera ecuación y sustituimos en las demás. X2 = 250+1.25X4-0.125X3 El nuevo sistema queda de la siguiente manera: Z=46000-10X4-5X3 X2=250+1.25X4-0.125X3 X1=600-X4


17

X5=500-1.25X4-0.125X3 Como en la función objetivo los coeficientes de las variables son de valor negativo, ya no se puede elegir otra variable de entrada, esto quiere decir que hemos llegado a la solución óptima siguiente: Z=46000 X2=250 X1=600 X5=500 X3=0 X4=0 Se puede observar que la ganancia que se obtiene de los respectivos motores es de $46000 Sujeto a: 10(600)+8(250) = 8000 <=8000 De acuerdo a la producción diaria de motores en ambas líneas podemos observar que se cubren las unidades diarias que el proveedor puede suministrar. 600<=600 En esta restricción observamos que la capacidad diaria de motores de la primera línea es alcanzada en su totalidad.


18

250<=750 La capacidad de la tercera restricción no cumple la igualdad por lo que se tiene disponibilidad de 500 motores más.

Método simplex El Método Simplex es un método iterativo que permite ir mejorando la solución en cada paso. La razón matemática de esta mejora radica en caminar del vértice de un poliedro a un vértice vecino de manera que aumente o disminuya (según el contexto de la función objetivo, sea maximizar o minimizar), dado que el número de vértices que presenta un poliedro solución es finito siempre se hallará solución. Método simplex

P1

P2

...

Pn

P0

Zj-Cj

C1

C2

...

Cn

Solución

P​1

a11

a12

...

a1n

b1

P​2

a21

a22

...

a2n

b2


19

...

...

...

...

...

...

P​m

am1

am2

...

amn

bm

Algoritmo del método simplex

Construcción de la primera tabla:


20

Las columnas de la tabla están dispuestas de la siguiente forma: la primera columna de la tabla contiene las variables que se encuentran en la base (o variables básicas), esto es, aquellas que toman valor para proporcionar una solución; a partir de ésta aparece una columna por cada una de las variables de decisión y holgura presentes en la función objetivo; la última columna muestra el término independiente de cada restricción (P0).

P1

P2

...

Pn

P0

Zj-Cj

C1

C2

...

Cn

Solución

P​1

a11

a12

...

a1n

b1

P​2

a21

a22

...

a2n

b2

...

...

...

...

...

...

P​m

am1

am2

...

amn

bm

Condición de parada: Se cumple la condición de parada cuando la fila indicadora no contiene ningún valor negativo entre los costes reducidos (cuando el objetivo es la maximización), esto es, no existe posibilidad de mejora. Una vez cumplida la condición de parada, el valor de cada variable que logra la solución óptima se encuentra en la columna P0, indicándose en la base a qué variable corresponde dicho valor. Si una variable no aparece en la base, significa que su valor es cero. De la misma forma el valor óptimo de la función objetivo (Z) se encuentra en la columna P0, fila Z. Si no se cumple la condición de parada es necesario realizar una iteración más del algoritmo, esto es, determinar la variable que se vuelve básica y la que deja de serlo, encontrar el elemento pivote, actualizar los valores de la tabla y comprobar si se cumple nuevamente la condición de parada.


21

Es también posible determinar que el problema no se encuentra acotado y su solución siempre resultará mejorable. En tal caso no es necesario continuar iterando indefinidamente y se puede finalizar el algoritmo. ●

Elección de la variable que entra a la base: Cuando una variable se vuelve básica, es decir, entra en la base, comienza a formar parte de la solución. Observando los costes reducidos en la fila Z, se decide que entra a la base la variable de la columna en la que éste sea el de menor valor (o de mayor valor absoluto) entre los negativos.

Elección de la variable que sale de la base: Una vez obtenida la variable entrante, se determina que sale de la base la variable que se encuentre en aquella fila cuyo cociente P0/Pj sea el menor de los estrictamente positivos (teniendo en cuenta que esta operación se hará únicamente cuando Pj sea superior a 0).

Elemento pivote: El elemento pivote de la tabla queda marcado por la intersección entre la columna de la variable entrante y la fila de la variable saliente.

Actualización de la tabla: ■

En la fila del elemento pivote cada nuevo elemento se calcula como: Nuevo Elemento Fila Pivote = Anterior Elemento Fila Pivote / Pivote.

En el resto de las filas cada elemento se calcula: Nuevo Elemento Fila = Anterior Elemento Fila - (Anterior Elemento Fila en Columna Pivote * Nuevo Elemento Fila Pivote). De esta forma se consigue que todos los elementos de la columna de la variable entrante sean nulos salvo el de la fila de la variable saliente cuyo valor será 1.

Ejemplos del método simplex Ejemplo 1: En una granja agrícola se desea criar conejos y pollos como complemento en su economía, de forma que no se superen en conjunto las 180 horas mensuales destinadas a esta actividad. Su almacén solo puede albergar un máximo de


22

1000 kilogramos de pienso. Si se supone que un conejo necesita 20 kg de pienso al mes y un pollo 10 kg al mes, que las horas mensuales de cuidados requeridos por un conejo son 3 y por un pollo son 2 y que los beneficios que reportaría su venta ascienden a 500 y 300 pesos por cabeza respectivamente, hallar el número de animales que deben criarse para que el beneficio sea máximo. Objetivo : Maximizar el ingreso total por la venta de los animales. Variables de decisión: Número de conejos (X​1​). Número de pollos (X​2​). Restricciones : Disponibilidad de pienso. Disponibilidad de horas. MAXIMIZAR: ​Z = 500 X​1​ + 300 X​2 20 X​1​ + 10 X​2​ ≤ 1000 3 X​1​ + 2 X​2​ ≤ 180 X​1​, X​2​ ≥ 0 Pasamos el problema a la forma estándar para aplicar el método simplex (Agregar las variables de holgura). MAXIMIZAR: ​Z = 500 X​1​ + 300 X​2​ + 0 X​3​ + 0 X​4 20 X​1​ + 10 X​2​ + X​3​ = 1000 3 X​1​ + 2 X​2​ + X​4​ = 180 X​1​, X​2​, X​3,​ X​4​ ≥ 0 Creamos la primera tabla con la solución inicial X​3​ = 1000, X​4​ = 180, X​1​ = 0, X​2​ = 0

Zj-Cj X​3

X​1

X​2

X​3

X​4

-500

-300

0

0

20

10

1

0

Solución 0 1000


23

X​4

3

2

0

1

180

Establecemos como variable de entrada la más negativa de las no básicas (X​1​) y como

variable de salida a min{1000/20, 180/3}= X​3​, por lo tanto nuestro elemento pivote es 20. Realizamos las operaciones y creamos otra tabla.

X​1

X​2

X​3

X​4

Solución

Zj-Cj

0

-50

25

0

25000

X​1

1

0.5

0.05

X​4

0

0.5

-0.15

0 1

50 30

Como aún tenemos valores negativos en Zj-Cj continuamos el algoritmo. Establecemos como variable de entrada la más negativa de las no básicas (X​2​) y como variable de salida

a min{50/0.5, 30/0.5}= X​4​, por lo tanto nuestro elemento pivote es 0.5. Realizamos las operaciones y creamos otra tabla.

X​1

X​2

X​3

X​4

Solución

Zj-Cj

0

0

10

100

28000

X​1

1

0

0.2

-1

20

X​2

0

1

-0.3

2

60

Finalizamos el método simplex porque todos los valores de Zj-Cj son positivos La solución óptima de este problema es:

X​1​=20, X​2​=60 donde Z=28000

sustituyendo estos datos en las restricciones tenemos que: 20 (20) + 10 (60) = 1000 ≤ 1000 3 (20) + 2 (60) = 180 ≤ 180


24

Por lo tanto concluimos que criando 20 conejos y 60 pollos al mes se agota el pienso almacenado y se agotan las horas asignadas para el cuidado de los animales; al final del mes se obtiene una ganancia total de 28000 pesos por la venta de los animales. Ejemplo 2: En una fábrica de dulces navideños se preparan dos surtidos para lanzarlos al mercado. El primero se vende a 450 pesos y contiene 150 gramos de polvorones, 100 gramos de mantecados y 80 gramos de roscos de vino. El segundo surtido se vende a 560 pesos y contiene 200 gramos de polvorones, 100 gramos de mantecados y 100 gramos de roscos de vino. Se dispone de un total de 200 kg de polvorones, 130 kilogramos de mantecado y 104 kg de roscos de vino. La empresa de embalajes solo le puede suministrar 1200 cajas. ¿Cuantos surtidos de cada tipo convendría fabricar para que el beneficio sea máximo? Objetivo : Maximizar el beneficio total por la venta de los diferentes surtidos. Variables de decisión: Número de surtidos del tipo 1 (X​1​). Número de surtidos del tipo 2 (X​2​). Restricciones : Disponibilidad de polvorones. Disponibilidad de mantecados. Disponibilidad de roscos de vino. Disponibilidad de cajas para los surtidos. MAXIMIZAR: ​Z = 450 X​1​ + 560 X​2 150 X​1​ + 200 X​2​ ≤ 200000

100 X​1​ + 100 X​2​ ≤ 130000 80 X​1​ + 100 X​2​ ≤ 104000 1 X​1​ + 1 X​2​ ≤ 1200 X​1​, X​2​ ≥ 0

Pasamos el problema a la forma estándar para aplicar el método simplex (Agregar las variables de holgura). MAXIMIZAR: ​Z = 450 X​1​ + 560 X​2​ + 0 X​3​ + 0 X​4​ + 0 X​5​ + 0 X​6


25

150 X​1​ + 200 X​2​ + 1 X​3​ = 200000

100 X​1​ + 100 X​2​ + 1 X​4​ = 130000 80 X​1​ + 100 X​2​ + 1 X​5​ = 104000 1 X​1​ + 1 X​2​ + 1 X​6​ = 1200 X​1​, X​2​, X​3,​ X​4​, X​5​, X​6​ ≥ 0

Creamos la primera tabla con la solución inicial X​3​ = 200000, X​4​ = 130000, X​5​ = 104000 X​6​ = 1200, X​1​ = 0, =X​2 ​= 0 Zj-Cj X​3 X​4 X​5 X​6

X​1

X​2

X​3

X​4

X​5

X​6

-450

-560

0

0

0

0

150

200

1

0

0

0

100

100

0

1

0

0

80

100

0

0

1

0

1

1

0

0

0

1

Solución 0 200000 130000 104000 1200

Establecemos como variable de entrada la más negativa de las no básicas (X​2​) y como

variable de salida a min{200000/200, 130000/100, 104000/100, 1200/1}= X​3​, por lo tanto nuestro elemento pivote es 200. Realizamos las operaciones y creamos otra tabla. Zj-Cj X​2 X​4 X​5

X​1

X​2

X​3

X​4

X​5

X​6

Solución

-30

0

2.8

0

0

0

560000

0.75

1

0.005

0

0

0

1000

25

0

-0.5

1

0

0

30000

5

0

-0.5

0

1

0

4000


26

X​6

0.25

0

-0.005

0

0

1

200

Como aún tenemos valores negativos en Zj-Cj continuamos el algoritmo. Establecemos como variable de entrada la más negativa de las no básicas (X​1​) y como variable de salida a min{1000/0.75, 30000/25, 4000/5, 200/0.25}= X​6​, por lo tanto nuestro elemento pivote es 0.25. Realizamos las operaciones y creamos otra tabla.


27

X​1

X​2

X​3

X​4

X​5

X​6

Solución

Zj-Cj

0

0

2.2

0

0

120

584000

X​2

0

1

0.02

0

0

-3

400

X​4

0

0

0

1

0

-100

10000

X​5

0

0

-0.4

0

1

-20

0

X1

1

0

-0.02

0

0

4

800

Finalizamos el método simplex porque todos los valores de Zj-Cj son positivos La solución óptima de este problema es: Z=584000

X​1​=800, X​2​=400, X​4​=10000, X​5​ = 0 donde

sustituyendo estos datos en las restricciones tenemos que: 150 (800) + 200 (400) = 200000 ≤ 200000 100 (800) + 100 (400) = 120000 ≤ 130000 80 (800) + 100 (400) = 104000 ≤ 104000 800 + 400 =1200 ≤ 1200 Por lo tanto concluimos que elaborando 800 cajas de dulce surtido del tipo 1 y 400 cajas de dulce surtido del tipo 2 se agotan los polvorones y los roscos de vino y sobran 10 kg de mantecados; se acaban las cajas proporcionadas por la empresa de embalaje. Se genera una ganancia total de 584000 pesos por la venta de los distintos surtidos.


28

Método de la M Grande Corresponde a una variación del Algoritmo simplex para penalizar la presencia de variables artificiales, mediante la introducción de una constante M definida como un valor muy grande aunque finito. También se puede usar el Método de las Dos Fases para resolver problemas que contengan restricciones de >= o =. Para realizar este algoritmo, se siguen los mismos pasos que en el método simplex, pero antes tenemos que cambiar la función objetivo para que incluya a las variables artificiales. Estas variables tendrán que estar multiplicadas por un número suficientemente grande para que no se elimine a través de la operaciones, llamado M y que además deberá irse solamente cuando se sume o reste con otra M. Ejemplo 1: Carne con papas es el plato preferido de Pablo. Por eso decidido hacer una dieta continua de sólo estos dos alimentos (más algunos líquidos y suplementos de vitaminas). Pablo sabe que no es la dieta más sana y quiere asegurarse de que toma las cantidades adecuadas de los dos alimentos para satisfacer los requerimientos nutricionales. Cuenta con la siguiente información nutricional y de costo:


29

Solucion: El planteamiento del problema sería el siguiente Definamos a x1 = El numero de gramoss de carne, X2 el numero de gramos de papas Minz = 4x1 + 2x2 S.a 5x1 + 15x2 >=50 20X1 + 5X2 >= 40 15X1 + 2X2 <= 60 xi >= 0 Ahora con la forma Ampliada y agregando la M tenemos que Minz = 4x1 + 2x2 - Ma1 - Ma2 S.a 5x1 + 15x2 - x3 + a1 = 50 20x1 + 5x2 - x4 + a2 = 40 15x1 + 2x2 + x5 = 60 xi>=0 Solución inicial: X1=0, X2=0, X3=0, X4=0, X5=60, a1=50, a2=40, Z=0


30

(Zj-Cj) Z-4X1-2X2+Ma1+Ma2=0

Aplicamos Gauss para convertir los vectores básicos en unitarios.

Para elegir la variable de entrada, como en este caso estamos minimizando, elegimos el valor más positivo, en este caso X1. Por otro lado, la variable de salida es el valor más pequeño de las razones, es decir, el valor de la sol. entre el valor correspondiente a la columna pivote, en este caso es a2.


31

Continuamos aplicando el método hasta que las variables artificiales se conviertan en variables no básicas, en ese punto encontraremos la solución óptima. La solución es: X1=1.27, X2=2.91, X3=0, X4=0, X5=35.09, a1=0, a2=0, Z=10.91 Donde si interpretamos obtenemos que debe comer 1.27 gramos por porción de carne, y 2.91 de papas, en las restricciones, se obtienen un poco más de la desigualdad excepto en la tercera, que interpretando x5 es una variable de holgura por lo que faltaria grasa mínima que consumir. Ejemplo 2: Doña Tencha, la dietista del Hospital Lomas Verdes, es responsable de la planeación y administración de los requerimientos alimenticios. Ella analiza a los pacientes que tienen una dieta especial que consta de dos fuentes alimenticias. Al paciente no se le ha restringido la cantidad de los dos alimentos que puede consumir, sin embargo se deben satisfacer los siguientes requerimientos mínimos: 1000 unidades del nutriente A, 2000 del B y 1500 del C. Cada onza de la fuente alimenticia 1 contiene 100 unidades del nutriente A, 400 del B y 200 del C, cada onza de la fuente alimenticia 2 contiene 200 unidades de A, 250 del B y 200 del C. La fuente alimenticia 1 vale $6.00 por libra y la 2 cuesta $8.00 por libra.


32

Solución: Definamos a X1 = ​El número de onzas de la fuente alimenticia 1, X2 = El número de

onzas de la fuente alimenticia 2.

Entonces el modelo es el siguiente. Minz = 6/16x1 + 8/16x2 s.a 100x1 + 200x2 >= 1000 400x1 + 250x2 >= 2000 200x1 + 200x2 >= 1500 xi>= 0

Forma ampliada agregando variables artificiales, de exceso, y la M de penalización

Minz = 6/16x1 + 8/16x2 + Ma1 + Ma2 + Ma3 s.a 100x1 + 200x2 - x3 - a1 = 1000 400x1 + 250x2 - x4 + a2 = 2000 200x1 + 200x2 -x5 + a3 = 1500 xi>=0 Sol. inicial: X1=X2=X3=X4=X5=0, a1=1000, a2=2000, a3=1500


33

(Zj-Cj) z-0.375X1-0.5X2-Ma1-Ma2-Ma3=0


34

La sol. es: X1=5, X2=2.5, X3=0, X4=625, X5=0, a1=0, a2=0, a3=0, Z=3.125

Donde se tiene que las restricciones 1 y 3 se cumplen y utilizamos el minimo, pero la segunda restriccion tenemos un exceso de 625 unidades.


35

Método de las dos fases El método de las Dos Fases se utiliza cuando aparecen variables artificiales en la forma canónica o estándar del problema. La primera fase trata de resolver el problema auxiliar W de minimizar la suma de las variables artificiales y conseguir que sea cero (con objeto de evitar incongruencias matemáticas). Una vez resuelto este primer problema, y siempre y cuando el resultado sea el esperado, se reorganiza la tabla resultante para utilizarla en la segunda fase sobre el problema original.

Algoritmo del método de las dos fases


36

FASE 1 Construcción de la primera tabla:

Se elabora de manera análoga a la tabla inicial del método Simplex, pero con algunas diferencias. Como se ha comentado, en esta primera fase se resuelve un problema auxiliar (la minimización de la suma de las variables artificiales) con una función objetivo auxiliar. Por lo tanto en la primera fila de la tabla, donde se muestran los coeficientes de las variables de la función objetivo, aparecerán todos los términos a cero excepto los coeficientes de variables artificiales. El valor de cada uno de estos coeficientes es "-1" debido a que se está minimizando la suma de dichas variables artificiales.

P1

P2

...

Pn-k

...

Pn

P0

Wj-Cj

C0

C1

...

Cn-k

...

Cn

Solución

P​1

a11

a12

...

a1n-k

...

a1n

b1

P​2

a21

a22

...

a2n-k

...

a2n

b2

...

...

...

...

...

...

...

...

P​m

am1

am2

...

amn-k

...

amn

bm

Condición de parada y paso a la fase 2: La condición de parada es la misma que en el método Simplex normal. Esto es, cuando en la fila indicadora ninguno de los valores de los costes reducidos es negativo (ya que tal y como se ha planteado el objetivo es la maximización de (-1)·Z'). Cumplida la condición de parada es necesario determinar si es posible pasar a la segunda fase para obtener la solución óptima del problema original. Esto se hace observando el resultado obtenido en la primera fase: si su valor es 0, significa que el


37

problema original tiene solución y es posible calcularla, en caso contrario indica que se trata de un problema no factible y no tiene solución. FASE 2 La segunda fase del método de las Dos Fases se desarrolla exactamente igual que el ​método

Simplex​, con la salvedad de que antes de iniciar las iteraciones hay que eliminar las columnas correspondientes a las variables artificiales, y reconstruir la tabla inicial. ●

Eliminar Columna de variables artificiales: Si hemos llegado a la conclusión de que el problema original tiene solución, debemos preparar nuestra tabla para la segunda fase. Este paso es muy sencillo, se trata únicamente de eliminar las columnas correspondientes a las variables artificiales.

Construcción de la tabla inicial: La tabla inicial en este caso se mantiene casi igual a la última tabla de la primera fase. Únicamente habrá que modificar la fila de la función objetivo por la del problema original y calcular nuevamente la fila Z (de la misma forma que en la primera tabla de la fase 1).

A partir de este punto, todas las iteraciones hasta llegar a la solución óptima del problema no presentan ninguna diferencia con el método Simplex.

Ejemplos del método de dos fases Ejemplo : Considere el siguiente modelo de Programación Lineal:

FASE 1: Al agregar S1 como variable de exceso en la restricción 1 resulta evidente que no se dispone de una solución básica factible inicial, por tanto utilizaremos una variable auxiliar "y" que incluiremos en el lado izquierdo de la restricción y que servirá como variable básica inicial. Esto define el problema inicial de la Fase 1 junto a su tabla.


38

Luego la variable X2 entra a la base (costo reducido negativo) y claramente "y" deja la base. Se actualiza la tabla utilizando el método simplex:

Con esta tabla finaliza la Fase 1. Notar que el valor de la función objetivo al finalizar la Fase 1 es cero, por tanto podemos continuar la Fase 2. FASE 2: Se elimina la columna asociada a la variable artificial "y" y se actualiza el vector de costos reducidos considerando la función objetivo original. De esta forma se obtiene la tabla inicial de la Fase 2.

Dado que X2 es variable básica al finalizar la Fase 1 buscamos dejar esta misma variable como básica al iniciar la Fase 2. Para ello multiplicamos por -3 la fila 1 y luego la sumamos a la fila 2.


39

En este sencillo ejemplo se llega inmediatamente a la tabla final de la Fase 2, con solución óptima X1=0 y X2=10. El valor óptimo Z=-30.


40

Método Simplex Revisado El método simplex revisado conserva las mismas características que el método simplex: 1) Las variables de decisión tienen que ser mayor a cero 2) Las restricciones tienen que tener la forma <= La diferencia entre el método simplex normal y el revisado es que la mayoría de los números que aparecen en la tabla del método normal no se usan realmente en las iteraciones, por lo cual en el método revisado solo se calculan los valores necesarios para encontrar la solución óptima a través de matrices. Antes de aplicar el método es necesario pasar el modelo planteado a su forma estándar matricial: max z=Cx Ax=b x>=0 Donde: C es una vector de n filas cuyos elementos son todos los valores de la función objetivo. x, que es un vector de n columnas cuyos valores son todas las variables de x que aparecen en la función objetivo


41

A es una matriz que representa a todos los coeficientes que se encuentran del lado izquierdo de las igualdades, incluyendo a las variables de holgura. b es un vector que tiene todas las equivalencias de las igualdades en el lado izquierdo, por lo cual el número de columnas de A y son iguales El algoritmo para hallar la solución óptima son los mismos que en el método simplex. pero ahora se usan diferentes fórmulas: 1) Comenzamos por buscar la solución inicial(El vector 0) y los vectores de las matrices: Donde "b" es es una matriz que tiene los coeficientes correspondientes a las variables de decisión en las restricciones 2)Calculamos la variable de entrada con lo que seria la fila Zj-Cj, pero aplicamos esta formula: Zj-Cj=(Cb)(B^-1)(aj)-Cj Donde: Cb son los valores de las variables no básicas en la función objetivo aj es una matriz que corresponde a los valores en las restricciones que corresponden a las variables no básicas


42

Cj son los valores de las variables no básica que en la función objetivo Se utiliza el mismo criterio que en el método simplex: elegimos al valor más negativo si tenemos que maximizar la función o bien el más positivo si hay que minimizar. 3)Primero hay que calcular el nuevo valor de las variables básicas: Para calcular la variable de salida utilizamos la siguiente formula: Yi=(B^-1)(ai) Donde ai es un vector que corresponde a los valores de las restricciones de la variable de entrada Entonces hay que utilizar el mismo criterio para elegir a la variable de salida que ene le método simplex: Donde Xb e el vector con las igualdades

soluciones actuales de las


43

4) Por ultimo hay que calcular el nuevo valor de las variables básicas, para eso hay que cambiar la matriz B, pues el vector de las variables básicas cambio, por lo tanto hay que cambiar los elementos de la matriz B para que correspondan a lo valores de las restricciones en su correspondiente variable básica. Como cambio la matriz B, hay que cambiar la matriz B^-1 Tenemos que calcular el nuevo valor de Xb con la siguiente formula: Xb=B^-1(b) Donde b tiene que ser el valor que tenia el vector Xb anterior. Se regresa al paso 2 hasta que ya no exista un variable de entrada. Diagrama de flujo


44

Si de métodos hablamos Método

Características

Gráfico

Gráfica las situaciones posibles para visualizar la existencia de una solución óptima única, soluciones óptimas alternativas, la no existencia de solución y la no acotación. Constituye una ayuda visual para interpretar y entender el algoritmo del método Simplex.

Ventajas: ​Es un Problemas de programación método visual y fácil lineal de maximización o de utilizar. minimización con 2 variables de decisión y 2 o más restricciones. Desventajas: ​Solo es práctico para problemas con dos variables.

Algebraico

Utiliza un sistema de ecuaciones , y se utiliza una solución básica posible en caso de no ser óptima esta solución se prueba con una nueva solución básica tal que Znuevo > Zanterior

Ventajas: ​Es un método fácil de utilizar, y se observa claro qué variables entran y salen

Es un procedimiento iterativo que permite mejorar la solución de la función objetivo en cada paso. Se basa en la siguiente propiedad: si la función objetivo Z no toma su valor máximo en el vértice A, entonces existe una arista que parte de A y a lo largo de la cual el valor de Z aumenta.

Ventajas: ​Se visualizan las variables de entrada y de salida. Es el estándar de cómo trabaja el algoritmo

Simplex

Ventajas y Desventajas

Desventajas: ​Es de hacer varios sistemas de ecuaciones hasta encontrar la solución óptima

Desventajas: ​El origen debe pertenecer a la región factible.

Tipo de Planteamiento que resuelve

Este método trabaja muy rápido cuando los sistemas de restricciones es muy pequeño y no hay que hacer tantos movimientos entre los extremos de la región factible.

Problemas de programación lineal de maximización o minimización con n variables de decisión y m restricciones; las restricciones tienen que ser <=. Los valores bi tienen que ser mayor igual a cero.


45

M Grande

Dos fases

El método de la M grande es una forma derivada del método simplex, usado para resolver problemas donde el origen no forma parte de la región factible de un problema de programación lineal.

Ventajas​: Es que el origen pertenece a la región, y se podrá utilizar el método simplex.

Tiene como base al método simplex. La primera fase trata de resolver el problema de W de minimizar la suma de las variables artificiales y conseguir que sea cero. La segunda fase aplica el método simplex para encontrar la solución óptima.

Ventajas: ​Elimina a las variables artificiales y así evita el uso de la M grande.

Simplex revisado Es una versión reducida del método simplex para poder programar y realizar un número mínimo de operaciones con menos información que la que tenia el método simplex usual

Desventaja:​El uso de la M grande llega a hacer un problema de aritmética y de cálculos en el momento de estar trabajando con esta

Desventajas: ​Uso de Wj-Cj.

Ventajas:​ Menos información que el método simplex y solo requiere fórmulas para su proceso Desventajas:​ este método requiere muchas operaciones de matrices y deja de estar tan estructurado como el método simplex, por lo cual es posible confundirse con las iteraciones

Problemas de programación lineal donde el punto de inicio, el vector 0, no pertenezca a la región factible, por ejemplo el problema de dietas,problema de asignación,cobertura de conjuntos, etc.

El Método de Dos Fases permite abordar aquellos modelos de programación lineal que luego de ser llevados a su forma estándar no permite obtener una solución básica factible inicial en las variables del modelo.

Problemas de programación lineal de maximización o minimización con n variables de decisión y m restricciones.


46

Alumno

Página

Actividades desarrolladas en la página

Sebastian Silva

Página 2

Introducción a la programación lineal.

Alan Lozada

Páginas 3-7

Explicación del método gráfico, algoritmo del método grafico y ejercicios del método gráfico.

Sebastian Silva

Páginas 8-17

Explicación del método algebraico, algoritmo del método algebraico y ejercicios del método algebraico.

Alan Lozada

Páginas 18-26

Explicación del método simplex, algoritmo del método simplex y ejercicios del método simplex.

Sebastian Silva

Páginas 27-33

Explicación del método de la M grande, algoritmo del método de la M grande y ejercicios del método de la M grande.

Alan Lozada

Páginas 34-38

Explicación del método de dos fases, algoritmo del método de dos fases y ejercicios del método de dos fases.

Sebastian Silva

Páginas 39-42

Explicación del método simplex revisado, algoritmo del método simplex revisado y ejercicios del método simplex revisado.

Alan Lozada

Páginas 43-44

Características, ventajas, desventajas y tipo de planteamiento que resuelve de los métodos: Algebraico, M Grande y Simplex revisado.

Sebastian Silva

Páginas 43-44

Características, ventajas, desventajas y tipo de planteamiento que resuelve de los métodos: Gráfico, Simplex y Dos fases.


47

Conoce más a los creadores: George Dantzig

George Bernard Dantzig (8 de noviembre de 1914 – 13 de mayo de 2005) fue un profesor, físico y matemático estadounidense, reconocido por desarrollar el método simplex y es considerado como el «padre de la programación lineal». Recibió muchos honores, tales como la Medalla Nacional de Ciencia en 1975 y el premio de Teoría John von Neumann en 1974. Tjalling Koopmans:


48

Tjalling Charles Koopmans (28 de agosto de 1910 - 26 de febrero de 1985) fue un matemático y economista holandés estadounidense . Fue el ganador conjunto con Leonid Kantorovich del Premio Nobel de Ciencias Económicas de 1975 por su trabajo en la teoría de la asignación óptima de recursos. Koopmans demostró que, sobre la base de ciertos criterios de eficiencia, es posible hacer importantes deducciones sobre los sistemas de precios óptimos.

Sobre los Autores: Silva Salazar Omar Sebastian:​ “Soy un estudiante de 5to semestre de matemáticas aplicadas y computacion, Me gusta mucho la lectura, en específico los libros de Stephen king y John Katzenbach, las matemáticas me interesa mucho el área de análisis matemático, me gusta programar en mis tiempos libres, y además jugar algún videojuego en mis ratos libres.”


49

Lozada Sánchez Alan Omar:​ Estudiante de la FES Acatlán en la carrera de Matemáticas Aplicadas y Computación. Me gusta jugar videojuegos y salir de paseo al parque con mi mascota.

Referencias y créditos ●

(Sin autor, s.f.), PHPSimplex, recuperado 19 de octubre de 2019 de: http://www.phpsimplex.com/teoria_metodo_grafico.htm

Bryan Salazar López​ (s.f.), Ingeniería industrial, recuperado 19 de octubre de 2019 de: https://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-industrial/ investigaci%C3%B3n-de-operaciones/m%C3%A9todo-simplex/

(Sin autor, s.f), PHPSimplex, recuperado 19 de octubre de 2019 de: http://www.phpsimplex.com/teoria_metodo_simplex.htm

Galeon. (s.f.-a). INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL. Recuperado 20 octubre, 2019, de ​http://metodoscuantitativo2.ga

Salazar López, B. R. Y. A. N. (s.f.). MÉTODO SIMPLEX. Recuperado 20 octubre, 2019, de https://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-industrial/ investigaci%C3%B3n-de-operaciones/m%C3%A9todo-simplexleon.com/

Figura 2 recuperada de [​http://indoperaciones.blogspot.com/p/metodos.html​]

Figura 3 recuperada de [​https://inveoperaciones.wordpress.com/metodo-grafico​]

Capítulo 4 Método Algebraico. (s.f.). Recuperado 20 octubre, 2019, de http://www.ganimides.ucm.cl/haraya/doc/m_algebraico.pdfcom/herramientas-para-el-i ngeniero-industrial/investigaci%C3%B3n-de-operaciones/m%C3%A9todo-simplex/

Método de la Gran M. (s.f.). Recuperado 20 octubre, 2019, de https://es.wikipedia.org/wiki/M%C3%A9todo_de_la_Gran_M

Imagen de Multiplicacion de matrices recuperada de [​https://steemit.com/spanish/@josmar2511/matrices-2-operaciones​]


50

Reyes Escalera, L. D. (s.f.). Método de la M grande. Recuperado 20 octubre, 2019, de https://sites.google.com/site/metodosdeprogramacionlinealdan/metodo-de-la-m-grand erg/wiki/M%C3%A9todo_de_la_Gran_M

Reyes Escalera, L. D. (s.f.). Método de la M grande. Recuperado 20 octubre, 2019, de https://sites.google.com/site/metodosdeprogramacionlinealdan/metodo-de-la-m-grand erg/wiki/M%C3%A9todo_de_la_Gran_M

(sin autor, s.f.), Italguna,PROBLEMAS DE PROGRAMACIÓN LINEAL, Recuperado 20 de octubre de 2019 de: http://www.itlalaguna.edu.mx/academico/carreras/industrial/invoperaciones1/UIb.HTM L

Fotografia de Auto recuperada de[​https://sites.google.com/site/metodosdeprogramacionlinealdan/metodo-algebraico/p lanteamiento-1-produccion-de-autos​]

Imagen del motor recuperada de[​https://sites.google.com/site/otimizacioni/metodos-de-la-unidad-iii/b-metodo-algeb raico​]

George_Dantzig. (s.f.). Recuperado 20 octubre, 2019, de https://es.wikipedia.org/wiki/George_Dantzig

Método Algebraico. (s.f.). Recuperado 20 octubre, 2019, de https://sites.google.com/site/otimizacioni/metodos-de-la-unidad-iii/b-metodo-algebrai co

Imagen del librito recuperada de [​https://investigaciondeoperacionesunounivia.wordpress.com/2015/05/21/metodo-simp lex-revisado/​]

Método de la M Grande. (s.f.). Recuperado 20 octubre, 2019, de https://sites.google.com/view/opti-mpl/clasificaci%C3%B3n-de-m%C3%A9todos/m%C3 %A9todo-de-la-m-grande

(sin autor, s.f.), Programación lineal para ingeniería técnica, recuperado 19 de octubre de 2019 de:


51

https://www.unizar.es/3w/Materiales/ADD/Programacion_Lineal/problemas/problemas_ resueltos_webCT.pdf ●

Imagen de Carne con papas [​https://sites.google.com/view/opti-mpl/clasificaci%C3%B3n-de-m%C3%A9todos/m%C 3%A9todo-de-la-m-grande​ ]

Tjalling Koopmans. (s.f.). Recuperado 20 octubre, 2019, de https://en.wikipedia.org/wiki/Tjalling_Koopmans

● Imagen recuperada de [​https://www.semana.com/tecnologia/articulo/stadia-el-netflix-de-los-videojuegoscon-el-que-google-espera-revolucionar-esta-industria/606275​]


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.