You are on page 1of 38

La Universidad del Zulia

Facultad de Ingeniera
Divisin de Estudios para Graduados
Programa: Computacin Aplicada
Asignatura:
Optimizacin para Ingenieros
Prof. Luis Zerpa, M.Sc.
Email: lzerpa@ica.luz.ve
1. Programacin Lineal
Mtodo Simplex
Programacin Lineal
La palabra programacin se usa aqu en el sentido de
planificacin
Un problema de programacin lineal es aquel donde la funcin
objetivo es lineal en las incgnitas y las restricciones consisten en
igualdades lineales y desigualdades lineales
Forma general de un problema de programacin lineal:
Minimizar C
1
x
1
+ C
2
x
2
++ C
n
x
n

tal que a
11
x
1
+ a
12
x
2
++ a
1n
x
n
= b
1

a
21
x
1
+ a
22
x
2
++ a
2n
x
n
= b
2

a
n1
x
1
+ a
n2
x
2
++ a
nn
x
n
= b
n

y x
1
0; x
2
0; ; x
n
0
Donde las b
i
, c
i
y a
ij
son constantes reales, y las x
i
son nmero reales que se quieren
determinar
Programacin lineal
La formulacin se hace de forma tal que b
i
0, de ser necesario una
restriccin puede ser multiplicada por -1 para que esto se cumpla
Usando notacin vectorial, la forma general de un problema de
programacin lineal se expresa como:
Minimizar c
T
x
tal que Ax = b
y x 0

Donde x es un vector columna n-dimensional
c
T
es un vector fila n-dimensional
A es una matriz mxn
b es un vector columna m-dimensional
Programacin lineal
Otras formas de programas lineales pueden ser convertidos a la
forma general, segn los siguientes casos
Caso 1: el problema tiene restricciones de desigualdades lineales
Minimizar C
1
x
1
+ C
2
x
2
++ C
n
x
n


tal que a
11
x
1
+ a
12
x
2
++ a
1n
x
n
s b
1

a
21
x
1
+ a
22
x
2
++ a
2n
x
n
s b
2

a
m1
x
1
+ a
m2
x
2
++ a
mn
x
n
s b
m


y x
1
0; x
2
0; ; x
n
0


Programacin lineal
Caso 1:
el problema puede ser expresado alternativamente como:
Minimizar C
1
x
1
+ C
2
x
2
++ C
n
x
n


tal que a
11
x
1
+ a
12
x
2
++ a
1n
x
n
+ y
1
= b
1

a
21
x
1
+ a
22
x
2
++ a
2n
x
n
+ y
2
= b
2

a
m1
x
1
+ a
m2
x
2
++ a
mn
x
n
+ y
m
= b
m

y x
1
0; x
2
0; ; x
n
0
y y
1
0; y
2
0; ; y
m
0

Las variables positivas y
i
introducidas para convertir las
desigualdades en igualdades son llamadas variables de holgura
(slacks)
Programacin lineal
Caso 1:

Ahora el problema tiene n+m incgnitas, x
i
, y
j
, y est expresado en
la forma general
La matrix m x (n+m) que describe las restricciones de igualdades
lineales es de la forma especial [A,I]
Sus columnas pueden ser separadas en dos conjuntos; las primeras
n columnas forman la matriz original A y las ltimas m columnas
forman una matriz identidad mxm
Programacin lineal
Caso 2: Variables libres
Cuando el problema lineal es dado en la forma general, con la
excepcin de que una o ms variables incgnitas no tiene la
restriccin x
i
0 (puede ser negativa), el problema puede ser
transformado a la forma general por dos tcnicas
1ra tcnica: se sustituye la variable sin restriccin de signo por dos
variables, de forma tal que estas variables si tengan la restriccin,
de la siguiente forma:
suponiendo que x
1
es libre de tomar valores positivos y negativos
x
1
= u
1
v
1
Donde se requiere que u
1
0 y v
1
0
De esta forma se sustituye x
1
por u
1
y v
1
en la funcin objetivo y en
las restricciones, preservndose la linealidad de las restricciones
Ahora el problema es expresado en trminos de n+1 variables
Programacin lineal
Ejemplo 2: Variables libres
2da tcnica: se elimina la variable sin restriccin de signo junto con
alguna de las restricciones de igualdad en la cual el coeficiente de
la variable sin restriccin es diferente de cero
Luego, la variable sin restriccin puede ser expresada como una
combinacin lineal de las dems variables ms una constante
suponiendo que x
1
como la variable libre
a
i1
x
1
+ a
i2
x
2
++ a
in
x
n
= b
i
donde a
i1
0
x
1
= (-a
i2
x
2
- - a
1n
x
n
+ b
i
)/a
i1
Si sta expresin es sustituida por x
1
se obtiene un problema de la
misma forma pero expresado en trminos del resto de las variables
(n-1)
Programacin lineal
Ejemplo 2: Variables libres
2da tcnica: Ejemplo
Minimizar x
1
+ 3x
2
+ 4x
3

