I. RESUMEN - Universidad Nacional del Callao · importante caso del “modelo de programación...

53
3 I. RESUMEN Existen muchos problemas tanto en la ciencia, la tecnología así como la economía, donde se usa la programación matemática u optimización la cual busca hallar una solución que permita formular y resolver diversos problemas orientados a la toma de decisiones. En problemas de optimización es indispensable el conocimiento de determinados métodos que permitan la solución de dichos problemas. El “Método Simplex” es un método algebraico sistemático que examina las esquinas, llamadas vértices o puntos extremos de un conjunto restringido de programación lineal en busca de una solución óptima. El “Método Simplex” muestra la eficacia de este método en la formulación y solución de diversos problemas de optimización y demás. Este método permite ver las aplicaciones a las ramas de las ciencias é ingeniería.

Transcript of I. RESUMEN - Universidad Nacional del Callao · importante caso del “modelo de programación...

3

I. RESUMEN

Existen muchos problemas tanto en la ciencia, la tecnología así como la

economía, donde se usa la programación matemática u optimización la

cual busca hallar una solución que permita formular y resolver diversos

problemas orientados a la toma de decisiones.

En problemas de optimización es indispensable el conocimiento de

determinados métodos que permitan la solución de dichos problemas.

El “Método Simplex” es un método algebraico sistemático que examina

las esquinas, llamadas vértices o puntos extremos de un conjunto

restringido de programación lineal en busca de una solución óptima.

El “Método Simplex” muestra la eficacia de este método en la

formulación y solución de diversos problemas de optimización y demás.

Este método permite ver las aplicaciones a las ramas de las ciencias é

ingeniería.

4

II. INTRODUCCCIÓN

El método simplex fue creado por George B. Dantzig en los últimos años

de la década de los cuarenta (1947), fue hecho fundamentalmente en la

recién desarrollada área investigación de operaciones, desde entonces

Dantzig y otros han continuado su desarrollo.

El desarrollo de la programación lineal se sitúa entre los avances

científicos más importantes de la mitad del siglo XX, y debemos estar de

acuerdo con esta afirmación si tenemos en cuenta que su impacto desde

1950 ha sido extraordinario. La resolución de problemas de

programación lineal de grandes dimensiones lo permite muy eficazmente

“El Método Simplex”, siendo este un algoritmo el cual sirve para

determinar con eficiencia cuando una solución existe.

El método simplex es un procedimiento operativo, el cual a medida que

se avanza va mejorando, hasta cuando ya no sea posible mejorar más

dicha solución.

2.1. PLANTEAMIENTO DEL PROBLEMA DE INVESTIGACIÓN

Existen muchos problemas tanto de la ciencia, la tecnología así

como la economía donde se trata de asignar o compartir

determinados recursos sólo disponibles en cantidades limitadas,

donde usamos la programación matemática u optimización la cual

busca hallar una solución que permita formular y resolver diversos

problemas orientados a la toma de decisiones.

5

En problemas de optimización es indispensable el conocimiento de

determinados métodos que permitan la solución de dichos

problemas; esto nos lleva, en forma natural al planteamiento del

siguiente problema:

¿Es posible hallar un método que permita la resolución de

problemas de optimización de manera eficaz?

2.2.OBJETIVOS Y ALCANCES DE LA INVESTIGACIÓN

A. Objetivo general:

Desarrollar el Método Simplex y algunas de sus aplicaciones.

B. Objetivos específicos:

Mostrar los conceptos básicos de Programación lineal.

Desarrollar la Programación Lineal que es la técnica de

programación matemática que busca encontrar aquella

solución o alternativa de entre las muchas posibles de un

problema que mejor identifica u en determinado criterio

lineal atendiendo a diversas condiciones también lineales.

Elaborar un marco teórico del Método Simplex.

Mostrar algunas aplicaciones del Método Simplex.

2.3. IMPORTANCIA Y JUSTIFICACIÓN DE LA INVESTIGACIÓN

El avance de la ciencia y la tecnología hacen indispensable el

conocimiento de herramientas que permitan dar solución a

problemas presentados, para lo cual la optimización sea un camino

de solución.

6

El conocimiento del Método Simplex es importante porque nos

permite dar solución a problemas de programación lineal que es

una de las metodologías más importantes para formular y resolver

diversos problemas orientados a la toma de decisiones en las

diferentes áreas de la Ingeniería, la Economía además j uega un

papel fundamental no solo en optimización y economía, sino también

en planificación estratégica, análisis de algoritmos, problemas

combinatorios, criptografía, y en muchos otros campos y en

particular, en la Investigación Operativa y que surge como la forma

más natural de abordar dichos problemas.

La investigación queda justificada por la importancia y el numero de

sus aplicaciones de este método y que nosotros desarrollaremos con

la idea de ser utilizada con facilidad.

7

III. MARCO TEORICO

3.1. NOCIONES PRELIMINARES

En este trabajo de investigación incluye la presentación de modelos y

algoritmos usados para resolver estos modelos, siendo uno de objetivos

resolver los problemas planteados (modelos) del mundo real, buscando

optimizar los resultados, que no es otra cosa que la respuesta óptima de

un problema matemático propuesto por el modelo.

Un modelo es una representación abstracta, un sustituto de la realidad,

siendo estos importantes porque captan la esencia de muchos

problemas importantes, pueden manejar un gran número de variables e

interacciones, además nos permiten usar el poder de las matemáticas

mano a mano con la capacidad y velocidad de las computadoras.

Cuando un modelo tiene limitantes, se conoce como modelo de

optimización restringida, que significa alcanzar los mejores resultados

(matemáticos) posibles considerando las restricciones.

La forma simbólica general de un modelo de optimización restringida, es:

Maximizar (o minimizar): 1 2( , , . . . , )nf x x x

Sujeta a las restricciones:

8

1 1 2 1

2 1 2 2

1 2

( , , . . . , )

( , , . . . , )

( , , . . . , )

n

n

m n m

g x x x b

g x x x b

g x x x b

Siendo:

-) La función f, la función objetivo,

-) La funciones g1, g2,…, gm las funciones restricción,

