Tema 3' Programacin lineal - PowerPoint PPT Presentation

1 / 72
About This Presentation
Title:

Tema 3' Programacin lineal

Description:

m n y las filas de A linealmente independientes rg(A)=n ... Hasta cu ntas unidades se puede agregar o disminuir para que la soluci n siga siendo v lida? ... – PowerPoint PPT presentation

Number of Views:686
Avg rating:3.0/5.0
Slides: 73
Provided by: Fpar9
Category:

less

Transcript and Presenter's Notes

Title: Tema 3' Programacin lineal


1
Tema 3. Programación lineal
2
Programación lineal
  • Problemas lineales (forma estándar)
  • max cTx c
    coeficientes de la función objetivo
  • s.a Ax b A ? ?m?n m
    restricciones y n variables
  • x ? 0
  • mltn y las filas de A linealmente independientes
    rg(A)n
  • Estudiaremos sus propiedades especiales
  • Métodos específicos de solución
  • Método Simplex
  • Métodos de puntos interiores

3
Transformación a forma estándar
  • Transformación a forma estándar
  • max cTx
  • s.a Ax b
  • x ? 0, b
    ?0
  • Conversión de una función objetivo de
    minimización
  • Conversión de los lados derechos negativos
  • Conversión de restricciones de desigualdad
  • Conversión de variables no positivas y no
    restringidas

4
Transformación a forma estándar
  • 1.-Conversión de una función objetivo de
    minimización
  • Multiplicar por -1
  • min 2x1 - 3x2 - x3 2x4? max -2x1 3x2
    x3 - 2x4
  • 2.-Conversión de los lados derechos negativos
  • Multiplicar por -1 y cambiar desigualdades
  • 2x1 - x2 2x3 x4 ? -1? -2x1 x2 -2x3 - x4 ?
    1
  • 3.-Conversión de restricciones de desigualdad
  • Añadir/sustraer variables de holgura
  • -2x1 x2 -2x3 - x4 ? 1?-2x1 x2 -2x3 - x4
    s1 1, s1 ?0
  • x1 ?4? x1- s14 , s1 ?0
  • 4.-Conversión de variables no positivas y no
    restringidas
  • x1 libre? x1x1-x-1, x1 ?0 , x-1 ?0
  • x1 ?0?-x-1, x-1 ?0

5
Transformación a forma estándar
  • Original
  • min x1 - 2x2 - x3
  • s.a x1
    x3 ? 1
  • x1 2x2
    2x3 ? 2
  • x ? 0
  • Forma estándar
  • max -x1 2x2 x3
  • s.a x1
    x3 - s1 1
  • x1 2x2
    2x3 s2 2
  • x ?
    0, s ? 0

6
Transformación a forma estándar
  • Original
  • min 4x1 3x2 x3
  • s.a 2x1 x2 x3
    ? -10
  • x1 x2 3x3
    ? 8
  • x1 8x24x3 ? -5
  • x1 ? 0, x2 ? 0
  • Forma estándar
  • max -4x1 3x2(x3- x-3)
    s.a -2x1 x2(x3- x-3)s1 10
  • x1 x2 3
    (x3- x-3) s2 8
  • -x1 8x24 (x3- x-3) s3 5
  • x1 ? 0, x2 ? 0, x3 ? 0, x-3 ?0, s ? 0

7
Transformación a forma estándar
  • Original
  • min x1 - 2x2 - x3
  • s.a x1
    x3 ? 1
  • x1 2x2
    2x3 ? 2
  • x1 ? 2, x2 ? 0, x3 ? 2
  • Forma estándar
  • max -x1 - 2 x-2 (x3- x-3)
    s.a x1 (x3- x-3) -
    s1 1
  • x1 2(-x-2)
    2(x3- x-3) s2 2
  • x1 s32
  • (x3- x-3) s42
  • x ? 0, s ? 0

