TESIS RECOPILADA

140
“APLICACIÓN DE LA PROGRAMACIÓN LINEAL EN LA INGENIERÍA CIVIL”

Transcript of TESIS RECOPILADA

Page 1: TESIS RECOPILADA

“APLICACIÓN DE LA PROGRAMACIÓN LINEAL EN LA

INGENIERÍA CIVIL”

Page 2: TESIS RECOPILADA

INTRODUCCION

2

Page 3: TESIS RECOPILADA

JUSTIFICACIÓN DEL TEMA DE TESIS

El motivo principal que tengo para desarrollar este tema de tesis, es que su

contenido es de suma importancia para la formación de ingenieros con un enfoque

más práctico y fundamentado a la hora de tomar decisiones al desempeñar un

trabajo que tenga que ver con cualquier proceso constructivo.

No se trata solo de recopilar información acerca de este tema, mas bien lo que

pretendo es aplicar los procedimientos que ya existen de programación lineal a la

problemática que nos enfrentamos como ingenieros civiles.

Es muy importante que seamos parte del desarrollo de nuevos temas de

investigación que puedan ayudar a nuestra facultad para estar siempre a la

vanguardia y pueda crear en sus alumnos el deseo de la innovación y así cumplir

con la tarea que demanda la carrera de ingeniería.

3

Page 4: TESIS RECOPILADA

INDICE

CAPITULO I BREVE HISTORIA DE LA PROGRAMACION LINEAL1.1 ANTECEDENTES1.2 EL PUENTE AÉREO DE BELÍN

CAPITULO II METODOLOGIA PREVIA 2.1OPTIMIZACIÓN DE PROYECTOS2.2 SIMPLIFICACIÓN DEL MODELO MATEMÁTICO

CAPITULO III MODELIZACION3.1 MODELO DE TRANSPORTE3.2 MODELO DE ASIGNACION3.3 FORD - FULKERSON3.4 CAMINOS HAMILTONIANOS DE COSTO MINIMO3.5 KRUSKAL3.6 PERT – CPM

CAPITULO IV METODOS PARA LA RESOLUCION DE PROBLEMAS EN PROGRAMACION LINEAL4.1 METODO DE LA REPRESENTACION GRAFICA4.2 METODO SIMPLEX4.3 METODO DE LAS DOS FASES4.4 CAMBIOS DE VARIABLE

CAPITULO V ANALISIS DE SENSIBILIDAD5.1 COSTOS RELATIVOS O SOMBRA5.2 LAS VARIABLES DE HOLGURA5.3 INCLUSION DE VARIABLES5.4 MODIFICACION DE COEFICIENTES DE VARIABLE NO BASICA EN RESTRICCIONES5.5 AÑADIR NUEVAS RESTRICCIONES

CAPITULO VI DUALIDAD6.1 TEOREMA DEL METODO DUAL

CAPITULO VII ALGORITMO SIMPLEX DUAL

4

Page 5: TESIS RECOPILADA

7.1 ANALISIS DE SENSIBILIDAD

CAPITULO VIII PROBLEMAS APLICADOS A LA INGENIERIA CIVIL8.1 PRODUCCION DIARIA, CATORCENAL O MENSUAL PARA ALCANZAR VOLUMENES ESTIMADOS EN OBRA.8.2 REDUCCION DE COSTOS DE PRODUCCION DE CONCRETO, CUMPLIENDO CON LAS NORMAS ESTABLECIDAS8.3 ANALISIS DE FACTIBILIDAD DE OBRA8.4 OPTIMIZACION DE FACTOR HORA – MAQUINA8.5 RUTA CRÍTICA DE OBRA8.6 ARRENDAMIENTO DE MAQUINARIA8.7 DISMINUCION DE COSTOS POR FLETE8.8 MANTENIMIENTO DE CARRETERAS

CONCLUSIONES

BIBLIOGRAFIA

ANEXO I PROBLEMAS RESUELTOS

ANEXO II METODOS DE SOLUCION POR COMPUTADORA

5

Page 6: TESIS RECOPILADA

CAPITULO IBREVE HISTORIA DE LA PROGRAMACION LINEAL

6

Page 7: TESIS RECOPILADA

1.1 ANTECEDENTES

Muchos problemas de la vida cotidiana comprenden maximizar o minimizar una

función sujeta a ciertas restricciones; tal vez se quiera maximizar las ganancias en

cierta empresa pero nos topamos con limitaciones que condicionan dicha acción,

para dar una solución matemática a estas situaciones surgió la programación

lineal.

En los siglos XVII y XVIII, grandes matemáticos como Newton, Leibnitz, Bernouilli

y, sobre todo, Lagrange, que tanto habían contribuido al desarrollo del cálculo

infinitesimal, se ocuparon de obtener máximos y mínimos condicionados de

determinadas funciones.

Posteriormente el matemático francés Jean Baptiste-Joseph Fourier (1768-1830)

fue el primero en intuir, aunque de forma imprecisa, los métodos de lo que

actualmente llamamos programación lineal y la potencialidad que de ellos se

deriva.

Si exceptuamos al matemático Gaspar Monge (1746-1818), quien en 1776 se

interesó por problemas de este género, debemos remontarnos al año 1939 para

encontrar nuevos estudios relacionados con los métodos de la actual

programación lineal. En este año, el matemático ruso Leonodas Vitalyevich

Kantarovitch publica una extensa monografía titulada Métodos matemáticos de

organización y planificación de la producción en la que por primera vez se hace

corresponder a una extensa gama de problemas una teoría matemática precisa y

bien definida llamada, hoy en día, programación lineal .

En 1941-1942 se formula por primera vez el problema de transporte, estudiado

independientemente por Koopmans y Kantarovitch, razón por la cual se suele

conocer con el nombre de problema de Koopmans-Kantarovitch.

7

Page 8: TESIS RECOPILADA

Tres años más tarde, G. Stigler plantea otro problema particular conocido con el

nombre de régimen alimenticio optimal.

En estos años posteriores a la Segunda Guerra Mundial, en Estados Unidos se

asumió que la eficaz coordinación de todas las energías y recursos de la nación

era un problema de tal complejidad, que su resolución y simplificación pasaba

necesariamente por los modelos de optimización que resuelve la programación

lineal.

Paralelamente a los hechos descritos se desarrollan las técnicas de computación y

los ordenadores, instrumentos que harían posible la resolución y simplificación de

los problemas que se estaban gestando.

El problema de la resolución de un sistema lineal de inecuaciones se remonta, al

menos, a Fourier, después de quien nace el método de eliminación de Fourier-

Motzkin. La programación lineal se plantea como un modelo matemático

desarrollado durante la Segunda Guerra Mundial para planificar los gastos y los

retornos, a fin de reducir los costos al ejército y aumentar las pérdidas del

enemigo. Se mantuvo en secreto hasta 1947. En la posguerra, muchas industrias

lo usaron en su planificación diaria.

Los fundadores de la técnica son George Dantzig, quien publicó el algoritmo

símplex, en 1947, John Von Neumann, que desarrolló la teoría de la dualidad en el

mismo año, y Leonid Kantoróvich, un matemático ruso, que utiliza técnicas

similares en la economía antes de Dantzig y ganó el premio Nobel en economía

en 1975. En 1979, otro matemático ruso, Leonid Khachiyan, demostró que el

problema de la programación lineal era resoluble en tiempo polinomial. Más tarde,

en 1984, Narendra Karmarkar introduce un nuevo método del punto interior para

resolver problemas de programación lineal, lo que constituiría un enorme avance

en los principios teóricos y prácticos en el área.

El ejemplo original de Dantzig de la búsqueda de la mejor asignación de 70

personas a 70 puestos de trabajo es un ejemplo de la utilidad de la programación

8

Page 9: TESIS RECOPILADA

lineal. La potencia de computación necesaria para examinar todas las

permutaciones a fin de seleccionar la mejor asignación es inmensa; el número de

posibles configuraciones excede al número de partículas en el universo.

Sin embargo, toma sólo un momento encontrar la solución óptima mediante el

planteamiento del problema como una programación lineal y la aplicación del

algoritmo símplex. La teoría de la programación lineal reduce drásticamente el

número de posibles soluciones óptimas que deberán ser revisadas.

En 1947, G.B. Dantzig formula, en términos matemáticos muy precisos, el

enunciado estándar al que cabe reducir todo problema de programación lineal.

Dantzig, junto con una serie de investigadores del United States Departament of

Air Force, formarían el grupo que dio en denominarse SCOOP (Scientific

Computation of Optimum Programs).

Una de las primeras aplicaciones de los estudios del grupo SCOOP fue el puente

aéreo de Berlín. Se continuó con infinidad de aplicaciones de tipo preferentemente

militar.

Hacia 1950 se constituyen, fundamentalmente en Estados Unidos, distintos grupos

de estudio para ir desarrollando las diferentes ramificaciones de la programación

lineal. Cabe citar, entre otros, Rand Corporation, con Dantzig, Orchard-Hays, Ford,

Fulkerson y Gale, el departamento de Matemáticas de la Universidad de

Princenton, con Tucker y Kuhn, así como la Escuela Graduada de Administración

Industrial, dependiente del Carnegie Institute of Technology, con Charnes y

Cooper.

Los fundamentos matemáticos de la programación lineal se deben al matemático

norteamericano de origen húngaro Janos Von Neuman (1903-1957), quien en

1928 publicó su famoso trabajo Teoría de Juegos. En 1947 conjetura la

equivalencia de los problemas de programación lineal y la teoría de matrices

desarrollada en sus trabajos. La influencia de este respetado matemático,

discípulo de David Hilbert en Gotinga y, desde 1930, catedrático de la Universidad

9

Page 10: TESIS RECOPILADA

de Princenton de Estados Unidos, hace que otros investigadores se interesaran

paulatinamente por el desarrollo riguroso de esta disciplina.

En 1858 se aplicaron los métodos de la programación lineal a un problema

concreto: el cálculo del plan óptimo de transporte de arena de construcción a las

obras de edificación de la ciudad de Moscú. En este problema había 10 puntos de

partida y 230 de llegada. El plan óptimo de transporte, calculado con el ordenador

Strena en 10 días del mes de junio, rebajó un 11% los gastos respecto a los

costes previstos.

Se ha estimado, de una manera general, que si un país subdesarrollado utilizase

los métodos de la programación lineal, su producto interior bruto (PIB) aumentaría

entre un 10 y un 15% en tan sólo un año.

Respecto al método del símplex, su estudio comenzó en el año 1951 y fue

desarrollado por Dantzig en el United States Bureau of Standards SEAC

COMPUTER, ayudándose de varios modelos de ordenador de la firma IBM.

10

Page 11: TESIS RECOPILADA

1.2 EL PUENTE AEREO DE BERLIN

En 1946 comienza el largo período de la guerra fría entre la antigua Unión

Soviética (URSS) y las potencias aliadas (principalmente, Inglaterra y Estados

Unidos). Uno de los episodios más llamativos de esa guerra fría se produjo a

mediados de 1948, cuando la URSS bloqueó las comunicaciones terrestres desde

las zonas alemanas en poder de los aliados con la ciudad de Berlín, iniciando el

bloqueo de Berlín. A los aliados se les plantearon dos posibilidades: o romper el

bloqueo terrestre por la fuerza, o llegar a Berlín por el aire. Se adoptó la decisión

de programar una demostración técnica del poder aéreo norteamericano; a tal

efecto, se organizó un gigantesco puente aéreo para abastecer la ciudad: en

diciembre de 1948 se estaban transportando 4500 toneladas diarias; en marzo de

1949, se llegó a las 8000 toneladas, tanto como se transportaba por carretera y

ferrocarril antes del corte de las comunicaciones. En la planificación de los

suministros se utilizó la programación lineal. (El 12 de mayo de 1949, los

soviéticos levantaron el bloqueo).

Los aliados se decidieron por una atrevida aventura, sin precedentes en toda la

historia de la humanidad. Había sólo una vía de salvación: la provisión desde

arriba. Los americanos junto con los ingleses consiguieron con una logística

magistral que aterrizase cada tres minutos un avión en uno de los tres aeropuertos

de Berlín. En los 322 días del bloqueo y gracias a un plan operativo sofisticado, los

aliados lograron aumentar su capacidad de transporte de 4.500 a 11.200

toneladas diarias. Trajeron aviones de todo el mundo; en los días cúspide había

un total de 400 aviones en uso constante. Enormes petroleros atravesaban el

Atlántico cargados de gasolina y queroseno. Según un acuerdo con los soviéticos

sólo se podían emplear tres corredores o caminos aéreos. Cinco diferentes alturas

de vuelo aprovechaban los corredores al máximo. Por medio de este truco

lograron poner la distancia de seguridad entre los aviones que volaban a la misma

11

Page 12: TESIS RECOPILADA

altura, en 15 minutos, a pesar de que cada 3 minutos podía aterrizar un avión en

el aeropuerto de Tempelhof.

Los esfuerzos para mantener el puente aéreo fueron inmensos. En una red

logística mundial había 150.000 personas trabajando. Unas tres cuartas partes de

los materiales los volaron los americanos, y una cuarta parte los ingleses. En los

casi 280.000 vuelos transportaron 2,3 millones de toneladas de mercancías a

Berlín. El récord de un día fue el 16 de abril con 12.940 toneladas, que son 22

trenes de mercancía con 50 vagones cada uno. Si sumamos las horas de vuelo,

serían 35 años de tiempo de vuelo. La distancia total recorrida de todos los vuelos

del puente aéreo asciende a 175 millones de kilómetros, esto es 456 veces la

distancia de la tierra a la luna, o 1,17 veces la distancia de la tierra al sol. Durante

el puente aéreo murieron 76 personas. La operación "puente aéreo de Berlín"

costó 200 millones de dólares. Y hay que tener en cuenta que en aquel entonces

el dólar tenía un valor de 10 Euros.

12

Page 13: TESIS RECOPILADA

CAPITULO IIMETODOLOGIA PREVIA

13

Page 14: TESIS RECOPILADA

2.1 OPTMIZACION DE PROYECTOS

Es el conjunto de acciones que nos permiten plantear de forma abstracta los

problemas mediante una modelización matemática que nos permitirá resolverlos

de manera numérica.

Se trata de optimizar sistemas partiendo de premisas, en todo sistema existirá un

conjunto de variables y las relaciones entre dichas variables. Por ejemplo:

Si estamos en obra construyendo un camino tendremos una variable X que será el

número de metros cúbicos de concreto asfáltico que queremos aplicar durante el

día y una variable Y que será la lluvia.

Los valores de la variable X los podemos controlar, pero no los de la variable Y,

luego la variable X será una variable interna de nuestro problema, y la variable Y

será una variable externa.

El conjunto de todas las variables internas X nos define el conjunto o dominio

donde estará nuestra solución óptima, este dominio estará definido por el conjunto

de premisas de nuestro problema.

Una vez conocido el dominio de nuestro problema definiremos la función objetivo,

que es aquello que queremos optimizar, para nuestro ejemplo seria maximizar la

cantidad de metros cúbicos de concreto asfáltico a aplicarse diario en el camino,