-) Las variables 1 2 3, , , ..., nx x x x se llaman variables de

decisión, los cuales deben tener solo valores no negativos (positivos o

nulos), llamadas condiciones de no negatividad.

-) A las constantes 1 2 3, , , ..., nb b b b se denominan parámetros (valor

numérico determinado), y

-) El conjunto de las relaciones 1 2( , , . . . , )i n ig x x x b

, son todas las

m restricciones, que limitan indirectamente los valores que pueden ser

asignados a las variables de decisión. El modelo reconocerá

solamente las decisiones que satisfagan todas las restricciones,

incluyendo las condiciones de no negatividad, tales decisiones se

llaman decisiones factibles (permisible).

9

Cuando las restricciones de este modelo son lineales, se tiene el

importante caso del “modelo de programación lineal”.

Todos los modelos de programación lineal tienen en común dos

importantes rasgos: uno es la existencia de las restricciones y el

segundo una función objetivo que se va a maximizar o minimizar.

10

3.2. PROGRAMACION LINEAL

La Programación Lineal es la técnica de programación matemática, u

optimización que busca encontrar aquella solución o alternativa de entre

las muchas posibles de un problema que mejor identifica un determinado

criterio lineal atendiendo a diversas condiciones también lineales.

La Programación Lineal surge como la forma más natural de abordar

muchos problemas de la ciencia, la tecnología o la economía donde se

trata de asignar o compartir determinados recursos sólo disponibles en

cantidades limitadas.

La formidable extensión de la programación lineal y el papel tan

importante que juega hoy en todos aquellos entornos donde se utiliza

para la asignación de recursos de cualquier tipo se debe

fundamentalmente a dos hechos: La aparición en 1947 del denominado

método simplex, que permite la resolución de problemas de

programación lineal de grandes dimensiones muy eficazmente, y al

enorme desarrollo de los ordenadores.

La programación lineal juega un papel fundamental no solo en

optimización y economía, sino también en planificación estratégica,

análisis de algoritmos, problemas combinatorios, criptografía, y en

muchos otros campos.

11

La programación lineal se usa extensamente en problemas de

asignación de recursos. A fin de ilustrar esto, a continuación daremos el

ejemplo de un problema simple de una ocupación cotidiana y

mostraremos como formular el modelo matemático para ello.

Un fabricante de cierto producto químico tiene dos plantas en las que

elabora. La planta X puede entregar a lo más 30 toneladas por semana

y la planta Y rinde a lo más 40 toneladas en el mismo lapso. El

fabricante quiere producir un total de al menos 50 toneladas por

semana. Se mide la cantidad de partículas suspendidas determinadas

semanalmente en la atmósfera de una población cercana y se determina

que es de 20 libras por cada tonelada del producto fabricado por la

planta X y 30 libras por cada tonelada elaborada en la planta Y.

¿Cuántas toneladas deben fabricarse semanalmente en cada planta

para minimizar la cantidad total de partículas suspendidas en la

atmósfera?

Solución

Sean x y y las cantidades de toneladas del producto fabricado en las

plantas X y Y respectivamente, cada semana. Luego la cantidad total

producida por semana es: x y .

Como se quiere producir al menos 50 toneladas por semana, se debe

tener: 50x y .

Como la planta X puede producir a lo más 30 toneladas, se tiene: 30x

De manera similar la planta Y, puede fabricar a lo más 40 toneladas por

semana, se debe tener: 40y

Y como x é y no pueden ser negativos, entonces: 0 0x y

12

La cantidad total de partículas suspendidas (en libras) en la atmósfera,

es: 20 30z x y , lo cual se quiere minimizar.

Así, la formulación matemática del problema es:

Determinar los valores de x y y que minimicen:

20 30z x y

Sujeto a las siguientes restricciones sobre x y y :

50x y

30x

40y

0

0

x

y

13

3.2.1. CONCEPTOS Y DEFINICIONES

La programación lineal trata de la búsqueda de la solución del

siguiente problema de criterio lineal:

Maximizar: 1 1 2 2 3 3 ... n nb x b x b x b x

Sujeto a

11 1 12 2 1 1... n na x a x a x c

21 1 22 2 2 2... n na x a x a x c

1 1 2 2 ...m m mn n ma x a x a x c

1 2 3, , , ..., 0nx x x x

Donde:

-) A la función 1 1 2 2 3 3 ... n nb x b x b x b x se la denomina función

objetivo (la cual busca usualmente maximizar o minimizar de

manera óptima un determinado producto);

-) A las funciones:

1 1 2 2 ... ; 1, 2, .....,i i i n n ia x a x a x c i n ,

se les llama restricciones o condiciones.

-) Las variables del problema 1 2 3, , , ..., nx x x x se denominan

variables de decisión y

14

-) A las constantes 1 2 3, , , ..., nb b b b se denominan coeficientes de

coste.

-) La matriz de coeficientes de las condiciones del problema A, es:

11 1

1

...

...

n

m mn

a a

A

a a

-) 1 2 3, , , ...,tnAC c c c c se le denomina vector término de la

derecha.

-) Un vector 1 2 3, , , ...,tnx x x x x que satisface todas las

condiciones se denomina factible.

Y el conjunto F de todos los vectores factibles constituye la región

factible.

Con notación vectorial, el problema de programación lineal se

plantea de la siguiente manera:

Minimice:

,tb x

Sujeto a:

,Ax c

0x

La región factible es

: , 0nF x R Ax c x .

15

3.2.2. MODELO STANDARD DE PROGRAMACIÓN LINEAL

Optimizar 1 1 1 2. . ... n nZ C X C X C X . Función objetivo.

Sujeta a 11 1 11 2 1 1... )n na X a X a X b

21 1 21 2 2 1... )n na X a X a X b

Restricciones:

1 1 1 2 ... )m m mn n ma X a X a X b

Debiendo ser:

1 20, 0,..., 0nX X X

Donde:

:jX variables de decisión, j = 1,2.., n.

:n número de variables.

:m número de restricciones.

, ,ij i ja b c constantes, 1,2..,i m

