Vous êtes sur la page 1sur 48

Técnicas de Optimización en Ingeniería

Capítulo 3
Optimización con Restricciones
Método Newton Raphson

Juan P. Vargas Machuca Bueno D.Sc.


Facultad de Ingeniería Mecánica
Universidad Nacional de Ingeniería
Sumario
1. Programación Lineal
2. Método Gráfico
3. Método Simplex
4. Introducción a Pyomo

2
1. Programación Lineal

3
1. Programación Lineal

4
1. Programación Lineal
La programación lineal (LP) es un problema de
optimización en el cual la función objetivo es
lineal en las incógnitas y las restricciones
consisten en igualdades lineales y desigualdades
lineales.

5
1. Programación Lineal
La forma exacta de las restricciones puede
diferir de un problema para otro, pero como se
muestra a continuación, cualquier programa
lineal puede transformarse en la siguiente forma
estándar:

6
2. Método Gráfico

7
2. Método Gráfico
En esta sección analizaremos la solución gráfica
de una programación lineal (PL) con dos
variables. Aun cuando en la práctica difícilmente
ocurren problemas de dos variables, el
tratamiento proporciona fundamentos
concretos para el desarrollo del algoritmo
simplex.

8
2. Método Gráfico
Los modelos de PL constan de tres componentes
básicos:
1.Las variables de decisión que se pretende
determinar.
2.El objetivo a optimizar (maximizar o
minimizar).
3.Las restricciones que la solución debe
satisfacer.

9
2. Método Gráfico

Objetivo

Restricciones

Variables

10
2. Método Gráfico
Ejemplo

Plantear el problema de optimización para el


siguiente caso:

11
2. Método Gráfico
Una empresa produce pinturas para interiores y exteriores con
dos materias primas, M1 y M2. Una encuesta de mercado indica
que la demanda diaria de pintura para interiores no puede
exceder la de pintura para exteriores en más de una tonelada.
Así mismo, que la demanda diaria máxima de pintura para
interiores es de dos toneladas. La empresa se propone
determinar la (mejor) combinación óptima de pinturas para
interiores y exteriores que maximice la utilidad diaria total.

12
2. Método Gráfico
Planteamiento del Objetivo
Las variables se definen como:

El objetivo de la empresa es maximizar (es decir, incrementar lo más


posible) la utilidad diaria de ambas pinturas. Los dos componentes de la
utilidad diaria total se expresan en función de las variables x1 y x2 como
sigue:

Si z representa la utilidad diaria total (en miles de dólares), el objetivo de la


empresa se expresa como sigue:
13
2. Método Gráfico

14
2. Método Gráfico

15
2. Método Gráfico

16
2. Método Gráfico

17
2. Método Gráfico

18
2. Método Gráfico
Para el caso de las otras restricciones, primero
substituya las desigualdad por una ecuación, y
luego trace la línea recta.

19
2. Método Gráfico

20
2. Método Gráfico
Paso 2. Determinación de la solución óptima

21
2. Método Gráfico

22
2. Método Gráfico
La solución es x1=3 y x2 = 1.5 con z=5*3 + 4*1.5=21, que
demanda una combinación de producto diaria de 3 toneladas
de pintura para exteriores, y 1.5 toneladas de pintura para
interiores. La utilidad diaria asociada es de $21,000.
Una característica importante de la solución de PL óptima es
que siempre está asociada con un punto de esquina del
espacio de soluciones (donde, en dos dimensiones, se
intersecan dos líneas). Esto es cierto incluso si la función
objetivo es paralela a una restricción. Por ejemplo, si la
función objetivo es z=6x1+4x2, la cual es paralela a la
restricción 1, siempre podemos decir que la solución óptima
ocurre en el punto de esquina B o C. En realidad, cualquier
punto sobre el segmento de línea BC será una solución óptima
alternativa.

23
2. Método Gráfico
Ejercicio 1
La empresa VM consume diariamente 800 kW de energía, donde
esta energía es entregada por las compañías A y B con la
siguiente distribución:

Las necesidades del consumo energético de la empresa VM son


un mínimo del 30% de combustible y un máximo de 5% de panel
solar. El objetivo es determinar el consumo diario a un costo
mínimo.

24
2. Método Gráfico
Solución

25
2. Método Gráfico
Ejercicio 2
Una planta de procesamiento de gas recibe una
cantidad fija de gas natural bruto (no procesado)
cada semana. El gas procesado tiene 2 calidades:
normal y premium.
Ambos productos tienen gran demanda (su venta es
garantizada) y brindan diferentes ganancias.
Además, su producción envuelve diversos tiempos y
espacios de almacenaje en planta.
Solo una de las calidades puede ser producida por
vez y la planta opera 80 horas/semana.
26
2. Método Gráfico
Finalmente, hay un espacio limitado de
almacenamiento para cada producto.
Todos los factores son listados en toneladas:

Plantear una programación lineal que maximice las


utilidades de esta operación.

27
3. Método Simplex

28
3. Modelo de ecuación
El desarrollo de los cálculos con el método
simplex se facilita si se imponen dos
requerimientos a las restricciones de
programación lineal.

1. Todas las restricciones son ecuaciones con


lado derecho no negativo.
2. Todas las variables son no negativas

29
3. Modelo de ecuación

30
3. Modelo de ecuación
Una restricción (≥) establece un límite inferior en las
actividades económicas de la programación lineal, así
que la cantidad en la cual el lado izquierdo excede el
límite mínimo representa un superávit. Así pues, la
conversión de (≥) a (=) se logra restando una variable de
superávit no negativa del lado izquierdo de la
desigualdad.

El único requerimiento que falta es que el lado derecho


de la ecuación resultante sea no negativo. Si el lado
derecho resulta negativo, el requerimiento se satisface
multiplicando ambos lados de la ecuación por -1.
31
3. Algoritmo Simplex
Los detalles del cálculo de una iteración simplex
será explicado por medio de la solución del
siguiente ejemplo.

32
3. Algoritmo Simplex
Paso 1. Establecer ecuaciones, tabla simplex y
encontrar columna pivote.

Z R

1 -50 -80 0 0 0
0 1 2 1 0 120
0 1 1 0 1 90

Columna Pivote (menor


33
coef. entre x1 y x2)
3. Algoritmo Simplex
Paso 2. Establecer el elemento pivote.

Z R
F1 1 -50 -80 0 0 0
F2 0 1 2 1 0 120 120/2 = 60 (menor)
F3 0 1 1 0 1 90 90/1=90

Fila Pivote
Elemento Pivote

34
3. Algoritmo Simplex
Paso 3. Hacer cero los coef. de x2 de F1 y F3.
Haciendo que el elemento pivote sea igual a 1. Para esto se divide entre 2 la
fila 2 (F2).
Z R
1 -50 -80 0 0 0
0 1/2 1 1/2 0 60
0 1 1 0 1 90

Operar 80F2+F1 y F3-F2 para que los coeficientes de x2 sean ceros.

Z R
1 -10 0 40 0 4800
0 1/2 1 1/2 0 60
0 1/2 0 -1/2 1 30 35
3. Algoritmo Simplex
Realizar nuevamente los pasos anteriores hasta que los coeficientes de la función
objetivo sean ceros o positivos.

Z R

1 -10 0 40 0 4800
0 1/2 1 1/2 0 60 60/(1/2) = 120
0 1/2 0 -1/2 1 30 30/(1/2)=60 (menor)

No se divide entre valores negativos o ceros

36
3. Algoritmo Simplex
Haciendo que el elemento pivote sea igual a 1. Para esto se multiplica por 2 la
fila 3 (F3).
Z R

1 -10 0 40 0 4800
0 1/2 1 1/2 0 60
0 1 0 -1 2 60
Operar 10F3+F1 y -1/2F3+F2 para que los coeficientes de x1 sean ceros.

Z R

1 0 0 30 20 5400
0 0 1 1 -1 30
0 1 0 -1 2 60
37
3. Algoritmo Simplex
Paso 4. Obtención del valor optimo.
Z R
1 0 0 30 20 5400
0 0 1 1 -1 30
0 1 0 -1 2 60

38
3. Algoritmo Simplex
Ejercicio. Maximizar utilizando el método
simplex.

39
4. Introducción a Pyomo

40
4. Introducción a Pyomo
Pyomo es un paquete de software de código abierto basado en Python
que soporta un conjunto diverso de capacidades de optimización para
formular, resolver y analizar modelos de optimización.

Una capacidad central de Pyomo es el modelado de aplicaciones de


optimización estructurada. Pyomo puede usarse para definir
problemas simbólicos generales, crear instancias de problemas
específicos y resolver estos casos usando soluciones comerciales y de
código abierto.

Libro: Hart, William E., Carl Laird, Jean-Paul Watson, and David L.
Woodruff. Pyomo – Optimization Modeling in Python. Vol. 67.
Springer, 2012.
41
4. Introducción a Pyomo
Pyomo soporta una amplia gama de tipos de
problemas, incluyendo:

42
4. Introducción a Pyomo

43
4. Instalación

44
4. Instalación

Instalar glpk (solver)

conda install –c conda-forge glpk=4.61

45
4. Pyomo
Ejemplo
Encontrar el minimo Z utilizando Pyomo y los
valores óptimos de x,y.

Min Z= 2x+3y
Sujeto a: 3x+4y≥1

46
4. Pyomo
Ejemplo
Código en Python:

47
4. Pyomo
Ejercicio

Maximizar Z= 3x+2y
Sujeto a: 2x+y≤18
2x+3y≤42
3x+y≤24
x;y≥0

48

Vous aimerez peut-être aussi