cabe destacar que la función objetivo nos sirve también para minimizar en otras

situaciones, de ahí la expresión de “maximizar la producción minimizando costos”.

Sabiendo el rumbo que tomara nuestra función objetivo, definiremos todas las

restricciones que debemos tomar en cuenta para llegar a nuestro objetivo

(maximizar o minimizar), lo haremos como un conjunto de ecuaciones o

inecuaciones matemáticas que representaran las limitaciones de nuestro

problema.

14

Page 15: TESIS RECOPILADA

Las restricciones son de la forma:

Σ ai * Xi ≤ bi

Σ ai *Xi ≥ bi

Siendo ai y bi coeficientes, y Xi variables.

En la programación lineal siempre esta implícita la restricción de que las variables

de la función objetivo sean siempre mayores o iguales a cero (positivas),

definiéndose entonces:

Para todo i: Xi ≥ 0.

La solución factible será aquella que cumpla las condiciones planteadas por

nuestro problema y llamaremos solución óptima a aquella solución que nos

optimice en mayor medida el objetivo de nuestro problema. De esta manera la

solución optima no tiene por que ser única, puede darse el caso en el que existan

2 ó mas soluciones optimas, entonces el criterio de elección de una solución será

ajeno a nuestros cálculos

15

Page 16: TESIS RECOPILADA

2.2 SIMPLIFICACION DEL MODELO MATEMATICO

Una vez establecido correctamente el modelo matemático de nuestro problema,

deberemos tener en cuenta una serie de consideraciones que simplificarán

nuestro trabajo:

1) Eliminación de restricciones redundantes.

Si alguna restricción está incluida en otra, es lógico pensar en su anulación.

Por ejemplo, si tenemos las siguientes restricciones:

(X1/a11) + (X2/b11) ≤1

(X1/a21) + (X2/b21) ≤1

Si se cumple:

A11/a21>1

B11/b21>1

Gráficamente se representa en la figura1.

16

Page 17: TESIS RECOPILADA

figura 2.1

Si nuestra función objetivo trata un problema de maximización; es evidente que

podremos eliminar la restricción.

(X1/a11) + (X2/b11) ≤ 1

2) Eliminación de restricciones obvias.

Dado que la restricción de para todo i: Xi ≥ 0 va implícita en nuestros problemas,

podemos obviar las restricciones del tipo:

a * X1 + b * X2 ≥ 0

Ya que siempre se cumplirá

3) Eliminación de variables inútiles.

Si al modelizar nuestro problema, en nuestra función objetivo, aparecen variables

no sujetas a restricciones (variables que no aparecen en las restricciones), las

podremos eliminar de nuestro problema, ya que el valor de estas variables no

condiciona la solución del problema.

4) División en subproblemas.

17

Page 18: TESIS RECOPILADA

Si al analizar un problema, observamos que se pueden dividir las restricciones en

conjuntos distintos (de tal forma que no tengan variables comunes) también

podremos dividir nuestro problema en tantos subproblemas como conjuntos de

restricciones tengamos. La solución de nuestro problema original será la unión de

las soluciones de los subproblemas tratados. Por ejemplo.

La modelización de un problema es:

Función objetivo: Max 2 X1 + 4 X2 + 3 X3 + 8 X4

Sujeto a: X1 + 9X2 ≤ 7

5X1 + 7X2 ≥ 9

2X3 + X4 ≤ 3

4X3 + 6X4 ≥ 12

Podemos dividir nuestro problema en subproblemas:

A) Función objetivo: Max 2 X1 + 4 X2

Sujeto a: X1 + 9 X2 ≤ 7

5X1 + 7 X2 ≥ 9

B) Función objetivo: Max 3 X3 + 8 X4

Sujeto a: 2X3 + X4 ≤ 3

4X3 + 6X4 ≥ 12

Es lógico pensar que si en nuestro problema tenemos n variables y n restricciones

linealmente independientes y sin contracciones (que no estén unas contenidas en

otras), sólo existirá una única solución a nuestro problema.

5) Homogenización de restricciones.

Como veremos más adelante, para poder resolver los problemas de programación

lineal por el método Símplex, será conveniente tener las restricciones de nuestro

problema de tal forma que los términos “bi” sean mayores o iguales a cero. Por

ello, ya que podemos encontrarnos con restricciones del tipo:

Σ ai * Xi ≥ -bi

18

Page 19: TESIS RECOPILADA

Σ ai * Xi ≤ -bi

Σ ai * Xi = -bi

Podremos homogenizar nuestro sistema, convirtiéndolo al tipo:

Σ -ai*Xi ≤ bi

Σ -ai*Xi ≥ bi

Σ -a*Xi = bi

Con sólo multiplicar por –1 y cambiar el sentido de nuestra desigualdad. Es decir:

Σ ai * Xi ≥ -bi → Σ (-1) * ai * Xi ≤ bi

Donde se mantendrán las condiciones de la restricción y se posibilitará la

resolución del problema mediante el método Simplex.

CAPITULO IIIMODELIZACIÓN

19

Page 20: TESIS RECOPILADA

3.1 MODELO DE TRANSPORTE

El modelo de transporte busca determinar un plan de transporte de una mercancía

de varias fuentes a varios destinos. Los datos del modelo son:

1.- Nivel de oferta en cada fuente y la cantidad de demanda en cada destino.

2.- El costo de transporte unitario de la mercancía a cada destino.

Como solo hay una mercancía un destino puede recibir su demanda de una o más

fuentes. El objetivo del modelo es el de determinar la cantidad que se enviará de

cada fuente a cada destino, tal que se minimice el costo del transporte total.

20

Page 21: TESIS RECOPILADA

La suposición básica del modelo es que el costo del transporte en una ruta es

directamente proporcional al número de unidades transportadas. La definición de

“unidad de transporte” variará dependiendo de la “mercancía” que se transporte.

 

Figura 3.1

En la figura 3.1 se representa el modelo de transporte como una red con m

fuentes y n destinos. Una fuente o un destino esta representado por un nodo, el

arco que une fuente y un destino representan la ruta por la cual se transporta la

mercancía. La cantidad de la oferta en la fuente i es ai, y la demanda en el destino

j es bj. El costo de transporte unitario entre la fuente i y el destino j es Cij.

Si Xi j representa la cantidad transportada desde la fuente i al destino j, entonces,

el modelo general de PL que representa el modelo de transporte es:

Minimiza Z = S i=1 m S j=1 n C i j X i j

Sujeta a:

S j=1 n X i j <= ai , i=1,2,…, m

21

Page 22: TESIS RECOPILADA

S i=1 m X I j >= bj , j=1,2,…, n 

X i j >=0 para todas las i y j

El primer conjunto de restricciones estipula que la suma de los envíos desde

una fuente no puede ser mayor que su oferta; en forma análoga, el segundo

conjunto requiere que la suma de los envíos a un destino satisfaga su demanda.

El modelo que se acaba de escribir implica que la oferta total Si=1 m ai debe ser

cuando menos igual a la demanda total Sj=1 n bj. Cuando la oferta total es igual a la

demanda total, la formulación resultante recibe el nombre de modelo de transporte

equilibrado. Este difiere del modelo solo en el hecho de que todas las restricciones

son ecuaciones, es decir: 

SX i j = ai, i=1,2,..., m

SX i j = bj, j=1,2,..., n 

3.2. MODELO DE ASIGNACIÓN.

Supone que tiene unos puestos de trabajo y unos candidatos. Se quiere estudiar

cómo cubrir estos puestos de forma que se optimice una variable que sea

significativa.

Para este tipo de modelización necesitamos definir una nueva variable, llamada

variable dual que la representaremos por aij y su funcionamiento es el siguiente:

Figura 3.2

22

Page 23: TESIS RECOPILADA

Si aij = 1 entonces el señor i ocupa el puesto j.

Si aij = 0 entonces el señor i no ocupa el puesto j.

Se llama variable dual porque sólo puede tomar dos valores: 1 ó 0 (figura 3.2)

En nuestro problema tendremos que definir:

Vij ---- valor de la persona i para el puesto j.

Función objetivo: Maximizar Σ aij * Vij

Sujeto a: Para todo i: Σ aij = 1

Para todo j: Σ aij ≤ 1

La primera restricción indica que un señor sólo ocupará un puesto.

La segunda indica que un puesto sólo lo ocupará un señor o bien no estará

ocupado.

Un problema de asignación es un problema de transporte balanceado, en el cual

todas las ofertas y todas las demandas son iguales a uno. Se puede resolver

eficientemente un problema de asignación m x m mediante el método Húngaro:

Paso 1.- Empiece por encontrar el elemento mas pequeño en cada renglón

de la matriz de costos. Construya una nueva matriz, al restar de cada costo, el

costo mínimo de su renglón. Encuentre, para esta nueva matriz el costo mínimo en

cada columna. Construya una nueva matriz (la matriz de costos reducidos) al

restar de cada costo el costo mínimo de su columna.

Paso 2.- Dibuje el mínimo numero de líneas (horizontales o verticales) que

se necesitan para cubrir todos los ceros en la matriz de costos reducidos. Si se

requieren m líneas para cubrir todos los ceros.