8
Programación lineal
  • Propiedades especiales del problema
  • La región factible es convexa
  • Toda solución local es global
  • Las condiciones necesarias de primer orden son
    suficientes
  • Propiedad de convexidad x e y factibles,
  • A (?x (1-?)y ) ?Ax (1-?)Ay ?b (1-?)b b
  • ?x (1-?)y ? 0

9
Programación lineal
  • Propiedades especiales del problema
  • La región factible es un politopo
  • Figura limitada por hiperplanos
  • Elementos de un politopo
  • Caras, aristas, vértices
  • Algunos de estos elementos son importantes para
    el cálculo de la solución
  • Cómo identificarlos caracterización algebraica

10
Método gráfico del simplex
  • Modelo de Programación Lineal
  • Max 8x1 5x2
  • Sujeto a
  • 2x1 1x2 ? 1200
  • 3x1 4x2 ? 2400
  • x1 x2 ? 800
  • x1 - x2 ? 450
  • xj ? 0 , j 1, 2.

11
Método gráfico del simplex
Restricción reduntante
No Factible
Factible
x1-x2lt450
3x14x2lt2400
Punto Extremo
Punto Medio
Punto Inferior
Tipos de puntos de factibilidad
12
Método gráfico del simplex
8x15x25040, x1480, x2240
No Factible
Factible
3x14x2lt2400
400
8x15x23000
13
Método gráfico del simplex
No Factible
Factible
14
Ejercicio propuesto
  • Resolver mediante el método gráfico el siguiente
    problema de programación lineal
  • z max 5x1 4x2
  • s.a 6x1 4x2 ? 24
  • x1 2x2 ? 6
  • -x1 2x2 ? 1
  • x2 ? 2
  • x ? 0

15
Método gráfico del simplex
  • Soluciones

16
Análisis de sensibilidad
  • Es sensible la solución óptima a cambios en los
    parámetros de entrada?
  • Posibles razones para responder la pregunta
    anterior
  • Los valores de los parámetros usados fueron los
    mejores estimados.
  • Medio ambiente por ser dinámico puede producir
    cambios.
  • El análisis del qué pasa si puede proveer
    información económica y operacional.

17
Análisis de sensibilidad. Función objetivo
  • Rango de optimalidad
  • La solución óptima permanecerá inalterable
    mientras
  • Un coeficiente de la función objetivo se
    encuentre dentro del rango de optimalidad.
  • No hay cambios en ningún otro parámetro.
  • El valor de la función objetivo cambiará si el
    coeficiente
  • multiplica una variable cuyo valor es distinto de
    cero.

18
Análisis de sensibilidad. Función objetivo
X2
1200
800
Max 8x1 5x2
600
Max 4x1 5x2
Max 3.75x1 5x2
Max 2x1 5x2
X1
400
600
800
19
Análisis de sensibilidad. Función objetivo
X2
1200
Max8x1 5x2
10
Max 10 x1 5x2
Max 3.75 x1 5x2
3.75
800
600
Max8x1 5x2
Max 3.75x1 5x2
X1
400
600
800
20
Análisis de sensibilidad. Función objetivo
  • El rango de optimalidad es válido cuando un único
    coeficiente de la función objetivo cambia.
  • Cuando cambia más de una variable se utiliza la
    regla del 100.
  • Para cada aumento (disminución) en un coeficiente
    de la función objetivo calcular (y expresar como
    un porcentaje) la relación de cambio del
    coeficiente al máximo aumento posible
    (disminución) determinada por los límites del
    rango de optimalidad.
  • Sumar todos los cambios de porcentaje. Si el
    total es menor que 100, la solución óptima no
    cambiará. Si este total es mayor que 100, la
    solución óptima puede cambiar.

