Aprender PLE15
Aprender PLE15
Aprender PLE15
Es un conjunto que verfica que para cualesquiera dos puntos del conjunto el
segmento cerrado que los une está contenido en el propio conjunto.
Proposición 1.1
Proposición 1.2
1. H (S ) es convexo
2. H ( S ) es el menor convexo que contiene a S
3. H (S )=S si S es convexo
Teorema 1.2
Politopo
Nota:
Frontera de un conjunto S
Hiperplano en el n-espacio
Semiespacios de un hiperplano
Dados A∈M m×n , c∈E n entonces uno de los dos sistemas siguientes
tiene solución :
t t
Sistema 1: ∃ x ∈ E n : Ax≤0 ; c x> 0 c es un vector y c su traspuesto
Sistema 2: ∃ y ∈E m : At y=c ; y≥0
Es S ={x ∈E n : pti x≤α i i=1 ,... , m}≠∅ : pi son vectores no nulos y α i escalares
es decir, S es intersección de un número finito de semiespacios cerrados.
[ ][ ]
−1
x
descomponer de la forma [ B , N ]: x= B = B b
xN 0
−1 −1
donde B∈M m×m :∃ B y B b≥0 , y N ∈ M m×n− m
Teorema 1.13
( )
−1
rg( A)=m , y b∈E m si y solo si A=[ B , N ]:∃c j ∈ N : B−1 c j ≤0 y d̄ α = −B c j =d
ej
donde α > 0 , c j una columna de N , y e j es un (n-m)-vector con 0 salvo en j
Teorema 1.15
Todos los puntos de un poliedro son combinación lineal de los puntos extremos y
de las direcciones extremas, esto es, si x ∈S , x1 ,... , x k puntos extremos de S
k l
y d 1 ,... , d l direcciones extremas de S entonces x=∑ λ j x j + ∑ μ j d j :
j =1 j =1
k
Corolario 1.13
Programa óptimo
Es un programa finito que proporciona el valor óptimo para la función objetivo, es decir,
x̄ es un programa óptimo si es un programa y para cualquier programa x se cumple que
x̄≤c x
( )
B
Es el vector x̄ = x̄ : x̄ B=B−1 b .Considerando el PPL en la forma estándar
0
La solución básica es no degenerada si x̄ B≠0
Teorema 1.16
Corolario 1.14
Corolario 1.15
Teorema 2.2
Pivote
yl , j
y ' s , j= y s , j− · y : s∈ I −{l }+ {0 }; j∈{0,1 , ... , n}
yl, k s, k
y
y ' k , j = l , j : j∈{0,1 , ... , n }
yl , k
Base artificial
Problema aumentado
()
a
Es el PPL que cumple : minimizar z=cx sujeto a Aa x =b ; x a , x≥0
x
( )
a
sujeto a A x =b : x , x≥0 y M es una constante positiva
a a
x
superior en valor absoluto a cualquier número con el que se
compare en el trascurso de los cálculos.
( )
a
Aa x =b : x a , x≥0 ;(c B Y −c N )=c B Y
x
Fases del método de las dos fases
Es un programa en el que los valores de una o más variables básicas son cero
Proposición 2.3
La condición necesaria y suficiente para que una variable básica se haga nula
es que o bien entre en la base en sustitución por una que ya lo era, o bien que
el mínimo calculado por el criterio de salida del simplex no sea única.
Llegar mediante al algoritmo del Simplex a una Base de una iteración anterior.
Repitiendo el algoritmo indefinidamente si se sigue iterando.
[ ]
Sea A= F p =[C q ,C q +1 ] ,b t=[b p , b p+1 ] , c t=[c q , c q +1] , x t =[ x q , x q+1 ] , ut =[ u p , u p +1 ]
F p+1
Problema Primal Problema Dual
t
Minimizar z =c x :c ∈E n Maximizar w=bt u : b∈ E m
F p x≥b p u t C q≤cq
F p +1 x=b p+1 ut C q +1=cq +1
x≥0 ∀ x ∈x q u≥0 ∀ u ∈u p
cualquier x ∈x q +1 cualquier u ∈u p+1
Donde F p son las p primeras filas de A, y F p +1 las restantes filas de A desde la
fila p+ 1 incluida. Análogo con C q y C q+1 pero con las columnas. A∈ M m×n
Formas equivalentes
Proposición 2.5
Corolario 2.4
Proposición 2.6
Teorema 2.7
Una condición necesaria y suficiente para que sus programas sean óptimos es :
ū ( A x̄−b)=0
(c−ū A) x̄=0
Teorema 2.9 (Teorema fuerte de las holguras complementarias)
Proposición 2.8
Proposición 2.9
Si una solución es básica y factible tanto del primal como del dual, entonces
es una solución óptima.
Proposición 2.10
Sea B una base del primal y sean x̄ B =B−1 b y ū=c B B−1 . Supuesto x̄ B dual factible
B
1. Si ū no es un programa óptimo del dual, entonces x̄ no es primal factible.
2. Si existe x̄ l < 0 entonces se puede encontrar otro programa dual ū ' mejor que ū
Es el siguiente problema:
Minimizar z = z̄ −∑ ( z j−c j ) x j :( z j−c j )>0 suejeto a :
j∈ J
x s + ∑ y s , j x j= x¯s : x̄ s <0 ; x 0 + ∑ x j =M (M =valor positivo tan grande como se quiera)
j ∈J j∈ J
x 0 , x s , x j≥0
Notas importantes
1. Modificar b puede dar lugar a que x̄ B deje de ser primal factible, pero es dual factible
2. Modificar c puede dejar de hacer óptima x̄ B y dejar de ser un programa dual.
Modificación de b
Modificar c
Añadir una variable implica añadir una nueva columna en A y una componenete en c
1. Si c B B−1 an +1−c n +1≤0 el programa mínimo es invariante
2. Si c B B−1 a n+1−c n+1 >0 entonces se introduce la variable x n +1 en la base, aplicando
el algoritmo del Simplex a la última tabla completada con una nueva columna
correspondiente a la variable añadida.
El algoritmo básico
1. Usar la tabla del Simplex ''toda entera''.Resolver el problema de PLC.
1.1 Si no es factible el PLC no lo es el PLE, finalizar. Si es factible continuar.
2. Buscar una restricción de desigualda que haga no factible el PLC pero no altere
el PLE. Añadir esta restricción como última fila de la tabla Simplex. Continuar.
3. Usar el método Dual del Simplex (en su forma lexicográfica si es necesario).
3.1 Si el nuevo PPLC no es factible, el PPLE no tiene solución, Finalizar.
3.2 Si el nuevo PPLC es óptimo entero, el problema está resuelro. Finalizar.
3.3 En otro caso volver al paso 2.
La tabla del Simplex en PLE
1 − x1 ⋯ −x j ⋯ −x
x0 = a 00 a 01 ⋯ a0 j ⋯ a0n
x1 = 0 −1 ≥0
⋮ ⋱ ⋮
xj = 0 −1 ≥0
⋮ ⋱ ⋮
xn = 0 −1 ≥0
x n +1 = a n +1,0 a n +1,1 ⋯ a n+1 , j ⋯ a n +1 , n ≥0
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
x n+ m = a n+m ,0 a n +m ,1 ⋯ a n +m , j ⋯ a n +m , n ≥0
Proposición 3.1
El algoritmo básico
1. Resolver el problema mixto sin considerar las restricciones de integridad.
1.1 Si no es factible el PC no lo es el PE, finalizar.
1.2 Si la solución óptima del PC toda variable entera toma valor entero, finalizar
se ha encontrado la solución óptima del problema mixto. En otro caso continuar.
2. Buscar una restricción de desigualda que haga no factible el PMC pero no altere
el PME. Añadir esta restricción como última fila de la tabla Simplex. Continuar.
3. Usar el método Dual del Simplex.
3.1 Si el nuevo PPLC no es factible, el PPME no tiene solución, Finalizar.
3.2 Si el nuevo PPLC es óptimo entero, el problema está resuelro. Finalizar.
3.3 En otro caso volver al paso 2.
Teorema 3.3
Teorema 3.4
Teorema 3.5
Teorema 3.6
Corolario 3.4
Algoritmo
1. Determinar una solución básica inicial factible.
2. Finalizar si tiene solución óptima, si no determinar la variable entrante.
3. Determinar la variable saliente
4. Obtener la nueva solución básica factible y volver al paso 2.
Método Primal
Método Dual
Algoritmo Húngaro
0. Obtener la matriz reducida de la matriz de costes. Si se pretende maximizar hay que cambiar
los signos de la matriz de costes, y luego obtener la reducida.
1. Trazar el mínimo número de líneas, s, sobre las filas y las columnas para cubrir todos los 0
de la matriz reducida.
1.1 Si s=m entonces se tiene la solución óptima. Finalizar.
1.2 En caso contrario continuar.
2. Seleccionar el mínimo elemento no cubierto.
2.1 Restar este valor a cada elemento no cubierto y sumarlo a cada elemento cubierto por
dos líneas. Volver al paso 1.
Determina los valores que minimizan.
Teorema 3.8
Si todos los elementos de la matriz de coste son enteros no negativos, y están acotados
superiormente ⇒ el algoritmo húngaro converge en número finito de iteraciones.