Paso 3.- Encuentre el menor elemento no cero (llame su valor k en la matriz

de costos reducidos, que no esta cubiertos por las líneas dibujadas en el paso 2.

Ahora reste k de cada elemento no cubierto de la matriz de costos reducidos y

23

Page 24: TESIS RECOPILADA

sume k a cada elemento de la matriz de costos reducidos cubierto por dos líneas.

Regrese al paso 2.

Se caracteriza por el conocimiento del costo de asignación de cada punto de

oferta a cada punto de demanda. La matriz de costos del problema de asignación

se llama: matriz de costos.

Como todas las ofertas y demandas para el problema de asignación son números

enteros, todas las variables en la solución óptima deben ser valores enteros.

3.3 FORD - FULKERSON

MODELO DEL FLUJO MÁXIMO:

En algunas redes circula por los arcos un flujo (envío o circulación de unidades

homogéneas de algún producto: automóviles en una red de carreteras, litros de

petróleo en un oleoducto, bits por un cable de fibra óptica) desde el origen o fuente

al destino, también denominado sumidero o vertedero. Los arcos tienen una

capacidad máxima de flujo, y se trata de enviar desde la fuente al sumidero la

mayor cantidad posible de flujo, de tal manera que:

El flujo es siempre positivo y con unidades enteras.

El flujo a través de un arco es menor o igual que la capacidad.

El flujo que entra en un nodo es igual al que sale de él.

En el caso de que el origen o el destino no existan en el problema, se añaden

ficticiamente utilizando arcos unidireccionales de capacidad infinita, (figura 3.3)

24

Page 25: TESIS RECOPILADA

Figura 3.3

Un corte define una serie de arcos cuya supresión de la red causa una

interrupción completa del flujo entre el origen y el destino. La capacidad de corte

es igual a la suma de las capacidades de los arcos asociados. Entre todos los

cortes posibles en la red, el corte con la menor capacidad proporciona el flujo

máximo en la red.

La figura 3.4 ilustra 3 cortes: el Corte 1 con capacidad 60, el Corte 2 con

capacidad 110 y

el Corte 3 con

capacidad 70.

Todo lo que

podemos obtener

de los 3 cortes es

que el flujo

máximo en la red

no excede de 60

unidades. No

25

Page 26: TESIS RECOPILADA

podemos saber cual es el flujo máximo hasta que se hayan enumerado todos los

cortes en la red:

Figura 3.4

Las capacidades se identifican como sigue: por ejemplo, para el arco (3,4), el

límite de flujo es de 10 unidades de 3 a 4 y de 5 unidades de 4 a 3.

El algoritmo de Ford-Fulkerson propone buscar caminos en los que se pueda

aumentar el flujo, hasta que se alcance el flujo máximo.

La idea es encontrar una ruta de penetración con un flujo positivo neto que una los

nodos origen y destino.

Consideraremos las capacidades iniciales del arco que une el nodo i y el nodo j

como Cij y Cji. Estas capacidades iniciales irán variando a medida que avanza el

algoritmo, denominaremos capacidades residuales a las capacidades restantes

del arco una vez pasa algún flujo por él, las representaremos como cij y cji.

26

Page 27: TESIS RECOPILADA

Para un nodo j que recibe el flujo del nodo i, definimos una clasificación [aj,i]

donde aj es el flujo del nodo i al nodo j.

Los pasos del algoritmo se definen como sigue:

Paso 1: Inicializamos las capacidades residuales a las capacidades

iniciales, hacemos (cij,cji)=(Cij,Cji) para todo arco de la red. Suponiendo el nodo 1

como el nodo origen, hacemos a1=∞ y clasificamos el nodo origen con [∞,-].

Tomamos i=1.

Paso 2: Determinamos la solución inicial (SI) como un conjunto que

contendrá los nodos a los que podemos acceder directamente desde i por medio

de un arco con capacidad positiva, y que no formen parte del camino en curso. Si

Si contiene algún nodo vamos al paso 3, en el caso de que el conjunto sea vacío

saltamos al paso 4.

Paso 3: Obtenemos kЄSI como el nodo destino del arco de mayor

capacidad que salga de i hacia un nodo perteneciente a SI. Es decir, cik = max{cij}

con jЄSI. Hacemos ak=cik y clasificamos el nodo k con [ak,i]. Si k es igual al nodo

destino o sumidero, entonces hemos encontrado una ruta de penetración, vamos

al paso 5. En caso contrario continuamos con el camino, hacemos i=k y volvemos

al paso 2.

Paso 4 (retroceso): Si i=1, estamos en el nodo origen, y como SI es vacío,

entonces no podemos acceder a ningún nodo, ni encontrar algún nuevo camino,

vamos al paso 6.

En caso contrario, i≠1, le damos al valor i el del nodo que se ha clasificado

inmediatamente antes, eliminamos i del conjunto Si actual y volvemos al paso 2.

Paso 5: Llegados a este paso tenemos un nuevo camino: Np={1,k1,k2,...,n},

esta será la p-ésima ruta de penetración desde el nodo origen al nodo destino. El

flujo máximo a lo largo de esta ruta será la capacidad mínima de las capacidades

residuales de los arcos que forman el camino, es decir: fp = min{a1,ak1,ak2,...,an}.

La capacidad residual de cada arco a lo largo de la ruta de penetración se

disminuye por fp en dirección del flujo y se incrementa por fp en dirección inversa,

es decir, para los nodos i y j en la ruta, el flujo residual se cambia de la (cij,cji)

27

Page 28: TESIS RECOPILADA

actual a (cij-fp,cji+fp) si el flujo es de i a j, ó (cij+fp,cji-fp) si el flujo es de j a i

Inicializamos i=1 y volvemos al paso 2 para intentar una nueva ruta de

penetración.

Paso 6 (solución): Una vez aquí, hemos determinado m rutas de

penetración. El flujo máximo en la red será la suma de los flujos máximos en cada

ruta obtenida, es decir: F=f1+f2+...+fm. Teniendo en cuenta que las capacidades

residuales inicial y final del arco (i, j) las dan (Cij,Cji) y (cij,cji) respectivamente, el

flujo máximo para cada arco se calcula como sigue: sea (α, β)=(Cij-cij, Cji-cji), si

α>0, el flujo óptimo de i a j es α, de lo contrario, si β>0, el flujo óptimo de j a i es β.

Es imposible lograr que tanto α como β sean positivas.

3.4 CAMINOS HAMILTONIANOS DE COSTO MINIMO

En el campo matemático de la teoría de graficas, un camino hamiltoniano en un

grafica es un camino, una sucesión de aristas adyacentes, que visita todos los

vértices de la grafica una sola vez. Si además el último vértice visitado es

adyacente al primero, el camino es un ciclo hamiltoniano (figura 3.5)

El problema de encontrar un camino hamiltoniano en una grafica arbitraria se sabe

que es NP-completo.

28

Page 29: TESIS RECOPILADA

Los caminos y ciclos hamiltonianos fueron nombrados después que William

Rowan Hamilton, inventor del juego de Hamilton, lanzara un juguete que

involucraba encontrar un ciclo hamiltoniano en las aristas de una grafica de un

dodecaedro. Hamilton resolvió este problema usando cuaterniones, pero esta

solución no se generaliza a todos las graficas.

Figura 3.5

aij =0 el arco (i,j) no forma parte del camino.

aij =1 el arco (i,j) forma parte del camino.

FUNCION OBJETIVO: Min Σ Cij * aij

Sujeto a: para todo i: Σ aij =1 sólo sale un arco de cada nodo.

Para todo j: Σ aij =1 sólo llega un arco de cada nodo.

3.5 KRUSKAL

El algoritmo de Kruskal es un algoritmo de la teoría de graficas para encontrar un

árbol recubridor mínimo en una grafica conexa y ponderada. Es decir,

busca un subconjunto de aristas que, formando

un árbol, incluyen todos los vértices y donde el

valor total de todas las aristas del árbol es

el mínimo. Si la grafica no es conexa, entonces

busca un bosque expandido mínimo (un árbol

29

Page 30: TESIS RECOPILADA

expandido mínimo para cada componente conexa). El algoritmo de Kruskal es un

ejemplo de algoritmo voraz.

Figura 3.6

En la figura 3.6 se observa un ejemplo de árbol expandido mínimo. Cada punto

representa un vértice, el cual puede ser un árbol por sí mismo. Se usa el Algoritmo

para buscar las distancias más cortas (árbol expandido) que conectan todos los

puntos o vértices.

De manera que:

Cij---- costo arista entre el nodo i y el nodo j.

FUNCION OBJETIVO: Min Σ Cij * aij

Sujeto a: para todo i: Σ aij ≥ 1

Al menos llega una arista y al menos sale otra

Para todo j: Σ aij ≥ 1

aij ≤ 1

Funciona de la siguiente manera:

Se crea un bosque B (un conjunto de árboles), donde cada vértice de la

grafica es un árbol separado

Se crea un conjunto C que contenga a todas las aristas de la grafica

mientras C es no vacío

*eliminar una arista de peso mínimo de C

30

Page 31: TESIS RECOPILADA

*si esa arista conecta dos árboles diferentes se añade al bosque,

combinando los dos árboles en un solo árbol

*en caso contrario, se desecha la arista

Al acabar el algoritmo, el bosque tiene un solo componente, el cual forma un árbol

de expansión mínimo de la grafica.

Este algoritmo fue publicado por primera vez en Proceedings of the American

Mathematical Society, pp. 48–50 en 1956, y fue escrito por Joseph Kruskal.

3.6 PERT – CPM

La problemática de la planeación de proyectos no ha sido una problemática

reciente, si no que desde tiempos pasados nuestros antepasados han enfrentado

emprendimientos de gran envergadura que significaron una problemática desde el

punto de la planificación.

Actualmente se han logrado perfeccionar herramientas que permiten a los

administradores de dichos proyectos, realizar una labor más eficiente permitiendo

31

Page 32: TESIS RECOPILADA

una óptima aplicación de los recursos en las mismas y logrando una maximización

de los mismos.

Admitiendo que la ejecución de un proyecto o elaboración se puede subdividir en

planear, programar y controlar, y hablando de manera clásica, podemos

considerar las técnicas PERT(Program Evaluation aand review Technique) y el

CPM (Critical Path Method,) que son los mas usuales para un primer cometido. En

general estas técnicas resultan útiles para una gran variedad de proyectos que

contemplen:

Investigación y desarrollo de nuevos productos y procesos.

Construcción de plantas, edificios, y carreteras.

Diseño de equipo grande y complejo.

Diseño e instalación de sistemas nuevos.

Diseño y control de epidemias, y otras múltiples aplicaciones en las cuales se

requiera una planificación adecuada.

En los proyectos como estos, los administradores deben programas, coordinar las

diversas tareas o actividades a desarrollar un proyecto, las cuales no

necesariamente son secuenciales, y aun en este caso estas actividades son

interdependientes. Si bien es cierto que, algunas actividades en paralelo que

originan una tercera.

Las preguntas esenciales de la elaboración de un proyecto comprenden:

*¿Cual es el tiempo que se requiere para terminar el proyecto?

*¿Cuales son las fechas programadas de inicio y finalización del proyecto?

*¿Que actividades son críticas y deben terminarse exactamente según lo

programado para poder mantener el proyecto según el cronograma?

*¿Cuales actividades pueden ser demoradas sin afectar el tiempo de terminación

del proyecto?

32

Page 33: TESIS RECOPILADA

PROCEDIMIENTO PARA TRAZAR UN MODELO DE RED

Para aplicar CPM o PERT se requiere conocer la lista de actividades que incluye

un proyecto. Se considera que el proyecto esta terminado cuando todas las

actividades han sido completadas. Para cada actividad, puede existir un conjunto

de actividades predecesoras que deben ser completadas antes de que comience

la nueva actividad. Se construye una malla o red del proyecto para graficar las

relaciones de precedencia entre las actividades. En dicha representación grafica,

cada actividad es representada como un arco y cada nodo ilustra la culminación

de una o varias actividades.

Consideremos un proyecto que consta de solo dos actividades A y B.

Supongamos que la actividad A es predecesora de la actividad B. La

representación grafica de este proyecto se muestra en la figura. Así, el nodo 2

representa la culminación de la actividad A y el comienzo de la actividad B.

Figura 3.7

Si suponemos ahora que las actividades A y B deben ser terminadas antes que

una actividad C pueda comenzar, la malla del proyecto queda como se muestra en

la figura 3.8, en este caso, el nodo representa que las actividades A y B se han

terminado, además del inicio de la actividad C. Si la actividad A fuera predecesora

de las actividades B y C, la red quedara como se muestra en la figura 3.9.

Proyecto de tres actividades

A B

1 2 3

33

A B

C

1

Page 34: TESIS RECOPILADA

Figura 3.8a

Figura 3.8b

Dado un conjunto de actividades y sus relaciones de predecisión, se puede

construir una representación grafica de acuerdo a las siguientes reglas:

El nodo 1 representa el inicio del proyecto. Por lo tanto, las actividades que

parten del nodo 1 no pueden tener predecesoras.

El nodo Terminal o final del proyecto debe representar el término de todas

las actividades incluidas en la red.

Una actividad no puede ser representada por más de un arco en la red.

Dos nodos deben estar conectados por a lo mas un arco.

Para no violar las reglas 3 y 4, a veces es necesario introducir una actividad

artificial o “Dummy” que posee tiempo de duración nulo. Por ejemplo, supongamos

que las actividades A y B son predecesoras de la actividad C y además comienzan

al mismo tiempo. En este caso, una primera representación podría ser la indicada

en la figura 3.8b. Sin embargo, la red de la figura 3.9 viola la regla 4. Para corregir

este problema, se introduce una actividad artificial indicada con un arco

segmentado en la figura

La red de la figura 3.10 refleja el hecho de que la actividad C tiene como

predecesoras a A y B, pero sin violar la regla 4. En otros casos, se deben agregar

actividades artificiales para no violar la regla 3.

34

A B

C

11

1

1

Page 35: TESIS RECOPILADA

A C

C Dummy

Figura 3.9

A y B predecesoras de C

Figura 3.10

Incorporación de una actividad artificial.

A

C

B

1 2

35

Page 36: TESIS RECOPILADA

Figura 3.11

En la figura 3.11 enlista la lógica seguida para la construcción de una red

36

Page 37: TESIS RECOPILADA

PASOS EN EL PLANEAMIENTO DEL PROYECTO DEL CPM

1. Especifique las actividades individuales.

2. Determine la secuencia de esas actividades.

3. Dibuje un diagrama de la red.

4. Estime la época de la terminación para cada actividad.

5. Identifique la trayectoria crítica (la trayectoria más larga a través de la red)

6. Ponga al día el diagrama del CPM como progresa el proyecto.

7. Especifique las actividades individuales

DEFINICION DE LOS PASOS EN EL PLANEAMIENTO

*ESPECIFIQUE LAS ACTIVIDADES INDIVIDUALES.

De la estructura de la interrupción del trabajo, un listado se puede hacer de todas

las actividades en el proyecto. Este listado se puede utilizar como la base para

agregar la información de la secuencia y de la duración en pasos más últimos.

*DETERMINE LA SECUENCIA DE LAS ACTIVIDADES

Algunas actividades son dependientes en la terminación de otras. Un listado de los

precursores inmediatos de cada actividad es útil para construir el diagrama de la

red del CPM.

*DIBUJE EL DIAGRAMA DE LA RED

Una vez que se hayan definido las actividades y el su ordenar, el diagrama del

CPM puede ser dibujado. El CPM fue desarrollado originalmente como actividad

en red del nodo (AON), pero algunos planificadores del proyecto prefieren

especificar las actividades en los arcos.

37

Page 38: TESIS RECOPILADA

*ESTIME LA ÉPOCA DE LA TERMINACIÓN PARA CADA ACTIVIDAD.

El tiempo requerido para terminar cada actividad se puede estimar usando

experiencia previa o las estimaciones de personas bien informadas. El CPM es un

modelo determinista que no considera la variación en el tiempo de la terminación,

tan solamente un número se utiliza para la estimación del tiempo de una actividad.

*IDENTIFIQUE LA TRAYECTORIA CRÍTICA (LA TRAYECTORIA MÁS LARGA A

TRAVÉS DE LA RED)

La trayectoria crítica es la trayectoria del largo-duración a través de la red. La

significación de la trayectoria crítica es que las actividades que mienten en ella no

se pueden retrasar sin delaying el proyecto. Debido a su impacto en el proyecto

entero, el análisis de trayectoria crítica es un aspecto Importante del planeamiento

del proyecto.

La trayectoria crítica puede ser identificada determinando los cuatro parámetros

siguientes para cada actividad:

ES, Principio temprano.

EF, principio tardío.

LS, terminación temprana.

LF, terminación tardía.

La época floja para una actividad es el tiempo entre su hora de salida más

temprana y más última, o entre su tiempo más temprano y más último del final. La

holgura es la cantidad de tiempo que una actividad se puede retrasar más allá de

su comienzo más temprano o final más temprano sin delaying el proyecto.

La trayectoria crítica es la trayectoria a través de la red del proyecto en la cual

ningunas de las actividades tienen holgura, es decir, la trayectoria para la cual

ES=LS y EF=LF para todas las actividades en la trayectoria. Retrasa en la

trayectoria crítica retrasa el proyecto. Semejantemente, acelere el proyecto que es

necesario reducir el tiempo total requerido para las actividades en la trayectoria

crítica.

*PONGA AL DÍA EL DIAGRAMA DEL CPM

Pues progresa el proyecto, los tiempos reales de la terminación de la tarea serán

sabidos y el diagrama de la red se puede poner al día para incluir esta

38

Page 39: TESIS RECOPILADA

información. Una trayectoria crítica nueva puede emerger, y los cambios

estructurales se pueden realizar en la red si los requisitos del proyecto cambian.

*LIMITACIONES DEL CPM

El CPM fue desarrollado para el complejo pero los proyectos bastante rutinarios

con incertidumbre mínima en los tiempos de la terminación del proyecto. Para

menos proyectos de la rutina hay más incertidumbre en los tiempos de la

terminación, y límites de esta incertidumbre la utilidad del modelo determinista del

CPM. Una alternativa al CPM es el modelo del planeamiento del proyecto del

PERT, que permite que una gama de duraciones sea especificada para cada

actividad.

METODO PERT (Program Evaluation and Review Technique)

En CPM se asume que la duración de cada actividad es conocida con certeza.

Claramente, en muchas ocasiones este supuesto no es valido. PERT intenta

corregir este error suponiendo que la duración de cada actividad es una variable

aleatoria. Para cada activad, se requiere estimar las siguientes cantidades:

a = Tiempo Optimista. Duración de la actividad bajo las condiciones más

favorables

b = Tiempo Pesimista. Duración de la actividad bajo las condiciones más

desfavorables

m = Tiempo Normal. El valor más probable de la duración de la actividad.

La forma de la distribución se muestra en la figura 3.12 tiempo más probable es el

tiempo requerido para completar la actividad bajo condiciones normales. Los

tiempos optimistas y pesimistas proporcionan una medida de la incertidumbre

39

Page 40: TESIS RECOPILADA

inherente en la actividad, incluyendo desperfectos en el equipo, disponibilidad de

mano de obra, retardo en los materiales y otros factores.

Figura 3.12

Con la distribución definida, la media (esperada) y la desviación estándar,

respectivamente, del tiempo de la actividad para la actividad Z puede calcularse

por medio de las fórmulas de aproximación.

El tiempo esperado de finalización de un proyecto es la suma de todos los tiempos

esperados de las actividades sobre la ruta crítica. De modo similar, suponiendo

que las distribuciones de los tiempos de las actividades son independientes

(realísticamente, una suposición fuertemente cuestionable), la varianza del

proyecto es la suma de las varianzas de las actividades en la ruta crítica.

PASOS EN EL PROCESO DE PLANEAMIENTO DEL PERT

1. El planeamiento del PERT implica los pasos siguientes:

2. Identifique las actividades y duración especifica,

3. determine la secuencia apropiada de las actividades,

40

Page 41: TESIS RECOPILADA

4. construya un diagrama de red,

5. determine el tiempo requerido para cada actividad,

6. determine la trayectoria critica,

7. Ponga al día la carta del PERT según como progresa el proyecto.

*DEFINICION DE LOS PASOS DE PLANEAMIENTO

IDENTIFIQUE LAS ACTIVIDADES Y LOS PRECEDENTES

Las actividades son las tareas requeridas para terminar el proyecto. Los

precedentes son los acontecimientos que marcan el principio y el final de una o

más actividades. Es provechoso enumerar las tareas en una tabla que en pasos

mas últimos se pueda ampliar para incluir la información sobre secuencia y

duración.

*DETERMINE LA SECUENCIA DE LA ACTIVIDAD

Este paso se puede combinar con el paso de la identificación de la actividad

puesto que la secuencia de la actividad es evidente para algunas tareas. Otras

tareas pueden requerir más análisis para determinar el orden exacto en la cual

deben ser realizadas

*CONSTRUYA EL DIAGRAMA DE RED

Usando la información de la secuencia de la actividad, un diagrama de la red se

puede dibujar demostrando la secuencia de actividades seriales y paralelas.

41

Page 42: TESIS RECOPILADA

*TIEMPOS DE ACTIVIDAD DE ESTIMACION

Para cada activad, se requiere estimar las siguientes cantidades:

a = Tiempo Optimista. El que representa el tiempo mínimo posible sin importar el

costo o cuantía de elementos materiales y humanos que se requieran; es

simplemente la posibilidad física de realizar la actividad en el menor tiempo

b = Tiempo Pesimista. Es un tiempo excepcionalmente grande que pudiera

presentarse ocasionalmente como consecuencia de accidentes, falta de

suministros, retardos involuntarios, causas no previstas, etc.

m = Tiempo Normal. El valor más probable de la duración de la actividad, basado

en la experiencia personal del informador

Si Tij es la variable aleatoria asociada a la duración de la actividad (i; j), PERT

asume que Tij sigue una distribución Beta. Sin entrar en mayores detalles de esta

distribución, se puede demostrar que el valor esperado y la varianza de la variable

aleatoria Tij quedan definidas por:

En PERT se asume además que la duración de las actividades es independiente.

Por lo tanto, el valor esperado y la varianza de una ruta pueden ser estimadas

según:

= Duración esperada de la ruta

= Variación de la duración de la ruta

*DETERMINE LA TRAYECTORIA CRÍTICA

42

Page 43: TESIS RECOPILADA

La trayectoria crítica es determinada agregando los tiempos para las actividades

en cada secuencia y determinando la trayectoria mas larga del proyecto. La

trayectoria crítica determina el tiempo total del calendario requerido para el

proyecto. Si las actividades fuera de la trayectoria cítrica aceleran o retrasaron el

tiempo (dentro de los limites), entonces el tiempo total de proyecto no varia, la

cantidad del tiempo que una actividad no critica de la trayectoria sin alterar la

duración del proyecto se denomina como tiempo flojo.

Si la trayectoria crítica del proyecto no resulta obvia, entonces puede ser

provechoso determinar las cuatro cantidades siguientes para cada actividad:

ES, Principio temprano.

EF, principio tardío.

LS, terminación temprana.

LF, terminación tardía.

Se calculan estos tiempos usando la época prevista para las actividades

relevantes. Los tiempos más tempranos del comienzo y del final de cada actividad

son determinados trabajando adelante a través de la red y determinando el tiempo

más temprano en el cual una actividad puede comenzar y acabar a considerar sus

actividades del precursor. Los tiempos más últimos del comienzo y del final son los

tiempos más últimos que una actividad puede comenzar y acabar sin variar el

proyecto. El LS y el LF son encontrados trabajando al revés a través de la red. La

diferencia en el final más último y más temprano de cada actividad es holgura de

esa actividad. La trayectoria crítica entonces es la trayectoria a través de la red en

la cual ningunas de las actividades tienen holgura.

La variación en el tiempo de la terminación del proyecto puede ser calculada

sumando las variaciones en los tiempos de la terminación de las actividades en la

trayectoria crítica. Dado esta variación, una puede calcular la probabilidad que el

proyecto será terminado por cierta fecha si se asume que una distribución normal

de la probabilidad para la trayectoria crítica.

Sea CP la variable aleatoria asociada a la duración total de las actividades de la

ruta crítica determinadas mediante CPM. PERT asume que la ruta crítica

43

Page 44: TESIS RECOPILADA

encontrada a través de CPM contiene suficientes actividades para emplear el

Teorema Central del Límite y concluir que CP se distribuye normalmente.

Puesto que la trayectoria crítica determina la fecha de la terminación del proyecto,

el proyecto puede ser acelerado agregando los recursos requeridos para disminuir

la época para las actividades en la trayectoria crítica.

LA ACTUALIZACIÓN SEGÚN COMO EL PROYECTO PROGRESA

Haga los ajustes en la carta del PERT como progresa el proyecto. Mientras que el

proyecto revela, los tiempos estimados se pueden sustituir por épocas reales. En

casos donde hay retrasa, los recursos adicionales puede ser necesario

permanecer en horario y la carta del PERT se puede modificar para reflejar la

nueva situación.

44

Page 45: TESIS RECOPILADA

CAPITULO IVMETODOS PARA LA

RESOLUCION DE PROBLEMAS EN PROGRAMACIÓN LINEAL

4.1. MÉTODO DE REPRESENTACIÓN GRÁFICA.

45

Page 46: TESIS RECOPILADA

Semiplanoinferior

Semiplanosuperior

2x + 3y = 6

Y

X

-5 5

-5

5

L

Q (x, -2/3x+2)

P (x,y)

Toda ecuación lineal con dos variables X y Y

Ax + By = 0

Tiene un conjunto solución que se puede exhibir en forma gráfica como los puntos

de una línea recta en el plano xy. De esta misma también existe una

representación grafica sencilla de las desigualdades lineales con dos variables:

Ax + By < 0 Ax + By ≤ 0

Ax + By > 0 Ax + By ≥ 0

Antes de ver un procedimiento general para graficar desigualdades, analizaré un

ejemplo específico. Se graficará la siguiente desigualdad:

2x + 3y < 0

Primero se grafica la ecuación 2x + 3y = 6, la cual se obtiene de la desigualdad

dada reemplazando la desigualdad “<” por una igualdad “=” (figura 4.1)

Figura 4.1

Se observa que la línea recta divide el plano xy en dos semiplanos: uno superior y

uno inferior. De esta manera el semiplano superior es la gráfica de la desigualdad

lineal:

46

Page 47: TESIS RECOPILADA

2x + 3y > 6 (1)

Mientras que el semiplano inferior es la gráfica de la desigualdad lineal:

2x + 3y < 6 (2)

Para tener un poco mas claro el concepto escribiremos las formulas anteriores en

formas equivalentes:

y > - 2/3x + 2 (3)

y < -2/3x + 2 (4)

Siendo la ecuación de la propia recta:

y = -2/3x + 2 (5)

Elegiremos ahora un punto cualquiera P(x, y) que este arriba de la recta L; siendo

Q el punto en L que esta directamente bajo P (en la figura 4.1). Si Q esta en L, sus

coordenadas deben satisfacer la ecuación y = -2/3x +2, es decir, Q se representa

como Q (x, -2/3x+2). De manera que si comparamos las ordenadas de P y Q,

teniendo en cuenta que P esta arriba de Q, entonces su ordenada es mayor y se

tiene:

y > -2/3x +2

Esta desigualdad es precisamente la ecuación (3) o, en forma equivalente la

ecuación (1). De la misma manera se puede mostrar que cualquier punto que se

encuentre debajo de L debe satisfacer a la ecuación (4) y por ende a la (2)

47

Page 48: TESIS RECOPILADA

2x + 3y < 6

Y

X

-5 5

5

2x + 3y = 6

Este análisis muestra que el semiplano inferior proporciona una solución a nuestro

problema (figura 4.2). Debe observarse que ambos semiplanos son mutuamente

excluyentes (no tienen puntos en común)

Figura 4.2

Para determinar de manera más sencilla el semiplano requerido, se elige cualquier

punto en uno de los semiplanos. Para simplificar el proceso, elegiremos el origen

(0, 0), que esta en el semiplano inferior. Si sustituimos X = 0 y Y = 0, en la

desigualdad de nuestro problema original, tendremos:

2(0) + 3(0) < 6

Que es lo mismo a decir; 0 < 6, lo cual es una expresión cierta. Esto quiere decir

que es el semiplano requerido, que contiene el punto de verificación, es decir el

semiplano inferior.

Veremos que ocurre si elegimos el punto (2, 3), que esta en el semiplano superior.

Al sustituir X =2 y Y = 3, en la desigualdad tendremos:

2(2) + 3(3) < 6

Que es lo mismo que decir; 13 < 6, lo cual es una expresión falsa. Esto quiere

decir que el semiplano superior no es el requerido. Debe observarse también que

48

Page 49: TESIS RECOPILADA

ningún punto (x, y) que este en la recta L constituye una solución a este problema,

debido a la desigualdad es estrictamente “<”

Este análisis sugiere el siguiente procedimiento para graficar una desigualdad

lineal en dos variables.

PROCEDIMIENTO PARA GRAFICAR DESIGUALDADES LINEALES

Se traza la gráfica de la ecuación obtenida de la desigualdad dada,

reemplazando el signo de la desigualdad con un signo de igualdad. Se

utiliza una línea punteada si el problema comprende una desigualdad

estricta “<” o “>”. Para el caso contrario se usa una línea sólida para indicar

que la recta forma parte de la solución.

Se elige un punto de verificación que este en alguno de los semiplanos

determinados por la recta trazada en el paso anterior y se sustituyen los

valores de X y Y en la desigualdad dada.

Si se satisface la desigualdad, su gráfica incluye el semiplano que contiene

al punto de verificación. En caso contrario, la solución incluye el semiplano

que no lo contiene.

En programación lineal este método consiste en representar las restricciones

sobre unos ejes de coordenadas, para delimitar la región dónde se encuentran las

soluciones factibles.

Las soluciones óptimas se encontrarán en el perímetro del polígono resultante.

Si nuestra función objetivo es una maximización y la línea que delimita nuestro

dominio no es convexa, entonces nuestro problema, bajo estas condiciones, no

tiene solución.

Ejemplo:

FUNCION OBJETIVO.: Max 5X+6Y

Sujeto a: X + Y ≤ 4

X + 2Y ≤ 6

La representación gráfica se ve en la figura 4.3.

49

Page 50: TESIS RECOPILADA

Dando valores a la función objetivo vamos obteniendo sucesivas rectas paralelas,

de forma que según aumenta la función objetivo, la recta se separa del origen.

Por tanto, puede suceder que nuestra función objetivo de valor óptimo coincida

con una arista o con un vértice del polígono que delimite nuestro dominio.

En nuestro caso, el vértice A (2,2) será la solución óptima.

Luego el valor óptimo de nuestra función objetivo será:

5*2 + 6*2 = 22

Figura 4.3

Si por el contrario nuestro problema hubiese sido:

FUNCION OBJETIVO: Max 5 X + 6 Y

Sujeto a: X + Y ≥ 4

X + 2 Y ≥ 6

Gráficamente:

50

Page 51: TESIS RECOPILADA

Figura 4.4

En este caso nuestra solución no está acotada, luego nuestro problema no tendrá

solución.

SOLUCION GRAFICA DE PROBLEMAS DE PROGRAMACION LINEAL

Los problemas de programación lineal de dos variables tienen interpretaciones

geométricas relativamente sencillas; por ejemplo, el sistema de restricciones

lineales asociado con un problema de programación lineal bidimensional (si no es

inconsistente) define una región plana cuya frontera esta formada por segmentos

de recta o semirrectas, de manera que es posible analizar estos problemas de

forma gráfica.

Consideremos el siguiente problema de programación lineal bidimensional:

FUNCION OBJETIVO: Max P= 3x + 2y

Sujeto a: 2x + 3y ≤ 12

2x + y ≤ 8

X ≥ 0, Y ≥ 0

El sistema de desigualdades lineales define la región plana S (que se muestra en

la figura 4.5). Cada punto de S es un candidato para resolver este problema y se

51

Page 52: TESIS RECOPILADA

2x + y =8

2x + 3y =12P (3, 2)

S

5

10 y

5 10

conoce como solución factible y el conjunto de S se conoce como conjunto

factible, para solucionar el problema se tiene que encontrar el punto o los puntos

que optimicen la función objetivo, tal solución factible es una solución optima y

constituye la solución al problema lineal en cuestión.

Figura 4.5

Se observa que cada punto P(x, y) en S es un candidato para la solución óptima

del problema en cuestión; por ejemplo, es fácil ver que el punto (1, 3) esta dado

por la función objetivo = 3(1) + 2(3) = 9, y esta dentro del conjunto S; De esta

manera tendríamos una solución optima si pudiéramos calcular el valor de la

función objetivo para cada punto de S, entonces el punto o los puntos que

proporcionen el valor máximo de P formarían el conjunto solución que buscamos.

Para encontrar de manera mas sencilla la solución óptima, asignaremos valores a

P, por ejemplo el valor de 6, entonces la función objetivo se convierte en 3x + 2y =

6, que es una ecuación lineal en X y Y; de manera que se tiene como grafica una

línea recta L1 en el plano (figura 4.6)

52

Page 53: TESIS RECOPILADA

P (3, 2)

S

5

y

5 x

L1

L2Línea másalejada delorigen queintersecta a S

Figura 4.6

Cada punto dado del segmento de recta de la intersección de la línea recta L1 y el

conjunto factible S corresponde al valor dado 6 de P, por esta razón a la línea

recta L1 se le conoce como una recta de ganancias iguales.

Si repetimos el proceso, asignando ahora a P el valor de 10, se obtiene la

ecuación 3x + 2y = 10, gráficamente observamos a la recta L2, lo que sugiere que

existen puntos factibles que corresponden a un valor mayor de P.

En la figura 4.6 se observa que las rectas L2 y L1 son paralelas, debido a que

ambas tienen la misma pendiente igual a -3/2.

Al asignarle diversos valores a la función objetivo, se obtiene una familia de rectas

paralelas, cada una con una pendiente igual a -3/2, además una recta

correspondiente a un valor mayor de P que esta mas alejada del origen que una

recta con un valor menor de P.

De manera que para obtener la solución óptima se encuentra la recta

perteneciente a dicha familia que se encuentre más lejos del origen intersecte al

conjunto factible S. Para nuestro caso particular la recta requerida será aquella

que pase por el punto P(3, 2), de manera que la solución de este problema esta

dada por x =3, y = 2, lo que produce un valor máximo de P = 3(3) + 2(2) = 13.

53

Page 54: TESIS RECOPILADA

La solución óptima de este problema es un vértice del conjunto factible S,

cumpliendo el siguiente teorema básico de la programación lineal.

TEOREMA I PROGRAMACION LINEAL

Si un problema de programación lineal tiene una solución, entonces esta debe

aparecer en un vértice, o esquina, del conjunto factible S asociado con el

problema. Además, si la función objetivo P se optimiza en dos vértices adyacentes

de S, entonces se optimiza en todos los puntos del segmento de recta que une

estos vértices, en cuyo caso existe una infinidad de soluciones al problema.

Aunque el teorema I arroja un poco de luz acerca de la naturaleza de la solución

de un problema de programación lineal, no indica cuando tiene solución. El

siguiente problema establece ciertas condiciones que garantizan la existencia de

la solución de un problema de programación lineal.

TEOREMA II EXISTENCIA DE UNA SOLUCION

Supóngase un problema de programación lineal con un conjunto factible S y un

función objetivo P = ax + by.

1.- Si S esta acotado, entonces P tiene un valor máximo y un valor mínimo en S.

2.- Si no esta acotado y tanto a como b son no negativos, entonces P tiene un

valor mínimo en S, si las restricciones que definen a S incluyen las desigualdades

X ≥ 0 y Y ≥ 0.

3.- Si S es el conjunto vacío, entonces el problema de programación lineal no tiene

solución; es decir, P no tiene un valor máximo ni uno mínimo

A continuación explicaremos el método de las esquinas, un procedimiento sencillo

para resolver los problemas de programación lineal basado en el teorema I.

54

Page 55: TESIS RECOPILADA

METODO DE LAS ESQUINAS

1.- Se grafica el conjunto factible.

2.- Se encuentran las coordenadas de todas las esquinas (vértices) del conjunto

factible.

3.- Se evalúa la función objetivo en cada esquina.

4.- Se halla el vértice que proporcione el máximo (mínimo) de la función objetivo.

Si solo existe un vértice con esta propiedad, entonces constituye una solución

única al problema. Si la función objetivo se maximiza (minimiza) en dos esquinas

adyacentes de S, entonces existe una infinidad de soluciones optimas dadas por

los puntos del segmento de recta determinada por estos dos vértices.

55

Page 56: TESIS RECOPILADA

4.2 METODO SIMPLEX

El método de las esquinas no es adecuado para resolver problemas de

programación lineal, cuando el número de variables o restricciones es grande. Su

principal desventaja es que hay que conocer todas las esquinas del conjunto

factible S asociado con el problema; lo que se necesita es un método de solución

basado en la elección juiciosa de las esquinas del conjunto factible S, con lo cual

se reduce la cantidad de puntos por inspeccionar. Una técnica de este tipo,

llamada método símplex, fue desarrollada en la década de 1940 George Dantzig y

se basa en el método de eliminación de Gauss – Jordan. El método símplex se

adapta con facilidad a la computadora, lo que lo hace particularmente adecuado

para resolver problemas de programación lineal que comprenden un gran número

de variables y de restricciones.

En esencia, el método símplex es un procedimiento iterativo; es decir, se repite

una y otra vez. Se parte de cierta solución factible inicial (una esquina del conjunto

factible S, que por lo general es el origen) y cada iteración conduce a otro punto

esquina de S con un valor mejorado de la función objetivo. La iteración termina

cuando se alcanza la solución óptima (si existe).

Antes de establecer un procedimiento formal para resolver los problemas comunes

o estándares de programación lineal con base en el método símplex

consideraremos el siguiente análisis de un problema de dos variables. En este

análisis aclararemos el procedimiento general y, al mismo tiempo, mejoraremos la

comprensión del método símplex examinando los motivos que conducen a los

pasos del procedimiento

Considérese el siguiente problema de programación lineal:

FUNCION OBJETIVO: Max P = 3x + 2y

Sujeto a: 2x + 3y ≤ 12

2x + y ≤ 8

X ≥ 0, Y ≥ 0

56

Page 57: TESIS RECOPILADA

S

y

x

C(3, 2)

B(4, 0)

A(0, 0)

D(0, 4)

El conjunto factible S relacionado con este problema se representa en la figura

4.7, donde se han etiquetado las cuatro esquinas factibles A(0, 0), B(4, 0), C(3, 2)

y D(0, 4).

Figura 4.7

Como primer paso en la solución mediante el método símplex, se reemplazara el

sistema de restricciones con desigualdades por un sistema de restricciones con

igualdades. Esto se puede realizar mediante variables no negativas llamadas

Variables de holgura. Primero, consideraremos la desigualdad

2x + 3y ≤ 12

Debemos observar que el lado izquierdo de esta ecuación siempre es menor o

igual al lado derecho; por lo tanto, al sumar una variable no negativa U al lado

izquierdo para compensar esa diferencia, se obtiene la igualdad

2x + 3y + U = 12

57

Page 58: TESIS RECOPILADA

Por ejemplo si X = 1 y Y = 1 [en la figura 4.7 se puede observar que el punto (1, 1)

es un punto factible de S], entonces U =7. Obteniendo lo siguiente:

2(1) + 3(1) + 7 = 12

Ahora, si x = 2 y Y = 1 [el punto (2, 1) también es punto factible de S], entonces U

= 5. Obteniendo lo siguiente:

2(2) + 3(1) + 5 = 12

La variable U es una variable de holgura.

De la misma manera, la desigualdad 2x + y ≤ 8 se convierte en la ecuación 2x + y

+ V= 8 a través de la introducción de la variable de holgura V. El sistema de

desigualdades lineales se entiende como el sistema de ecuaciones lineales:

2x + 3y + U = 12

2x + y + + V = 8

Donde x, y, U y V son todas no negativas.

Por ultimo, al reescribir la función objetivo en la forma -3x –2y + P = 0, donde el

coeficiente de P es +1, se tiene el siguiente sistema de ecuaciones lineales:

2x + 3y + U = 12

2x + y + + V = 8

-3x –2y +P = 0

Como este sistema tiene tres ecuaciones lineales en las cinco variables x, y, U, V

y P; es posible despejar tres variables en términos de las otras dos. Así existe una

infinidad de soluciones a ese sistema, las cuales se pueden expresar en términos

de dos parámetros. Ahora, se puede observar que el problema de programación

58

Page 59: TESIS RECOPILADA

lineal equivale a encontrar la solución que proporciona el máximo de P: Entre

todas las soluciones de este sistema para las cuales x, y, U y V sean no negativas

(tales soluciones se llaman soluciones factibles).

La matriz aumentada asociada con este sistema es:

Variables no básicas Variables básicas

Columna de constantesx y U V P

2 3 1 0 0 122 1 0 1 0 8-3 -2 0 0 1 0

Debemos observar que cada una de las columnas U, V y P de esta matriz es una

columna unitaria. Las variables asociadas con las columnas unitarias se llaman

variables básicas y las demás, variables no básicas.

Ahora la configuración de la matriza aumentada sugiere que despejen las

variables básicas U, V y P en términos de variables no básicas X y Y, con lo que

se obtiene:

U = 12 – 2x – 3y

V = 8 – 2x – y

P = 3x + 2y

De todas las soluciones factibles que se pueden obtener al asignar valores no

negativos arbitrarios a los parámetros X y Y, se obtiene una solución particular con

X = 0 y Y = 0. De hecho, esta solución esta dada por:

X = 0, Y = 0, U = 12, V = 8, P = 0

59

Page 60: TESIS RECOPILADA

Esta solución, obtenida al igual a cero todas las variables no básicas, es una

solución básica del sistema. Esta solución particular corresponde a la esquina A(0,

0) del conjunto factible asociado de programación lineal (figura 4.7). Observamos

que P = 0 en este punto.

Si el valor de P no pudiera aumentar, se tendría la solución óptima del problema

en cuestión. Para determinar si se puede mejorar el valor de P, debe observarse la

función objetivo, como los coeficientes de X y Y son positivos, el valor de P se

podría mejorar incrementando X ó Y; es decir, alejándose del origen. Debe notarse

que se llega a la misma conclusión observando que el ultimo renglón de la matriz

aumentada contiene entradas negativas (comparando la función objetivo original,

P = 3x + 2y, con la función objetivo reescrita, -3x -2y + P = 0).

Siguiendo con la búsqueda de la solución óptima, la siguiente tarea consiste en

determinar si es mejor aumentar el valor de x o de y (incrementar ambos valores

en forma simultanea es mas difícil). Debido a que el coeficiente de x es mayor que

el de y, un incremento unitario en la dirección de x producirá un aumento mayor en

el valor de la función objetivo P que un incremento unitario en la dirección de y, de

esta manera, debemos aumentar el valor de x a la vez que se mantiene constante

en y. Debemos cuidar que el incremento en la dirección de x pueda mantener un

valor de y = 0 si que se salga del conjunto factible. Esta condición se observa en

las siguientes ecuaciones:

U = 12 – 2x

V = 8 – 2x

Como U debe ser no negativo, la primera ecuación significa que x no puede

exceder a 12/2 ó 6. La segunda ecuación y la no negatividad de V significa que x

no puede exceder a 8/2 ó 4, así podemos concluir que x se puede incrementar

hasta el valor de 4.

Ahora, si se hace y = 0 y x = 4 en el sistema de ecuaciones de las variables

básicas se obtiene la solución:

X = 4, Y = 0, U = 4, V = 0, P = 12

60

Page 61: TESIS RECOPILADA

La cual es una solución básica del sistema de ecuaciones lineales, esta vez con Y

y V como variables no básicas (debe recordarse que las variables no básicas son

aquellas que se igualan a cero).

Veremos la forma de llegar esa solución básica mediante la matriz aumentada del

sistema.

Puesto que x reemplaza a V como variable básica, el objetivo es hallar una matriz

aumentada que tenga una configuración tal que la columna de x este en la forma

unitaria:

0 1 0

Reemplazando la forma actual de la columna V en la matriz aumentada, esto se

logra pivoteando en torno del numero 2.

Multiplicando al renglón 2 (R2) por ½ obtenemos:

x y U V P2

3 1 0 0 12

2 1 0 1 0 8

-3 -2 0 0 1 0

x y U V P

2 3 1 0 0 121

1/2 0 1/2 0 4

-3 -2 0 0 1 0

61

Page 62: TESIS RECOPILADA

Realizando las siguientes operaciones (R1 – 2R2 y R3 – 3R3) obtenemos:

Utilizando la última matriz se despejan las variables básicas X, U y P en términos

de las variables no básicas Y y V, para obtener:

X = 4 – 1/2y – 1/2V

U = 4 - 2y + V

P= 12 + 1/2y – 3/2V

Al igualar a cero las variables no básicas Y y V se obtiene:

X = 4, Y = 0, U = 4, V = 0, P = 12

Antes de continuar, introduciremos un poco de terminología.

El numero dos encerrado en un circulo en la primera matriz aumentada, que se

convierte en un uno, es el elemento pivote y la columna que lo contiene es una

columna pivote, dicha columna se asocia con una variable no básica, la cual se

convertirá en una variable no básica. El renglón que contiene al elemento pivote

es el renglón pivote, dicho renglón se puede determinar al dividir cada numero

positivo en la columna del pivote entre el numero correspondiente de la columna

de constantes. El renglón pivote es aquel con el menor cociente.

A continuación resumiremos el procedimiento para elegir el elemento pivote.

x y U V P0

21 -1

0 4

1 1/2 0 1/2 0 4

0 -1/2 0 3/2 1 12

62

Page 63: TESIS RECOPILADA

SELECCIÓN DEL ELEMENTO PIVOTE.

1.- Se escoge la columna pivote; se localiza la entrada más negativa a la izquierda

de la recta vertical en la última columna. La columna que contiene esta entrada es

la columna pivote (si existe mas de una columna de este tipo, se puede elegir

cualquiera de ellas).

2.- Se elige el renglón pivote; cada entrada positiva en la columna pivote se divide

entre su entrada correspondiente en la columna de constantes. El renglón pivote

es el renglón correspondiente a la razón más pequeña obtenida de esta manera

(si existe mas de una entrada de este tipo, se puede elegir cualquiera de ellas).

3.- El elemento pivote es el elemento común a la columna y renglón pivotes.

Al concluir con la solución al problema se observa que el último renglón de la

última matriz aumentada contiene un numero negativo (-12). Esto indica que P

nos e maximiza en esquina factible B (4, 0) y se necesita otra iteración.

En un nuevo análisis detallado, se procede inmediato de la elección de un nuevo

pivote, de acuerdo con las reglas anteriores se realizan las siguientes operaciones

por renglón:

Renglón pivote

Columnapivote

xy U V P

0 2 1 -1 0 4

1 1/2 0 1/2 0 4

0-1/2

0 3/2 1 12

63

Page 64: TESIS RECOPILADA

Si multiplicamos al renglón pivote por 1/2, obtenemos:

Realizando las siguientes operaciones (R2 – 1/2R1 y R3 + 1/2R1), obtenemos:

Al interpretar la última matriz aumentada de la manera usual, se tiene la solución

básica X=3, Y=2 y P=3. Como no existen entradas negativas en el último renglón,

la solución es óptima y P no puede crecer más.

La solución óptima es la esquina factible C (3, 2), debemos observar que dicha

solución concuerda con la determinada mediante el método de las esquinas (figura

4.7)

CONFIGURACIÓN DE LA TABLA SIMPLEX INICIAL

1.- Se transforma el sistema de desigualdades lineales en un sistema de

ecuaciones lineales introduciendo variables de holgura.

2.- Se vuelve a escribir la función objetivo

P = C1X1 + C2X2 + … + CnXn

En la forma:

-C1X1 – C2X2 - … - CnXn + P = 0

Donde todas las variables estan en la izquierda y el coeficiente de P es + 1

xy

U V P

0 1 1/2 -1/2 0 2

1 1/2 0 1/2 0 4

0 -1/2 0 3/2 1 12

xy U V

P

0 1 1/2 -1/2 0 2

1 0 -1/4 3/4 0 3

0 0 1/4 5/4 1 13

64

Page 65: TESIS RECOPILADA

3.- Se escribe la matriz aumentada asociada con este sistema de ecuaciones

lineales

RESUMEN DEL METODO DE SIMPLEX

1.- Se plantea la tabla símplex inicial

2.- Se determina si se ha alcanzado la solución óptima examinando todas las

entradas del último renglón a la izquierda de la recta vertical:

a.- Si todas las entradas son no negativas, se ha alcanzado la solución

óptima (se continua con el paso 4)

b.- Si existe una o más entradas negativas, no se ha alcanzado la solución

óptima (se continua con el paso 3)

3.- Se realiza la operación del pivoteo: Se localiza el elemento pivote y se

convierte en un 1, dividiendo todos los elementos del renglón pivote entre el

elemento pivote. La operación del renglón se usa para convertir la columna pivote

en una columna unitaria, sumando múltiplos adecuados del renglón pivote a cada

uno de los demás renglones, conforme sea necesario (se repite el paso 2)

4.- Se determina la solución óptima: El valor de la variable principal de cada

columna unitaria está dado por la entrada que está en la columna de constantes

en el renglón que contiene al 1. Las variables correspondientes a las columnas

que no se encuentren en forma unitaria tendrán asignado el valor cero.

65

Page 66: TESIS RECOPILADA

4.3 METODO DE LAS DOS FASES

El procedimiento consiste en resolver el modelo en dos etapas o fases. En la

primera, se busca obtener una SBF del modelo aumentado, que no incluya

variables artificiales. Cuando en esta solución básica factible del MA, todas las

variables artificiales valen cero, ella es una solución básica factible inicial del

Modelo original y a partir de ahí se inicia la segunda fase del método símplex.

Pero puede ocurrir que en la fase 1 no sea posible extraer todas las variables

artificiales de la solución básica, presentándose los casos de: restricción

redundante analíticamente, solución infactible, inexistencia de solución;

situaciones que discutiremos más adelante.

Veamos cual es el procedimiento en cada fase del algoritmo.

Fase 1

Empieza con una solución básica factible inicial artificial y equivale al paso inicial

del método símplex que conocemos, ya que en ella se trata de hallar una SBFI del

modelo original.

Para propiciar que las variables artificiales tomen el valor de cero, se construya

una función objetivo que reemplaza provisionalmente a la del modelo original.

Esta nueva función se forma con la suma de las variables artificiales y el objetivo

es minimizar la suma de ellas. Es importante aclarar que el objetivo de la fase 1,

siempre es minimizar la suma de las variables artificiales, aunque el objetivo del

modelo original sea maximizar o minimizar.

Fase 2

66

Page 67: TESIS RECOPILADA

Consiste en buscar la solución óptima del modelo original partiendo de la SBFI

hallada en la Fase 1. Equivale a los pasos 1 y 2 del método símplex.

Para iniciar la Fase 2 se toma el tablero final de la Fase 1 y se le escribe la

función objetivo original del problema, en lugar de la provisional que habíamos

escrito para iniciar la Fase 1. Enseguida se actualizan la fila Cj y la columna CB,

para luego recalcular los valores Zj y Ej, así como el valor Z. A partir de este

tablero se continúa el Método Símplex para la búsqueda de la solución óptima,

considerando el objetivo del problema original.

Ejemplo de aplicación del modelo de las dos fases

Supóngase que deseamos hallar la solución óptima del modelo:

FUNCION OBJETIVO: Max P = 100x1 + 90x2

Sujeto a: 6X1 + 4X2 ≥ 24

20X1 + 8X2 ≤ 160

3X1 + 5X2 ≥ 15

X2 ≤ 5

X1, X2 ≥ 0

Escribimos el modelo en formato estándar y le agregamos las variables artificiales

necesarias, para obtener el siguiente modelo ampliado:

Max P = 100X1 + 90X2 + 0E1 + 0H2 + 0E3 + 0H4

Sujeto a: 6X1 + 4X2 – E1 + A1 = 24

20X1 + 8X2 + H2 = 160

67

Page 68: TESIS RECOPILADA

3X1 + 5X2 - E3 + A3 = 15

X2 + H4 = 5

Fase 1 de la solución

Vamos a determinar la solución óptima del Modelo Aumentado, la cual será la

SBFI del modelo original. Para ello planteamos la nueva función objetivo, así:

P1= A1 + A2; que vamos a minimizar.

Por lo tanto el modelo por resolver queda:

Mín P1 = A1 + A2

Sujeto a: 6x1 + 4x2 – E1 + A1 = 24

20X1 + 8X2 + H2 = 160

3X1 + 5X2 – E3 + A3 = 15

X2 + H4 = 5

La tabla inicial para resolver este modelo es: 

Tabla 0 Fase I

Cj 0 0 0 0 0 0 1 1

CB X1 X2 E1 H2 E3 H4 A1 A3 solución XB

1 6 4 -1 0 0 0 1 0 24 A1

0 20 8 0 1 0 0 0 0 160 H2

1 3 5 0 0 -1 0 0 1 15 A3

0 0 1 0 0 0 1 0 0 5 H4

Zj9 9 -1 0 -1 0 0 0 0

Z1

68

Page 69: TESIS RECOPILADA

Ej-9 -9 1 0 1 0 0 0

Ahora procedamos con el Símplex, para buscar la solución óptima del modelo

aumentado. Como el objetivo es minimizar, la variable de entrada puede ser X1 ó

X2 pues ambas tienen el efecto neto más negativo. Seleccionamos arbitrariamente

a X1 como variable de entrada. La variable de salida será A1 como se indica a la

derecha de la tabla 0.

La nueva tabla es:

Tabla 1 Fase I 

Cj 0 0 0 0 0 0 1 1

CB X1 X2 E1 H2 E3 H4 A1 A3 solución XB

0 1 2/3 -1/6 0 0 0 1/6 0 4 X1

0 0 -16/3 10/3 1 0 0 -10/3 0 80 H2

1 0 3 1/2 0 -1 0 -1/2 1 3 A3

0 0 1 0 0 0 1 0 0 5 H4

Zj0 3 1/2 0 -1 0 -1/2 1 3

Z1

Ej0 -3 -1/2 0 1 0 3/2 0

 

Esta solución es mejorable entrando a X2 y sacando a A3, con lo cual se obtiene

la tabla siguiente:

 

69

Page 70: TESIS RECOPILADA

Tabla 2 Fase I 

Cj 0 0 0 0 0 0 1 1

CB X1 X2 E1 H2 E3 H4 A1 A3 solución XB

0 1 0 -5/18 0 2/9 0 5/18 -2/9 10/3 X1

0 0 0 38/9 1 -16/9 0 -38/9 16/9 256/3 H2

0 0 1 1/16 0 -1/3 0 -1/6 1/3 1 X2

0 0 0 -1/6 0 1/3 1 1/6 -1/3 4 H4

Zj0 0 0 0 0 0 0 0 0

Z1

Ej0 0 0 0 0 0 1 1

La tabla actual representa la solución óptima de la fase 1 del Modelo Aumentado,

ya que todos los evaluadores de la fila cero son no positivos (además, el valor de

Z1 es cero). Como todas las variables artificiales están fuera de la base, esta

solución es una SBFI para el modelo original y podemos continuar con la fase

siguiente.

Obviamente la eliminación no debe efectuarse cuando la variable artificial,

corresponde a una restricción de igualdad, pues en ese caso no hay variable de

holgura.

Actualizando el renglón de Cj y la columna CB, para luego recalcular los valores

Zj y Ej; así como el valor de Z; y eliminando las columnas de A1 y A2 obtenemos

la nueva tabla, así:

70

Page 71: TESIS RECOPILADA

Fase 2 de la solución 

Tabla 3(Max) 

Cj 100 90 0 0 0 0

CB X1 X2 E1 H2 E3 H4 solución XB

100 1 0 -5/18 0 2/9 0 10/3 A1

0 0 0 38/9 1 -16/9 0 256/3 H2

90 0 1 1/6 0 -1/3 0 1 X2

0 0 0 -1/6 0 1/3 1 4 H4

Zj100 90 -115/9 0 -70/9 0 1270/3

Z2

Ej0 0 115/9 0 70/9 0

 

Y continuando con el procedimiento del Símplex, entra E1 y sale X2, con lo cual

queda:

Tabla 4 

Cj 100 90 0 0 0 0

CB X1 X2 E1 H2 E3 H4 solución XB

100 1 5/3 0 0 -1/3 0 5 X1

0 0 -76/3 0 1 20/3 0 60 H2

71

Page 72: TESIS RECOPILADA

0 0 6 1 0 -2 0 6 E1

0 0 1 0 0 0 1 5 H4

Zj100 500/3 0 0 -100/3 0 500

Z

Ej0 -230/3 0 0 100/3 0

 

Entra E3 sale H2

Tabla 5

Cj 100 90 0 0 0 0

CB X1 X2 E1 H2 E3 H4 solución XB

100 1 2/5 0 1/20 0 0 8 X1

0 0 -19/5 0 3/20 1 0 9 E3

0 0 -8/5 1 3/10 0 0 24 E1

0 0 1 0 0 0 1 5 H4

Zj100 40 0 5 0 0 800

Z

Ej0 50 0 -5 0 0

Entra X2 sale H4

Tabla 6 

Cj 100 90 0 0 0 0

CB X1 X2 E1 H2 E3 H4 solución XB

72

Page 73: TESIS RECOPILADA

100 1 0 0 1/20 0 -2/5 6 X1

0 0 0 0 3/20 1 19/5 28 E3

0 0 0 1 3/10 0 8/5 32 E1

90 0 1 0 0 0 1 5 X2

Zj0 0 0 5 0 50 1050

Z

Ej0 0 0 -5 0 -50

 

De esta manera podemos encontrar los siguientes tipos de soluciones:

TIPOS DE SOLUCION QUE PUEDEN OBTENERSE POR EL METODO DE LAS

DOS FASES

La fase 1 termina cuando se presente la inmejorabilidad (optimalidad) de la

función objetivo formada por la suma de las variables artificiales. Pero no siempre

que la función objetivo sea inmejorable su valor es igual a cero, ya que puede

presentarse, el caso de que Z1 = 0 habiendo variables artificiales en la base,

obviamente con valor cero. Por otra parte, también puede tenerse inmejorabilidad

con Z1 > 0, lo cual implica que hay al menos una variable artificial en la base, que

no pudo expulsarse. Cada uno de estos casos da lugar a un tipo de solución,

como lo aprenderemos enseguida.

Caso 1: P1 =0; y no hay variables en la solución básica

Este es el caso ya discutido en la cual se ha encontrado una SBFI para el modelo

original y puede procederse con la fase 2, a partir de esta solución. Al término de

esta fase podemos hallar una solución de uno de los tres tipos de solución óptima

que hemos mencionado: única, múltiple, ilimitada.

73

Page 74: TESIS RECOPILADA

Caso 2: P1=0 y hay variable artificiales en la base

El valor de las variables artificiales de la base obviamente debe ser cero. Antes de

continuar con la fase 2 debemos intercambiar "Forzadamente" estas variables

artificiales por variables reales no básicas. Puede comprobarse que el intercambio

es posible sólo en los casos en que el coeficiente de remplazo entre las variables

artificial saliente y la variable real candidata a entrar, sea diferente de cero.

Solución Degenerada

Si es posible intercambiar todas las variables artificiales por variables reales

(originales o de holgura), se genera una solución básica factible inicial degenerada

para el modelo original y a partir de ello se puede continuar con la fase 2, sin

ningún cambio adicional.

Restricciones redundantes analíticamente

Cuando no se puedan expulsar forzadamente todas las variables artificiales de la

solución, las restricciones asociadas a las variables artificiales que no se pudieron

forzar a salir de la solución óptima, son restricciones redundantes analíticamente

y se pueden eliminar de la tabla entes de proceder a la fase 2. La redundancia

analítica implica que esa restricción se puede expresar como una combinación

lineal de las otras restricciones involucradas en la solución óptima y por ello no es

necesario que aparezca.

Caso 3: P1>0

Es lógico pensar que para que esto ocurra, deben tenerse variables artificiales

básicas con valor positivo. Veremos enseguida que esta situación es indicio de

que el modelo tiene solución inconsistente, ya sea por no existir una solución o por

ser infactible.

Solución Infactible

74

Page 75: TESIS RECOPILADA

Si es posible intercambiar forzadamente a todas las variables artificiales básicas

por variables reales, el modelo original presentará solución infactible y no se

continúa con la fase 2. La infactibilidad se hace patente en el hecho de que las

variables reales que reemplazan a las artificiales, toman valores negativos.

Inexistencia de una solución

Si el intercambio es parcial, quedarán todavía variables artificiales en la solución y

esto indica que no fue posible hallar una SBFI para el modelo original, lo cual nos

permite concluir que el modelo no tiene solución.

En resumen, como ya se mencionó en el método gráfico, un modelo de

Programación Lineal tiene solución de alguno de los siguientes tipos:

1.      Optima única.

2.      Optima múltiple.

3.      Optima Ilimitada.

4.      Infactible.

5.      Inexistente.

75

Page 76: TESIS RECOPILADA

4.4 CAMBIOS DE VARIABLE.

En algunas ocasiones en las que nos encontramos con un problema en el que

aparecen variables acotadas inferiormente, puede ser conveniente someter dichas

variables a un cambio de variable para que queden de la forma:

Xi ≥ 0

Y poder aplicar el método símplex. Es decir, lo que vamos a buscar es que sólo

quede la restricción de positividad.

76

Page 77: TESIS RECOPILADA

CAPITULO VANALISIS DE SENSIBILIDAD

77

Page 78: TESIS RECOPILADA

La tabla que nos proporciona el método símplex es una gran fuente de información

sobre los datos de nuestro problema, siempre y cuando los sepamos descifrar.

Para ello realizaremos lo que se denomina análisis de sensibilidad.

Una de las cosas más importantes que nos proporciona este análisis, es la de

conocer el intervalo de variación de los parámetros del problema, sin que cambie

nuestra solución óptima.

5.1 COSTOS RELATIVOS O SOMBRA

Los coeficientes que en el momento de obtenerse la solución óptima tiene la tabla

en la L0, son los costes relativos o sombra. Representan el empeoramiento o

disminución que tendría la función objetivo por el incremento unitario de una

variable no básica, al introducir en la base.

Si se modifican los coeficientes de nuestra función objetivo, es evidente que

nuestra solución seguirá siendo factible. En un principio no sería necesario

78

Page 79: TESIS RECOPILADA

comenzar desde el origen del algoritmo, sino simplemente sustituirlos y continuar

con el procedimiento conocido.

Variables no básicas

Si el coeficiente de una variable no básica se incrementa, llegaría un momento en

el que formaría parte de nuestra función objetivo.

Si tenemos lo siguiente:

FUNCION OBJETIVO: Max 4X1 + 5X2 + 9X3 + 11X4

Supongamos que X2 = 0.

Vamos a ver cuánto podríamos variar el coeficiente de la variable X2 sin que se

modifique el valor óptimo de nuestra función objetivo:

FUNCION OBJETIVO: Max 4 X1 + (5 + p2) X2 + 9 X3 + 11 X4

p2 ≥ 0

En sucesivas iteraciones llegaríamos a una L0:

X1 X2 X3 X4 X5 X6 X7 bi

L0 0 3/7 – P 0 11/7 13/7 0 5/7 695/7

Si p2 < 3/7, no varia nada nuestro problema.

Si p2 = 3/7, entonces quiere decir que podría obtener otra solución en la que X2

entrase en la base. El valor de nuestra función objetivo no variaría.

Si p2 > 3/7, el coeficiente de la L0 de X2 sería negativo y X2 entraría en la base,

con lo que el valor que obtendríamos para nuestra función objetivo será mayor.

Por lo tanto, los coeficientes en la L0 en la solución optimal representan el

incremento máximo que puede tomar el coeficiente de una variable no básica para

entrar en la base.

79

Page 80: TESIS RECOPILADA

En nuestro caso, por ejemplo en el caso de la variable X2, ésta no entrará en la

base mientras su coeficiente no sea superior a:

5 + 3 / 7 = 38 / 7

Si tuviésemos, por imposición de nuestro problema, que introducir dos unidades

del producto 2 (representado por la variable X2), partiendo de la solución final

tendríamos:

X1 X2 X3 X4 X5 X6 X7 bi

L0 0 3/7 0 11/7 13/7 0 5/7 695/7

Entonces la función objetivo disminuiría en 2 * 3 / 7 siendo 2 las unidades a

producir y 3 / 7 el valor de X2 en la L0.

Variables básicas

Ahora vamos a ver hasta cuánto pueden variarse los coeficientes de variables

básicas de forma que continuemos teniendo una solución óptima. Tomando el

ejemplo anterior, las variables básicas son X1, X3 y X6.

Evidentemente, si aumentamos los coeficientes de las variables básicas, nuestra

función objetivo aumentará.

Entonces, si por ejemplo incrementamos en p1 el coeficiente de X1 y realizamos

los procesos del símplex, obtendríamos la siguiente tabla:

X1 X2 X3 X4 X5 X6 X7 bi

L0 0 3/7 +

5/7Pi

0 11/7 –

5/7Pi

13/7 –

5/7Pi

0 5/7 - 5 695/7

+

50/7P1

80

Page 81: TESIS RECOPILADA

Como vimos el valor de X1 era 50 / 7, entonces al aumentar p1 al coeficiente de

X1, aumenta 50 / 7 p1 el valor de nuestra función objetivo.

Observación:

Los valores de los coeficientes de las variables no básicas Xi de la LO se pueden

calcular haciendo:

L0´de Xi = L0 de Xi + (Lj de Xi) * pj

Siendo:

L0´de Xi: el coeficiente nuevo de la fila L0 columna Xi.

L0 de Xi: el coeficiente viejo de la fila L0 columna Xi.

Lj de Xi: el coeficiente de la fila Lj columna Xi correspondiente a la variable básica

modificada Xj.

Xi: es una variable no básica.

pj: indica el incremento del coeficiente de la variable básica modificada Xj.

Lo que nos interesa es determinar un intervalo de variación de pj (en nuestro caso

p1) en el cual no cambie nuestra solución optimal.

Para ello nos fijamos en los coeficientes correspondientes a las variables no

básicas de la L0, ya que para que continúe óptima nuestra solución, han de ser

menores que cero. Es decir, en nuestro caso:

3/7 + 5/7 p1 < 0 entonces 5/7 p1 < -3/7 entonces p1 < -3/5

11/7 – 5/7 p1 < 0 entonces 5/7 p1 > 11/7 entonces p1 > 11/5

13/7 + 10/7 p1 < 0 entonces 10/7 p1 < -13/7 entonces p1 < -13/10

5/7 – 1/7 p1 < 0 entonces 1/7 p1 > 5/7 entonces p1 > 5

Luego el intervalo será:

-3/5 ≤ p1 ≤ 11/5

En este intervalo la función objetivo se incrementará en 50/7 de p1.

Si en lugar de tener un beneficio de 4 en el problema de fabricación de papas

congeladas (ver anexo I) hubiese tenido un beneficio de 6:

81

Page 82: TESIS RECOPILADA

p1 = 6- 4 =2

Que está dentro del intervalo

-3/5 ≤ p1 ≤ 11/5

Entonces la solución será más óptima y el valor de nuestra función objetivo será:

695/7 + 50/7 * 2 = 795/7

5.2. LAS VARIABLES DE HOLGURA.

El valor de una variable de holgura, representa el sobrante de la restricción a la

que está asociada. Por ello, una variación en el valor de una variable de holgura

implica una modificación en los términos independientes de las restricciones.

Variables básicas:

El valor de una variable de holgura BÁSICA representa la disminución máxima que

puede tener la restricción a la que está asociada, sin que varíe nuestra base

factible. Es decir, refleja el exceso que tenemos en la restricción correspondiente.

En nuestro ejemplo de las papas tenemos:

X6 = 325/7

Que corresponde a la restricción

7 X1 + 5 X2+ 3 X3 + 2 X2 + X6 = 120

Si incrementamos el valor de nuestra restricción en 120 + p6, mientras p6> -325/7,

nuestra solución seguirá siendo óptima.

Para p6 = -325/7 la solución sería degenerada.

82

Page 83: TESIS RECOPILADA

Las modificaciones producidas en la tabla solución de nuestro problema, por la

variación en el valor de una variable de holgura básica, es la misma que la que se

produce en una variable no básica.

Por ser más representativo este último caso (variación de la variable no básica),

estudiaremos sus modificaciones.

Variables no básicas:

Las modificaciones en los coeficientes bi de las líneas correspondientes a las

restricciones, están determinados por las variables de holgura. Vamos a ver qué

sucede si modificamos un coeficiente correspondiente a una restricción cuya

variable de holgura asociada es no básica.

Si en la restricción:

X1 + X2 + X3 + X4 + X5 = 15

Hacemos

15 + p0

Al realizar el proceso del método símplex el valor p0 aparecerá en todas las

casillas bi de nuestra tabla solución:

bi

L0 695/7 – 13/7 p0

L1 50/7 – 10/7 p0

L2 325/7 – 61/7 p0

L3 55/7 – 3/7 p0

Estos valores de la columna bi se obtienen de la siguiente forma:

bi’ de Lj = bi de Lj + Xh de Lj * pk donde:

bi’ de Lj: es el valor nuevo del coeficiente bi de la línea Lj.

bi de Lj: es el valor viejo del coeficiente bi de la línea Lj.

Xh de Lj: es el valor del coeficiente de la variable Xh en la línea Lj.

pk: es el parámetro asociado a la variable de holgura que indica la variación del

valor del término independiente de la restricción.

83

Page 84: TESIS RECOPILADA

Para que la solución siga siendo factible, todos estos valores nuevos, de la

columna bi (bi’), han de ser mayores o iguales a cero; sin tener en cuenta el de la

L0, que lo será por definición.

50/7 + 10/7 p0 ≥ 0 entonces p0 ≥ -5

325/7 – 61/7 p0 ≥ 0 entonces p0 ≤ 325/61

55/7 – 3/7 p0 ≥ 0 entonces p0 ≤ 55/3

Luego:

-5≤ p0≤325/61

Que será el intervalo p0 fuera del cual la solución deja de ser factible.

Así, en nuestro ejemplo, se podrá incrementar la cantidad de productos

almacenados hasta:

X1= 50/7 + 10/7 * 325/61

X3= 55/7 – 3/7 * 325/61

X6= 325/7 – 61/7 + 325/61

FUNCION OBJETIVO= 695/7 + 13/7 + 325/61

Si hubiésemos variado todos los coeficientes de las restricciones correspondientes

a las variables de holgura no básicas, habríamos obtenido lo siguiente:

L0 695/7 + 13/7 p0 + 5/7 p2 ≥ 0

L1 50/7 + 10/7 p0 – 1/7 p2 ≥ 0

L2 325/7 – 61/7 p0 + p1 + 4/7 p2 ≥ 0

L3 55/7 – 3/7 p0 + 1/7 p2 ≥ 0

Entonces:

- 10/7 p0 + 1/7 p2 ≤ 50/7

+ 61/7 p0 – p1 – 4/7 p2 ≤ 325/7

+ 3/7 p0 – 1/7 p2 ≤ 55/7

84

Page 85: TESIS RECOPILADA

Con este sistema se pueden hallar las variaciones que se pueden llevar a cabo sin

que se varíe la base.

5.3. INCLUSIÓN DE VARIABLES.

Vamos a pasar a estudiar la posible inclusión de una nueva variable en nuestro

problema. Para ello nos basaremos en un ejemplo. Supongamos el siguiente

problema:

FUNCION OBJETIVO: Max 3 X1 + 5 X2

Sujeto a: X1 ≤ 4

3 X1 + 2 X2 ≤ 18

Cuya solución final es:

X1 X2 X3 X4 biL0 9/2 0 0 5/2 45L1 1 0 1 0 4L2 3/2 1 0 ½ 9

Vamos a ver qué sucede si nos aparece una nueva variable X5 que nos

transforme el problema en:

FUNCION OBJETIVO: Max 3 X1 + 5 X2 + 7 X5

Sujeto a: X1 + X5≤ 4

3 X1 + 2 X2 + 2 X5 ≤ 18

85

Page 86: TESIS RECOPILADA

El coeficiente correspondiente a esta variable en la L0 será:

(A) * (B) + m = n

Siendo:

A: matriz fila de los coeficientes de las variables de holgura en la L0

B: matriz columna de los coeficientes (de la nueva variable) incluidos en las

restricciones antiguas.

m: coeficiente (de la nueva variable) incluido en la función objetivo antigua.

n: coeficiente de la nueva variable en la L0 de la nueva tabla solución.

Así tendremos:

(0,5/2) * 1 - 7 =2

2

Además, también podemos calcular cuáles son los coeficientes de la nueva

variable en las casillas de la tabla, correspondientes a las restricciones. El

procedimiento será:

(A’) * (B) = (C)

Donde:

A’: matriz de los coeficientes correspondientes a las variables de holgura en las

líneas de las restricciones en la tabla solución del problema inicial.

B: matriz columna de los coeficientes (de la nueva variable) incluido en las

restricciones antiguas.

C: matriz de los coeficientes correspondientes a la nueva variable en las líneas de

las restricciones en la tabla de nuestro problema modificado.

1 0 * 1 = 10 ½ 2 1

Por tanto, la tabla nos quedaría:

X1 X2 X3 X4 X5 bi

L0 9/2 0 0 5/2 -2 45

L1 1 0 1 0 1 4

86

Page 87: TESIS RECOPILADA

L2 3/2 1 0 1/2 1 9

Como el coeficiente de la nueva variable en la L0 nos ha salido negativo, será

necesario continuar aplicando el método símplex a esta nueva tabla. Así

obtenemos:

X1 X2 X3 X4 X5 bi

L0 13/2 0 2 5/2 0 53

L1 1 0 1 0 1 4

L2 1/2 1 -1 1/2 0 5

La solución por tanto sería:

X2 = 5

X5 = 4

5.4. MODIFICACIÓN DE COEFICIENTES DE VARIABLE NO

BÁSICA EN RESTRICCIONES.

La modificación de un problema de programación lineal, mediante el cambio de

alguno o varios coeficientes en las restricciones correspondientes a una variable

no básica, lo vamos a analizar basándonos en un ejemplo.

Sea el problema:

FUNCION OBJETIVO: Max 3 X1 + 5 X2

Sujeto a: X1 ≤ 4

3 X1 + 2 X2 ≤ 18

La solución óptima de este problema será:X1 X2 X3 X4 bi

L0 9/2 0 0 5/2 45L1 1 0 1 0 4L2 3/0 1 0 ½ 9

Vamos a modificar nuestro problema inicial cambiando los coeficientes de las

restricciones de la variable no básica X1.

Cambiaremos los coeficientes (1,3) por (2,2).

El coeficiente correspondiente a la variable modificada en la L0 será:

87

Page 88: TESIS RECOPILADA

(A) * (B) + m = n

Siendo:

A: matriz fila de los coeficientes de las variables de holgura en la L0.

B: matriz columna de los coeficientes nuevos (de la variable modificada)

m: coeficiente (de la variable modificada) en la función objetivo.

n: coeficiente nuevo de la variable modificada en la L0 de la nueva tabla solución.

Así tendremos:

(0,5/2) * 2 - 3 = 2

2

Además, también podemos calcular cuáles son los nuevos coeficientes de la

variable modificada en las casillas de la tabla, correspondientes a las líneas de las

restricciones. El procedimiento será:

(A’) * (B) = C

Donde

A’: matriz de los coeficientes correspondientes a las variables de holgura en las

líneas de las restricciones en la tabla solución del problema inicial.

B: matriz columna de los coeficientes nuevos (de la variable modificada).

C: matriz de los coeficientes correspondientes a la variable modificada en las

líneas de las restricciones en la tabla de nuestro problema modificado.

1 0 * 2 = 20 ½ 2 1

La nueva tabla quedaría:

X1 X2 X3 X4 bi

L0 2 0 0 5/2 45

88

Page 89: TESIS RECOPILADA

L1 2 0 1 0 4

L2 1 1 0 ½ 9

Nota: como el valor en la L0 de la variable modificada no es negativo, el valor de

nuestra función objetivo no variará.

Si en lugar de hacer el cambio (2,2) hubiésemos hecho el cambio (10,1)

habríamos obtenido:

X1 X2 X3 X4 bi

L0 -1/2 0 0 5/2 45

L1 10 0 1 0 4

L2 ½ 1 0 1/2 9

Por lo cual deberíamos de continuar con el proceso simplex para obtener la

solución óptima de este nuevo problema.

5.5. AÑADIR NUEVAS RESTRICCIONES.

En el caso de tener un problema de programación lineal y querer modificarlo

incluyendo nuevas restricciones, en lugar de volver a resolverlo, podremos realizar

un análisis de sensibilidad y modificar la tabla anteriormente obtenida para

encontrar una solución óptima a nuestro nuevo problema.

Vamos a ilustrarlo con el siguiente ejemplo:

FUNCION OBJETIVO: 5 X1 + 3 X2

Sujeto a: 3 X1 + 5 X2 ≤ 15

5 X1 + 2 X2 ≤ 10

La solución óptima se este problema será:

X1 X2 X3 X4 bi

L0 0 0 5/19 16/19 235/19

L1 0 1 5/19 -3/19 45/19

L2 1 0 -2/19 5/19 20/19

Si añadimos la restricción:

89

Page 90: TESIS RECOPILADA

X2≤ 1

Lo que hacemos es añadir esta circunstancia en la tabla.

X1 X2 X3 X4 X5 bi

L0 0 0 5/19 16/19 0 235/19

L1 0 1 5/19 -3/19 0 45/19

L2 1 0 -2/19 5/19 0 20/19

L3 0 1 0 0 1 1

Hacemos los cambios necesarios para continuar manteniendo la base que

teníamos.

Haciendo los cambios para eliminar el <<1>> de L3.

X1 X2 X3 X4 X5 bi

L0 0 0 5/19 16/19 0 235/19

L1 0 1 5/19 -3/19 0 45/19

L2 1 0 -2/19 5/19 0 20/19

L3 0 0 -5/19 3/19 1 -26/19

Esto nos proporciona una solución no factible. Es decir, esta solución no vales.

Más adelante veremos cómo modificar esta solución para intentar encontrar una

solución factible y óptima.

90

Page 91: TESIS RECOPILADA

CAPITULO VI

TEOREMA DEL METODO DUAL

91

Page 92: TESIS RECOPILADA

CAPITULO VI DUALIDAD

Todo problema de programación lineal tiene un problema relacionado con él, al

cual se le llama problema dual o, simplemente, el dual.

En un problema original de programación lineal, denominado problema primario o,

simplemente, primario, el dual puede formularse con la información contenida en

el primario. El problema dual es importante por muchas razones teóricas y,

además por motivos prácticos. Una de sus propiedades es que, al ser resuelto

suministra información indispensable sobre la solución del problema primario.

De manera análoga, la solución del primario da toda la información esencial

relativa a la solución del problema dual. En un problema de programación lineal,

su solución puede determinarse resolviendo el problema original o su dual.

Las propiedades estructurales de los dos problemas pueden provocar una

decidida preferencia sobre cuál problema solucionar. Aun con los métodos

computarizados, las eficiencias del cómputo pueden provenir de la solución de una

forma de problema.

92

Page 93: TESIS RECOPILADA

800

350

125

5x1 + 4x2

3x1 + 2x2

-4x1 + 3x2

2x1 + 4x2800y1 + 350y2 + 125y3

2

4

-4 y3

+3 y3

+3 y2

+2 y2

5 y1

4 y1

-4x1 + 3x2 0

Problema primario Problema dual

Maximice Minimice

Sujeto aSujeto a

6.1 TEOREMA FUNDAMENTAL DE LA DUALIDAD

Un problema primal tiene solución si y sólo si el problema dual la tiene. Además, si

existe una solución, entonces:

1.- Las funciones objetivo de los problemas primal y dual alcanzan el mismo valor

óptimo

2.- La solución óptima del problema primal aparece debajo de las variables de

holgura del último renglón de la tabla símplex final relacionada con el problema

dual.

FORMULACION DEL PROBLEMA DUAL

Los parámetros y estructuras de este problema proporcionan toda la información

necesaria para formularlo. La figura 6.1 describe la formulación de un problema de

maximización y su dual. A continuación se hacen algunas observaciones acerca

de las relaciones entre estos problemas primarios y duales

(1)

(2)

(3)

Figura 6.1

93

Page 94: TESIS RECOPILADA

1.- El problema primario es un problema de maximización y el dual es un problema

de minimización. El sentido de la optimización es siempre el opuesto de los

correspondientes problemas primarios y duales.

2.- El problema primario consta de dos variables y dos restricciones, mientras que

el dual tiene tres variables y dos restricciones. El número de restricciones en el

problema primario siempre es igual a la de las variables del dual.

3.- Los coeficientes de la función objetivo para X1 y X2 en el problema primario

son iguales a las constantes del miembro derecho para las restricciones (1) y (2)

en el dual. El coeficiente de la función objetivo para la j – ésima variable del

problema primario es igual a la constante del miembro derecho para la restricción j

– ésima del dual.

4.- Las constantes del miembro derecho para las restricciones (1) y (3) en el

problema primario son iguales a los coeficientes de la función objetivo para las

variables del dual y1, y2, y3. La constante del miembro derecho para la i – ésima

restricción del problema primario es igual al coeficiente de la función objetivo para

la i – ésima variable del dual.

5.- Los coeficientes de las variables para la restricción (1) del problema primario

son iguales a los de la columna para la variable dual y1. Los coeficientes de las

variables para las restricciones (2) y (3) del problema primario son iguales a los

coeficientes de columna de las variables del dual y2 Y y3. Los coeficientes de aij

en el problema primario son la transpuesta de los del dual. Es decir, los

coeficientes del renglón del problema primario se convierten en los coeficientes de

la columna en el dual y a viceversa.

Problema de maximización Problema de minimización

Número de restricciones Número de variables

94

Page 95: TESIS RECOPILADA

Restricción (≤) Variable no negativa

Restricción (≥) Variable no positiva

Restricción (=) Variable no restringida

Número de variables Número de restricciones

Variable no negativa Restricción (≥)

Variable no positiva Restricción (≤)

Variable no restringida Restricción (=)

Coeficiente de la función objetivo Constante del miembro

para la j – ésima variable derecho para la restricción j – ésima

Constante del miembro derecho para Coeficiente de la función

la i – ésima restricción objetivo para la variable i

Coeficiente en restricción i para la Coeficiente en la restricción

Variable j j para la variable i

Tabla 6.2

Si bien este problema tiene un problema primario que es un tipo de maximización,

el primario puede ser un problema de minimización. Las reglas de transformación

en realidad deberían enunciarse según la forma de hacer la transformación de un

problema de maximización en el correspondiente de minimización o a la inversa.

La tabla 6.2 sintetiza la simetría de los dos tipos de problema y sus relaciones.

Las relaciones 4 y 8 indican que una restricción de igualdad en un problema

corresponde a una variable sin restricción en el otro. Está ultima puede adoptar un

valor positivo, negativo o cero. De igual manera, las relaciones 3 y 7 denotan que

un problema puede tener variables no positivas (por ejemplo xj ≤ 0). Las variables

sin restricción y no positivas violan al parecer la condición de no negatividad del

método símplex. Aunque eso es cierto, en el caso de los problemas que

contengan cualquiera de esos tipos especiales de variables se cuenta con

métodos que nos permiten ajustar la formulación para cumplir con dicha condición.

95

Page 96: TESIS RECOPILADA

CAPITULO VIIALGORITMO SÍMPLEX DUAL

96

Page 97: TESIS RECOPILADA

Este algoritmo que vamos a detallar a continuación presenta una serie de ventajas

prácticas sobre el símplex normal, siendo algunas de ellas las siguientes:

Permite eliminar una base inicial infactible en el caso de restricciones del tipo = ó

≥, sin necesidad de introducir variables artificiales.

Presenta ventajas en algunos casos de análisis de sensibilidad, como la adición

de nuevas restricciones o nuevas variables.

El método explica lo que hemos visto en la comparación del primal y el dual.

Los criterios I y II en el símplex dual sirven para lo contrario que en el simples

normal.

El criterio I va buscando la factibilidad, mientras que el criterio II busca la

optimalidad.

La base factible inicial para el método símplex dual no está sujeta a ninguna

restricción. A diferencia de lo que ocurría en el método del símplex.

Vamos a explicar este método aplicando el dual al siguiente problema:

97

Page 98: TESIS RECOPILADA

Problema:

FUNCION OBJETIVO: Min 160 X1 + 120 X2 + 280 X3

Sujeto a: 2 X1 + X2 + 4 X3 ≥ 10

2 X1 + 2 X2 + 2 X3 ≥ 15

X1, X2; X3 ≥ 0

Añadimos loas variables de holgura, y nos queda:

Sujeto a: 2 X1 + X2 + 4 X3 – X4 = 10

2 X1 + 2 X2 + 2 X3 – X5 = 15

Formamos la tabla buscando una base factible del dual.

X1 X2 X3 X4 X5 bi

L0 -160 -120 -280 0 0 0

L1 -2 -1 -4 1 0 -10

L2 -2 -2 -2 0 1 -15

Nota: Obsérvese que hemos cambiado de signo los coeficientes de las líneas L1 y

L2 para obtener una base, que será una base factible de este método. Aquí no nos

importa que los valores de las variables de holgura sean negativos.

CRITERIO I: (Factibilidad)

Este criterio nos dice que saldrá de la base aquella variable que sea más

infactible.

En este caso saldrá d la base X5, que tiene el valor de –15.

En el caso de que todos los bi sean positivos finaliza el algoritmo y por tanto

habremos obtenido la solución óptima.

CRITERIO II (Optimalidad)

Este criterio selecciona aquella variable que al entrar en la base optimiza más la

función objetivo, saliendo de la base la variable elegida en el criterio I.

Cj/aij para todo Cj< 0 y para todo aij < 0

98

Page 99: TESIS RECOPILADA

Siendo:

Cj: coeficiente de la variable Xj en LO.

aij: coeficiente correspondiente a la variable Xj en la línea L1. La variable básica

Xh se encuentra en la línea L1.

Si todos los aij son positivos, entonces el problema primal no tiene solución

factible y, por tanto, el dual no tiene solución acotada.

Tomaremos el valor máximo de estos cocientes cuando el problema sea

maximizar y el mínimo de ellos cuando se trate de minimizar.

Volviendo a nuestro ejemplo tendremos:

X1 X2 X3 X4 X5 bi

L0 -160 -120 -280 0 0 0

L1 -2 -1 -4 1 0 -10

L2 -2 -2 -2 0 1 -15

Entra X2 y sale X5

Hacemos los cálculos, y como nuestro problema es de minimizar tomaremos el

mínimo de ellos:

Min (Cj/aij) = Min (-160/-2, -120/-2, -280/-2) = Min (80, 60, 140) =60

60 = -120/-2; -120≡ C2

-2≡ a22

Entra la variable X2

Realizando el cambio de base nos queda:

X1 X2 X3 X4 X5 bi

L0 -40 0 -160 0 -60 900

L1 -1 0 -3 1 -1/2 -5/2

L2 1 1 1 0 -1/2 -15/2

99

Page 100: TESIS RECOPILADA

Entra X1 y sale X4

Operando:

X1 X2 X3 X4 X5 bi

L0 0 0 -40 -40 -40 1000

L1 1 0 3 -1 1/2 5/2

L2 0 1 -2 1 -1 10/2

Aquí vemos que no podemos aplicar el criterio I, luego el problema termina, siendo

la solución:

X1 = 5/2

X2 =5

X3 = 0

7.1 ANÁLISIS DE SENSIBILIDAD.

El análisis de sensibilidad consiste en ver las variaciones que se pueden producir

en la solución óptima al variar alguna de las condiciones iniciales del problema.

Como pueden ser:

a) Coeficientes de las variables.

