Está en la página 1de 13

Clase Nº7: Optimización

Curso: Habilidades Analíticas para una Gestión Moderna

Profesores

Juan Carlos Ferrer

Mathias Klapp

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
1
Clase Nº7: Optimización
A diario enfrentamos la necesidad de decidir entre una serie de opciones o cursos de acción posibles. A veces
la opción es única y no hay decisión, pero generalmente hay múltiples opciones, e incluso infinitas. Para
decidir correctamente debemos declarar lo siguiente: (1) un criterio que permita definir qué opciones son
posibles y aceptables (factibles), y (2) un objetivo que permita comparar las opciones factibles y definir la
mejor.
Justamente lo anterior es “optimizar”, determinar la mejor opción entre un conjunto de opciones factibles.
La optimización es especialmente útil cuando una decisión debe ser tomada por un grupo de personas con
visiones distintas, pues requiere explicitar qué es factible y un objetivo en común. Estos criterios deben ser
aceptados entre todos los involucrados antes de decidir eficientemente.
Las siguientes citas históricas ilustran la necesidad por optimizar, definiendo un objetivo y un conjunto de
opciones factibles.

“No derroches ni el tiempo, ni el dinero, sino haz el mejor uso posible de ambos.”
Benjamin Franklin

“Evidentemente, la mayor eficiencia es aquella que pueda hacer


el uso más ventajoso del material disponible.”
Jawaharlal Nehru

La ciencia de Optimización provee de herramientas analíticas matemáticas y computacionales para resolver


los problemas de decisión enfrentados en diversas organizaciones. El primer paso es construir lo que
llamamos un modelo, y luego, utilizar estas herramientas para resolverlo y encontrar la mejor opción.

Concepto de Modelo
Tal como vimos en la clase de simulación computacional, un modelo es una estructura que exhibe
características de un sistema o realidad. Es una simplificación orientada a nuestros propósitos. Podríamos
decir que es una caricatura de la realidad, porque solo incorpora aquellas características más relevantes para
el propósito buscado. Por ejemplo, un mapa carretero no tendrá la ubicación de los árboles, pero si nuestra
inquietud es la oxigenación de la ciudad, seguramente sí la tendrá.
Hay que tener especial cuidado al incorporar muchas características de la realidad en el modelo, pues será
más complejo de analizar. Se debe incluir todas las que son relevantes, pero con bastante criterio para no
aumentar la complejidad innecesariamente.
Muchas veces los modelos son tangibles, como los mapas, las maquetas, o los aeromodelos. Pero otras veces
son abstractos y analíticos, como es el caso de optimización, donde relaciones matemáticas son las que
reflejan las relaciones modeladas de la realidad.

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
2
¿Para qué se construyen modelos? Los modelos clarifican las relaciones existentes, permitiendo comprender
mejor el sistema. Permiten un análisis metódico para sugerir líneas de acción. También permite experimentar
en ellos ya que no siempre es posible hacerlo en un sistema real (pensemos en un avión, planta
manufacturera, economía de un país, etc.). Los modelos matemáticos permiten experimentar con sistemas
complejos de gran tamaño, que consideran muchas alternativas simultáneamente (sin enumerarlas a priori),
y así se puede identificar el mejor (óptimo) curso de acción.
El importante distinguir entre modelos y datos. El modelo está definido por las relaciones entre sus
componentes, y puede ser válido para un amplio espectro de datos.
Hay varias formas de modelar un mismo problema, que difieren de la eficiencia que se busque conseguir, ya
sea en tiempo de solución, calidad del resultado, o los recursos computacionales requeridos. No hay un
método sistemático para modelar y es más bien un arte que una ciencia.
Hay quienes niegan la utilidad de los modelos diciendo que son teóricos, que hay muchos factores difíciles
de cuantificar, o que los datos necesarios carecen de precisión. Y hay quienes creen a ciegas en los resultados
del modelo (muy peligroso). Lo que es cierto, es que un mal modelo efectivamente entregará malas
decisiones. Por eso es vital construir un modelo que refleje la realidad, y luego validar y mantenerlo vigente
en el tiempo cada vez que la realidad cambie. Así, un modelo es un apoyo que complementa el juicio y la
experiencia del tomador de decisiones.

