aplicación de programación lineal
DESCRIPTION
OptimizacionTRANSCRIPT
Universidad de Antioquia. Agudelo Julián. Aplicación de programación lineal. 1
BÚSQUEDA DE LA LOCALIZACIÓN
ÓPTIMA DE CAMARAS DE TELEVISIÓN
UTILIZANDO PROGRAMACIÓN LINEAL JULIAN AGUDELO
Abstract - Este documento describe la programación
lineal como herramienta para dar solución a problemas de
cobertura, en este caso la necesidad de reducir el número
de cámaras necesarias para transmitir un juego,
optimizando su ubicación, con el fin de tener una toma
completa de las zonas más importantes de un estadio.
I. INTRODUCCIÓN
Es común en la cotidianidad la toma de decisiones, pero,
¿Cómo saber cuál es la decisión más apropiada? ¿Cómo
obtengo un máximo beneficio? ¿Cómo minimizo costos?
Actualmente son muy utilizadas las técnicas de optimización,
herramientas matemáticas que buscan encontrar la solución
óptima a un problema, sujeto a restricciones propias de cada
situación.
II. PROGRAMACIÓN LINEAL
Es una técnica de modelado que ayuda a tomar decisiones.
Implementa una función objetivo lineal y un conjunto de
restricciones lineales variables no negativas.
El objetivo de la programación lineal es minimizar o
maximizar un objetivo (función objetivo) y su interés principal
es tomar las decisiones óptimas.
III. PROGRAMACION LINEAL BINARIA ENTERA
Es similar a la programación lineal, busca optimizar una
función objetivo lineal sujeta a una serie de restricciones
lineales. La diferencia radica básicamente en la existencia sólo
de variables de tipo binario.
IV. PLANTEAMIENTO DEL PROBLEMA
Un canal local requiere transmitir el juego más importante del
año. Los productores han identificado 12 posibles
localizaciones para las cámaras y 25 áreas del estadio que
requieren ser cubiertas por las cámaras.
En la siguiente tabla se muestra la relación entre las
localizaciones y las zonas cubiertas desde estas:
Localización de la cámara Área del estadio
1 1, 3, 4, 6, 7
2 8, 4, 7, 12
3 2, 5, 9, 11, 13
4 1, 2, 18, 19, 21
5 3, 6, 10, 12, 14
6 8, 14, 15, 16, 17
7 18, 21, 24, 25
8 2, 10, 16, 23
9 1, 6, 11
10 20, 22, 24, 25
11 2, 4, 6, 8
12 1, 6, 12, 17
Fig. 1. Cobertura desde distintas localizaciones
Se desea minimizar el número de cámaras empleadas para la
transmisión. Además la localización 9 debe tener una cámara y
las áreas 1 y 2 requieren cobertura de al menos dos cámaras,
las cuales no deben estar en la misma localización.
Ésta es una situación frecuente dentro de la programación
lineal, se denomina problema de cobertura. Los problemas de
este tipo se resuelven de manera similar, es preciso proceder
inicialmente a construir una matriz de cobertura
1 2 3 4 5 6 7 8 9 10 11 12 1
1 0 0 1 0 0 0 0 1 0 0 1 2
0 0 1 1 0 0 0 1 0 0 1 0 3
1 0 0 0 1 0 0 0 0 0 0 0 4
1 1 0 0 0 0 0 0 0 0 1 0 5
0 0 1 0 0 0 0 0 0 0 0 0 6
1 0 0 0 1 0 0 0 1 0 1 1 7
1 1 0 0 0 0 0 0 0 0 0 0 8
0 1 0 0 0 1 0 0 0 0 1 0 9
0 0 1 0 0 0 0 0 0 0 0 0 10
0 0 0 0 1 0 0 1 0 0 0 0 11
0 0 1 0 0 0 0 0 1 0 0 0 12
0 1 0 0 1 0 0 0 0 0 0 1 13
0 0 1 0 0 0 0 0 0 0 0 0 14
0 0 0 0 1 1 0 0 0 0 0 0 15
0 0 0 0 0 1 0 0 0 0 0 0 16
0 0 0 0 0 1 0 1 0 0 0 0 17
0 0 0 0 0 1 0 0 0 0 0 1 18
0 0 0 1 0 0 1 0 0 0 0 0 19
0 0 0 1 0 0 0 0 0 0 0 0 20
0 0 0 0 0 0 0 0 0 1 0 0 21
0 0 0 1 0 0 1 0 0 0 0 0 22
0 0 0 0 0 0 0 0 0 1 0 0 23
0 0 0 0 0 0 0 1 0 0 0 0 24
0 0 0 0 0 0 1 0 0 1 0 0 25
0 0 0 0 0 0 1 0 0 1 0 0
Universidad de Antioquia. Agudelo Julián. Aplicación de programación lineal. 2 Fig. 2. Matriz de cobertura
Cada columna localización presenta el coeficiente unitario en
cada una de las zonas que cubre la cámara.
Para cada localización j (j=1-12) utilizaremos una variable
binaria
𝑋𝑗 = {1, 𝑠𝑖 𝑠𝑒 𝑢𝑏𝑖𝑐𝑎 𝑢𝑛𝑎 𝑐𝑎𝑚 𝑒𝑛 𝑙𝑎 𝑙𝑜𝑐𝑎𝑙𝑖𝑧𝑎𝑐𝑖ó𝑛 0, 𝑠𝑖 𝑛𝑜 𝑠𝑒 𝑢𝑏𝑖𝑐𝑎 𝑢𝑛𝑎 𝑐𝑎𝑚 𝑒𝑛 𝑙𝑎 𝑙𝑜𝑐𝑎𝑙𝑖𝑧𝑎𝑐𝑖ó𝑛
Las restricciones las obtenemos multiplicando la matriz de
cobertura por el vector de variables. Los términos
independientes se recogen en un vector columna, cuyo valor
será el número mínimo de veces que la zona debe quedar
cubierta. En ese orden de ideas e implementando las
condiciones especiales de la localización 9 y las zonas 1 y 2
tenemos:
∑ 𝑎𝑖𝑗𝑋𝑗 ≥ 2 𝑖 = 1,2
12
𝑗=1
∑ 𝑎𝑖𝑗𝑋 ≥ 1 𝑖 = 3, … ,25
12
𝑗=1
𝑋9 = 1
El objetivo es minimizar el número de cámaras, por lo tanto la
función objetivo es:
𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 ∑ 𝑋𝑗
12
𝑗=1
El modelo completo es:
𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 ∑ 𝑋𝑗
12
𝑗=1
Sujeta a:
∑ 𝑎𝑖𝑗𝑋𝑗 ≥ 2 𝑖 = 1,2
12
𝑗=1
∑ 𝑎𝑖𝑗𝑋𝑗 ≥ 1 𝑖 = 3, … ,25
12
𝑗=1
𝑋9 = 1
V. RESULTADOS
Se implementó un script para dar solución al problema
utilizando la toolbox de optimización del software Matlab.
Utilizamos el comando correspondiente de programación
lineal binaria entera.
[X,fval] = bintprog(z,A,b,Aeq,beq)
Siendo z el vector función objetiva, A la matriz de restricciones
de desigualdad, Aeq la matriz de restricciones de igualdad, b y
beq son los vectores independientes de desigualdad e igualdad
respectivamente.
La solución se muestra a continuación
X = 1 1 1 1 0 1 0 1 1 1 0 0
fval = 8
Procedemos a hacer un análisis de los resultados
Fig. 3.
Tabla de resultados
El software nos arrojó las mejores ubicaciones de las cámaras
para cubrir las diferentes zonas requeridas, así mismo nos dio
razón de las localizaciones en las cuales es innecesario ubicar
cámaras.
Las localizaciones en las cuales es requerida una cámara son la
1, 2, 3, 4, 6, 8, 9, 10.
Si expandimos nuestra función objetivo y reemplazamos los
valores de X obtenemos.
X=X1+ X2+ X3+ X4+ X5+ X6+ X7+ X8+ X9+ X10+ X11+ X12
X=1+1+1+1+0+1+0+1+1+1+0+0
X=8
Corresponde al mínimo número de cámaras necesarias para
cubrir las 25 zonas, teniendo en cuenta que las zonas 1 y 2
requieren ser cubiertas por al menos dos cámaras y además que
en la localización 9 debemos encontrar una cámara.
VI. CONCLUSIONES
En la actualidad encontramos las técnicas de optimización
como una herramienta necesaria para dar solución a los
problemas de tomas de decisión y optimización de procesos.
Haciendo uso de la programación lineal pudimos dar solución
a una situación muy común como lo es un problema de
cobertura, las necesidades fueron satisfechas completamente y
se minimizó el número de cámaras requeridas aumentando el
beneficio y reduciendo el costo.
La utilización de software para la optimización es importante
en la medida que simplifica considerablemente el desarrollo de
la solución, haciendo operaciones que en el papel se vuelven
tediosas y entregando resultados en solo segundos.
REFERENCES
[1] David Canca and Ignacio Eguía and Jesús Racero
Construcción de modelos de programación lineal,
http://italica.us.es/asignaturas/Examenes
/Construcci%C3%B3n%20de%20modelos%20de%20
PL.pdf
Accesado: 01/11/2013.
x1
x2
x3 x4 x5 x6 x7 x8 x9 x10 x11 x12
1 1 1 1 0 1 0 1 1 1 0 0
Universidad de Antioquia. Agudelo Julián. Aplicación de programación lineal. 3 [2] Iván Cabezas and Juan D. Páez Matlab Toolbox de
optimización Aplicaciones en ciencias económicas
http://fce.unal.edu.co/wiki/images/e/ef/M
anual_optimizacion.pdf
Accesado: 01/11/2013