Está en la página 1de 58

Optimización de Sistemas I

Fundamentos de la Optimización
Preparado por:
Daniel Contesse S.
Cristian Palma I.
Pablo González B.
¿Qué es un Problema?

Un problema en matemáticas es un asunto del que se


espera una solución y que se puede representar,
analizar y posiblemente resolver con métodos
matemáticos.

Un problema queda definido mediante:


– Una descripción general de todos sus parámetros
– Una descripción de las propiedades de la respuesta

En este curso consideraremos problemas de


optimización y de decisión.
¿Qué es un Problema? (2)

Problema de optimización:
min f(x), sujeto a x  X, donde
X = {x ϵ lRn: gi(x)  bi, i = 1,…,m; xj  0, j = 1,…,n}

Problema de decisión: problema en que la respuesta es SI o NO.


Si existe solución al problema, la respuesta a la pregunta es SI,
en caso contrario, es NO.

En general, un problema de decisión se puede re-escribir como


un problema de optimización y viceversa.
¿Qué es un Problema? (3)

Consideremos el problema del vendedor viajero

– Problema de optimización: dados el conjunto de


ciudades, el conjunto de caminos entre ciudades y los
costos de utilizar cada camino, determinar el tour de
costo mínimo.

– Problema de decisión: dados el conjunto de ciudades, el


conjunto de caminos entre ciudades y los costos de
utilizar cada camino y un valor no negativo k, ¿existe un
tour de costo menor o igual que k?
¿Qué es un Problema? (4)

Consideremos el problema de programación de trabajos. Se


tiene un conjunto de n trabajo que deben ser procesados por m
máquinas en forma secuencial de modo tal que el tiempo de
procesamiento sea mínimo. Es decir, cada trabajo debe ser
procesado primero por la máquina 1, luego por la 2, etc.

– Problema de optimización: dados los tiempos de procesamiento de


cada uno de los n trabajos en cada una de las m máquinas,
determinar la secuencia para procesarlos que minimice el tiempo
total de procesamiento.

– Problema de decisión: dados los tiempos de procesamiento de cada


uno de los n trabajos en cada una de las m máquinas, y un valor no
negativo k, ¿existe una secuencia tal que el tiempo total de
procesamiento sea menor o igual que k?
Instancia de un Problema

▪ Especificación de valores particulares para los parámetros de


un problema.
▪ Pueden existir muchas instancias para un mismo problema.

Problema del vendedor viajero

Instancia UK: 10 ciudades Instancia USA: 16 ciudades


Mueblería: Información

Suponga el caso de una mueblería que fabrica sillas y


mesas
Sillas Mesas
Costo material ($/un) 8.5 11.5
Mano de obra ($10/hr) Recursos escasos
Ensamblado (hr/un) 0.1 0.2 Hrs Ensamblado No más de 130 hr/sem
Terminado (hr/un) 0.4 0.3 Hrs Terminado No más de 370 hr/sem
Precio Venta ($/un) 17.5 21.5 Cubiertas de mesa No más de 500 un/sem

– Costo fijo total: $3.800/semana


¿Cuál es la mejor combinación de sillas y mesas a
producir?
Mueblerías: Análisis de Rentabilidad

Sillas Mesas
Costo material ($/un) 8.5 11.5
Mano de obra ($10/hr) Rentabilidad Sillas Mesas
Ensamblado (hr/un) 0.1 0.2 CV M.O ($/un) 5.0 5.0
Terminado (hr/un) 0.4 0.3 CV Total ($/un) 13.5 16.5
Precio Venta ($/un) 17.5 21.5 Utilidad ($/un) 4.0 5.0

– Ambos productos son rentables


– Mesas son más rentables que las sillas
Idea:
– Hacer la mayor cantidad de mesas posible
– Hacer sillas con los recursos restantes
Mueblería: Solución Inicial

Cantidad Uso por Máximo # Recursos Cantidad Uso por Máximo #


Recursos Disponible mesa mesas usados Restante silla silla
Ensamblado 130 0.2 650 100 30 0.1 300
Terminado 370 0.3 1233.3 150 220 0.4 550
Cubiertas 500 1 500 500 0 - -
Producción 500 mesas 300 sillas
Ganancia $ 2,500 $ 1,200

Ganancia Total $ 3,700


Costo Fijo $ 3,800
Ganancia Neta Total -$ 100

Ganancia Neta Total -$100 por semana

¿Cuál es el problema con esta lógica de planificación de la producción?


Mueblería: Prueba y Error

▪ Probar diferentes niveles de


producción: Recursos
Cantidad
Disponible
Cantidad
Utilizada
Cantidad
Restante
– Número de sillas y de mesas Ensamblado 130 130 0

