• No se han encontrado resultados

Trabajo Práctico 5 Programación Lineal Entera Binaria

N/A
N/A
Protected

Academic year: 2022

Share "Trabajo Práctico 5 Programación Lineal Entera Binaria"

Copied!
8
0
0

Texto completo

(1)

Trabajo Práctico 5 – Programación Lineal Entera Binaria

Planteo del Modelo

Definimos las siguientes variables enteras:

𝑥1 → 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑎𝑛𝑢𝑛𝑐𝑖𝑜𝑠 𝑠𝑒𝑚𝑎𝑛𝑎𝑙𝑒𝑠 𝑒𝑛 𝑇𝑉1 𝑥2→ 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑎𝑛𝑢𝑛𝑐𝑖𝑜𝑠 𝑠𝑒𝑚𝑎𝑛𝑎𝑙𝑒𝑠 𝑒𝑛 𝑇𝑉2 𝑥3→ 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑎𝑛𝑢𝑛𝑐𝑖𝑜𝑠 𝑠𝑒𝑚𝑎𝑛𝑎𝑙𝑒𝑠 𝑒𝑛 𝐷𝐷𝑆 𝑥4→ 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑎𝑛𝑢𝑛𝑐𝑖𝑜𝑠 𝑠𝑒𝑚𝑎𝑛𝑎𝑙𝑒𝑠 𝑒𝑛 𝐷𝐷𝐷 𝑥5→ 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑎𝑛𝑢𝑛𝑐𝑖𝑜𝑠 𝑠𝑒𝑚𝑎𝑛𝑎𝑙𝑒𝑠 𝑒𝑛 𝑅𝐴𝐷 Con 𝑥𝑖≥ 0 y 𝑥𝑖∈ ℤ ∀𝑖

Cantidad máxima de anuncios

Para los anuncios en TV de mañana (TV1), el número máximo de anuncios que se pueden emitir por semana es 15. Luego:

𝑅1: 𝑥1≤ 15

Estas mismas restricciones pueden plantearse viendo los anuncios máximos para los otros medios publicitarios:

𝑅2: 𝑥2≤ 10

(2)

𝑅3: 𝑥3≤ 25 𝑅4: 𝑥4≤ 4 𝑅5: 𝑥5≤ 30 Emisión recomendad de anuncios por TV

La agencia recomienda emitir al menos 10 anuncios por TV. Las variables 𝑥1 y 𝑥2 corresponden a los anuncios semanales por TV matutina y nocturna. El total de anuncios semanales por TV es entonces 𝑥1+ 𝑥2. Luego, la restricción correspondiente a esta recomendación sería la siguiente:

𝑅6: 𝑥1+ 𝑥2≥ 10 Clientes potenciales

Se recomienda alcanzar 50.000 clientes potenciales semanalmente. Según la tabla, un anuncio en TV1 alcanza 1.000 clientes. Luego, el total de clientes alcanzados con 𝑥1 anuncios en TV1 será 1.000𝑥1. De la misma manera se calcula el total de clientes alcanzados en cada medio. El total de clientes alcanzados entonces se puede calcular sumando estos términos, y esta suma debe ser mayor o igual que 50.000. Es decir:

𝑅7: 1.000𝑥1+ 2.000𝑥2+ 1.500𝑥3+ 2.500𝑥4+ 300𝑥5≥ 50.000 Presupuesto máximo semanal

El presupuesto máximo semanal para la campaña es $30.000. Según la tabla, un anuncio en TV1 cuesta $1.500. Luego, el total del presupuesto gastado en TV1 es 1.500𝑥1. Siguiendo esta misma idea para los diferentes medios, la restricción correspondiente al presupuesto semanal es la siguiente:

𝑅8: 1.500𝑥1+ 3.000𝑥2+ 400𝑥3+ 1.000𝑥4+ 100𝑥5≤ 30.000 Gasto semanal en anuncios de televisión

Se recomienda no gastar más de $18.000 semanales en anuncios de televisión. El presupuesto en anuncios por televisión se calcula con los dos primeros términos de la restricción anterior. Luego, esta restricción se expresa de la siguiente manera:

𝑅9: 1.500𝑥1+ 3.000𝑥2≤ 18.000 Restricciones lógicas