b) Introducción de nuevas variables.

c) Adición de nuevas restricciones.

d) Etc.

Vamos a verlo con un ejemplo:

Supongamos el problema del fabricante de papas (ver anexo I).

FUNCION OBJETIVO: Max 4 X1 + 5 X2 + 9 X3 + 11 X4

100

Page 101: TESIS RECOPILADA

Sujeto a: X1 + X2 + X3 + X4 ≤ 15

7X1 + 5X2 + 3X3 + 2X4 ≤ 120

3X1 + 5X2 + 10X3 + 13X4 ≤100

Cuya tabla final queda:

X1 X2 X3 X4 X5 X6 X7 bi

L0 0 3/7 0 11/7 13/7 0 5/7 695/7

L1 1 5/7 0 -5/7 10/7 0 -1/7 50/7

L2 0 -6/7 0 13/7 -61/7 1 4/7 325/7

L3 0 2/7 1 12/7 3/7 0 1/7 55/7

Calculamos su dual:

FUNCION OBJETIVO: Min 15 Y1 + 120 Y2 + 100 Y3

Sujeto a: Y1 + 7 Y2 + 3 Y3≥ 4

Y1 + 5 Y2 + 5 Y3≥ 5

Y1 + 3 Y2 + 10 Y3≥ 9