▪ Evaluar consecuencias: Terminado 370 270 100


Cubiertas 500 500 0
– Recursos utilizados
Producción Sillas 300
(ensamblado, terminado,
Ganancia Mesas 500
cubiertas)
– Ganancias Ganancia Total $ 3,700
▪ Principales problemas Costo Fijo $ 3,800
Ganancia Neta Total -$ 100
– ¿Cómo sabemos si hemos
encontrado la mejor solución?
– ¿Qué pasa si no podemos
encontrar una solución válida?

Utilizar Programación Matemática


Mueblería: Programación Matemática

▪ Variables de decisión:
– S denota el número de sillas a producir por semana
– M denota el número de mesas a producir por semana
Nota: Al definir las variables uno debe ser claro e incluir las
unidades
▪ Restricciones:
– Ensamblado: “El número total de horas de ensamblado
para producir S sillas y M mesas no debe exceder las 130
horas semanales”
Mueblería: Programación Matemática (2)

▪ Restricciones:
– Terminado: “El número total de horas de terminado para
producir S sillas y M mesas no debe exceder las 370 horas
semanales”

– Cubiertas: “El número total de cubiertas usadas para


producir S sillas y M mesas no puede exceder las 500
cubiertas disponibles a la semana”

– No-negatividad y enteridad (Naturaleza de variables): “El


número de sillas y mesas producidos no puede ser
negativo y debe ser número entero”.
Mueblería: Programación Matemática (3)

▪ Objetivo:
– Maximizar la ganancia total semanal por producir S sillas y
M mesas
Mueblería: Programación Matemática (4)

▪ En resumen:
– Encontrar los valores de S y M que

max 4S + 5M – 3800 ($/sem)


sujeto a:
0.1S + 0.2M  130 (hrs semanales de ensamblado)
0.4S + 0.3M  370 (hrs semanales de terminado)
M  500 (número máximo de cubiertas)
S, M  0, enteros (naturaleza de las variables)
Mueblería: Uso de Solver

▪ Abrir Solver
– Pestaña Herramientas (Excel 2003);
Grupo Análisis de la ficha de Datos
(Excel 2010)
– Si no está, instalarlo como
complemento de Excel
▪ En Parámetros de Solver
– Celda Objetivo / Establecer Objetivo:
seleccionar la celda con la función
objetivo, en este caso las Utilidades
(una sola celda)
– Seleccionar Máximo o Mínimo en la
opción Valor de la celda objetivo
– Cambiando las celdas: seleccionar las
celdas con las variables de decisión (se
pueden seleccionar varios rangos
separándolos por comas)
Mueblería: Uso de Solver (2)

▪ En Parámetros de Solver
– Sujeto a las siguientes restricciones:
se pueden agregar, cambiar y
eliminar restricciones
– Para cada restricción o grupo de
restricciones similares:
▪ Referencia de la celda: seleccionar
la(s) celda(s) con el valor del lado
izquierdo de las(s) restricción(es)
▪ Seleccionar el signo de la
(des)igualdad (<=, =, >=). También se
puede definir variables binarias (bin)
y enteras (int)
▪ Restricción: seleccionar la celda con
el valor del lado derecho de la
restricción. Este rango debe coincidir
con el de la Referencia de la celda o
ser una sola celda o un número.
Mueblería: Uso de Solver (3)

▪ En Parámetros de Solver
– Opciones…:
▪ Adoptar modelo lineal y Asumir no
negativos
▪ Mostrar resultado de iteraciones
▪ Tiempo, Iteraciones y Tolerancia
pueden ser útiles para problemas
complejos
Mueblería: Uso de Solver (4)

▪ En Parámetros de Solver
– Resolver:
▪ Muestra si Solver ha hallado una
solución. Además, entre informes de
Respuestas, Sensibilidad y Límites.
Solver Excel