sujeto a x
1
+ 2x
2
+ x
3
= 5
2x
1
+ 3x
2
+ x
3
= 6

x
2
0; x
3
0
Despejando x
1
de la primera restriccin x
1
= 5 - 2x
2
- x
3
Sustituyendo el problema queda como
Minimizar 5 + x
2
+ 3x
3

sujeto a x
2
+ x
3
= 4
x
2
0; x
3
0

Soluciones bsicas
Considerando el sistema de restricciones de igualdades
Ax = b
Donde, x es un vector columna n-dimensional (incgnitas)
b es un vector columna m-dimensional (restricciones)
A es una matriz mxn
Suponiendo que de las n columnas de A se selecciona un conjunto
de m columnas linealmente independiente (tal conjunto existe si el
rango de A es m)
Asumiendo que se seleccionan las primeras m columnas de A para
formar una matriz mxm denotada por B
Ahora la matriz B es no singular y se puede obtener una solucin
nica del sistema lineal Bx
B
= b, para el vector x
B
m-dimensional
Fijando los primeros m componentes de x igual a x
B
y el resto de los
componentes igual a cero, x = (x
B
, 0), se obtiene una solucin a
Ax = b lo que conlleva a la siguiente definicin
Soluciones bsicas
DEFINICIN: dado un conjunto de m ecuaciones lineales con n
incgnitas, sea B cualquier submatriz mxm no singular formada por
columnas de A
Entonces, si todos los n-m componentes de x no asociados con las
columnas de B se igualan a cero, la solucin del conjunto de
ecuaciones resultantes se dice que es una solucin bsica de Ax=b
con respecto a la base B
Los componentes de x asociados con columnas de B son llamadas
variables bsicas

En general Ax=b puede no tener soluciones bsicas
Soluciones bsicas
Para evitar dificultades ms adelante hacemos ciertas suposiciones
con respecto a la estructura de la matriz A:
1. Se asume que n > m (el nmero de variables es mayor que las
restricciones)
2. Las filas de A son linealmente independientes. De otra forma se
tendran restricciones contradictorias y por lo tanto no habra
solucin
Bajo estas suposiciones el sistema Ax = b siempre tendr una
solucin, de hecho, siempre tendr al menos una solucin bsica
Soluciones bsicas
DEFINICIN: si una o ms de las variables bsicas de una solucin
bsica es igual a cero, se dice que es una solucin bsica
degenerada
Considerando ahora el sistema de restricciones, Ax = b, x 0, los
cuales son las restricciones de un problema lineal en su forma
general
DEFINICIN: se dice que un vector x que satisface estas
restricciones es factible
Una solucin factible a estas restricciones que tambin es una
solucin bsica se dice que es una solucin bsica factible
Si la solucin tambin es una solucin bsica degenerada entonces
es llamada solucin bsica degenerada factible
Teorema fundamental de optimizacin lineal
El teorema muestra que slo es necesario considerar soluciones
bsicas factibles cuando se est buscando una solucin ptima a
un problema lineal, debido a que el valor ptimo siempre se
encuentra en una solucin bsica factible
Considerando un problema lineal en su forma general
Minimizar c
T
x
Sujeto a Ax = b
y x 0
La solucin factible, segn las restricciones, que tiene el mnimo
valor de la funcin objetivo es una solucin factible ptima
Si sta solucin es bsica es una solucin bsica factible ptima