La Figura define la estructura general de un modelo de optimización, explicitando el objetivo a maximizar (o


alternativamente a minimizar) que depende de variables de decisión (𝑥, 𝑦) que modelan las opciones y que
deben ser seleccionas por el tomador de decisiones. Estas decisiones están sujetas a (s.a.) a restricciones
matemáticas que definen cuáles alternativas son factibles para el modelador.
Para formular un modelo de optimización hay que seguir los siguiente tres pasos generales:
I. Identificar las variables de decisión, es decir, aquellas que al tomar ciertos valores establecen una
decisión.
II. Construir la función objetivo en función de las variables de decisión. Esta función es la métrica para
comparar las diferentes alternativas.
III. Construir las restricciones que limitan que las variables de decisión tomen valores no aceptables, es
decir, infactibles. Estas serán las que definen limitaciones para los valores que pueden tomar las
variables de decisión.

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
3
Formulación de Problemas Prácticos
Comencemos con un problema de Planificación de la Producción que enfrentan muchas empresas
manufactureras. Supongamos que una empresa dispone de un conjunto de 𝑛 posibles productos a fabricar.
El problema consiste en determinar cuánto producir de cada producto de modo que se maximice la utilidad
total y no se sobrepase la disponibilidad de cada insumo de producción. Consideremos la siguiente
información para poder formular el modelo de optimización:
• 𝑛: número de productos diferentes a producir
• 𝑚: número de insumos de producción o materias primas requeridos en la producción
• 𝑎𝑖𝑗 : cantidad del insumo 𝑖 = {1, … , 𝑚} requerido para producir una unidad del producto 𝑗 =
{1, … , 𝑛}
• 𝑏𝑖 : cantidad disponible del insumo 𝑖 = {1, … , 𝑚}
• 𝑐𝑗 : utilidad generada al producir una unidad del producto 𝑗 = {1, … , 𝑛}.

• 𝑥𝑗 : cantidad de unidades a producir del producto 𝑗 = {1, … , 𝑛}.

Los cinco primeros parámetros son datos del problema. Sin embargo, 𝑥𝑗 define cada variable de decisión del
problema, y el valor que tomen definirá un plan de producción.
Con lo anterior definido, ahora formulamos la función objetivo y las restricciones de problema:
𝑛

max ∑ 𝑐𝑗 𝑥𝑗 sujeto a:
𝑗=1
𝑛

∑ 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 , para todo 𝑖 ∈ {1, … , 𝑚},


𝑗=1
𝑥𝑗 ≥ 0, para todo 𝑗 ∈ {1, … , 𝑛}.

El término ∑𝑛𝑗 𝑐𝑗 𝑥𝑗 es el objetivo a maximizar en el modelo y consiste en la suma de las utilidades sobre todos
los productos a fabricar. La restricción ∑𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 señala que el consumo del insumo 𝑖 sobre todo lo
producido debe ser menor o igual al insumo disponible para cada tipo. Además de las m restricciones de
insumos, hay n restricciones de “no-negatividad” que impiden que cada variable de decisión 𝑥𝑗 tome un valor
negativo, ya que no tiene sentido.
Otro problema muy común es el Problema de Transporte, en el cual una compañía debe escoger como
satisfacer a mínimo costo la demanda de productos en un periodo desde 𝑚 centros de distribución (CDs).
Estos productos son despachados desde 𝑛 plantas que poseen cierta capacidad de despacho determinada
por su producción en el periodo. Para ilustrar mejor el problema, en la siguiente Figura vemos las plantas
(círculos) y CDs (triángulos) que una empresa tiene localizados en EEUU. A simple vista, no es trivial decidir
desde cuál(es) planta(s) cubrir a cada CD.

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
4
Consideremos la siguiente información para poder formular el modelo de optimización:
• n: Número de plantas geográficamente localizadas.
• m: Número de CDs geográficamente localizados.
• 𝑑𝑗 : Cantidad de productos demandados en el CD 𝑗 = {1, … , 𝑚}

• 𝑝𝑖 : Capacidad de despacho en cantidad de productos desde la planta 𝑖 = {1, … , 𝑛}


• 𝑐𝑖𝑗 : Costo por unidad transportada desde la planta 𝑖 = {1, … , 𝑛} hacia el CD 𝑗 = {1, … , 𝑚}

La variable de decisión que utilizaremos será 𝑥𝑖𝑗 que representa la cantidad de unidades a despachar desde
la planta 𝑖 hacia el CD j. De esta forma, el problema de transporte será:
𝑛 𝑚

min ∑ ∑ 𝑐𝑖𝑗 𝑥𝑖𝑗 sujeto a:


𝑖=1 𝑗=1
𝑛

𝑖) ∑ 𝑥𝑖𝑗 ≥ 𝑑𝑗 , para todo 𝑗 ∈ {1, … , 𝑚},


𝑖=1
𝑚

𝑖𝑖) ∑ 𝑥𝑖𝑗 ≤ 𝑝𝑖 , para todo 𝑖 ∈ {1, … , 𝑛},


