You are on page 1of 16

El Mtodo Simplex(1)

Para solucin de problemas de


optimizacin lineal

(1) Basado en las notas de Stephen Boyles. Fall 2009


http://www.uwyo.edu/sboyles/teaching/ce4920/lp_notes.pdf

Forma estndar
Sea el programa de optimizacin lineal en forma
estndar

donde

n variables desconocidas
m restricciones

Un ejemplo
Consideremos el siguiente problema

(No est en forma estndar)

Grficamente: Restricciones
20

x2 = 14-2x1
15

x2 = 7 - 3x1/5

10

-5
-5

10
x

15

20

Funcin objetivo
20

Funcin objetivo
igualada a una
constante
-x1-x2 = K
define
hiperplanos de
valor constante

15

x2

10

-5
-5

10

15

20

x1

Caractersticas de los problemas de


optimizacin lineal

Todo programa lineal es convexo

Se llaman puntos extremos a los puntos de


interseccin de 2 o ms restricciones

Teorema fundamental de la programacin


lineal:
"Si un problema de optimizacin lineal tiene
una solucin ptima, al menos un
punto extremo es una solucin ptima".
6

Puntos extremos = Puntos ptimos


20

15

10

-5
-5

10
x

15

20

Puntos extremos
Ejemplos:

En 2 dimensiones (n=2), las restricciones son


lneas, y la interseccin de 2 lneas define un
punto.

En 3 dimensiones, las restricciones son planos.


La interseccin de 3 planos es un punto (salvo
excepciones).
La interseccin de 2 planos es una lnea, o es
vacia. La interseccin de 4 o ms planos es
vacia (salvo casos excepcionales).
8

Consideraciones sobre
puntos extremos (1)
Considerando el sistema de ecuaciones
Ax=b
pueden presentarse varios casos:

m>n: Hay ms restricciones que variables.


Generalmente no tiene solucin, y cuando la
tiene, es porque hay ecuaciones linealmente
dependientes unas de otras.

Consideraciones sobre
puntos extremos (2)

En general si existen ecuaciones linealmente


dependientes, se pueden eliminar. En adelante
se asume que las m restricciones son
linealmente independientes.

m=n : Igual nmero de restricciones y variables.


El sistema tiene una nica solucin x*. Si esta
solucin es factible, i.e. x*0, entonces esta es
la solucin al problema. (Caso trivial).

10

Consideraciones sobre
puntos extremos (3)

m<n: Se puede seleccionar un subconjunto de m


variables xB. Las restantes variables xNB se hacen 0.

Las columnas de A que multiplican una de las


variables en xNB se anulan. Sea B la matrix formada
por las columnas de A correspondientes a variables en
x B.

La ecuacin resultante es
BxB = b

El vector b se expresa como una combinacin lineal


de las columnas de B.
11

Consideraciones sobre
puntos extremos (4)

Puede ocurrir que algunos componentes de xB


sean ceros.

En este caso la solucin se llama una solucin


bsica degenerada.

Obsrvese que en este caso se puede


intercambiar la variable cero de xB por una de
las variables de xNB sin afectar la solucin.

12

Consideraciones sobre
puntos extremos (5)

A las variables xB se les llama una base.

El vector (xB,0) es una solucin factible de


Ax = b

Si adicionalmente su cumple que xB0,


decimos que es una solucin bsica factible
(Basic Feasible Solution - BFS) del problema
de optimizacin.
A las variables xNB se les llama no bsicas.
13

Regla general para encontrar


puntos extremos

Tomar conjuntos de n restricciones. (En total


son m restricciones de la forma aTx=b y n
restricciones xi0).

Hallar la interseccin entre ellas.

Descartar puntos no factibles no satisfacen


las otras restricciones.

El nmero de puntos a probar es finito:

14

Solucin... poco eficiente

Evaluar la interseccin de cada una de estas


combinaciones de restricciones.

Si x es factible, evaluar la funcin objetivo.

Descartar aquellos casos en los que no es


factible.

De todas las soluciones factibles tomar la


menor.

15

Caractersticas de puntos extremos

Restricciones activas: La restricciones que se


satisfacen con igualdad en el punto extremo.

Puntos extremos adyacentes: Solo difieren en


una restriccin activa.

16

Idea central del mtodo Simplex

Seleccionar un punto extremo.

Si un punto extremo adyacente produce una


reduccin de la funcin objetivo, moverse a
este punto extremo.

Cuando ninguno de los puntos extremos


adyacentes al punto actual reduce la funcin
objetivo, este punto es ptimo.

17

Determinando puntos extremos


Dado el sistema
Se seleccionan n variables xB y se resuelve.
Las restantes (n-m) variables se hacen cero y
forman xNB.
Si la solucin encontrada es factible, este es un
punto extremo.

18

Movimiento a puntos extremos


adyacentes
Supongamos que la variable xk= entra a la base.
Entonces las variables bsicas actuales deben
cambiar dB para mantener la igualdad de las
restricciones

es decir, todas las variables bsicas se afectan en


proporcin a , siendo el factor de proporcin
20

Movimiento a punto extremo


adyacente
Si entra xk, una de las variables xixB debe
hacerse cero. Se selecciona la variable xi como la
primera que se haga cero (si alguna se hace
menor que cero, la solucin no es factible).

Obsrvese que si xi<0, la variable bsica crece a


medida que aumenta, por lo tanto xi es una
variable para la cual xi>0.
21

Determinando la nueva variable


bsica
Se debe seleccionar el mnimo que causa que
una xi se haga cero:

Cuando todos los xi son negativos, la base


actual es el punto ptimo.
22

Efecto en el valor de la funcin


objetivo
La nuevo valor de la funcin objetivo es
como se trata de un problema de minimizacin, el
cambio en la funcin objetivo debe ser negativo
se denomina la reduccin de costo de la kth
variable de decisin a la cantidad

23

El mtodo Simplex
1. Se identifica una base factible inicial B (BFS=Basic
Feasible Solution).
2. Se calculan las reducciones de costo para cada una
de las variables kB.
3. Si todas las reducciones de costo son no-negativas,
terminar. La base actual es ptima.
4. Escoger una variable no bsica xk, kB para que
entre a la base, y determinar el valor que hace que
una de las variables bsicas se haga cero.
5. Repetir a partir del paso 2.
24

Ejemplo

Tomemos el siguiente ejemplo

25

Transformacin a forma estndar

Agregamos las variables (slack/exceso) x4, x5,


x6 para llevarlo a forma estndar

26

Determinar una BFS

Observar que la asignacin


x = (0, 0, 0, 10, 20, 5)
es una BFS, para la cual la funcin objetivo es
0.

Se identifican las componentes B y N de A

27

Buscar otras componentes que


reduzcan el costo

Posibles candidatas a entrar en la base son xk


para k={1,2,3}. Se clcula la reduccin de costo
correspondiente a cada una

Se pueden seleccionar x2 x3 para entrar a la


base. Digamos que entra x2.
28

Encontrar el valor de la variable


bsica que entra

Necesitamos tal que una de las variables de


la base anterior se haga cero.

Se clcula el cambio de cada una de las


variables

Y se determina el mximo lambda posible

29

Nuevo valor ptimo

Se obtiene de
logrando una reduccin respecto al valor original de 0.

Si se calculan las reducciones de costo con respecto


a las variable no bsicas se encuentra:
Se puede hacer
una nueva iteracin
trayendo a x3 a la
base

31

You might also like