Teorema fundamental de problemas lineales
Dado un problema lineal en su forma general donde A es una matriz
mxn de rango m,
1. Si existe una solucin factible, existe una solucin bsica factible
2. Si existe una solucin factible ptima, existe una solucin bsica
factible ptima
Este teorema reduce la tarea de resolver un problema lineal a la
bsqueda sobre soluciones bsicas factibles
Debido a que un problema con n variables y m restricciones tiene
tantas soluciones bsicas como nmero de
formas de seleccionar m de n columnas, se tiene un
nmero finito de posibilidades

Sin embargo, esto sera una tcnica de bsqueda muy ineficiente
( )! !
!
m n m
n

Interpretacin geomtrica del teorema


fundamental de problemas lineales
El enlace principal entre las teoras algebraica y geomtrica est en
la relacin existente entre una solucin bsica factible de las
restricciones lineales en su forma general y los puntos extremos del
politopo formado por las restricciones (2D polgono, 3D poliedro)

Primero definimos que es un punto extremo:
DEFINICIN: se dice que un punto x en
un conjunto convexo C es un punto
extremo de C si no existen dos puntos
diferentes x
1
y x
2
en C tal que
x = ox
1
+ (1- o)x
2
para algn o, 0 < o < 1
i.e., un punto extremo es aquel punto que
no cae en la lnea recta que une otros
dos puntos del conjunto
Teorema de equivalencia de puntos extremos y
soluciones bsicas
Sea A una matriz mxn de rango m y b un vector m-dimensional

Sea k el politopo convexo formado por todos los vectores x que
satisfacen las restricciones Ax = b, x 0

Un vector x es un punto extremo de k si y solo si x es una solucin
bsica factible de las restricciones
Propiedades de los politopos convexos
1. Si el conjunto convexo k formado por las restricciones no est
vaco, tendr por lo menos un punto extremo

2. Si existe un nmero finito de soluciones ptimas a un problema
lineal, entonces la solucin ptima finita es un punto extremo del
conjunto

3. El conjunto de restricciones k posee un nmero finito de puntos
extremos
Propiedades de los politopos convexos
Ejemplo 1: Considerando las restricciones
x
1
+ x
2
+ x
3
= 1

x
1
0; x
2
0; x
3
0
el conjunto tiene tres puntos extremos, que corresponden a las tres
soluciones bsicas de x
1
+ x
2
+ x
3
= 1


x
1
x
3
x
2
Propiedades de los politopos convexos
Ejemplo 2: Considerando las restricciones
x
1
+ x
2
+ x
3
= 1


2x
1
+ 3x
2
= 1


x
1
0; x
2
0; x
3
0
el conjunto tiene dos puntos extremos correspondientes a las dos
soluciones bsicas de factibles

( ) 0 , 1 , 2
1
1
3 2
1 1
2
1

)
`

=
)
`

x
x
|
.
|

\
|

)
`

=
)
`

2
1
, 0 ,
2
1
1
1
0 2
1 1
3
1
x
x
|
.
|

\
|

)
`

=
)
`

3
2
,
3
1
, 0
1
1
0 3
1 1
3
2
x
x
No factible
Factible
Factible
x
1
x
3
x
2
Propiedades de los politopos convexos
Ejemplo 3: Considerando las restricciones

Por inspeccin este conjunto tiene 5
puntos extremos
Para llevar este problema a la forma
general es necesario introducir variables
de holgura
0 ; 0
3 2
2
4
3
8
2 1
1
2 1
2 1
> >
s
s +
s +
x x
x
x x
x x
0 ; 0 ; 0 ; 0 ; 0
3 2
2
4
3
8
5 4 3 2 1
5 1
4 2 1
3 2 1
> > > > >
= +
= + +
= + +
x x x x x
x x
x x x
x x x
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
Restriccion x3 = 0
Restriccion x4 = 0
Restriccion x5 = 0
x
1
=
0