21
Análisis de sensibilidad. Restricciones
  • Cualquier cambio en el lado derecho (bi) de una
    restricción activa cambiará la solución óptima.
  • Cualquier cambio en el lado derecho de una
    restricción no activa que sea menor que la
    holgura o o el exceso, no produce ningún cambio
    en la solución óptima.
  • Manteniendo todos los otros coeficientes , en
    cuánto cambiaría el valor óptimo de la función
    objetivo (por ejemplo, la ganancia) si el
    coeficiente del lado derecho de una restricción
    cambia en una unidad?
  • Hasta cuántas unidades se puede agregar o
    disminuir para que la solución siga siendo
    válida?
  • Todas estas cuestiones se resolverán con la ayuda
    del solver de excel.

22
Análisis de sensibilidad. Restricciones
X2
1200
2x1 1x2 lt1200
2x1 1x2 lt1350
600
Feasible
Puntos extremos
X1
X1
800
600
23
Teorema Fundamental de la Programación lineal
  • El óptimo de un PL, si existe ocurre en al menos
    un vétice del conjunto de soluciones posibles.
  • Situaciones que pueden ocurrir en relación con el
    conjunto M de soluciones posibles
  • M Ø
  • En este caso no existe solución posible gt
    Tampoco existe solución óptima

24
Teorema Fundamental de la Programación lineal
  • M no es vacío
  • M es acotado

x
y
x
La única solución óptima es un vértice
Infinitas soluciones óptimas siendo dos de ellas
vértices
25
Teorema Fundamental de la Programación lineal
  • M es no vacío
  • M es no acotado

x
x
Una única solución óptima y es un vértice
Infinitas soluciones óptimas una de ellas es un
vértice
26
Teorema Fundamental de la Programación lineal
  • M es no vacío
  • M es no acotado

x
y
Infinitas soluciones óptimas siendo dos de ellas
vértices
No tiene solución óptima, problema no acotado
27
Caracterización de vértice
  • Es un punto en el interior del conjunto (no
    pertenece a una arista) por tanto no hay
    variables nulas.
  • Si está en una arista por lo menos una variable
    es nula.
  • Si es un vértice, por lo menos, n-m variables
    nulas.

n - m
m
R
B
m
n
28
Bases, variables básicas y soluciones básicas
  • Si tenemos un problema en forma estándar
  • max cTx
  • s.a Ax b
  • x ? 0
  • Consideramos un conjunto de m columnas l.i.,
    variables básicas.
  • Decimos que este conjunto es una base de la
    matriz A.
  • La solución básica se obtiene asignando el valor
    0 a las restantes variables, que llamaremos no
    básicas.
  • Este sistema tiene solución única.
  • La solución básica correspondiente es el vector
    x.

29
Bases, variables básicas y soluciones básicas
  • Teorema fundamental
  • Si la solución básica x cumple, además, las
    restricciones
  • de no-negatividad x ? 0 decimos que es una
    solución
  • básica factible (SBF)
  • Las SBF juegan un papel fundamental en PL
  • Un vértice es una SBF
  • Podemos reescribir el Teorema fundamental
  • Si un PL tiene solución óptima, ésta se alcanza
    en una SBF

30
Soluciones Básicas Factibles. Ejemplo
  • max 5x1 12x2 4x3
  • s.a x1 2x2 x3 10
  • 2x1 - x2 3x3 8
  • x ? 0
  • En este caso m2 y n3.
  • Si consideramos las dos primeras columnas son l.i
    por tanto son una base de A. Para calcular la
    solución básica correspondiente, fijamos a 0 la
    variable no básica x3 y obtenemos x(26/5 12/5
    0), como x ? 0? tenemos un vértice.
  • Si tomamos la 1 y la 3 ?x(22 0 -12)T
  • Si tomamos la 2 y la 3 ?x(0 22/7 26/7)T?
    vértice
  • Podemos resolver con el Teorema fundamental, ya
    que solamente tendríamos como posibles dos
    vértices, sustituimos en la f.objetivo y tenemos
    que el óptimo es el x (26/5 12/5 0)T

