Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autor
Juan G. Villegas
Profesor Titular
Facultad de Ingeniería
“En aquel imperio, el arte de la cartografía logró tal perfección que el mapa de una sola provincia ocupaba toda una ciudad, y el mapa del imperio, toda una
provincia. Con el tiempo, estos mapas desmesurados no satisficieron y los colegios de cartógrafos levantaron un mapa del imperio, que tenía el tamaño del imperio
y coincidía puntualmente con él. Menos adictas al estudio de la cartografía, las generaciones siguientes entendieron que ese dilatado mapa era inútil y no sin
impiedad lo entregaron a las inclemencias del sol y de los inviernos. En los desiertos del oeste perduran despedazadas ruinas del mapa, habitadas por animales y
por mendigos; en todo el país no hay otra reliquia de las disciplinas geográficas”.
Suárez Miranda: Viajes de varones prudentes Libro Cuarto, cap. XLV, Lérida, 1658
Introducción
En esta lección se presentan los arquetipos más comunes utilizados en la formulación de problemas de optimización (lineales). En particular, buscaremos
oportunidades para hacer analogías entre el problema o decisión en cuestión y alguna estructura lógica previamente bien desarrollada (un arquetipo como los que
se presentan en esta lección) y, de esta manera, factorizar el sistema en estructuras más simples. Así mismo, estableceremos previamente una declaración clara
del propósito con el cual se construye el modelo; en nuestro caso este papel lo juega la verbalización (Morris, 1967; Pidd, 1999).
Así mismo, en el proceso de construcción de un modelo de optimización conviene seguir estos consejos (basados en Geofffrion, 1997):
Siguiendo las recomendaciones de Morris (1967) de factorizar el sistema en problemas más pequeños y usar analogías, la construcción de un modelo de
optimización pasará (en lo posible) por la identificación de estructuras estándar que permiten representar las distintas características de los sistemas. A estas
estructuras estándar las llamaremos arquetipos de modelación1. Inicialmente tendremos los arquetipos básicos, para luego abordar arquetipos avanzados que
involucran variables binarias e implicaciones lógicas, entre otras. La discusión de estos arquetipos está basada en Guéret et al. (1999), referencia que se recomienda
como material complementario.
En la exposición de los arquetipos, se asumirá la notación acordada en la lección anterior: variables con letras del final del alfabeto (𝑤, 𝑥 o 𝑦); normalmente no
usamos la 𝑧, pues está reservada en la notación clásica para la función objetivo. Para las constantes usaremos letras en minúsculas que estén asociadas (en lo
posible) con su significado.
1
Arquetipo: “Representación que se considera modelo de cualquier manifestación de la realidad” (Diccionario de la lengua española, 2020).
Cotas simples. El arquetipo más simple en la construcción de modelos de optimización es aquel que solo involucra a una variable de decisión, la cual debe cumplir
una condición específica con respecto a una constante. La forma de este primer arquetipo ─con uno de los tres símbolos (≤, =, ≥) en medio, dependiendo de la
condición─ es:
𝑥+ ≤ = ≥ 𝑏
Aquí tenemos algunos ejemplos de su uso:
• El departamento de mercadeo estableció que no pueden venderse más de 100 unidades del producto m en el periodo 4 (cota superior):
𝑥-. ≤ 100
• Nos comprometimos a enviar al menos 20 toneladas del producto A para Bogotá (cota inferior):
𝑤1,234 ≥ 20
𝑦6,27889 = 30
Nótese además que en estos ejemplos hemos usado una coma (,) para separar los índices de las variables en los casos en los cuales puede haber confusión
(𝑤1,234 o 𝑦6,27889 ). Mientras que en el primer caso 𝑥-. no se usó porque es fácil saber que el primer índice (m) hace referencia al producto, mientras que el
segundo índice hace referencia al periodo (4).
Variables libres. Comúnmente, las variables de los modelos de optimización se asumen no negativas (es decir, mayores o iguales a cero). Sin embargo, en
determinadas situaciones es de interés poder modelar con variables que también toman valores negativos. En esos casos, es posible que nos interese tratar de
manera diferente la variable cuando es positiva o cuando es negativa. Por ejemplo, en el control de inventario, cuando la demanda excede a la cantidad producida
se habla de faltantes, mientras que cuando la demanda es inferior a la cantidad producida se habla de inventario, en los costos de un sistema de inventarios estas
dos cantidades se tratan de manera diferente. Por esta razón en ciertos casos es necesario modelar una variable libre que puede tomar valores tanto positivos
como negativos:
𝑠𝑢𝑗𝑒𝑡𝑜 𝑎:
𝑥> + 𝑥@ + 𝑥A ≤ 6
𝑥 + 2𝑥@ + 4𝑥A ≥ 12
𝑥> − 𝑥@ + 𝑥A ≥ 2
𝑥> , 𝑥@ , 𝑥A 𝑙𝑖𝑏𝑟𝑒𝑠
Veamos la transformación necesaria para que la parte positiva y negativa de cada variable sea tomada de manera independiente como una variable no negativa.
Esta transformación hace uso de la definición del valor absoluto2 y expresa cada variable como la suma de dos variables:
𝑥+ = 𝑥+O − 𝑥+P
De esta manera, se sustituye cada variable por la parte positiva (𝑥+O ) menos la parte negativa (𝑥+P ). Esta transformación resulta en el doble de variables, todas ellas
o negativas (es decir: ≥ 0).
2
Nótese que en la definición del valor absoluto de una variable cuando es negativa se usa la expresión -x para obtener una cantidad positiva:
|𝑥| = V 𝑥 𝑠𝑖 𝑥 ≥ 0
−𝑥 𝑠𝑖 𝑥 < 0
Restricciones de demanda
En este arquetipo un requerimiento o demanda debe ser suplida a partir de distintas fuentes u orígenes. Normalmente se pide que la cantidad total proveniente de
las fuentes sea mayor o igual que la cantidad demandada, pero en algunos casos puede requerirse que la cantidad total sea estrictamente igual a la cantidad
demandada.
𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑝𝑟𝑜𝑣𝑒𝑛𝑖𝑒𝑛𝑡𝑒
X Y _ ≥ 𝑑𝑒𝑚𝑎𝑛𝑑𝑎
𝑑𝑒 𝑐𝑎𝑑𝑎 𝑓𝑢𝑒𝑛𝑡𝑒
abcdecf
Si sustituimos la cantidad proveniente de las fuentes por la variable de decisión 𝑥+ , 𝑖 ∈ 𝐹𝑢𝑒𝑛𝑡𝑒𝑠, y la demanda por el parámetro 𝑑, tendremos la siguiente
estructura:
X 𝑥+ ≥ 𝑑
+∈ibcdecf
Veamos un ejemplo. Para la producción de computadores del próximo mes se requieren 5 000 discos duros. Estos se compran a 3 proveedores diferentes (𝑃 =
{𝑝𝑟𝑜𝑣1, 𝑝𝑟𝑜𝑣2, 𝑝𝑟𝑜𝑣3}). Si 𝑥+ es la variable de decisión que representa la cantidad de discos duros comprados al proveedor 𝑖 ∈ 𝑃, escriba la restricción que
describe este requerimiento.
Restricciones de recurso
Si se utiliza la siguiente notación: 𝑥+ : nivel de la actividad, 𝑖 ∈ 𝐴𝑐𝑡𝑖𝑣𝑖𝑑𝑎𝑑𝑒𝑠 (variable de decisión); 𝑎+ : consumo unitario del recurso por cada unidad de actividad,
𝑖 ∈ 𝐴𝑐𝑡𝑖𝑣𝑖𝑑𝑎𝑑𝑒𝑠; 𝑏: disponibilidad del recurso, entonces este arquetipo se expresa matemáticamente de la siguiente forma:
X 𝑎+ 𝑥+ ≤ 𝑏
+∈1ue+o+v9vcf
Veamos un ejemplo. La compañía de ensamblaje de computadores tiene dos líneas de productos: portátiles y computadores de escritorio (𝑃𝐶 =
{ 𝑝𝑜𝑟𝑡á𝑡𝑖𝑙, 𝑒𝑠𝑐𝑟𝑖𝑡𝑜𝑟𝑖𝑜}). Los PC portátiles tienen 2 puertos USB, mientras que los de escritorio tienen 5. Si se tienen 10 000 puertos disponibles, exprese la
restricción que limita la disponibilidad de este material:
Estructuras de asignación
Cuando se combinan las estructuras de demanda y recurso aparece la estructura de asignación. Veamos un ejemplo:
El jefe de un proyecto está asignando las actividades que deben realizarse la próxima semana. Tiene 3 empleados (𝐸 = {𝑒𝑚𝑝𝐴, 𝑒𝑚𝑝𝐵 𝑦 𝑒𝑚𝑝𝐶}) y 5 actividades
(𝐴 = {1, … ,5}).
En principio todos los empleados pueden trabajar en todas las actividades y una actividad puede ser subdividida entre ellos. Escriba las restricciones que describen
esta situación: cada empleado trabaja 48 horas a la semana y los requerimientos de trabajo de las 5 actividades son, respectivamente:
Actividad 1 2 3 4 5
Horas requeridas 25 12 70 14 12
Para ello definamos primero los elementos del modelo y la notación necesaria (¡primer paso en nuestro proceso de modelación!):
Conjuntos:
Variables de decisión:
Ahora escribimos la verbalización, que en este caso no tendrá aun función objetivo; en ella además especificamos el arquetipo al cual corresponde cada
componente de las restricciones:
Decidir cuántas horas asignar a cada empleado a cada actividad (dominio de las variables) cumpliendo con los requerimientos de trabajo de las actividades
(arquetipo de demanda) sin sobrepasar las horas disponibles de cada empleado a la semana (arquetipo de recurso).
Arquetipo de recurso
Esta formulación acompañada con los datos de la tabla es mucho más compacta; además, es independiente de los mismos, así que, si los requerimientos cambiaran,
la formulación abstracta no lo haría.
Si, además, en esta estructura la demanda y la disponibilidad de los recursos son unitarias y un solo recurso debe ser asignado a cada actividad, aparece la
estructura conocida como problema de asignación en investigación de operaciones. En los ejercicios del final de la lección veremos un ejemplo de este problema
clásico de la optimización.
Conservación de flujo
Las estructuras de conservación de flujo aparecen en una amplia variedad de sistemas, por lo general redes logísticas, de procesos, hidráulicas, eléctricas,
electrónicas y de telecomunicaciones. De manera breve se puede resumir en la afirmación: todo lo que entra a un nodo vuelve a salir de este
((𝑡𝑜𝑑𝑜 𝑙𝑜 𝑞𝑢𝑒 𝑒𝑛𝑡𝑟𝑎) = (𝑡𝑜𝑑𝑜 𝑙𝑜 𝑞𝑢𝑒 𝑠𝑎𝑙𝑒)). O de manera más elaborada, en un nodo de una red (que no sea origen ni destino) la cantidad recibida desde
los orígenes/fuentes a los que está conectado es igual a la cantidad enviada a los destinos a los que está conectado. La Figura 1 ejemplifica esta situación.
Definiendo la siguiente notación, 𝑥+ = 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑟𝑒𝑐𝑖𝑏𝑖𝑑𝑎 𝑑𝑒𝑙 𝑜𝑟𝑖𝑔𝑒𝑛 𝑖 ∈ 𝑂𝑟𝑖𝑔𝑒𝑛𝑒𝑠, 𝑦} = 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑒𝑛𝑣𝑖𝑎𝑑𝑎 𝑎𝑙 𝑑𝑒𝑠𝑡𝑖𝑛𝑜 𝑗 ∈ 𝐷𝑒𝑠𝑡𝑖𝑛𝑜𝑠; la estructura
de conservación de flujo se expresa matemáticamente de la siguiente forma:
X 𝑥+ = X 𝑦}
+∈ˆn+4cdcf }∈‰cfe+d3f
Veamos un ejemplo. En la distribución de una compañía se usa un centro de consolidación que reúne los flujos de sus tres proveedores (𝑜𝑟𝑖𝑔𝑒𝑛𝑒𝑠: 𝑃 =
{𝑝𝑟𝑜𝑣1, 𝑝𝑟𝑜𝑣2 , 𝑝𝑟𝑜𝑣3}) y los redistribuye hacia sus dos tiendas (𝐴 = {𝑎𝑙𝑚1 𝑦 𝑎𝑙𝑚2}). Como el centro de consolidación no tiene espacio para almacenar, es
necesario que todo lo que entre al centro salga del mismo.
X 𝑥+ = X 𝑦}
+∈r }∈1
Ahora bien, consideremos una extensión de este arquetipo para ver cómo cambia si en el centro de consolidación se consume o acumula una cantidad (constante
en este caso) 𝑏 de lo que entra. En este caso, la cantidad consumida/almacenada se considera como si fuese un destino más, tal como se ilustra en la Figura 2,
dando resultado a la siguiente expresión:
X 𝑥+ = X 𝑦} + 𝑏
+∈ˆn+4cdcf }∈‰cfe+d3f
En ciertos sistemas muchas decisiones se repiten en diferentes periodos de tiempo, por ejemplo, en la planeación de producción, control de inventarios, flujos de
caja de proyectos de inversión y en las decisiones de generación de energía hidráulica, entre otras. En estos contextos, las condiciones finales del periodo actual
dependen de las condiciones finales del periodo anterior y el efecto de las decisiones del periodo actual. De esta manera, habrá una variable que dará cuenta del
estado del sistema en cada periodo. Esta estructura puede expresarse como:
(𝑐𝑜𝑛𝑑𝑖𝑐𝑖𝑜𝑛𝑒𝑠 𝑓𝑖𝑛𝑎𝑙𝑒𝑠 𝑝𝑒𝑟𝑖𝑜𝑑𝑜 𝑡 − 1 ) + (𝑖𝑚𝑝𝑎𝑐𝑡𝑜 𝑑𝑒 𝑙𝑎𝑠 𝑑𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑒𝑠 𝑒𝑛 𝑡 ) = (𝑐𝑜𝑛𝑑𝑖𝑐𝑖𝑜𝑛𝑒𝑠 𝑓𝑖𝑛𝑎𝑙𝑒𝑠 𝑝𝑒𝑟𝑖𝑜𝑑𝑜 𝑡 )
Sin embargo, en este caso resulta un tanto más difícil escribir una expresión general del arquetipo, pues cada término depende del nombre dado a las variables y
parámetros que dan cuenta del estado del sistema y de las decisiones tomadas. Veamos mejor un ejemplo.
Una compañía está planeando la producción para los siguientes cuatro meses. El inventario inicial es de 10 unidades y los requerimientos de demanda mensual
son: 20, 30, 15 y 22. Establezca las restricciones que describen el comportamiento del inventario de cada mes. Si describimos el arquetipo en palabras tendremos
que:
El inventario al final de un mes (condiciones finales en el periodo t) es igual al inventario al final del mes anterior (condiciones finales en el periodo t-1), más lo que
se produzca en el mes, menos la demanda de dicho mes (impacto de las decisiones en el periodo t).
Aquí es importante modelar los meses con números enteros consecutivos que permitan la escritura de la expresión: t-1 al hacer referencia al periodo anterior.
La formulación concreta del control de inventario (que sigue una estructura multiperiodo) sería la siguiente:
Uno podría verse tentado a sustituir hacia adelante la expresión de 𝐼> en la ecuación de 𝐼@ , la de 𝐼@ en 𝐼A y así sucesivamente, pero esto, en vez de hacer más
entendible el modelo, lo haría más complicado. Así que la expresión de estructura multiperiodo que tenemos aquí es una buena base para generalizar en la
formulación abstracta. Adicionalmente, hay que notar que la expresión del inventario en el periodo 1 es ligeramente diferente, pues tiene el inventario del periodo
anterior como una constante (el inventarió inicial 𝑖𝑛𝑣𝑖). De esta manera, usando la notación introducida tenemos la estructura multiperiodo para el control de
inventarios:
Preparación de mezclas
El arquetipo de preparación de mezcla aparece en situaciones en las cuales se tienen ingredientes de distinta composición que serán mezclados para obtener uno
o varios productos; y sobre los componentes de dichos productos existen requerimientos de calidad que imponen límites mínimos, máximos o exactos en la
composición de la mezcla. Por ejemplo, en la industria de alimentos y bebidas, de petróleos y, en general, en la industria química aparecen estructuras de mezcla
como esta. Así mismo, en otros contextos en los que la mezcla ya no es química, también pueden aparecer: destinación de presupuesto, decisiones de selección
de medios en mercadeo, etc.
Límites absolutos. Este arquetipo puede describirse como la cantidad total de una componente aportada por la mezcla de un conjunto de ingredientes que debe
cumplir una condición (mínima, máxima o exacta).
𝑝𝑟𝑜𝑝𝑜𝑟𝑐𝑖𝑜𝑛 𝑑𝑒𝑙 ≥
𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑢𝑡𝑖𝑙𝑖𝑧𝑎𝑑𝑎 𝑙𝑖𝑚𝑖𝑡𝑒
X s 𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡𝑒 t Y _=Y _
𝑑𝑒𝑙 𝑖𝑛𝑔𝑟𝑒𝑑𝑖𝑒𝑛𝑡𝑒 𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡𝑒
•∈•d4ncv+cdecf 𝑒𝑛 𝑒𝑙 𝑖𝑛𝑔𝑟𝑒𝑑𝑖𝑒𝑛𝑡𝑒 ≤
¿Cuáles son las restricciones que permiten modelar los requerimientos de la torta de María?
Conjunto:
Variables:
Verbalicemos: Decidir cuánto usar de cada ingrediente, cumpliendo el peso mínimo de la torta y el contenido máximo de grasa.
0.0 ∙ 𝑤•9n+d9 + 0.8 ∙ 𝑤–9n49n+d9 + 0.1 ∙ 𝑤•bco3f , +0.0 ∙ 𝑤1—úu9n + 0.3 ∙ 𝑤6˜3u389ec ≤ 200 (contenido máximo de grasa).
Esta segunda formulación ofrece una ventaja adicional: si hubiese más componentes con límites que cumplir, solo bastaría con crear un nuevo parámetro para su
contenido en los ingredientes, y la estructura de la restricción sería idéntica.
Límites en proporción. Una condición alternativa sobre los ingredientes de una mezcla es que uno de ellos tenga que cumplir con un límite en proporción de la
mezcla total. Por ejemplo, si para que la torta tenga una mejor consistencia es necesario que la harina sea por lo menos 1/3 de la mezcla, es necesario agregar
una restricción adicional:
𝑤•9n+d9 1
≥
𝑤•9n+d9 + 𝑤–9n49n+d9 + 𝑤•bco3f + 𝑤1—úu9n + 𝑤6˜3u389ec 3
Esta restricción es no lineal, sin embargo, como el denominador es mayor que cero (por la restricción de peso mínimo de la torta) es posible linealizarla así:
>
𝑤•9n+d9 ≥ (𝑤•9n+d9 + 𝑤–9n49n+d9 + 𝑤•bco3f + 𝑤1—úu9n + 𝑤6˜3u389ec )
A
De manera compacta:
Este arquetipo puede describirse como: la cantidad total de un ingrediente debe ser una proporción 𝑝 (mínima, máxima o exacta) de la mezcla.
≤
𝑤+d4ncv+cdec =𝑝 X 𝑤•
≥ •∈•
Restricciones suaves
Algunas veces es posible violar una restricción, pero si se hace es necesario pagar un sobrecosto o penalizar su violación en la función objetivo. A este tipo de
restricciones que se pueden incumplir se les conoce como soft constraints o restricciones suaves.
Para ver un ejemplo, volvamos sobre la asignación de tareas que analizamos en la estructura de asignación:
El jefe de un proyecto esta asignando las actividades que deben realizarse la próxima semana. Tiene 3 empleados (𝐸 = {𝑒𝑚𝑝𝐴, 𝑒𝑚𝑝𝐵 𝑦 𝑒𝑚𝑝𝐶}) y 5 actividades
(𝐴 = {1, … ,5}).
En principio todos los empleados pueden trabajar en todas las actividades y una actividad puede ser subdividida entre ellos. Escriba las restricciones que describen
esta situación: cada empleado trabaja 48 horas a la semana y los requerimientos de trabajo de las 5 actividades son, respectivamente:
Actividad 1 2 3 4 5
Horas requeridas 25 12 70 24 22
Conjuntos:
Variables de decisión:
min: 𝐹𝑂𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙 + X 𝑐+ 𝑒+
+∈ƒ
Sujeto a:
X 𝑥+} ≤ ℎ+ + 𝑒+ 𝑖 ∈ 𝐸
}∈1
𝑒+ ≥ 0 ∀𝑖 ∈ 𝐸
Nótese aquí que la función objetivo original (que no hemos modelado aún) se penaliza (en costo) por cada hora extra que se excede la jornada de los empleados.
De esta manera, para modelar una restricción suave es necesario agregar variables para contabilizar la violación de la restricción, al lado derecho de la restricción
se le suma la variable que permite la violación y en la función objetivo se penaliza la violación.
Emparentadas con las restricciones suaves están las restricciones y variables auxiliares, que no restringen o cambian en sí la estructura del modelo, pero permiten
hacerlo más entendible o nos permiten hacer cálculos auxiliares que pueden ser necesarios para comunicar los resultados de un modelo. A manera de ejemplo, si
en nuestro caso de asignación de tareas estamos interesados en saber cuánto trabajó un empleado, deberíamos sumar el tiempo asignado en cada actividad. Para
el empleado A sería:
Si en vez de esto definimos de una vez una variable auxiliar que acumule las horas por empleado, agregaríamos esto a la notación general de nuestro ejemplo:
X 𝑥+} = 𝑡+ 𝑖 ∈ 𝐸
}∈1
Definir esta notación adicional no cambia la estructura de la asignación, y a la vez permite reescribir de manera diferente las restricciones suaves que acabamos
de introducir:
min: 𝐹𝑂𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙 + X 𝑐+ 𝑒+
+∈ƒ
Sujeto a:
𝑡+ ≤ ℎ+ + 𝑒+ , 𝑖 ∈ 𝐸
𝑥+} ≥ 0 ∀𝑖 ∈ 𝐸, ∀𝑗 ∈ 𝐴,
𝑒+ ≥ 0 ∀𝑖 ∈ 𝐸
𝑡+ ≥ 0 ∀𝑖 ∈ 𝐸
Para terminar esta primera lección dedicada a los arquetipos básicos de modelación veamos ahora algunas estructuras que pueden expresarse sobre la función
objetivo. Cabe recordar que la función objetivo cuantifica (evalúa) las consecuencias de las decisiones y representa la meta u objetivo que se quiere alcanzar. Un
par de soluciones se comparan con base en la función objetivo. Por ejemplo, si estamos minimizando un costo, la solución que tenga una menor función objetivo
será la mejor.
Las funciones objetivo de los modelos de optimización pueden expresar metas muy diversas. Las más comunes son minimizar costo o maximizar utilidad, pero
puede haber muchas otras: maximizar ingresos, maximizar retornos, maximizar valores presentes, maximizar servicio, minimizar infactibilidad, maximizar
satisfacción, maximizar probabilidad de cumplir algún requerimiento, maximizar robustez, minimizar utilización de recursos, minimizar tiempos de ejecución, etc.
Sumatorias múltiples. Una primera característica muy común en las funciones objetivos es que con mucha frecuencia implican la utilización de sumatorias sobre
varios conjuntos. Una advertencia importante es que cuando vemos varios subíndices en los términos de la función objetivo nos podemos ver tentados a usar un
símbolo para todo (∀). Sin embargo, salvo contadas excepciones (p. ej., en optimización multiobjetivo) las funciones objetivo no llevan el símbolo para todo (∀).
Ahora veamos un primer ejemplo. Supongamos que cada empleado de nuestra decisión de asignación anterior tiene una productividad diferente si es asignado a
cada una de las tareas. Dicho valor (entre 0.8 y 1.2) indica qué tan productivo es un empleado en una actividad específica. Si es menor de 1.0, significa que el
tiempo que se toma es menor que el previsto en la tabla original (es decir, es más productivo de lo esperado), mientras que si es mayor que 1.0 indica que el
empleado es menos productivo en dicha tarea y se toma más tiempo. A continuación, vemos los valores de productividad:
Actividad 1 2 3 4 5
Conjuntos:
Variables de decisión:
Si utilizamos este parámetro para crear una función objetivo, podemos decir que el modelo que queremos modelar (verbalizándolo) es el siguiente:
Esta sería entonces la formulación abstracta, que hace uso de este nuevo parámetro y una doble sumatoria en la función objetivo:
Sujeto a:
Horas requeridas por cada actividad (arquetipo de
𝑥+}
X = 𝑟} 𝑝𝑎𝑟𝑎 𝑗 = 1, … , 5 demanda).
𝑝+}
+∈ƒ
X 𝑥+} ≤ ℎ+ 𝑖 ∈ 𝐸
Horas disponibles por empleado (arquetipo de
}∈1
recurso).
Nótese que como las variables de decisión están definidas en dos conjuntos, Empleados y Actividades, al sumar en la función objetivo es necesario poner una
doble sumatoria con índices en estos dos conjuntos (𝑖 ∈ 𝐸 y 𝑗 ∈ 𝐴).
Por otro lado, el hecho de tener empleados que son más productivos en ciertas actividades modifica la restricción de requerimientos de manera que se cumplen las
horas estimadas requeridas, pues al dividir por la productividad el tiempo empleado se tiene en cuenta que un empleado se toma más o menos tiempo en cumplir
la actividad.
En nuestro ejemplo de asignación anterior, si resolvemos el problema de optimización la asignación óptima sería la siguiente:
Como puede observarse, la asignación es bastante desbalanceada, pues el empleado 3 tiene menos horas que los demás empleados. En este caso podría quererse
de manera alternativa minimizar el número de horas máximas que trabaja un empleado. Haciendo uso de la notación auxiliar que definimos en las restricciones y
variables auxiliares tendremos:
Sujeto a:
Sin embargo, la expresión min{𝑡+ } es no lineal, así que habrá que linealizarla. Usando esta definición del máximo: un número que es mayor que todos los demás
+∈ƒ
y a la vez es el más pequeño posible, tenemos las siguientes restricciones nuevas que linealizan la expresión (para ello introducimos una nueva variable: 𝑡𝑚𝑎𝑥),
que será el tiempo máximo trabajado por cualquiera de los empleados.
Sujeto a:
Cuando resolvemos este nuevo problema se obtiene la siguiente solución, que está perfectamente balanceada:
Actividad 1 2 3 4 5 Total
Emp1 - 9.60 32.85 - - 42.45
Emp2 - - 37.15 - 5.29 42.45
Emp3 25.00 - - 12.60 4.85 42.45
De manera similar se podría maximizar el mínimo o minimizar el rango entre el máximo y el mínimo. Lo que no se podría hacer, porque el problema no tendría
óptimo finito, es maximizar el máximo o minimizar el mínimo.
Por ejemplo, para minimizar el rango se agrega una variable de decisión que sea el tiempo mínimo (𝑡𝑚𝑖𝑛 ≥ 0) y la función objetivo se sustituye por:
𝑡𝑚𝑖𝑛 ≤ 𝑡+ ≤ 𝑡𝑚𝑎𝑥, ∀ 𝑖 ∈ 𝐸
Transformación entre minimización y maximización. En algunas situaciones puede ser necesario transformar un problema de minimización en: o uno de
maximización o viceversa. Por ejemplo, algunos softwares de optimización están diseñados para resolver únicamente problemas de minimización. En este caso,
es importante conocer la equivalencia existente entre problemas de minimización y de maximización:
max 𝑧-9¨ = X 𝑎+ 𝑥+
+©>
Sujeto a:
𝑥 ∈ 𝛺
Equivale al problema de minimización, sujeto al mismo conjunto de restricciones:
d
min 𝑧-+d = s− X 𝑎+ 𝑥+ t
+©>
Sujeto a:
𝑥 ∈ 𝛺
∗ ∗
Aquí, la función objetivo óptima del problema de maximización 𝑧-9¨ será igual a -𝑧-+d , es decir, el inverso aditivo de la solución óptima del problema de
minimización. Adicionalmente, el valor óptimo de las variables de decisión coincide.
Sujeto a:
𝑥> + 2𝑥@ ≤ 6
2𝑥> − 𝑥@ ≤ 4
5𝑥> + 3𝑥@ ≤ 15
𝑥> ≥ 0, 𝑥@ ≥ 0
∗
obtendríamos como solución óptima: 𝑧-9¨ = 3, 𝑥>∗ = 0, y 𝑥@∗ = 3. Mientras que al resolver el problema de minimización:
Sujeto a:
𝑥> + 2𝑥@ ≤ 6
2𝑥> − 𝑥@ ≤ 4
5𝑥> + 3𝑥@ ≤ 15
𝑥> ≥ 0, 𝑥@ ≥ 0
∗
obtendríamos como solución óptima: 𝑧-+d = −3, 𝑥>∗ = 0, y 𝑥@∗ = 3
∗ ∗
Nótese que los valores de las variables de decisión óptimas coinciden en ambos problemas, y que 𝑧-9¨ = −𝑧-+d
Ejercicio:
Ahora, para concluir te invitamos a identificar los arquetipos básicos que hemos introducido en esta lección en la guía de ejemplos
resueltos y posteriormente te invitamos a realizar la actividad propuesta: arquetipos básicos.
Ejemplo:
Referencias bibliográficas
Diccionario de la lengua española. (2020). Arquetipo. https://dle.rae.es/arquetipo
Guéret, C., Prins, C. & Sevaux, M. (2000). Applications of optimization with Xpress-MP. Editions Eyrolles.
Pidd, M. (1999). Just modeling through: A rough guide to modeling. Interfaces, 29(2), 118-132.
Material complementario
Las siguientes referencias son muy útiles para el proceso de modelación, ya que tienen infinidad de ejercicios resueltos y explicaciones complementarias a las
ofrecidas en esta lección.
Sarker, R. A. & Newton, C. S. (2007). Optimization modelling: a practical approach. CRC Press.
Williams, H. P. (2013). Model building in mathematical programming. John Wiley & Sons.