x
2
=0
x
5
=
0

Propiedades de los politopos convexos
Ejemplo 3: Considerando la funcin objetivo:
-2x
1
x
2

Las soluciones bsicas se determinan haciendo dos variables
cualquiera cero, y resolviendo el sistema para las tres restantes

0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
Restriccion x3 = 0
Restriccion x4 = 0
Restriccion x5 = 0
-8
-7
-6
-5
-4
-3
-2
-1
Mtodo Simplex
La idea del Mtodo Simplex es proceder a partir de una solucin
bsica factible del conjunto de restricciones de un problema en la
forma general, hacia otra solucin bsica factible, de forma tal que
se disminuya continuamente el valor de la funcin objetivo hasta
alcanzar el mnimo
El mtodo Simplex es desarrollado a partir del estudio del sistema
de ecuaciones lineales que define las restricciones y las soluciones
bsicas factibles del sistema, enfocndose en las variables
individuales y su relacin con el sistema
Aqu se utiliza un aproximacin matricial que se enfoca en todas las
variables juntas, lo que lleva a una representacin ms compacta,
aumentando el entendimiento del proceso del mtodo
Pivotes

Antes de empezar con el procedimiento del mtodo Simplex, es
necesario entender primero el proceso de pivoteo en un conjunto de
ecuaciones lineales

Existen dos interpretaciones del procedimiento de pivoteo, que
conllevan al mismo resultado
Pivotes
Primera interpretacin
Considerando el conjunto de ecuaciones lineales simultneas



En el espacio E
n
esto se puede interpretar como una coleccin de m
relaciones lineales que se deben satisfacer por un x,
m n mn m m
n n
n n
b x a x a x a
b x a x a x a
b x a x a x a
= + + + +
= + + + +
= + + + +

2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11
donde m s n
Que en forma matricial se escribe como
Ax=b
m
m
b x a
b x a
b x a
=
=
=

2
2
1
1
Donde las a
i
son filas de A
Pivotes
Primera interpretacin
Si m < n y las ecuaciones son linealmente independientes, entonces
no existe una solucin nica sino una familia de soluciones
Se puede obtener una solucin nica haciendo n-m variables igual a
cero y resolviendo para las restantes, para obtener una solucin
bsica
Usando un esquema de eliminacin de Gauss, donde el mltiplo de
una ecuacin es sistemticamente sustrado de otra ecuacin, se
puede llegar a una forma triangular o a una forma cannica de la
matriz de restricciones
Forma cannica





Para este caso, x
1
x
m
variables bsicas
x
m+1
. x
n
variables no bsicas
La solucin bsica correspondiente se obtiene directamente como,
x
1
= y
1,0
; x
2
= y
2,0
; ; x
m
= y
m,0

Entonces se considera que el sistema est en forma cannica, si hay m
variables bsicas con la propiedad de que aparecen slo en una ecuacin y
su coeficiente en esa ecuacin es uno
Dado un sistema en su forma cannica, el pivoteo se utiliza para
intercambiar una variable bsica por una no-bsica y al mismo tiempo
obtener la forma cannica para el nuevo conjunto de variables bsicas
0 , , 2 2 , 1 1 ,
0 , 2 , 2 2 2 , 2 1 1 , 2 2
0 , 1 , 1 2 2 , 1 1 1 , 1 1
m n n m m m m m m m m
n n m m m m
n n m m m m
y x y x y x y x
y x y x y x y x
y x y x y x y x
= + + + +
= + + + +
= + + + +
+ + + +
+ + + +
+ + + +