Pasos para la construcción del modelo:

1) Definir las variables de decisión.

2) Definir el objetivo o meta en términos de las variables de decisión.

3) Definir las restricciones.

4) Restringir todas las variables para que sean no negativas.

16

3.2.3. FORMA ESTÁNDAR DE PROBLEMAS DE PROGRAMACIÓN

LINEAL (SLP).- Esta forma está dado como:

Minimice ,b x

Sujeto a:

,Ax c

0x

Donde x es un vector de Rn, A es una matiz de orden nxn,

0b es un vector en Rn, y c en un vector en Rm.

3.2.4. FORMA INCORPORADA DE PROBLEMAS DE

PROGRAMACIÓN LINEAL (ILP). - Los problemas de

programación Lineal (SLP) pueden ser escritos de la siguiente

forma:

Minimice ,b x

Sujeto a:

0

A cx

I

,

Donde:

-) I es la matriz identidad de orden nxn,

-) 0 es el vector cero en Rn.

Si nosotros denotamos la matriz del lado izquierdo por A y el

vector del lado derecho por c , eliminando las tildes, podemos

establecer el Problema de Programación Lineal (ILP) como:

17

Minimice ,b x

Sujeto a:

,Ax c

Donde:

-) A es una matriz de orden nxn,

-) nb R y mc R ,

aquí hemos incorporado la condición 0x en la matriz A y el

vector c.

TEOREMA .- Sea una solución de la forma incorporada de

problemas de programación lineal (ILP). Entonces existe un 0 en

Rm tal que ˆ( , ) satisface lo siguiente:

(i) ˆ ,A c

(ii) ,tA b

(iii) 0

(iv) ˆ , 0A c

(v) ˆ, ,b c

Si existe un ˆ nR y un en Rm tal que satisface las condiciones de

la (i) al (iv), entonces es una solución del ILP.

Demostración

(i) Es obvia por la definición de conjunto factible y de que es solución

del ILP.

18

(ii) y (iii) se prueba que no es un punto interior del conjunto factible X.

Sea ai que denota la i-ésima fila de la matriz A. Luego la matriz A se

subdivide en dos sub matrices AE, AI donde,

ˆ: , ,i iE i a c

ˆ: , ,i iI i a c

Como no es un punto interior de X el conjunto E . AE denota la

submatriz de A de las filas ai con i E , y AI la submatriz de A

consistiendo de las filas ai con i I .

Afirmamos que el sistema

0, , 0EA x b x ……………. *

No tiene solución en nx R .

Intuitivamente, esto es claro, si xo fuera solución también 0x es

solución con 0 , luego tendríamos 0ˆ( )E EA x c para 0

suficientemente pequeño.

Por continuidad deberíamos tener que 0ˆ( )I IA x c luego, si el

sistema tiene solución deberíamos ser capaces de mover el conjunto

factible y al mismo tiempo incrementar ˆ,b o disminuir ˆ,b .

Esto contradice que es el óptimo.

19

Como el sistema * no tiene solución se sigue (Lema de Farkas) que

existe un vector mEy R donde mE es la dimensión del subespacio

generado por las filas de AE, tal que

, 0tEA y b y

Por lo tanto, si mI es la dimensión del espacio generado por las filas de

AI entonces:

,t tE IA y A O b

Donde O es el vector cero en RmI.

Si tomamos , 0y entonces nR y satisface

( , ) , 00

t t tE I

yA A A b

……….. 1*

Así tenemos probado (ii) y (iii).

(iv) De 1* se observa que las componentes de correspondientes a

los índices en I son cero.

Por la definición de E, ˆ 0 ,E EA c entonces:

ˆ ˆ ˆ, ( , ), , 0 0E E I IA c A c A c y

Esto demuestra (iv).

(vi) Usando (iv) y (ii) se tiene (v), esto es:

ˆ ˆ ˆ, , , ,tc A A b

20

Observaciones:

1) Una prueba alternativa de (iv) y (v) es establecer (v) primero y luego

usarlo para establecer (iv). Así.

Esto es (v).

Para establecer (iv), hacemos:

ˆ0 , ,

ˆ, ,

ˆ, ,

ˆ ,

t

b c

A c

A c

A c

2) Se sigue de (i) y (iii) que (iv) se cumple si y solo si para cada

i = 1,..,m

ˆ( , ) 0i i ia c …………………..(iv)’

Es decir, (iv)’ es equivalente a (iv).

La condición (iv)’ es algunas veces llamado condición de holgura

complementaria. Esto establece que si existe holgura en la en la

i-ésima restricción en , es decir, si ˆ,i ia c entonces

0i .

ˆ ˆ ˆ, , ,

ˆ, 0 ,

ˆ, ,

( , 0), ( , ) ,

t

E

I

E E

E I

b A A

Ay

A

y A y c

y c c c

21

3) Sea el problema de Programación lineal reformulado con X0 un

conjunto arbitrario de Rn. Es claro de la prueba que si es una

solución de este problema, entonces las condiciones necesarias se

cumplen.

Recíprocamente, si existe un punto en X0 tal que las condiciones

necesarias se cumplen, entonces es factible y el mínimo es

alcanzado en .

Nota:

La restricción dada por la inecuación ,Ax c puede ser convertida

en una ecuación introduciendo un vector no negativo cuyas

componentes son llamadas variables de holgura y escribimos.

, 0Ax c

Así, el problema de Programación lineal formulado en puede ser

escrito como:

Minimice: ( , 0), ( , )b x

Sujeto a

( , ) , 0, 0x

A I c x

Es decir, el problema ILP puede ser escrito como un problema de

programación lineal canónico (CLP).

Minimice ,b x

Sujeto a

22

, 0Ax c x

El método Simplex es aplicado a problemas en forma canónica.

Recíprocamente, el problema CLP puede ser escrito como un

problema ILP escribiendo la restricción Ax = c como dos

desigualdades restricción, , ,Ax c y Ax c luego,

incorporando la restricción 0x en la matriz se tiene:

Minimice ,b x

Sujeto a:

0

A c

A x c

I

COROLARIO 1.- Sea una solución del problema de programación