𝑗=1

𝑖𝑖𝑖) 𝑥𝑖𝑗 ≥ 0, para todo 𝑖 ∈ {1, … , 𝑛} y 𝑗 ∈ {1, … , 𝑚}.

En este caso el problema de optimización es de minimización y el objetivo a minimizar es el costo total


sumado sobre todos los posibles orígenes y destinos. Las restricciones que definen al conjunto de decisiones
factibles son las siguientes:

i) La suma de todos los productos despachados hacia el CD 𝑗 sobre todas las plantas debe ser mayor
o igual que la demanda 𝑑𝑗 en ese centro de distribución.
ii) La suma de todos los productos despachados desde la planta 𝑖 a todos los CDs debe ser menor o
igual a la capacidad de despacho 𝑝𝑖 de la planta.
iii) Finalmente, toda decisión debe ser no-negativa.

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
5
Veamos ahora un tercer problema con todos sus datos para poder resolverlo. Se trata de GA, una empresa
automotriz que arma autos a partir de las componentes que recibe de muchas otras plantas del área. GA
arma dos modelos de autos, uno híbrido y otro SUV (todo terreno) y desea diseñar un plan diario de
producción que maximice sus ganancias. Esta empresa realiza tres actividades:

• Ensamble exterior
• Pintura
• Ensamble interior
Para cada actividad, dispone de una cantidad limitada de recursos. Además, cada tipo de auto requiere
diferentes horas de recurso en cada actividad. Supongamos que existe una demanda máxima por estos autos,
por lo que en caso de fabricar unidades adicionales éstas no se venderán.
En la siguiente tabla se resumen los datos particulares del problema:

Disponible
Híbrido SUV
(horas/día)
Exterior (horas/auto) 10 10 30,000 horas
Pintura (horas/auto) 4 6 24,000 horas
Interior (horas/auto) 14 6 37,000 horas
Ganancias (US$/auto) $3,200 $3,000
Demanda (autos/día) 2,500 1,500

Necesitamos dos variables de decisión para diseñar un plan de producción diario, una para cada tipo de auto:

• H: cantidad de autos híbridos armados por día


• S: cantidad de autos SUV armados por día
De esta forma, un modelo de optimización que permite diseñar el plan óptimo de producción es:

Resolviendo el problema
El problema de producción de GA posee solo dos variables de decisión. Resolvámoslo gráficamente para
desarrollar cierta intuición que generalizaremos a problemas con más de dos variables de decisión. Además,
el problema es lineal pues la función objetivo y cada restricción son funciones lineales en las variables de
decisión.

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
6
Grafiquemos primero las restricciones del problema para ilustrar la región de decisiones factibles en la cual
debe estar el plan óptimo de producción que buscamos.