Procedimiento de Pivoteo
Partiendo de un sistema en forma cannica, se quiere reemplazar la
variable bsica x
p
, 1 s p s m, por la variable no-bsica x
q
, esto se
puede hacer si y solo si y
pq
0
1. Se divide la fila p entre y
pq
, para obtener un coeficiente unitario para
x
q
en la ecuacin p
2. Luego, se restan mltiplos apropiados de la fila p a las dems filas
para hacer cero a los coeficientes de x
q
en estas filas. Esto no
afecta las columnas de las otras variables bsicas
Denotando los coeficientes del nuevo sistema en forma cannica
como y
ij
las operaciones se resumen en,
p i y
y
y
y y
pj
pq
iq
ij ij
= = '
pq
pj
pj
y
y
y = '
Hace el coef. de p igual a cero
Hace el coef. de p igual a uno
Procedimiento de Pivoteo
Ejemplo: Considere el sistema en forma cannica
1 2
3 3 2
5
6 5 4 3
6 5 4 2
6 5 4 1
= +
= + +
= + +
x x x x
x x x x
x x x x
A =
1 0 0 1 1 -1 5
0 1 0 2 -3 1 3
0 0 1 -1 2 -1 -1
Se reemplaza x1 por x4
A1 = A;
A1(2:3,:)=A1(2:3,:)-A1(2:3,4)/(A1(1,4))*A1(1,:)
A1(1,:) = A1(1,:)/A1(1,4)
A1 =
1 0 0 1 1 -1 5
-2 1 0 0 -5 3 -7
1 0 1 0 3 -2 4
p i y
y
y
y y
pj
pq
iq
ij ij
= = '
pq
pj
pj
y
y
y = '
Puntos extremos adyacentes
El mtodo Simplex necesita pasar de una solucin bsica factible a
otra solucin bsica factible a travs del procedimiento de pivoteo

Aqu se explica como seleccionar un pivote de manera que se
obtenga una nueva solucin bsica factible

Es posible seleccionar arbitrariamente cual variable no-bsica se
convertir en bsica, y luego determinar cual de las bsicas debe
salir
Puntos extremos adyacentes
Asumiendo que todas las soluciones bsicas factibles NO son
degeneradas


Si se tiene un sistema en su forma cannica correspondiente a una
solucin bsica factible, y
i0
> 0, y se quiere convertir a la variable
no-bsica q en bsica (q > m) manteniendo factibilidad, el elemento
pivote de la columna q ser aquel para el cual,
iq
io
iq
i
y
y
y
x
=
i = 1,, m es el menor positivo
Solucin factible mnima
Sabiendo como seleccionar un elemento pivote para lograr una
nueva solucin bsica factible, ahora es necesario tener una forma
de seleccionar la variable no-bsica que debe ser convertida en
bsica para lograr una solucin bsica factible menor

Teorema del mejoramiento de una solucin bsica factible:
Dada una solucin bsica factible no degenerada con funcin
objetivo z
0
suponga que para alguna variable no bsica j se cumple
que c
j
z
j
< 0, donde c
j
es el coeficiente j de la funcin objetivo y
z
j
= y
1j
c
1
+ y
2j
c
2
+ + y
mj
c
m
, m+1 j n

Entonces existe una solucin factible con valor objetivo z < z
0
Solucin factible mnima
Teorema de condicin de optimalidad
Si para alguna solucin bsica factible c
j
z
j
0, para todas las
variables no-bsicas j, entonces la solucin es ptima


r
j
= c
j
z
j
, es conocido como Coeficientes de Costo Relativo o como
Coeficientes de Costo Reducido

Estos coeficientes miden el costo de una variable relativo a una
solucin bsica dada, indicando si el valor objetivo aumenta o
disminuye si x
j
es pivoteado dentro de la solucin
Mtodo Simplex procedimiento de clculo
Se asume que se inicia con una solucin bsica factible y que el
sistema Ax = b est en su forma cannica






La solucin bsica correspondiente
es factible si y
i0
0, i = ,, m

El valor de la funcin objetivo es z
0
La ltima fila puede ser tratada operacionalmente como cualquier otra fila
de la Tabla Simplex durante el proceso de pivoteo
0 2 1
0 , , , 2 , 1 ,
0 , 2 , 2 , 2 2 , 2 1 , 2
0 , 1 , 1 , 1 2 , 1 1 , 1
2 1 2 1
0 0 0
1 0 0
0 1 0
0 0 1
z r r r r
y y y y y
y y y y y
y y y y y
b a a a a a a a
n j m m
m n m j m m m m m
n j m m
n j m m
n j m m m