31
Necesidad del método simplex
  • Tendríamos un método para calcular la solución
    óptima
  • Conseguir todos los vértices
  • Sustituir el valor en la función objetivo
  • Quedarnos con el mayor
  • Si realizáramos este esquema para un problema de
    n100 variables y m50 restricciones. Elegiríamos
    cada vez 50 columnas de 100 posibles, tendríamos
    el combinatorio de 100 sobre 50 lo que son 1029
    combinaciones, por tanto mal método.

32
Ejercicio propuesto
  • Resolver mediante el método gráfico el siguiente
    problema de programación lineal
  • z max 5x1 4x2
  • s.a 6x1 4x2 ? 24
  • x1 2x2 ? 6
  • -x1 2x2 ? 1
  • x2 ? 2
  • x ? 0

33
Ejercicio propuesto
x2
  • z max 5x1 4x2
  • s.a 6x1 4x2 ? 24
  • x1 2x2 ? 6
  • -x1 2x2 ? 1
  • x2 ? 2
  • x ? 0

6
z5x14x2
5
4
3
-x12x2 ? 1
Óptimo (3, 1.5)
x2 ? 2
2
1
x12x2 ? 6
x1
0
2
4
6
34
Otro ejemplo
x2
  • z max 4x2
  • s.a 6x1 4x2 ? 24
  • x1 2x2 ? 6
  • -x1 x2 ? 1
  • x2 ? 2
  • x ? 0

6
5
-x1x2 ? 1
4
3
x2 ? 2
Tenemos infinitas soluciones óptimas Dos de ellas
vértices (1,2) y el (2,2)
2
1
x12x2 ? 6
z4x2
x1
0
2
4
6
35
El método simplex
  • Creado por G. B. Dantzig en 1947.
  • Constituye un modelo de buen algoritmo, por
    diseño, simplicidad de implementación y
    eficiencia en la práctica.
  • Pasos
  • Inicialización Tratar de encontrar un vértice
    inicial, si no es posible, concluir que el PL es
    no-factible y FIN Si se encuentra, continuar.
  • Bucle Intentar encontrar un vértice adyacente
    mejor que el actual, o determinar que el PL es no
    acotado.
  • Si se encuentra un vértice mejor, volver a 2.
  • Si no, terminar dar un vértice óptimo, si se
    encontró si no, concluir que el PL es no
    acotado.
  • Dantzig empleó el método clásico de resolución de
    ecuaciones lineales mediante eliminación
    Gaussiana.

36
El método simplex
  • En lugar de describir el método simplex para un
    PL general, lo ilustraremos mediante ejemplos
    concretos.

b
A
x
37
El método simplex
  • Tenemos el problema en forma canónica. La base es
    la identidad y los coeficientes en la función
    objetivo son nulos.
  • Los coeficientes de la función objetivo cambiados
    de signo

38
El método simplex
  • LD Lado derecho
  • VB Variables básicas
  • En general, la selección de una base inicial es
    un problema no trivial que abordaremos mas
    adelante. Sólo hay un caso en el que resulta
    trivial cuando entre las columnas podemos
    encontrar una submatriz identidad

39
El método simplex
  • Aplicamos a esta tabla el test de optimalidad
  • Si los coeficientes de la fila de abajo cumplen
    la no-negatividad. En tal caso, podemos asegurar
    que el vértice actual es óptimo.
  • En caso contrario, hay que continuar el método
    simplex con otra iteración.
  • Tales coeficientes se denomina costes reducidos,
    y se denotan por cj para la variable xj.
  • Los costes reducidos de las variables básicas son
    cero, si no fuese así, indicaría un error.

40
El método simplex
  • Inicialmente
  • VB x3 2, x4 2, x5 3
  • VNB x1 0, x2 0
  • Solución inicial
  • x(0) (0 0 2 2 3)T z 0

41
El método simplex
  • Como no se cumple el test de optimalidad,
    realizaremos una iteración del método símplex,
    que consiste en una operación de pivotaje.
  • El pivotaje consiste en modificar la base actual
    poniendo una variable no básica en la base y
    sacando una variable de la base.
  • Seleccionamos la variable que entra en la base
    por la Regla del mínimo coste reducido negativo?
    entraría la variable x2.

