Programación por metas: introducción y ejemplo explicado
1. Programación por metas
La Programación por Metas en Investigación de Operaciones es un tipo de
Programación Lineal. Para comenzar veremos un poco lo que es la
Programación Lineal.
¿Qué es Programación Lineal?
La Programación Lineal (abreviada PL) “se refiere a técnicas matemáticas
para asignar, en forma óptima, los recursos limitados a distintas demandas
que compiten por ellos” (Chase y Jacobs, 2014).
¿Cuándo se puede utilizar Programación Lineal?
Un problema puede ser resuelto utilizando Programación Lineal si cumple
ciertas condiciones. Primero, debe tener recursos limitados. Además debe
tener un objetivo explícito (como maximizar la utilidad, o minimizar los
costos). Así mismo, debe existir linealidad, (por ejemplo, si se necesitan dos
horas para elaborar una pieza, se requerirán 4 para elaborar dos, etc). Otra
condición es que debe existir homogeneidad, esto es que los productos
2. Programación entera. Cuando la subdivisión no es posible, se utiliza Programación entera que es
una modificación de la Programación Lineal.
Programación por metas. Cuando existen varios objetivos se utiliza la programación por metas.
Esta es una diferencia con relación a la programación lineal que tiene un objetivo único de
maximizar o minimizar.
Programación dinámica. Se utiliza cuando el problema se resuelve mejor por etapas o plazos.
Existen otras variantes como es la Programación No Lineal o la Programación Cuadrática.
Programación por metas
La Programación por metas (abreviada PM) apareció originalmente en un artículo de Charnes,
Cooper y Ferguson en 1955 (Romero, 2002). Como se explicó anteriormente, se utiliza cuando
existen varios objetivos o metas y se desea una solución satisfactoria y suficiente (satisfaciente).
3. La estructura de cada meta seguiría este modelo:
𝑓𝑖 𝑥 + 𝑛𝑖 − 𝑝𝑖 = 𝑡𝑖
En la ecuación anterior𝑓𝑖 𝑥 representa la expresión matemática de la meta, a la que se le añade dos
variables de desviación (𝑛𝑖, 𝑝𝑖). La primera, 𝑛𝑖, representa un valor faltante para llegar a la meta. La
segunda variable de desviación 𝑝𝑖, representa el valor excedente por sobre la meta.
Por ejemplo, suponga que una empresa tiene dos productos: el primero le deja 3 pesos de ganancia y el
segundo le produce solo 1 peso. Se desea obtener 50 pesos de ganancia. La meta estaría representada
por el siguiente modelo:
3𝑥1 + 𝑥2 + 𝑛 − 𝑝 = 50
Tal vez alguien en la empresa sugiere que deberían producir 10 productos x1 y 15 productos x2. Eso
implicaría:
3(10) + 1(15) + n – p = 50
30+15 + n – p = 50
45 + n – p = 50
Se necesita que n valga 5 para alcanzar la meta. En otras palabras el beneficio quedó 5 pesos abajo de lo
esperado porque se obtuvo un faltante.
Ahora piense que otra persona en la empresa sugiere que se fabriquen 15 productos de cada tipo. La
meta estaría representada por:
4. 3(15) + 1(15) + n – p = 50
60 +n – p = 50
Ahora la meta quedó 10 unidades por encima de lo esperado.
Suponga que el plan de producción lo dejamos en 20𝑥1 𝑦 30𝑥2. Ello implicaría:
50 + n – p = 50
Por lo que tanto n, como p valen 0. (No hay faltantes ni excedentes).
5. Variables de desviación no deseadas
En ocasiones, para el cumplimiento de la meta nos conviene más que cierta
variable alcance su valor más pequeño, que es cero. Esa variable es una variable de
desviación no deseada. Las situaciones que se pueden dar son las siguientes:
Cuando la meta es 𝑓𝑖 𝑥 >= 𝑡𝑖 la variable no deseada (y que se buscará minimizar)
será la variable n (la que indica un faltante).
Cuando la meta es 𝑓𝑖 𝑥 <= 𝑡𝑖, la variable no deseada será la p (excedente).
Cuando la meta es alcanzar exactamente el nivel de aspiración, 𝑓𝑖 𝑥 = 𝑡𝑖, ambas
variables (n y p) serán no deseadas y por lo tanto, variables a minimizar.
“El propósito general de la PM consiste en minimizar un función de las
variables de desviación no deseadas. Esta función recibe el nombre de función
de logro” (Romero, 2002).
6. Ejercicio explicado de Programación por metas
Veamos el siguiente ejemplo (basado en Taha, 2012):
En cierto país de 20 000 habitantes se tienen las siguientes bases tributarias: 550 millones por predial. 35 millones por
alimentos y medicinas. 55 millones por ventas. El consumo anual de gasolina es de 7.5 millones de galones.
Se tienen las siguientes metas:
Tener un ingreso por impuestos de 16 millones.
Que el impuesto para alimentos y medicinas no exceda el 10% del total de impuestos
Que el impuesto sobre ventas no exceda el 20% del total de impuestos.
Que el impuesto para gasolina no exceda de 2 centavos por galón.
Así es que las variables serían:
𝑥1= tasa tributaria predial
𝑥2= tasa tributaria por alimentos y medicinas
𝑥3 = tasa tributaria por ventas
𝑥4 = impuesto para gasolina en centavos por galón.
7. Metas
Las metas quedaría expresadas de la siguiente forma:
Tener un ingreso de impuestos de 16 millones.
550𝑥1 + 35𝑥2 + 55𝑥3 + 0.075𝑥4 ≥16
Que el impuesto para alimentos y medicinas no exceda el 10% del total de impuestos
35𝑥2 ≤ .1 550𝑥1 + 35𝑥2 + 55𝑥3 + 0.075𝑥4
Haciendo las operaciones correspondientes, y simplificando, la meta anterior quedaría:
55𝑥1 − 31.5𝑥2 + 5.5𝑥3+.0075𝑥4 ≥ 0
Que el impuesto sobre ventas no exceda el 20% del total de impuestos.
55𝑥3 ≤ .2(550𝑥1 + 35𝑥2 + 55𝑥3 + 0.075𝑥4)
Haciendo las operaciones correspondientes, y simplificando, la meta anterior quedaría:
110𝑥1 + 7𝑥2 − 44𝑥3 + 0.015𝑥4 ≥ 0
Que el impuesto para gasolina no exceda de 2 centavos por galón.
𝑥4 ≤ 2
8. La planificación por metas (incluyendo las variables de desviación) sería:
550𝑥1 + 35𝑥2 + 55𝑥3 + 0.075𝑥4 + 𝑛1 − 𝑝1 = 16
55𝑥1 − 31.5𝑥2 + 5.5𝑥3 + 0.0075𝑥4 + 𝑛2 − 𝑝2 = 0
110𝑥1 + 7𝑥2 − 44𝑥3 + 0.015𝑥4 + 𝑛3 − 𝑝3 = 0
𝑥4 + 𝑛4 − 𝑝4 = 0
Las variables de desviación no deseadas serían: 𝑛1, 𝑛2, 𝑛3, 𝑝4 .
La función de logro sería:
Min (𝑛1, 𝑛2, 𝑛3, 𝑝4)
Espero que esta explicación y este ejemplo te hayan permitido entender un poco más la programación por
metas.