Y1 + 2 Y2 + 13 Y3≥ 11

Cuya solución es:

Y1 = 13/7

Y2 = 0

Y3 = 5/7

Y4 = 0

Y5 = 3/7

Y6 = 0

Y7 = 11/7

VARIACIÓN DE LOS COEFICIENTES DE LA FUNCIÓN OBJETIVO .

101

Page 102: TESIS RECOPILADA

1) En las variables no básicas:

Veamos la variación, por ejemplo, del coeficiente de la variable no básica X2.

Queremos saber qué valor, P2, podemos incrementar al coeficiente para que

nuestra solución continúe siendo factible.

La restricción del dual correspondiente será:

Y1 + 5 Y2 + 5 Y3 ≥ 5 + P2

Sustituyendo los valores:

P2 ≤ 3/7

Por tanto, mientras esta condición se cumpla, nuestra solución seguirá siendo

factible.

Para P2 ≥ 3/7 la solución deja de ser factible.

2) En las variables básicas:

Tomando por ejemplo, la variable básica X1 y sustituyendo los valores en la

restricción correspondiente en el dual tenemos:

13/7 + 0 + 3 * 5/7 ≥ 4 + P1

13 + 15 – 28 ≥ 7 P1

P1 ≤ 0 que no nos indica nada.