En la Figura se han graficado las siete desigualdades lineales que definen las restricciones del modelo. Cada
una describe con una pequeña flecha para qué lado de la recta se cumple con ella. La intersección de todas
esas “medias regiones” determina la región factible (o conjunto de todas las soluciones factibles) del
problema. Cada punto 2D en esta región es un plan de producción aceptable para GA. Ahora, debemos
encontrar cuál de ellos maximiza la ganancia de GA.
Para desarrollar intuición, imaginemos esta región factible en un plano horizontal, es decir, como si fuera el
piso de una pieza donde los muros son las restricciones. Encima de esta superficie horizontal, es decir, en la
altura (la tercera dimensión) podemos imaginar que existe un valor de objetivo para cada decisión factible
determinado por la igualdad 𝑣 = 3200𝐻 + 3000𝑆. Este plano 3D sube y sube en alguna dirección, y mientras
más arriba estemos, mayor será la ganancia obtenida. Como hay restricciones, solo podremos subir por dicho
plano hasta que choquemos con ellas.
Veamos cómo podemos graficar ese plano 3D sobre nuestro gráfico 2D de la región factible. Para ello
utilizaremos el concepto de “curva de nivel”, tal cual cómo lo conocemos en los planos 2D de cotas de cerros,
en donde se dibuja una curva de nivel continua para cada valor diferente de altura sobre el nivel del mar y
cada curva identifica a todos los puntos del cerro que están a la misma altura. Aquí haremos lo mismo, en
este caso cada curva de nivel representará a todos los planes de producción que poseen la misma ganancia.
Como nuestro problema es lineal, las curvas de nivel serán rectas, como las vemos en la siguiente Figura
(líneas rojas achuradas).

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
7
Como observamos, las curvas de nivel suben de valor hacia arriba y hacia la derecha hasta “chocar” con un
vértice de la región factible, en este caso determinado por dos restricciones. Esa última curva de nivel que
vemos en rojo en la Figura (la con mayor ganancia que todavía posee un punto en la región factible) define
el plan óptimo de producción para GA, que será de 2.375 autos híbridos y de 625 autos SUV con una ganancia
de $9.475.000.
A partir de este caso, resumamos algunos conceptos importantes en optimización:
• Al conjunto de todos los planes de producción se le denomina “conjunto factible”, “región factible” o
“dominio”, y siempre es un polígono cuando se trata de un problema lineal.
• Una restricción se dice “activa” si al evaluarla en una solución óptima se satisface la igualdad, es decir,
usa todo el recurso asociado.
• Una restricción se dice “inactiva” cuando al evaluarla en una solución óptima queda en desigualdad
estricta, es decir, no usa todo el recurso asociado.
• Geométricamente hablando, una restricción activa es aquella que pasa por una solución óptima, como
es el caso de las restricciones exterior e interior en la Figura.
• En regiones factibles que poseen vértices, siempre existe una solución óptima en uno de ellos.
• Un vértice óptimo queda determinado al resolver un sistema de ecuaciones lineales en igualdad
determinado por las restricciones activas en ese vértice. En nuestro caso basta con encontrar el punto
que intercepte las restricciones exterior e interior en igualdad.
• Podría haber más de una solución óptima para un problema lineal de optimización. Aquello ocurre
cuando las curvas de nivel del objetivo son paralelas a una pared de la región factible y la curva de mayor
valor choca con ella. En ese caso, todos los planes de producción factibles sobre la restricción que
determina esa pared son óptimos.
• Un modelo de optimización es “infactible” si no existe un solo plan que satisfaga todas las restricciones.

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
8
Un método muy eficiente
Es bien notable que siempre una solución óptima en un problema lineal se encuentre en un vértice de la
región factible. En el caso de GA hay solo seis vértices por lo que bastaría evaluar los planes definidos en cada
vértice y ver cuál genera la mayor ganancia. Imaginemos ahora que GA posee 20 modelos de autos diferentes
(implica tener 20 variables de decisión) y 40 recursos diferentes (implica 40 restricciones). En ese caso, la
región factible tendría más de 30 millones de posibles vértices factibles y se hace muy costoso evaluar cada
uno.
En el año 1947, George B. Dantzig considerado uno de los padres fundadores de la programación lineal,
inventó el Método Simplex vigente hasta el día de hoy.
Este método explota el hecho de que una solución óptima está en un vértice y la encuentra de una forma
sorprendentemente rápida. Básicamente, evalúa un vértice y lo compara con sus vértices vecinos. Si existe
un vecino de mejor valor objetivo, entonces se mueve a este nuevo vértice y repite el procedimiento. Si no,
entonces ese hecho es suficiente para garantizar que el vértice actual es una solución óptima.

Uso de Excel para resolver problemas de optimización


Para resolver problemas de tamaño real existen los llamados “solver”, que son software que contienen
algoritmos que buscan las soluciones optimas de problemas de optimización.
Microsoft Excel tiene incorporado un solver para abordar problemas hasta un cierto tamaño. En caso de
querer resolver problemas de gran tamaño hay que recurrir a solvers más sofisticados tales como CPLEX o
GUROBI.
Pero utilicemos Excel, pues lo tenemos muy a mano. Primero, debemos ingresar todos los datos del modelo,
definir las variables de decisión, establecer la función objetivo y todas las restricciones. Observemos la
siguiente imagen:

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
9
En las filas 2 a 7 hemos incluido todos los datos disponibles del problema. Luego en la fila 10 están las dos
variables de decisión en C10 y D10 que representan el plan de producción para GA (dejar el valor de las celdas
en cero por el momento). En la celda C12 tenemos la función objetivo que contiene la fórmula que se observa
en la parte superior de la figura donde se multiplican las ganancias unitarias de las celdas C6 y D6 con las
respectivas variables de decisión. Finalmente, en las filas 16 a 20 se explicitan todas las restricciones del
problema, excepto las de no-negatividad que se pueden incluir en la siguiente etapa donde utilizaremos el
solver de Excel. El lado izquierdo contiene la fórmula que las define y el lado derecho especifica el recurso
disponible.
Excel tiene una sección de DATOS donde hay algunos “complementos” o “add-ins” entre los cuales se
encuentra el solver. Al ingresar nos encontraremos con la siguiente pantalla que permite ingresar el modelo
conectado con los datos en la planilla. Veamos la siguiente Figura:

Como podemos ver en la figura, lo primero es especificar el objetivo que, en nuestro caso, es la celda C12 y
luego indicar si buscamos maximizarlo o minimizarlo. Después, hay que declarar las celdas que representan
las variables de decisión (C10 y D10 para el problema de GA). En el recuadro grande se incluyen todas las
restricciones del problema, para lo cual hay varios botones a la derecha que permiten ingresarlas,
modificarlas y borrarlas. Justo debajo del recuadro hay un “check” para indicar si se quiere incluir las
restricciones de no-negatividad sobre todas las variables de decisión, es decir, si está marcado el check, todas
las variables de decisión solo podrán tomar valores mayores o iguales a cero. Luego, se puede definir el tipo
de algoritmo (método) más apropiado para el tipo de problema que estamos abordando. En nuestro caso el

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
10
problema es lineal por lo que seleccionaremos “Simplex LP”. Finalmente se presiona el botón “Solve” para
que el solver resuelva el problema y entregue una solución óptima en las celdas de las variables de decisión
como vemos a continuación:

Así, el solver indica que el plan que maximiza las ganancias debe producir 2.375 autos híbridos y 625 autos
SUV. Este alcanza una ganancia de $9.475.000.

Concepto Económico
Después de resolver el modelo de optimización lineal, contamos con información adicional que permite
calcular el beneficio o costo de contar con unidades adicionales de los recursos escasos del problema (los
asociados a las restricciones activas). Esta información se conoce como “precio sombra”. Algunos
comentarios al respecto:
• Existe un precio sombra para cada restricción de un modelo de optimización lineal y en la misma
unidad del objetivo.
• En términos microeconómicos, el precio sombra de una restricción representa el cambio marginal
de valor de la función objetivo al aumentar la cantidad disponible de un recurso en una unidad.
• En términos de cálculo, el precio sombra de una restricción es la derivada parcial del valor objetivo
óptimo con respecto al recurso de una restricción.

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
11
• El precio sombra de una restricción inactiva es cero, pues sobran recursos y tener aún más no aporta
en nada para mejorar el valor de la función objetivo.
• El precio sombra aparece en el reporte de sensibilidad del solver de Excel, y también en el rango de
cambio del recurso en el cual es válido, como podemos apreciar en la siguiente Figura.

El precio sombra de la restricción de “ensamble exterior” es igual a 285, lo que significa que, si aumentamos
el total de horas disponibles de 30.000 a 30.001 hrs, el valor de la función objetivo aumentará en $285, es
decir, a una ganancia total de $9.475.285.
Por otra parte, vemos que el precio sombra de la restricción de pintura es cero, lo que significa que tener
más horas de pintura no ayuda a mejorar las ganancias de GA. De hecho, podemos ver que para el plan
óptimo de producción solo se están utilizando 13.250 horas de pintura de las 24.000 horas que hay
disponibles, es decir, ya nos sobran horas de este recurso.

Reflexión Final
Modelar matemáticamente un problema permite explicitar todos los aspectos relevantes y cómo interactúan
entre ellos. Es importante que el modelo sea simple, que refleje la realidad, y que sea actual. De lo contario
se corre el riesgo de que nos entregue malos “consejos” y que termine desprestigiando a los modelos
matemáticos.
Como pudimos ver, la optimización lineal es una herramienta sumamente poderosa, tanto porque estamos
rodeados de problemas lineales por todos lados, como por su gran facilidad para resolverlos. La optimización

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
12
lineal está considerada sin duda alguna entre los aportes más importantes del siglo XX. Además, el método
simplex es extremadamente eficiente para resolver nuestros problemas lineales (siempre encuentra la
solución óptima) y su tiempo de cómputo es veloz.
Existen otros tipos de problemas de optimización tales como los “no lineales” (función objetivo o
restricciones no lineales), o los “enteros” que exigen que ciertas variables de decisión solo puedan tomar
valores enteros. Para ellos hay métodos específicos de solución, aunque más complejos y de mayor dificultad
computacional.
El avance tecnológico (hardware) y el diseño de mejores métodos de solución (software) ha permitido
resolver problemas de optimización cada vez más grandes. Un estudio de problemas de optimización lineal
entera señala que un problema que en 1988 tomaba 124 años de cómputo para resolverse en un PC de la
época ahora toma solo un segundo. Eso significa que era mejor esperar hasta el año 2017 para resolverlo.
Esto ha implicado que las organizaciones modernas se apoyen cada vez más en decisiones optimizadas.

Pontificia Universidad Católica de Chile © Juan Carlos Ferrer & Mathias Klapp
13

También podría gustarte