lineal estándar (SLP). Entonces existe un vector 0 en Rm tal que

ˆ( , ) satisface lo siguiente:

(i) ˆ ˆ, 0;A c

(ii)1

, 1, ...,m

i i ji

a b j n

; cumpliéndose la igualdad si ˆ 0j

(iii) 0

(iv) ˆ , 0A c

(v) ˆ, ,b c

23

Si existe un ˆ nR y un en Rm tal que satisface (i) al (v), entonces

es una solución del SLP.

COROLARIO 2.- Sea una solución del problema de programación

lineal canónico (CLP). Entonces existe un vector 0 en Rm tal que

ˆ( , ) satisface lo siguiente:

(i) ˆ ˆ, 0;A c

(ii)1

, 1, ...,m

i i ji

a b j n

cumpliéndose la igualdad si ˆ 0j

(iii) ˆ , 0A c

(iv) ˆ, ,b c

Si existe un ˆ nR y un mR tal que satisface (i) al (iv), entonces

es una solución del CLP.

24

3.3. EL METODO SIMPLEX Y ALGUNAS APLICACIONES

El método simplex es un algoritmo para resolver problemas de

Programación Lineal. Es un procedimiento iterativo que permite ir

mejorando la solución a cada paso. Esto concluye cuando no es posible

seguir mejorando dicha solución.

Este método fue desarrollado por George Bernard Dantzig (8 de

noviembre de 1914 – 13 de mayo de 2005) fue un matemático

reconocido y es considerado como el "padre de la programación lineal".

Recibió muchos honores, tales como la Medalla Nacional a la Ciencia en

1975 y el premio de Teoría John von Neumann en1974. Fue miembro de

la Academia Nacional de Ciencias, la Academia Nacional de Ingeniería y

la Academia Americana de Artes y Ciencias. Obtuvo su grado de

bachiller en matemáticas y físicas en la Universidad de Maryland en

1936, su grado de magister en matemáticas en la Universidad de

Míchigan, y su doctorado en Berkeley en 1946. Recibió además un

doctorado honorario de la universidad de Maryland en 1976.

El Método Simplex, permite la resolución de problemas de

programación lineal de grandes dimensiones muy eficazmente, y al

enorme desarrollo de los ordenadores.

El método simplex consiste en buscar sucesivamente otro vértice que

mejore el anterior, partiendo del valor de la función objetivo en un vértice

cualquiera. Como el número de vértices y de aristas es finito, siempre

se podrá encontrar la solución.

25

El método simplex se basa en la propiedad que dice si la función objetivo

f, toma su valor máximo en el vértice A, entonces hay una arista que

parte de A, a lo largo de la cual f aumenta.

Este método solo trabaja para restricciones que tengan un tipo de

desigualdad “ ” y coeficientes independientes mayores o iguales a 0,

(se estandariza para el algoritmo).

Si después de este proceso, aparezcan (o no varíen) restricciones del

tipo “ ” o “=” habrá que emplear otros métodos, siendo el método de

más común el método de Dos Fases.

Mostramos a continuación algunos ejemplos en R2.

Ejemplo1:

Minimice 1 2( ) 2f x x x

con las restricciones

1 2 1x x

1 2 0x x

1 22 4x x

1 20 , 0x x

El conjunto factible está indicado en la siguiente figura, las curvas de

nivel f(x) = 0, f(x) = -1, están indicadas por las líneas punteadas.

Las flechas indican las direcciones de los vectores gradientes de f.

Desde que el vector gradiente indica la dirección de máximo crecimiento

de f. vemos de la figura que f alcanza su mínimo en el punto extremo

4 4( , )

3 3del conjunto factible.

26

0 1 2 3 4 5

2

1

1

2

f x( )

g x( )

h x( )

v x( )

u x( )

x

Figura

Ejemplo 2:

Este ejemplo difiere del ejemplo anterior en que consideramos la

función 1 2( ) ,f x x x las curvas de nivel son paralelas a la recta

1 2 1x x un segmento que es parte de la frontera del conjunto

factible. Como el gradiente de f es (1,1) y en este es la dirección de

máximo crecimiento de f, se sigue que f alcanza su mínimo en todos los

puntos frontera del conjunto factible que están en la recta 1 2 1x x .

En particular el mínimo se alcanza en los puntos extremos ( ½ , ½) y

(1,0).

27

Ejemplo 3:

Minimice 1 2( )f x x x

Sujeto a

1 2 0x x

1 22 2x x

1 20 , 0x x

En este caso el conjunto factible no es acotado.

La curva de nivel ( ) 6f x es 1 2 6x x , como el gradiente de f es

(-1,-1). Se sigue del gráfico que este problema no tiene solución.

Un conjunto factible no acotado no implica que el problema de

programación lineal no tenga solución. Si modificamos este ejemplo

tomando 1 2( )f x x x el problema tiene una solución en (2,2).

Según los ejemplos considerados un problema de programación lineal

tiene o no solución y están en un punto extremo del conjunto factible.

Hay de hecho una tercera posibilidad, que el conjunto factible sea vacio.

Se demuestra que en un problema de programación lineal estas son

solamente las posibilidades.

28

3.3.1. EL MÉTODO SIMPLEX ES APLICADO A PROBLEMAS EN

FORMA CANÓNICA

Para colocar el problema del ejemplo 1 del método simplex en forma

canónica introducimos variables de holgura 3 4 5, ,x x x y escribimos el

problema como:

Minimice 1 2( ) 2f x x x

Sujeto a:

1 2 3 1x x x

1 2 4 0x x x

1 2 52 4x x x

Desde que las variables 3 4 5, ,x x x no aparecen en la fórmula para f,

el problema con conjunto factible definido tiene su mínimo en

1 2 3 4 5

4 4 5, , , 0 , 0

3 3 3x x x x x

29

3.3.2. PUNTOS EXTREMOS DE CONJUNTOS FACTIBLES

Lo que veremos a continuación es que si un problema de programación

lineal tiene solución, entonces existe un punto extremo en que este se

alcanza. Se puede demostrar esto para problemas en forma canónica