+ +
+ +
+ +
+ +
+ +


Se agrega una fila a la matriz
con los Coef. de Costo Relativo
(r) y el negativo del costo
actual (-z
0
)

Esto se conoce como la tabla
Simplex

s s +
s s
=
n i m
m i y
x
i
i
1 0
0
0


Mtodo Simplex Algoritmo
1. De la tabla correspondiente a una solucin bsica factible, se
calcula los coeficientes de costo relativo, r
j
= c
j
z
j

2. Si todos los r
j
> 0; la solucin bsica factible es ptima
3. Seleccionar q tal que r
q
< 0, para determinar cual variable no-bsica
se convertir en bsica
4. Calcular los factores y
i0
/y
iq
para y
iq
> 0, i = 1,, m.
Si no hay y
iq
> 0, terminar y salir, el problema no tiene limites
De otra forma, seleccione p como el ndice i correspondiente al
mnimo factor positivo
5. Pivotee sobre el elemento pq, actualizando todas las filas
incluyendo la ltima. Regrese al paso 2
Mtodo Simplex Ejemplo
% Minimizar f(x1,x2) = -2*x1 - x2
% sujeto a x1 + 8/3*x2 <= 4
% x1 + x2 <= 2
% 2*x1 <= 3
% y x1 >= 0; x2 >= 0
% Tabla Simplex 1
A =
1.0000 2.6667 1.0000 0 0 4.0000
1.0000 1.0000 0 1.0000 0 2.0000
2.0000 0 0 0 1.0000 3.0000
-2.0000 -1.0000 0 0 0 0
Solucin
bsica
x1 = 0
x2 = 0
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
Restriccion x3 = 0
Restriccion x4 = 0
Restriccion x5 = 0
-8
-7
-6
-5
-4
-3
-2
-1
q = 1 % la variable no-bsica 1 se convertir en bsica, r mas negativo
Mtodo Simplex Ejemplo
factores = A(1:3,6)./A(1:3,q) %yi0/yiq
factores = 4.0000
2.0000
1.5000
sale variable bsica 3 p = 3
% pivoteo sobre el elemento pq = 31
A(p,:)=A(p,:)/A(p,q)
A(1,:)=A(1,:)-(A(1,q)*A(p,:))
A(2,:)=A(2,:)-(A(2,q)*A(p,:))
A(4,:)=A(4,:)-(A(4,q)*A(p,:))
0 2.6667 1.0000 0 -0.5000 2.5000
0 1.0000 0 1.0000 -0.5000 0.5000
1.0000 0 0 0 0.5000 1.5000
0 -1.0000 0 0 1.0000 3.0000
Solucin
bsica
x1 = 1.5
x2 = 0
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
Restriccion x3 = 0
Restriccion x4 = 0
Restriccion x5 = 0
-8
-7
-6
-5
-4
-3
-2
-1
q = 2 % la variable no-bsica 2 se convertir en bsica, r mas negativo
Mtodo Simplex Ejemplo
Solucin
ptima
x1 = 1.5
x2 = 0.5
factores = A(1:3,6)./A(1:3,q) %yi0/yiq
factores =
0.9375
0.5000
Inf
sale variable basica 2 p = 2
% pivoteo sobre el elemento pq = 22
A(p,:)=A(p,:)/A(p,q)
A(1,:)=A(1,:)-(A(1,q)*A(p,:))
A(3,:)=A(3,:)-(A(3,q)*A(p,:))
A(4,:)=A(4,:)-(A(4,q)*A(p,:))
0 0 1.0000 -2.6667 0.8333 1.1667
0 1.0000 0 1.0000 -0.5000 0.5000
1.0000 0 0 0 0.5000 1.5000
0 0 0 1.0000 0.5000 3.5000
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
2
2.5
3
Restriccion x3 = 0
Restriccion x4 = 0
Restriccion x5 = 0
-8
-7
-6
-5
-4
-3
-2
-1
Valor de la funcin objetivo en el punto ptimo F(1.5,0.5) = -3.5

You might also like