▪ Capacidad limitada:
– Máximo 200 variables de decisión y entre 100 y 200 restricciones,
dependiendo si el modelo es lineal o no lineal.
▪ Extender capacidad usando OpenSolver/SolverStudio
(http://opensolver.org/)
Representación Geométrica / Solución Gráfica

▪ Permite resolver problemas con pocas variables y pocas


restricciones.
▪ Cada dimensión (eje) usualmente representa una variable o
un grupo de variables.
▪ El método gráfico funciona bien en 2D y algunas veces en 3D.
▪ Se utiliza usualmente sólo con fines pedagógicos… raramente
se utiliza para resolver problemas “reales”.
▪ Permite explicar conceptos como: región factible, curvas de
nivel, problema no acotado, infactibilidad/factibilidad, etc.
Representación Geométrica / Solución Gráfica (2)

Pasos
– Representar geométricamente las restricciones del
problema (incluyendo las restricciones de no negatividad
si existiesen) y determinar el área/región factible del
problema.
– Representar geométricamente la función objetivo y la
dirección de mejora.
– Identificar gráficamente a solución óptima.
Mueblería: Solución Gráfica
M

▪ Representar geométricamente 1233.33


las restricciones del problema
(incluyendo las restricciones
Solución factible:
de no negatividad si existiesen)
y determinar el área/región solución que satisface
factible del problema todas las restricciones

max 4S + 5M – 3800
sujeto a:
650
0.1S + 0.2M  130
(S,M) = (300, 500)
0.4S + 0.3M  370
500
M  500
S, M  0, enteros

Región (S,M) = (1100, 300)

Factible
(S,M) = (800, 100)
0
0 925 1300 S
Mueblería: Solución Gráfica (2)
M

▪ Representar geométricamente 1233.33


la función objetivo y la
dirección de mejora. Curva de nivel: curva que contiene
▪ Identificar gráficamente a todas las soluciones que poseen un
solución óptima mismo valor de la función objetivo.
Existen infinitas.

Solución óptima: solución que satisface


max 4S + 5M – 3800 todas las restricciones y además
sujeto a: optimiza la función objetivo
650
0.1S + 0.2M  130
0.4S + 0.3M  370
500
M  500
S, M  0, enteros
(S*,M*) = (700, 300)
z*= 500
-100

-2200
dirección
de mejora

0
0 925 1300 S
Casos en Programación Matemática
M

a) Solución única: 1233.33 max 4S + 5M – 3800


En ésta la solución óptima sujeto a:
es una sola y corresponde 0.1S + 0.2M  130
a un valor finito que 0.4S + 0.3M  370
cumple las restricciones M  500
del problema y da un S, M  0, enteros
valor a la función objetivo
mejor que cualquier otra
solución factible. 650

500

(S*,M*) = (700, 300)


z*= 500

0
0 925 1300 S
Casos en Programación Matemática (2)
M

b) Múltiples óptimos 1233.33 max 4S + 8M – 3800


Este es el caso cuando sujeto a:
existe más de un punto 0.1S + 0.2M  130
factible que da como 0.4S + 0.3M  370
valor en la función M  500
objetivo el valor óptimo. S, M  0, enteros
Las soluciones a este problema se pueden escribir como
una combinación lineal convexa de los puntos extremos:
Algunos comentarios:
(S*,M*) = (300 + 700(1- ), 500 + 300(1- )),   (0,1)
▪ Encontrar todas las soluciones 650
óptimas puede no ser fácil, sin
embargo es raramente útil en la
(S*,M*) = (300, 500)
práctica 500 z*= 1400
▪ Software usualmente (S*,M*) = (400, 450)
encuentran una solución z*= 1400
óptima, no todas (S*,M*) = (700, 300)
▪ Análisis de sensibilidad puede z*= 1400

indicar la posible existencia de


múltiples óptimos

0
0 925 1300 S
Casos en Programación Matemática (3)
M

c) Problema infactible: 1233.33 max 4S + 5M – 3800


Sucede cuando no existe sujeto a:
ninguna solución que 0.1S + 0.2M  130
satisfaga todas las 0.4S + 0.3M  370
restricciones del M  500
problema. El problema es S  1200
infactible. S, M  0, enteros

Algunos comentarios: 650


▪ Sólo influyen las restricciones
▪ Se puede deber a un error de 500
input (signo de coeficiente en
restricción, dirección de una
desigualdad)
▪ Problema con el modelo (muy
poco de un recurso,
requerimiento mínimo muy alto) No existe región factible!
▪ “Abuso” de restricciones de
igualdad
0
0 925 1300 S
Casos en Programación Matemática (4)
M

d) Problema no acotado: 1233.33 max


min 4S - 5M – 3800
Este caso se da cuando la sujeto a:
función objetivo puede 0.1S + 0.2M  130
mejorar hasta el infinito (+∞ 0.4S + 0.3M  370
en el caso de maximización y M  500
–∞ en el caso de S  0, enteros
minimización) satisfaciendo
todas las restricciones.
¿Qué ocurre si el problema
Algunos comentarios: 650 fuese de minimización?
▪ En un problema no acotado
influyen la función objetivo y la
región factible 500
(S*,M*) = (0, 500)
▪ Se puede deber a un error de z*= -6300
input (signo de coeficiente en la
función objetivo, dirección de
una desigualdad)
▪ Problema con el modelo (poco Región
restringido, olvido de una
restricción) Factible
0
0 925 1300 S
Compra de Bienes