sin asumir que el conjunto factible es compacto, lo cual también se

cumple para problemas en forma estándar. También se puede dar una

caracterización analítica de los puntos extremos del conjunto factible

para problemas CLP.

El significado de estos resultados es que para una solución de un

problema de programación lineal podemos confinar nuestros resultados

a los puntos extremos del conjunto factible, puntos para los que tenemos

una caracterización analítica. El método Simplex es un algoritmo para

determinar eficientemente cuando una solución existe, y si es así, para

hallar un punto extremo que resuelve el problema.

Consideremos el problema de programación lineal en forma canónica

Maximice: ,b x

Sujeto a ,Ax c 0x

Como es usual en programación lineal se remplaza el objetivo de

minimizar ,b x por el objetivo equivalente de maximizar

,b x .

Asumiremos que x, b están en Rn, ,mc R A es de orden mxn y que

i) m n

ii) Ran(A) = m

30

Teorema - Un punto factible x0 es un punto extremo del conjunto

factible si y solo si las columnas Aj de la matriz A que corresponden a

componentes positivas de xo son linealmente independientes.

Corolario 1.- Un punto extremo del conjunto factible tiene a lo más m

componentes positivas.

Corolario 2.- El número de puntos del conjunto factible es menor o igual

que

!

!( )!

m n

n m n m

Teorema.- Sea el problema de programación lineal en forma canónica

con una solución x0, entonces existe un punto extremo z del conjunto

factible que es también una solución.

Ejemplo:

Si aplicamos para un sistema moderado de 6 restricciones y 30

variables, hay como

30 30!593,775

6 6!24!

puntos extremos. Así el simple plan de evaluar la función objetivo en

todos los posibles puntos extremos y luego seleccionar el punto en el

que el valor máximo es alcanzado no es práctico.

31

El método Simplex es un algoritmo para hallar una solución partiendo de

un punto extremo del conjunto factible a otro en tal forma que la función

objetivo sea no decreciente.

Definiciones

Consideremos el sistema

,Ax c …………………….. (1)

Que define el conjunto factible para el CLP. A es una matriz de orden

mxn y de rango m. B de orden mxm denota la submatriz obtenida por

tomar m columnas linealmente independientes de A y sea N la submatriz

de A consistiendo de las n -m columnas restantes. Podemos escribir un

vector x en Rn como

( , ),B Nx x x

Donde Bx consiste de esas componentes de x correspondiendo a las

columnas en B y Nx consiste de aquellas componentes de x

correspondiendo a las columnas en N.

Definición.- Las columnas de B se llaman una base, las componentes de

Bx son llamadas variables básicas. Las componentes de Nx son

llamadas variables no básicas o variables libres.

Podemos escribir el sistema (1) como

, B

N

xB N c

x

. ………………………… (2)

32

Cualquier vector de la forma ( , ),B Nx donde Nx es arbitrario y

1 1B NB c B Nx

Será una solución de (2).

Existe una única solución de (2) con 0N Nx

1( , 0 ),B N B B c ……………….. (3)

Definición .-

a) Una solución de (1) de la forma (3) es llamada una solución básica.

b) Si 0 ,B B entonces es factible y es llamada una solución

factible básica.

c) Si algunas de las componentes de B son cero, entonces es

llamada una solución básica degenerada.

Al aplicar el método Simplex, reformulamos el problema establecido en

(1) introduciendo una variable escalar z y escribiendo el problema como

Maximice z

Sujeto a

,Ax c

, 0b x z …………(4)

0x

33

3.3.3. FASES DEL MÉTODO SIMPLEX

El método Simplex consiste de dos fases. En la fase I el método

determina una solución básica o determina que el conjunto factible es

vacío

En la fase II el método comienza con una solución factible básica y

determina que la solución óptima no existe o determina una solución

óptima.

A continuación veremos las fases el Método Simplex:

3.3.3.1. Fase I del método Simplex.- Sea el programa en forma SLP

Maximice ,b x

Sujeto a:

, 0Ax c x

Supongamos que el vector c es no negativo.

Colocamos el problema en su forma canónica CLP añadiendo

variables de holgura

1( , . . . , ) , 0 , 1, . . . ,S n n m n ix x x x i m

Escribimos el problema como:

Maximice ,b x

34

Sujeto a:

, , 0, 0SS

xA I c x x

x

Como 0c , el vector ( , ) (0 , )S nx x c , donde 0n es el vector

cero en nR , es una solución factible básica para el problema

CLP.

Pasamos a la fase II con solución factible básica inicial

( , ) (0 , )S n c .

Si algunas de las componentes de c son negativas, el

vector ,(0 )n c es una solución básica del sistema CLP, pero no es

factible.

Introducimos un problema auxiliar (PA)

Minimice 0x ;

sujeto a

0

0

( , , ) , 0, 0, 0S s

x

A I e x c x x x

x

………………… (3)

Donde (1,1,...,1)e , I es la matriz identidad de orden mxm.

En términos de componentes el sistema PA es:

35

01

, 1, ..., . 0,

0,1,...,

n

ij j n i i jj

a x x x c i m x

j n m

Un vector , s es factible para el problema CLP si y solo si

, ,0s es factible para el problema PA. Por lo tanto, , s

es factible para el problema CLP si y solo si , ,0s es óptimo

para el problema auxiliar (PA).

Si escribimos la función objetivo del problema auxiliar como:

“maximice 0w x ” entonces el problema auxiliar viene a ser

un problema CLP al que podemos aplicar la fase II del método

simplex.

Ejemplo &:

El problema auxiliar es de la forma:

Maximice 0w x

sujeto a:

1 2 3 0 1x x x x

1 2 4 0 0x x x x

1 2 5 02 4x x x x

0, 0,1,...,5ix i

36

El vector 0 1 2 3 4, 5, , , , (0,0,0, 1,0,4) es una solución

básica pero no es factible.

La única entrada negativa en el lado derecho es -1 y ocurre en la

primera ecuación, por lo tanto, en la matriz aumentada de los

coeficientes pivoteamos sobre 0x en la fila 1, resultando:

1 2 3 4 5 0

1 1 1 0 0 1 1............( )

0 2 1 1 0 0 1

2 3 1 0 1 0 5

x x x x x x c

i

Así, 0 1 2 3 4 5, , , , , (1,0,0,0,1,5) es una solución factible

básica.

De (i) tenemos:

1 2 3 0

0 1 2 3

1

1 ......( )

x x x x

w x x x x ii

Podemos comenzar la fase II del problema de minimizar (ii)

sujeto a las restricciones dados por (i)

Minimizar 1 2 31w x x x

Sujeto a:

2 3 42 1x x x

1 2 3 52 3 5x x x x

37

Retornemos a la situación general.

Obtenemos un sistema equivalente a (3) y teniendo una solución

factible básica.

Sea pc la componente más negativa de c. Así.

min : 1,...,p iC c i m .

Si existe más que una de tales componentes, escogemos uno

con el índice más pequeño. Seguidamente, pivoteamos sobre 0x

en la fila p del sistema (3) el resultado será un sistema

equivalente

1 1 1

0

', , ..., , , , ..., , ' .p p m p s

x

A e e e e e e x c

x

……….. (7)

Donde (1,...,1)e y

' 0, ' 0, 1,..., 1, 1,...,p p i i pc c c c c i p p m

El sistema (7) en componentes es de la forma

1

' ' ,n

ij j n p n i ij

a x x x c i p

01

pj

n

j n p pj

a x x x c

.

38

Así una solución factible básica de (7) es

0 ,

, 1, ..., 1, 1, ...,p

n i i

c

c i p p m

,

0i , i = 1,…,n, n + p. ……………………………….. (8)

Y

01

..................(9)n

p n p pj jj

w x c x a x

Las variables básicas son:

1 1 0 1,..., , , ,..., ..................(10)n n p n p n mx x x x x

Hemos transformado el problema auxiliar (3) al siguiente

problema. Maximice w como en (9) sujeto a (8)

y 0, 0,1,...,ix i n m .

Para este problema tenemos determinada una solución factible

básica dada por (8) con variables básicas dadas por (10).

Podemos ahora aplicar la fase II al problema en esta forma. Si

incorporamos una rutina anti cíclica en nuestra implementación

de la fase II, en un número finito de pasos determinaremos que

el problema auxiliar no tiene solución o determina una solución

óptima al problema auxiliar.

39

Si el problema no tiene solución, entonces el problema de

programación lineal original no tiene solución factible.

Si el problema auxiliar tiene una solución. La variable es

inicialmente básica. Aplicando la fase II al problema auxiliar, note

que nuestra regla para escoger la variable saliente es tal que si

en alguna iteración 0x es el candidato para salir de la base,

entonces 0x es la variable saliente.

Si en alguna iteración kI la variable 0x sale de la base,

entonces en la iteración 1kI la variable 0x tendrá el valor cero.

La solución 0( , , )s de la ecuación restricción en 1kI será

también una solución de (3). Luego, si 0 0 entonces w = 0 y

( , )s es óptimo para la relación (1). Así, si 0 deja la base

en la iteración kI , a la siguiente iteración tendremos una

solución del problema auxiliar y entonces una solución básica

factible par al relación (2).

Podemos entonces empezar la fase II con esta solución factible

básica.

Lema .- Si una rutina anti cíclica es incluida, entonces la fase I

del método simplex determina que no existe solución factible o

determina una solución factible básica.

40

Teorema. El método simplex incorporando una rutina anti cíclica

aplicado a un problema de programación lineal determina una de

las siguientes afirmaciones en un número finito de iteraciones:

(i) No existe soluciones factibles

(ii) El problema no tiene solución óptima.

(iii) Una solución óptima.

A continuación veremos la fase II del Método Simplex:

3.3.3.2. Fase II del método Simplex.- Nuestro propósito es explicar lo

esencial del método simplex.

Supongamos que el problema está formulado del siguiente modo

Maximice z

Sujeto a

Ax c

, 0b x z

0x

Comenzamos nuestra discusión de la fase II asumiendo que por

medio de la fase I, o de otro modo, nosotros hemos obtenido una

solución básica factible ( ,0 )B N , donde 0N es el vector

cero en n mR . Denotamos el valor de la función objetivo en

p o r . Así ,B Bb . Llamamos a ( ,0 )B N la

solución factible básica actual, la matriz B asociada con B la

41

base actual y el valor actual de la función objetivo por abuso

de notación también llamamos a las componentes de B la

base actual.

El método simplex consiste de una sucesión de iteraciones. En

una iteración dada determinamos que la solución factible básica

actual es óptima o que no existe solución óptima o

determinamos una nueva solución factible básica que hace que

no disminuya el valor de la función objetivo.

Cada iteración consiste de cuatro pasos. Ilustraremos el proceso

usando el ejemplo &.

Paso 1. Expresar z y las variables básicas Bx en términos de

las variables no básicas Nx .

El problema formulado puede escribirse como

0...............(1)

1 0

Bm

Nt tB N

xB N c

xb b

Z

Donde 0m es el vector cero en mR . Si multiplicamos la matriz

aumentada correspondiente a las primeras m ecuaciones por

1B por la izquierda tenemos

42

1 10

1 0

B

m mNt t

B N

xI B N B c

xb b

Z

…………….. (2)

Donde mI es la matriz identidad de orden mxm, Haciendo

0B B N Nx y x se tiene

1 ........................(3)B B c

De (2) y (3) se tiene:

1 ........................(4)B B Nx B Nx

De (2) y (4) vemos que

1, ,tB N B Nz b b b B N x

Haciendo 0N Nx se tiene

, ....................(5)B Bb

Y así:

1 , .................(6)tN B Nz b b B N x

Ecuaciones (4) y (6) expresan Bx y z en términos de Nx

43

Sea

11( ,..., )................(7)t

N N B jm jnd b b B N d d

Donde jm+1,…,jn son los índices de las componentes de x que

constituyen Nx .

Entonces podemos escribir (6) como

1

, ................(8)n

N N ip ipp m

z d x d x

Observación:

En virtud de (3) el lado derecho de (2) puede ser escrito como

( ,0)t .

La dificultad en ecuación (4) y (6) es el cálculo de 1B .

Presentamos ahora un segundo, aparentemente diferente,

método de obtener Bx y z en términos de Nx .

El método del Tableau: es un método que sistemáticamente

registra la secuencia de pasos y cálculos que se describen.

Comenzamos con la matriz aumentada de (1), por una

secuencia de operaciones elementales aplicados a las primeras

m filas de (1), podemos transformar esta matriz a una matriz

equivalente:

44

0 '....................(9)

1 0m mt tB N

I D c

b b

Cada una de esas operaciones pueden ser efectuadas por una

premultiplicación por una matriz elemental iE . Desde que la

secuencia de operaciones transforman B a I. El producto de

matrices elementales asociadas con esa transformación es igual

a 1B ,

Entonces:

1 1'D B N y c B c

y tenemos como antes que (1) es equivalente a:

1 0 '........................(10)

1 0m mt tB N

I B N c

b b

Donde1'c B c . De (10) se obtiene (3) y (4).

Ahora supongamos que las columnas de B son las columnas

1,..., mj j de A. si sucesivamente multiplicamos la fila 1 de (10)

por 1jb y sumamos el resultado a la fila anterior, multiplicar la

fila 2 de (10) por 2jb y añadimos el resultado a la fila anterior,

así, entonces transformamos (10) en

45

1

1

0 '.....................(11)

0 1 , 'm m

t tB N N B

I B N c

b b B N b c

De esta matriz se tiene:

1 1, ,t tB N B Nz b B c b b B N x

Observación:

De (11) y 1'c B c de nuevo obtenemos (3) y (5).

Consecuentemente, el lado derecho de (11) puede ser escrito

como ,t . De esta relación y de (3) y (5) de nuevo

tenemos (6).

Ilustramos la descripción precedente del paso 1 usando el

segundo método.

Ejemplo

Primeramente introducimos variables de holgura 3 4 5, ,x x x y

escribimos el problema como en (2) de la sección 1.

Podemos entonces escribir el problema como un problema de

maximización en el formato de (4) de la sección (2.4).

Maximice z

sujeto a:

46

1 2 4 0x x x ,

1 2 52 4x x x ,

1 22 0x x z

Se puede verificar que 1, 0 , 0 , 1, 3s que corresponde al

punto (1,0) en la figura1.es una solución factible básica. El valor

de z en este punto es -1. Así, 1 4 5, ,x x x son las variables

básicas y 2 3,x x son las variables no básicas. La matriz de

coeficientes aumentada es

1 2 3 4 5

1

4

5

1 1 1 0 0 0 1

1 1 0 1 0 0 0

1 2 0 0 1 0 4

1 2 0 0 0 1 0

x x x x x z c

x

x

x

……….. (13)

Arriba de cada columna de la matriz tenemos indicada la

variable correspondiente a la columna. A la izquierda de la

matriz tenemos listadas las variables básicas actuales.

En la descripción tableau del método simplex la matriz (13) es el

tableau inicial. La matriz B en (13) es la submatriz formada por

las primeras tres filas y las columnas 1, 4, y 5. Así

1 0 0

1 1 0

1 0 1

B

47

Para obtener la matriz correspondiente a (11), debemos

transformar B en la matriz identidad por una sucesión de

operaciones elementales fila sobre (13).

Así obtenemos

1 2 3 4 5

1

4

5

1 1 1 0 0 0 1

0 2 1 1 0 0 1

0 1 1 0 1 0 3

0 3 1 0 0 1 1

x x x x x z c

x

x

x

………….. (14)

De esto tenemos que

1 2 31x x x

4 2 31 2x x x ......................(15)

5 2 33x x x

Y

2 31 3z x x ………………. (16)

Que son (4) y (6) para este ejemplo. Note que la última columna

de (14) da el valor actual de 1 4 5, , , en concordancia con

(4) y (6).

Paso 2. Chequear la solución factible básica para optimalidad.

Si cada componente del vector Nd definida en (7) es no positivo

(es decir, 0 ) entonces la solución factible básica es optima y

el proceso termina.

48

Para ver que esto es así, recalcamos que necesitamos

solamente considerar soluciones factibles básicas en nuestra

búsqueda para la solución óptima. La solución factible básica

actual es la única solución factible básica con 0N Nx .

Así, cualquier otra solución factible básica tendrá al menos una

de las componentes de Nx positiva. Pero desde que

0Nd , tenemos de (8) que el valor de la función objetivo

decrece o no cambia. Así la solución factible básica actual es

óptima. En nuestro ejemplo, vemos de (16) que la solución

actual no es óptima.

Paso 3. Si la solución factible básica no es óptima, determine

una nueva base y la correspondiente solución factible básica tal

que no decrece el valor actual de z o determine que z es no

acotada y por lo tanto el problema no tiene solución.

Primeramente motivamos el paso 3 usando el ejemplo &

De (16) vemos que si hacemos tender el valor de 3x a cero e

incrementamos el valor de 2x , entonces incrementaríamos el

valor de z. Las variables 1 2 3 4 5, , , ,x x x x x deben satisfacer

(15) y la condición 0 , 1, ..., 5ix i para factibilidad.

Haciendo 3 0x en (15) y tomando en cuenta el

requerimiento que 1 4 5, ,x x x deben ser no negativos se tiene:

49

21 0 ,x

21 2 0 ,x

23 0 ,x

Para que estas tres desigualdades se cumplan debemos

incrementar el valor de 2x a 1/2 . Si 2

1

2x y 3 0x

entonces de (15) tenemos que 1

1,

2x 4 0 ,x 5

5

2x .

Tenemos ahora otra solución factible 1 1 5, , 0 , 0 ,

2 2 2

que

corresponde al punto 1 1,

2 2

, el valor de z se incrementa de -1

a 1/2.

Demostremos enseguida que esta solución es básica. La matriz

correspondiente al sistema (15) es la submatriz de (14)

consistiendo de las tres primeras filas de (14). La matriz B

correspondiente a1 1 5