Nota: si hubiésemos tomado otra variable básica (por ejemplo X3) habríamos

obtenido el mismo resultado.

INTRODUCCIÓN DE UNA NUEVA VARIABLE .

La introducción de una nueva variable en el primal va a suponer incluir una

restricción en el dual. Mientras esta restricción se cumpla en el dual, la variable

nueva no entrará en la base.

Supongamos que en nuestro problema, don Francisco y doña Remedios, su

mujer, deciden producir además papas congeladas para ensalada.

102

Page 103: TESIS RECOPILADA

Supongamos también que para cada Kg. fabricado necesita 3 horas y dos Kg. de

materia prima. Además desea venderlo a 3 pesos/Kg.

En estas condiciones nuestro modelo quedaría modificado de la siguiente manera:

FUNCIO OBJETIVO: Max 4 X1 + 5 X2 + 9 X3 + 11 X4 + 3 X8

Sujeto a: X1 + X2 + X3 + X4 + X8 ≤ 15

7X1 + 5X2 + 3X3 + 2X4 + 2X8 ≤ 120

3X1 + 5X2 + 10X3 + 13X4 + 3X8 ≤ 100

Siendo la nueva restricción en el dual la siguiente:

Y1 + 2 Y2 + 3 Y3 ≥ 3

Sustituyendo valores nos queda:

28/7 ≥ 3

Por tanto se cumple esta restricción y la variable que hemos introducido se queda

fuera de la base.

Si don Francisco desea fabricar este producto, tendrá que obtener un beneficio

unitario superior a 28/7 (provocando que la nueva variable introducida X8 entrase

en la base). Supongamos que decide que este valor sea 10. Esto quiere decir que

la restricción del dual, correspondiente a la nueva variable introducida en el primal,

es no factible y por lo tanto, la solución de ambos se modificará.

Para poder continuar aplicando el método iterativo símplex – dual necesitamos

conocer los valores de la columna, en la tabla, de la nueva variable.

El coeficiente de la LO (en el primal) sabemos que es el valor de la variable de

holgura del dual, correspondiente a su restricción. Y este valor será:

13/7 + 3 * 5/7 – Y8 = 10

Y8 = -6

Los nuevos coeficientes de la variable Y8 para las líneas L1, L2 y L3 serán:

103

Page 104: TESIS RECOPILADA

a18 a15 a16 a17 a18

a28 = a25 a26 a27 * a28

a38 a35 a36 a37 a38

Donde

a15 a16 a17

A = a25 a26 a27

a35 a36 a37

A es la matriz de los coeficientes transformados de las variables de holgura y a18,

a28 y a38, son los nuevos coeficientes que la nueva variable tiene en cada una de