Un individuo puede comprar dos bienes x e y. El bien x


lo puede comprar a $10 por unidad mientras que el
bien y lo puede comprar a $20 por unidad. El individuo
tiene un ingreso de $100 y tiene una curva de
indiferencia entre ambos bienes representada por la
función U(x,y) = xy, donde U denota la utilidad o
bienestar del individuo. Asuma que el individuo puede
comprar cuanto quiera de cada bien (incluso
fracciones)
Compra de Bienes: Programación Matemática

max xy (utilidad)
sujeto a:
10x + 20y  100 (presupuesto en $)
x 0 (no negatividad, bien x)
y 0 (no negatividad, bien y)

Notar que la función objetivo del modelo es no lineal, por lo


tanto el modelo es un modelo de programación no lineal (PNL)
Compra de Bienes: Uso de Solver

▪ Inicializar del mismo modo que con


el ejemplo de la Mueblería.
▪ En Parámetros de Solver
– Opciones…:
▪ Asumir no negativos
▪ Estimación: Lineal o Cuadrática
▪ Hallar por: Newton o Gradiente
conjugado
Compra de Bienes: Uso de Solver (2)

▪ En Parámetros de Solver
– Resolver:
▪ Muestra si Solver ha hallado una
solución. Además, entre informes de
Respuestas, Sensibilidad y Límites.

▪ En PNL el punto de partida es muy


importante (lo veremos más
adelante):
– Inicializar con x = 0, y = 0… ¿qué
ocurre?
– Probar con otros valores…
sugerencia: x = 1, y = 1.
Compra de Bienes: Solución Gráfica
y
max xy
▪ Región Factible sujeto a:
10x + 20y  100
x 0
▪ Curvas de Nivel y 0

▪ Solución Óptima
5

(x*,y*) = (5, 2.5)


z*= 12.5

Región
Factible
0
10 x
0
Compra de Bienes: Solución Gráfica (2)
y
max – ((x – 3)2 + (y – 2)2)
▪ ¿Siempre la solución
sujeto a:
óptima estará en la 10x + 20y  100
frontera de la región x 0
factible? y 0

– En programación
lineal: Sí, siempre
(problemas acotados) 5

– En programación no
lineal: No siempre
(puede estar en el
(x*,y*) = (3, 2)
interior o en la z*= 0

frontera de la región
Región
factible).
Factible
0
10 x
0
Restricciones: Conceptos

Restricciones activas vs inactivas:


▪ Una restricción es activa si al evaluar la solución óptima el
lado izquierdo de la restricción es igual al lado derecho de la
restricción.
▪ Una restricción es inactiva si al evaluar la solución óptima, el
lado izquierdo de la restricción es distinto al lado derecho de
la restricción.

Activa Inactiva
10x + 20y  100 10x + 20y  100
Teoría de Convexidad
Convexidad

▪ Funciones convexas

▪ Funciones cóncavas

▪ Conjuntos convexos
Funciones Convexas

Función convexa: Una función es convexa si la


interpolación de cualquier par de puntos pertenecientes
a la función, nunca subestima el valor de ésta.
Funciones Convexas (2)

Función convexa (formalmente):

Sea f: S  lRn → lR una función escalar, donde S es un


conjunto convexo no vacío.

La función f se dice convexa en S si:

f(x(1) + (1 - )x(2))  f(x(1)) + (1 - )f(x(2)),  x(1), x(2)  S y  0    1


Funciones Cóncavas

Función cóncava:

El concepto es análogo al caso de las funciones convexas


con la diferencia que en este caso la interpolación nunca
sobreestima el valor de la función.

Propiedad: Sea f una función cóncava, entonces –f es una


función convexa
Funciones Convexas/Cóncavas: Ejemplos

Cóncava Convexa

No convexa
Funciones Convexas y Cóncavas

Las funciones pueden ser convexas o cóncavas por tramos.

Tramo convexo Tramo cóncavo


Conjuntos Convexos

Un conjunto se define convexo si todo par de puntos en él contenido es posible de


unir con un segmento de recta que está totalmente contenido en él.

S es un conjunto convexo si y sólo si:

x(1) + (1 - ) x(2)  S 01

donde x(1) y x(2) son dos puntos cualesquiera del conjunto S.

A la expresión x(1) + (1 - ) x(2) se le llama combinación convexa de x(1) y x(2) la que se


puede escribir:
k k
  jxj , donde   j = 1;  j ≥ 0, j = 0, 1,….,k
j=1 j=1