Hasta ahora, todas las restricciones pudieron plantearse utilizando exclusivamente variables enteras y el modelo no difiere de uno presentado en el trabajo práctico de programación lineal entera. Existe en este ejercicio, no obstante, una restricción que no puede resolverse simplemente utilizando variables enteras y requiere de una variable binaria. La restricción se desprende de la siguiente oración del enunciado: “… si se hacen anuncios en el diario en días de semana (DDS), entonces no (se aconseja) hacer anuncios en TV2 y viceversa”. En este caso se presentan dos condiciones lógicas del tipo “Si A entonces B”. La primera exige que, si se hacen anuncios en DDS, entonces no deben realizarse anuncios en TV2. La segunda es la opuesta (“y viceversa”): si se hacen anuncios en TV2, entonces no deben realizarse anuncios en DDS. Analicemos ambas por separado:

- Si se hacen anuncios en DDS, entonces no deben realizarse anuncios en TV2.

(3)

Matemáticamente en el modelo, hacer anuncios en DDS implica que la variable 𝑥3

(que contabiliza la cantidad de anuncios semanales en DDS) debe tomar estrictamente mayor que cero. En cambio, que no se realizan anuncios en TV2 implica que la variable 𝑥2 (que contabiliza la cantidad de anuncios semanales en TV2) solo puede tomar el valor cero. Luego, matemáticamente se puede expresar esta relación lógica de la siguiente manera:

𝑥3> 0 → 𝑥2= 0

- Si se hacen anuncios en TV2, no deben realizarse anuncios en DDS.

Matemáticamente en el modelo, hacer anuncios en TV2 implica que la variable 𝑥2 (que contabiliza la cantidad de anuncios semanales en TV2) debe tomar estrictamente mayor que cero. En cambio, que no se realizan anuncios en DDS implica que la variable 𝑥3 (que contabiliza la cantidad de anuncios semanales en DDS) solo puede tomar el valor cero. Luego, matemáticamente se puede expresar esta relación lógica de la siguiente manera:

𝑥2> 0 → 𝑥3= 0

Proposicionalmente, ambas relaciones lógicas implican lo mismo, debido a que la proposición 𝑝 → 𝑞 es equivalente a la expresión booleana ¬𝑝 ∨ 𝑞. Es decir, en este caso ambas expresiones lógicas equivalen a la siguiente:

𝑥2= 0 ∨ 𝑥3= 0 (1)

Esto quiere decir que necesariamente una de las dos variables debe anularse. No pueden ser ambas simultáneamente mayor que cero, no se deben contratar simultáneamente anuncios en TV2 y en DDS. En cambio, sí está permitido que no se contraten anuncios en ninguno de los dos medios en cuestión y ambas variables enteras se anulen (recuerden que el símbolo " ∨ " implica que por lo menos una de las dos condiciones debe cumplirse).

Para hacer valer estas restricciones, se definen las variables 𝑦2, 𝑦3∈ {0,1}, donde:

𝑦2= {1, 𝑠𝑖 𝑠𝑒 𝑟𝑒𝑎𝑙𝑖𝑧𝑎𝑛 𝑎𝑛𝑢𝑛𝑐𝑖𝑜𝑠 𝑒𝑛 𝑇𝑉2 0, 𝑒𝑛 𝑐𝑢𝑎𝑙𝑞𝑢𝑖𝑒𝑟 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

𝑦3= {1, 𝑠𝑖 𝑠𝑒 𝑟𝑒𝑎𝑙𝑖𝑧𝑎𝑛 𝑎𝑛𝑢𝑛𝑐𝑖𝑜𝑠 𝑒𝑛 𝐷𝐷𝑆 0, 𝑒𝑛 𝑐𝑢𝑎𝑙𝑞𝑢𝑖𝑒𝑟 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

Es decir, si 𝑥2> 0, entonces 𝑦2= 1. En cambio, si 𝑥2 = 0, entonces 𝑦2= 0.

De la misma manera, si 𝑥3 > 0, entonces 𝑦3= 1. En cambio, si 𝑥3= 0, entonces 𝑦3= 0.

Una vez definidas las variables binarias, es necesario plantear dos tipos de restricciones: por un lado, restricciones que vinculen variables binarias entre ellas, por otro lado, restricciones que vinculen las variables binarias con las variables enteras. Veamos primero las restricciones que vinculan variables binarias entre ellas:

De acuerdo con lo enunciado en (1), alguna de las dos variables enteras debe tomar el valor cero. Esto implica que alguna de las dos variables binarias debe tomar el valor cero, porque al anularse una variable entera anula también a su respectiva variable binaria. Por lo tanto, la condición en (1) equivale a:

𝑦2= 0 ∨ 𝑦3= 0

(4)

Para que esto se cumpla, se debe garantizar que ambas variables binarias no toman el valor 1 simultáneamente. Esto se cumple si la suma de ambas es estrictamente menor que 2, es decir:

𝑦2+ 𝑦3< 2

Como en este caso se trata de variables binarias, esta restricción es equivalente a:

𝑅10: 𝑦2+ 𝑦3≤ 1

Esta restricción vincula ambas variables binarias, pero todavía deben vincularse las variables binarias con las variables enteras. Para eso debe entenderse que, dentro del modelo de programación lineal, cada variable binaria debe funcionar como interruptor: en una de sus posiciones activa una restricción (o un conjunto de restricciones) y en la otra posición activa otra restricción distinta.

Tomemos el caso de la variable binaria 𝑦2 con la variable entera 𝑥2. Recordemos que 𝑥2 está definida como una variable no negativa, es decir que sin importar el valor de 𝑦2 se cumplirá que 𝑥2≥ 0. Lo que nos interesa puntualmente es que, si 𝑦2= 0, entonces 𝑥2 sea también 0, y que si 𝑦2= 1 entonces 𝑥2 puede tomar cualquier otro valor. Obsérvese la siguiente restricción:

𝑅11: 𝑥2≤ 𝑀𝑦2

Donde 𝑀 es, al igual que en el Algoritmo Simplex del Trabajo Práctico 3, un numero positivo muy grande.

Si 𝑦2 es igual a 0, la restricción 𝑅11 se transforma en la siguiente:

𝑥2≤ 0

Como además 𝑥2≥ 0, 𝑥2 debe tomar un valor mayor o igual que cero y menor o igual que cero simultáneamente. Luego, 𝑥2 solo puede tomar el valor cero. Entonces, la restricción 𝑅11 cumple con la siguiente idea:

𝑦2= 0 → 𝑥2= 0

Ahora bien, es importante revisar el otro caso: si 𝑦2= 1, la restricción 𝑅11 quedaría así:

𝑥2 ≤ 𝑀

Como 𝑀 es un número positivo muy grande, esta restricción se cumple trivialmente, porque 𝑥2 siempre será menor que 𝑀. Es decir, cuando 𝑦2= 1, la restricción 𝑅11 le da la libertad a 𝑥2 de tomar cualquier valor. Análogamente, la siguiente restricción vincula la variable binaria 𝑦3 con la variable entera 𝑥3:

𝑅12: 𝑥3≤ 𝑀𝑦3

Cuando 𝑦3 se anula, logra anular a la variable 𝑥3. En cambio, cuando 𝑦3 toma el valor 1, la restricción 𝑅12 se cumple trivialmente. Debe tenerse en cuenta que, en este caso, la restricción 𝑅10 anulará la variable binaria 𝑦2 y entonces se activará la restricción 𝑅11 para anular 𝑥2.

Un par de comentarios a tener en cuenta sobre estas restricciones:

El primero es sobre el valor de 𝑀: ingresar un valor muy grande es relativo al orden de las constantes del modelo e implica cierto conocimiento sobre el problema. En este caso uno debería preguntarse cuántos son muchos anuncios semanales y podría pensar una cantidad

(5)

ridículamente grande (por ejemplo, 10.000 anuncios semanales) e ingresar ese valor de 𝑀.

No obstante, el Solver utilizado siempre podrá resolver mejor (más rápido) el modelo si uno tiene una idea del límite superior de las variables. En este caso, podríamos repasar la restricción 𝑅2:

𝑅2: 𝑥2≤ 10

Como la variable 𝑥2 nunca tomará un valor mayor que 10, no es necesario ingresar un valor ridículamente grande para la 𝑀 en la restricción 𝑅11, e incluso al remplazarse la 𝑀 por 10, la restricción seguirá funcionando de la misma manera:

𝑅11: 𝑥2 ≤ 10𝑦2 Si 𝑦2= 1, entonces las restricciones 𝑅2 y 𝑅11 son idénticas.

Análogamente, si vemos la restricción 𝑅3:

𝑅3: 𝑥3≤ 25 Podemos reemplazar la 𝑀 de la restricción 𝑅12 por 25:

𝑅12: 𝑥3 ≤ 25𝑦3

La segunda observación es que todo el modelo se podría haber planteado utilizando una única variable binaria, 𝑦. Para esto bastaría con eliminar la restricción 𝑅10 y reemplazar las restricciones 𝑅11 y 𝑅12 de la siguiente manera:

𝑅11: 𝑥2≤ 𝑀𝑦65𝑥1

𝑅12: 𝑥3≤ 𝑀(1 − 𝑦)

El análisis de las proposiciones lógicas según estas restricciones queda sugerido al alumno.

Función objetivo

El enunciado pide maximizar el impacto sobre la audiencia. Según los datos de tabla, el impacto de los anuncios en TV1 puede medirse como 65𝑥1. Luego, el impacto total puede calcularse de la siguiente manera:

𝑧 = 65𝑥1+ 90𝑥2+ 40𝑥3+ 60𝑥4+ 20𝑥5 Modelo de programación lineal:

𝐹𝑂: max 𝑧 = 65𝑥1+ 90𝑥2+ 40𝑥3+ 60𝑥4+ 20𝑥5 𝑠. 𝑡.:

𝑅1: 𝑥1≤ 15 𝑅2: 𝑥2≤ 10 𝑅3: 𝑥3≤ 25 𝑅4: 𝑥4≤ 4 𝑅5: 𝑥5≤ 30 𝑅6: 𝑥1+ 𝑥2≥ 10

𝑅7: 1.000𝑥1+ 2.000𝑥2+ 1.500𝑥3+ 2.500𝑥4+ 300𝑥5≥ 50.000

(6)

𝑅8: 1.500𝑥1+ 3.000𝑥2+ 400𝑥3+ 1.000𝑥4+ 100𝑥5≤ 30.000 𝑅9: 1.500𝑥1+ 3.000𝑥2≤ 18.000

𝑅10: 𝑦2+ 𝑦3≤ 1 𝑅11: 𝑥2− 10𝑦2≤ 0 𝑅12: 𝑥3− 25𝑦3≤ 0 𝑥𝑖≥ 0

𝑥𝑖∈ ℤ 𝑦𝑖 ∈ {0,1}

Resolución en Excel

Se resuelve el modelo de programación lineal utilizando el Solver de Excel. La Figura 1 muestra la matriz con los coeficientes de las restricciones y de la Función Objetivo, como de la misma manera que se utilizaba la planilla de Excel en el Trabajo Práctico 4. Nótese que, en este caso, las variables binarias no figuran en la Función Objetivo, por lo tanto, tienen coeficiente cero.

Figura 1

La Figura 2 muestra la ventana del Solver de Excel donde fue definida una celda para función objetivo, un conjunto de celdas como variables, un Solver para resolución y se agregaron todas las restricciones del modelo.

(7)

Figura 2

En la Figura 3 se muestra la ventana de restricciones y cómo se explicita que las variables en las celdas G2 y S2 son binarias.

Figura 3

Finalmente, la Figura 4 presenta los resultados obtenidos por el Solver:

Figura 4

(8)

Los resultados son:

𝑥1 = 10 𝑥2= 0 𝑥3= 25 𝑥4= 2 𝑥5= 30 𝑦2= 0 𝑦3= 1 𝑧 = 2.370

Puede observarse que, en el punto óptimo, el modelo eligió no tomar anuncios en TV2 y en cambio sí tomar anuncios en DDS.

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

quiero también a Liseo porque en mi alma hay lugar para amar a cuantos veo... tiene mi gusto sujeto, 320 sin que pueda la razón,.. ni mande

Entre los modelos de elección binaria, que sirven para explicar una variable dependiente binaria (0/1), se encuentra la Regresión Logística, que se utiliza

Zona conflictiva en la entrada al parking aunque está bien señalizada con un espejo y señales de prioridad de paso, pero puede ocurrir que exista atropello en caso

Si se parte de que estos mapas son válidos, queda la tarea de ajustarlos a la coordinación nacional vi- gente, ya que casi todos se ajustan a la coor- dinación de diversos

Sin duda esta iglesia es la más espectacular de la isla, no solo por donde se encuentra ubicada y por las impresionantes vistas de Oía a lo lejos, si no porque es un lugar muy

Respecto a las enfermedades profesionales, en virtud del RD 1299/2006, de 10 de noviembre, por el que se aprueba el cuadro de enfermedades profesionales en el sistema de

Las características del trabajo con grupos que se debería llevar a cabo en los Servicios Sociales de Atención Primaria (SSAP), en términos de variabilidad o estabilidad