las restricciones.

En estas condiciones obtenemos que:

a18 = 1 * 10/7 + 2 * 0 + 3 * (-1/7) =1

a28 = 1 * (-61/7) + 2 * 1 + 3 * (4/7) = - 5

a38 = 1 * (-3/7) + 2 * 0 + 3 * (1/7) = 0

Los coeficientes serán por tanto:

X8

L0 -6

L1 1

L2 -5

L3 0

Por tanto, podemos aplicar el criterio1 del símplex – dual para proseguir las

iteraciones.

AÑADIR NUEVAS RESTRICCIONES .

104

Page 105: TESIS RECOPILADA

Supongamos que en nuestro problema aparece una nueva limitación: el fabricante

no puede consumir más que 10Kw de energía eléctrica.

Para cada uno de los cuatro productos iniciales, los consumos de energía son:

X1 → 2

X2 → 9

X3 → 5

X4 → 4

Por tanto, la nueva restricción será:

2 X1 + 9 X2 +5 X3 + 4 X4 ≤ 10

Vamos a ver si se cumple para nuestra base optimal.

100/7 + 275/7 = 375/7

Por tanto no se cumple la restricción.

Introducimos una nueva variable de holgura en la restricción

2 X1 + 9 X2 + 5 X3 + 4 X4 + X9 = 10

Obtendremos una nueva base:

275/7 + X9 = 10

X9 = -205/7

Por tanto, la base queda no factible pues X9 < 0.

Nuestra solución, entonces, se modificará. Esta infactibilidad la eliminaremos

aplicando el símplex – dual a la tabla final del primal con la nueva restricción.

Previamente tendremos que calcular el valor de los coeficientes de la nueva línea

L4.

a4j j= 1,..,7

Haciendo las transformaciones necesarias para que

105

Page 106: TESIS RECOPILADA

a41 = 0

a43 = 0

a46 = 0

Nos queda:

X1 X2 X3 X4 X5 X6 X7 X9 bi

L4 0 43/7 0 -22/7 -5/7 0 -3/7 1 -205/7

Con esto podemos aplicar el símplex dual para eliminar esta infactibilidad.

106