42
El método simplex
  • A continuación debemos determinar cuál sale de la
    base. Para ello aplicamos la Regla del mínimo
    cociente con denominador positivo (mCDP).
  • El mCDP calculamos de cada fila el cociente de LD
    divido por el elemento de la columna que entra.
    Solamente nos interesan los positivos. Si no
    existiera ningún denominador positivo?el PL es no
    acotado.
  • Sacamos de la base la variable x5.

43
El método simplex
  • Transformaciones lineales
  • Nuevo renglón pivote Renglón pivote actual /
    Elemento pivote
  • Los demás renglones
  • Nuevo renglón (Renglón actual) (coeficiente
    en la columna pivote) x (Nuevo renglón pivote)

Transformaciones elementales
L3 ? L3-L2
L4 ? L42L2
44
El método simplex
  • Inicialmente
  • VB x3 2, x2 2, x5 1
  • VNB x1 0, x4 0
  • Solución iteración 1
  • x(1) (0 2 2 0 1)T z 4

45
El método simplex
L1 ? L1 L3
L4 ? L4 L1
46
El método simplex
  • Se cumple el test de optimalidad
  • VB x1 1, x2 2, x3 1
  • VNB x4 0, x5 0
  • Solución óptima
  • x(2) (1 2 1 0 0)T z 5

47
El método simplex, interpretación gráfica
x2
A (0,0)
B (2,0)
x1 ? 2
C (1,1)
D (1,2)
E (0,2)
F
F (0,3)
G (2,2)
H (3,0)
x2 ? 2
G
D
E
C
x1 x2 ? 3
x1
H
A
B
48
Ejercicio propuesto
  • Resolver mediante el algoritmo del simplex el
    siguiente problema de programación lineal
  • z max 4x1 3x2
  • s.a 2x1 2x2 ? 40
  • x1 x2 ? 30
  • x1 ? 15
  • x ? 0

49
Método de las dos fases
  • Situación en la que el origen no es una solución
    inicial, no tenemos un base

A
b
x
50
Método de las dos fases
A (0,0)
x2
B (2,0)
x1 ? 2
C (1,1)
D (1,2)
E (0,2)
F
F (0,3)
G (2,2)
H (3,0)
x2 ? 2
G
D
E
C
x1 x2 ? 3
x1
H
A
B
51
Método de las dos fases
  • Primera fase (Crear un problema auxiliar P)
  • Introducir variables artificiales
  • Crear una función objetivo artificial
  • Variables básicas iniciales variables de holgura
    y variables artificiales
  • Objetivo de la primera fase minimizar la función
    objetivo artificial
  • Ir de solución básica en solución básica de P
    hasta alcanzar una SBF del problema original P
    (situación que ocurre cuando todas las variables
    artificiales son nulas)

52
Método de las dos fases
  • Segunda fase
  • A partir de uma SBF del problema original P,
    generar SBF cada vez mejores hasta conseguir una
    solución óptima..
  • Aplicando el método de las dos fases

53
Método de las dos fases
  • En primer lugar, reducir a forma canónica la
    variable artificial que hemos incluido.

L4 ? L4 - L3
Reducción a forma canónica
54
Método de las dos fases
L3 ? L3 L1
L4 ? L4 L1
L5 ? L5 L1
55
Método de las dos fases
L2 ? L2 L3
L4 ? L4 L3
L5 ? L5 2 L3
56
Método de las dos fases
  • Hemos llegado al fin de la primera fase.
  • Eliminamos la fila y la columna suplementaria

Fin de primera fase za 0
x (2, 1) z 4
57
Método de las dos fases
L3 ? L3 L2
L4 ? L4 2L2
58
Método de las dos fases
Solución óptima x (2,2) z 6
59
Método de las dos fases
A (0,0)
x2
B (2,0)
x1 ? 2
C (1,1)
D (1,2)
E (0,2)
F
F (0,3)
G (2,2)
H (3,0)
x2 ? 2
G
D
E
C
x1 x2 ? 3
x1
H
A
B
60
Método de las dos fases
  • Veamos otro ejemplo del método de las dos fases