, , 0 , 0 ,2 2 2

es la matriz formada por

las columnas 1,2 y 5 de esta submatriz. Así

1 1 0

0 2 0

0 1 1

B

50

Como las columnas de B son linealmente independientes el

punto1 1 5

, , 0 , 0 ,2 2 2

es una solución factible básica.

En resumen: la variable básica original 4x cuyo valor fue 1 es

ahora una variable no básica y la variable no básica 2x es

ahora una variable básica con valor 1/2.

La variable 4x se dice que es la variable saliente de la base y la

variable 2x se dice que es la variable entrante. Antes de

presentar el paso 3 en general, llamamos la atención a otra

posible situación. Supongamos que tenemos un ejemplo tal que

en vez de (15) arribamos al sistema

1 2 31x x x

4 2 31x x x

5 2 33x x x

Con z como en (16) y donde , , son todos no negativos.

Si hacemos 3 0x y 2x t entonces obtenemos soluciones

factibles 0t . Si hacemos que t , tenemos que

z , así la función objetivo es no acotada y el problema no

tiene solución.

Ahora describimos el paso 3 dividiéndolo en dos subpasos:

51

Paso 3ª)

Escoger la variable no básica que entrará en la nueva base.

Sea Nd como en (7), desde que la solución actual es no óptima,

al menos una de las componentes de Nd es positiva.

Escogemos la componente de Nd que es de mayor valor, si

existe más de una de tales componentes, escogemos la de

índice menor. Supongamos que la componente de Nd escogida

es la q-ésima componente de 1( , ...., )nx x , la variable qx

será la base de entrada. La columna de A correspondiente a

qx es qA .

Paso 3b)

Determine que el problema no tiene solución o escoja la variable

básica que sale de la base.

Sea qv la columna de 1B N correspondiendo a qx .

Entonces1

q qv B A .

Sea

1 , . . . ,B i imx x x , 1( ,..., )B i im ……..…….. (17)

Y sea 1 , ...,q q m qv v v . Sea , 0qx t t y sean las

otras componentes de cero.

52

IV. MATERIALES Y MÉTODOS

4.1. MATERIALES

Materiales de Oficina

Materiales de Consulta

Materiales de Cómputo e Impresora

4.2. MÉTODOS

En el presente trabajo de Investigación, que tiene como propósito

mostrar la eficacia de este método en la formulación y solución de

diversos problemas de optimización orientados a la toma de

decisiones, ha demandado la construcción .de una manera

secuencial y lógica del contenido, ordenándolo por capítulos para

facilitar no solo la lectura sino también el aprendizaje de los

diferentes conceptos importantes que permitan su comprensión y

aplicación.

Con la información obtenida durante la etapa profesional de los

profesores investigadores, permitió desarrollar cada uno de estos

capítulos de este trabajo de investigación, con las características

didácticas presentadas, para lo cual fue necesario usar el método

analítico y deductivo.

53

V. RESULTADOS

En el desarrollo de este proyecto de investigación, titulado “EL

MÉTODO SIMPLEX Y ALGUNAS APLICACIONES”, se presenta en tres

capítulos, haciendo mención en cada uno de estos capítulos de la parte

teórica con el planteamiento de ejercicios para su mejor comprensión,

dando las nociones preliminares importantes relativas al tema en

mención.

En este trabajo de investigación se ajusta a una filosofía de enseñanza-

aprendizaje teniendo como base el Algebra Lineal, trabajando

particularmente con matrices y sistemas de ecuaciones lineales que

contrasta conocimientos específicos, para más adelante tratar con la

programación lineal y el tema central el método simplex, que nos permite

ver las ventajas al dar solución a problemas importantes de

programación lineal , pudiendo manejar un gran número de variables e

interacciones, mediante el uso de modelos y algoritmos que nos

permiten resolver los problemas cotidianos, optimizando los resultados.

54

VI. DISCUSIÓN

El presente trabajo titulado “EL MÉTODO SIMPLEX Y ALGUNAS

APLICACIONES”, que es el resultado presente investigación, se

caracteriza por presentar en una forma ordenada, sencilla y de fácil

comprensión las definiciones, teorías y ejercicios resueltos, aplicados de

manera que el alumno logre entenderlos y manejarlos en forma

adecuada.

En el desarrollo del presente trabajo de investigación podemos afirmar

que se han dado diversas alternativas con la tendencia de dar

soluciones a diversos problemas presentados muchas veces sin los

resultados esperados.

El presente trabajo de investigación del “Método Simplex” muestra la

eficacia de este método en la formulación y resolución de problemas de

optimización orientados a la toma de decisiones en las diferentes áreas

de la Ingeniería, la Economía, etc.,siendo de gran utilidad. Además

permite ver el uso las matemáticas en un mano a mano con la

capacidad y velocidad de las computadoras.

55

VII. REFERENCIALES

1. BERNARD KOLMAN. Algebra Lineal con Aplicaciones y Matlab,

Prentice-Hall, México. 1999.

2. HARTLEY, R., Linear and Nonlinear Programming: An

Introduction to Linear, 1985

3. SEDGEWICH R. Algorithms in C Part 5: Graph Algorithms.

Addison-Wesley Pub Co, 2001

4. SCHELD FRANCIS, Métodos Numéricos, Mc Graw Hill,

DI COSTANZO ROSA E, Segunda Edición, 1991

5. MATHEISS TH, RUBIN DS. A survey and comparison of methods for

finding all vertices of convex

polyhedral sets. Mathematics of

Operations Research, 1980

6. KNUT SYDSAETER Matemáticas para el Análisis

HAMMOND Peter J Económico, Pearson

Prentice Hall, Madrid 1996.

7. DE LA FUENTE O’CONNOR,Técnicas de Cálculo para Sistemas

José Luis, de Ecuaciones, Programación Lineal y

Programación Entera, Editorial

Reverte S.A., 1998.

8. J.B.HIRIART URRUTY Y C. Convex Analysis and minimization

LEMARECHAL, algorithms, Fundamental Principles of

Mathematical Sciences,

Springler-Verlag Berlin 1993