Si dejamos de lado la restricción de no negatividad para  entonces la expresión se


llama combinación afín.

Si además dejamos de lado la restricción de suma de lambdas = 1, entonces la


expresión se denomina una combinación lineal.
Conjuntos Convexos: Ejemplos

Conjunto Convexo Conjunto NO Convexo


Conjuntos Convexos: Ejemplos (2)

S1 = {(x1, x2): x12 + x22  1}

S2 = {(x1, x2): x12 + x22  9; (x1 - 1)2 + (x2 – 2)2  25}

Asumiendo que los siguientes conjuntos son no vacíos, donde A


es una matriz m x n y b es un vector de dimensión m :

S3 ={x: Ax = b}

S4 ={x: Ax = b, x ≥ 0}

S5 ={x: Ax  b, x ≥ 0}
Hiperplanos y Semiespacios

Un hiperplano en lRn generaliza la noción de línea recta


en lR2 y de plano en lR3.

Un hiperplano H en lRn es un set S de la forma


S = {x: pTx = k},
donde p es un vector en lRn distinto de 0.

Un hiperplano es un conjunto convexo.


Hiperplanos y Semiespacios (2)

Un hiperplano divide el espacio Euclidiano lRn en dos


regiones que se denominan semiespacios.

Se tiene entonces que un semiespacio S’ es la colección


de puntos de la forma
S’ = {x: pTx ≥ k}
y el complemento de este semiespacio es el
semiespacio S’’
S’’ = {x: pTx < k}
Politopos

Politopo Convexo: Un set S en lRn es llamado politopo convexo si es


la intersección de un número finito de semiespacios cerrados. Es
decir:

S = {x: piTx ≤ bi, i = 1,…., m}

donde pi es un vector distinto de 0 y bi es un escalar para  i = 1,…, m.

Note que existen politopos acotados y no acotados.

Un politopo en 2D y 3D se denomina Polígono y Poliedro,


respectivamente.
Poliedros

El típico ejemplo de politopo convexo es el de PL.

Sólidos Platónicos:
Convexidad y Soluciones

El desafío de la optimización es optimizar, es decir


encontrar el mejor valor de todos los posibles.

Esto se llama óptimo global.

Sin embargo, los algoritmos utilizan información local.


Convexidad y Soluciones (2)

Supongamos que queremos maximizar x2 sobre la región factible:

x2
Optimo Optimo Local
Global

Región
dirección de
mejora
Factible

x1
Convexidad y Soluciones (3)

¿Qué ha ocurrido?

▪ Hemos encontrado un “óptimo” que no es el mejor.

▪ El algoritmo, que no ve la forma de la región factible,


analiza la vecindad y no sigue buscando y entrega
esa solución.

▪ ¡No hemos optimizado!


Convexidad y Soluciones (4)

¿Por qué ha ocurrido?

▪ Porque la región factible tiene “huecos”.

▪ La región factible no es convexa.


Programación Convexa

Programación convexa: Es toda aquella programación


matemática donde:

- En maximización se tiene una función objetivo


cóncava y la región factible es convexa.

- En minimización se tiene una función objetivo


convexa y la región factible es convexa.
Programación Convexa (2)

Teorema:

Sea P un problema de programación convexa y x* un


óptimo local.
Se tiene entonces que x* es un óptimo global de P.
Programación Convexa (3)

La programación convexa garantiza que el óptimo


encontrado es global.

No debemos preocuparnos entonces por revisar


localidad o globalidad, basta con encontrar un óptimo
local.
Programación Convexa: Ejemplos

Programación Lineal:
▪ Problema de maximización: función objetivo lineal (cóncava) y región
factible convexa (intersección de semiplanos).
▪ Problema de minimización: función objetivo lineal (convexa) y región
factible convexa (intersección de semiplanos)

Programación Cuadrática (Programación No Lineal):


▪ Problema de minimización: función objetivo cuadrática (convexa) y
región factible convexa (intersección de semiplanos)

Nota: En programación lineal y cuadrática no importa


cuantos semiplanos agreguemos (restricciones lineales),
siempre obtendremos un politopo convexo!
Programación Convexa: Conclusiones

▪ En programación lineal y cuadrática (caso especial


de programación no lineal), el óptimo encontrado
es global.

▪ En programación no lineal se debe verificar si el


problema es de programación convexa para
asegurar si el óptimo encontrado es global o no
(condiciones de segundo orden). No se puede
generalizar y se debe estudiar caso a caso.
Optimización de Sistemas I

Fundamentos de la Optimización
Preparado por:
Daniel Contesse S.
Cristian Palma I.
Pablo González B.

También podría gustarte