b
A
x
61
Método de las dos fases
  • Veamos otro ejemplo del método de las dos fases
  • Introducimos variables artificiales en el PL,
    entonces

62
Método de las dos fases
  • Veamos otro ejemplo del método de las dos fases
  • En primer lugar, base canónica transformamos el
    renglón de la función objetivo artificial.

L4 ?L4 -L1 L3
Transf. para forma canónica
63
Método de las dos fases
  • Primer pivotaje

L3 ? L3 -L1
L4 ? L4 2L1
L5 ? L5 L1
64
Método de las dos fases
  • Tenemos la solución x(1)(2,0,0,2,0,0,1)
  • Segundo pivotaje

L2 ? L2 -L3
L4 ? L3 L4
L5 ? L5 2L3
65
Método de las dos fases
  • Tenemos la solución x(1)(2,1,0,1,0,0,0)

Fin de la primera fase za 0
x (2, 1) z 4
66
Método de las dos fases
  • Con la solución inicial empezamos la segunda
    fase
  • Primer pivotaje

L4 ? L4 2L2
L3 ? L3 L2
67
Método de las dos fases
  • Si realizamos el text de mCDP no existen valores
    positivos, por tanto el PL es no acotadogtx3
    puede entrar en la base mejorando el valor de z
    indefinidamente.
  • Por tanto no tiene solución óptima, pero podemos
    construir una semirrecta de soluciones factibles

68
Método de las dos fases
  • Esta recta partirá del último vértice
    (2,2,0,1,0) y la pdte será el vector de la
    variable que íbamos a incluir a3 (-1,0,0,-1,0)
    le cambiamos el signo y sustituimos en este
    vector la posición 3 que es la variable que
    deberíamos meter y ya tenemos la ecuación
  • x(2,2,0,1,0) ? (1,0,1,1,0)
  • Y llamaremos a (1, 0, 1, 1, 0) es la dirección no
    acotada del PL

69
Método de las dos fases
A (0,0)
x2
B (2,0)
x1 ? 2
C (1,1)
D (1,2)
E (0,2)
F
F (0,3)
G (2,2)
H (3,0)
x2 ? 2
G
D
E
C
x1 x2 ? 3
x1
H
A
B
70
Método simplex. Comentarios
  • El simplex ha probado ser muy eficiente en casi
    todos los problemas prácticos (requiere entre m y
    3m iteraciones). Pero existen problemas
    patológicos donde el simplex se comporta muy mal
    (Klee and Minty, 1972).
  • La complejidad computacional del simplex es
    exponencial. Por muchos años se buscó un
    algoritmo de PL con complejidad computacional
    polinómica.
  • En 1979, Khachiyan desarrolla el método elipsoide
    con complejidad polinómica. En la práctica
    resultaba ser ineficiente.
  • En 1984, Karmarkar describe un algoritmo
    polinómico que alcanza la solución por el
    interior de la región factible. Dicho algoritmo
    resultó ser eficiente en la práctica. Se inició
    así el área de los métodos de punto interior.

71
Ejercicio propuesto
  • Resolver mediante el algoritmo del simplex en dos
    fases el siguiente problema de programación
    lineal
  • z max x1 x2 x3
  • s.a x1 x2 x3 ? 100
  • x3 ? 5
  • -x1 x2 x3 0
  • 2x1 - x2 2x3 0
  • x ? 0

72
Ejercicio propuesto
  • Resolver mediante el algoritmo del simplex en dos
    fases el siguiente problema de programación
    lineal
  • z max 4x1 x2
  • s.a
  • 3x1 x2 3
  • 4x1 3x2 ? 6
  • x1 2x2 ? 4
  • x ? 0
Write a Comment
User Comments (0)
About PowerShow.com