Sunteți pe pagina 1din 137

UNIVERSIDAD DE CHILE

FACULTAD DE CIENCIAS F

ISICAS Y MATEM

ATICAS
DEPARTAMENTO DE INGENIER

IA EL

ECTRICA
PLANIFICACI

ON

OPTIMA DE RECURSOS DE REDES
INAL

AMBRICAS CON CRITERIOS DE SATISFACCI

ON DE
USUARIOS
TESIS PARA OPTAR AL GRADO DE MAG

ISTER EN CIENCIAS DE LA
INGENIER

IA MENCI

ON EL

ECTRICA
MEMORIA PARA OPTAR AL T

ITULO DE INGENIERO CIVIL


ELECTRICISTA
PATRICIO ESTEBAN P

EREZ ALARC

ON
PROFESOR GU

IA:
PATRICIO PARADA SALGADO
MIEMBROS DE LA COMISI

ON:
JORGE SILVA SANCHEZ
CHRISTIAN OBERLI GRAF
SANTIAGO DE CHILE
ENERO 2011
RESUMEN DE LA TESIS PARA OPTAR AL T

ITULO
DE INGENIERO CIVIL ELECTRICISTA Y AL GRADO
DE MAG

ISTER EN CIENCIAS DE LA INGENIER

IA
MENCI

ON EL

ECTRICA
POR: PATRICIO P

EREZ ALARC

ON
FECHA: 21/01/2011
PROF. GU

IA: Sr. PATRICIO PARADA S.


PLANIFICACI

ON

OPTIMA DE RECURSOS DE REDES INAL

AMBRICAS
CON CRITERIOS DE SATISFACCI

ON DE USUARIOS
Los algoritmos de planicacion utilizados en las redes moviles, llamados tambien
de scheduling, focalizan sus esfuerzos en maximizar el throughput total del sistema. Las
variantes que consideran criterios de Calidad de Servicio, los incorporan como restricciones
al problema de optimizacion. Sin embargo, para sistemas congestionados y/o con recursos
escasos, no es posible satisfacer todas las restricciones.
En este trabajo se propone y eval ua una estrategia de scheduling centrada en maxi-
mizar el n umero de usuarios satisfechos del sistema. Se entiende esto ultimo como aquellos
que cumplen con sus requerimientos de tasa de datos promedio mnima, en una ventana
de tiempo determinado. El modelo considera la planicacion de los usuarios que utilizaran
los recursos disponibles en cada slot de tiempo, al comienzo de cada ventana de duracion
ja, y para toda esta. El problema es planteado como un problema de Optimizacion Con-
vexa, y es resuelto gracias a la ayuda del paquete de MATLAB para programacion convexa
disciplinada CVX.
Para evaluar la solucion propuesta, se simula un sistema real de comunicaciones
moviles compuesto por una estacion base y usuarios siendo servidos por esta. Como in-
dicadores de desempe no se considera la cantidad de usuarios satisfechos y el throughput
agregado del sistema en el tiempo simulado. Estos indicadores se comparan con los obtenidos
con los algoritmos tpicos de referencia: Maximum C/I, Proportional Fair y Round Robin, al
variar las variables de ancho de banda, n umero de usuarios, y cantidad de recursos a repar-
tir en cada slot de tiempo. Los resultados muestran que la estrategia propuesta mejora el
rendimiento del sistema bajo el criterio de usuarios satisfechos respecto de los otros algorit-
mos. Ademas, se observa que esta ganancia se obtiene sin sacricar en forma considerable la
eciencia en cuanto a throughput agregado del sistema. Por otro lado, la solucion es valida
para una cantidad alta de usuarios en el sistema, debido a las limitaciones que se presentan
en las soluciones para un n umero bajo de usuarios. Los resultados que se obtienen en las
simulaciones representan una cota maxima del rendimiento a obtener bajo este criterio,
debido a la consideracion determinstica del problema.
La aplicacion real derivada de este trabajo puede conducir a una estrategia de sche-
duling para ser usada como complemento a las otras, en situaciones crticas de demanda.
Agradecimientos
Injusto es tratar de agradecer a todos los que debo en una sola pagina, pero mas
injusto sera no hacerlo.
Quisiera en primer lugar agradecer a mis padres. No hay palabras que sean sucientes
para expresar toda la gratitud que siento por el amor, dedicacion y esfuerzo que han en-
tregado por sus hijos; gracias a ellos soy lo que soy. Gracias a mi hermana por su apoyo y
cari no durante toda mi vida, y por ser mi hermana y amiga a la vez.
Agradezco a mi profesor gua, Patricio Parada, por todo el tiempo que me dedico du-
rante los ultimos dos a nos y medio; gracias por haberme ense nado a hacer investigacion,
por haber sido profesor, gua y algunas veces incluso amigo. Quisiera agradecer tambien a
los profesores Jorge Silva y Christian Oberli, que con su experiencia ayudaron a nalizar
este trabajo.
Quiero agraceder a Javiera, por haberme acompa nado y apoyado durante gran parte
de estos siete a nos. A mis amigos de carrera: Sebastian, Oscar, Esperguel, Marco, Pereira,
Fabiola, Francisco y tantos otros, por los felices momentos compartidos durante mi estada
en la Universidad. A mis amigos de primer a no: Omar, Paulina, Tania, Kim y el resto
de los VIP, que hicieron que el reto de estudiar Ingeniera fuese un privilegio con su
compa na. Por ultimo, mis compa neros de laboratorio: Andres, Simon, Eduardo y Alex
(amigo y compa nero desde el primer a no), que soportaron todas mis locuras e hicieron
tremendamente grato hacer la tesis en la ocina.
Agradezco tambien la ayuda de Jaime Rojas. Su tiempo y dedicacion para aportar y
ense nar desde el punto de vista pr actico fue muy util en este trabajo.
No quiero olvidar a personas importantes que han estado desde antes de entrar a la
Universidad. Gracias por todos estos a nos de amistad a Camila y May-Ling, que mantu-
vieron su cari no pese a mi lejana, debido al poco tiempo libre disponible que implica
estudiar aca. Tambien me gustara agradecer a mi profesor de Fsica de la Ense nanza Me-
dia, Luis Pavez, por ser uno de los principales agentes motivadores para que yo entrara a
la FCFM.
Finalmente, quisiera agradecer el apoyo economico de CONICYT para la realizacion
de esta tesis, materializado en la beca con Folio 22100263.
A todos, muchas gracias.
i

Indice General
1. Introduccion 1
1.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2. Objetivos especcos . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Calidad de Servicio en Acceso Inalambrico de B.A. 5
2.1. Parametros de calidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Clases de traco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1. Servicios de Clase Conversacional . . . . . . . . . . . . . . . . . . . . 7
2.2.2. Servicios de Clase Streaming . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3. Servicios de Clase Interactiva . . . . . . . . . . . . . . . . . . . . . . 7
2.2.4. Servicios de Clase Background . . . . . . . . . . . . . . . . . . . . . 8
3. Modulacion y Codicacion Adaptativa 10
3.1. Sistema de Transmision Adaptativa . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. Tecnicas Adaptativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1. Tecnicas de tasa variable . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.2. Tecnicas de potencia variable . . . . . . . . . . . . . . . . . . . . . . 13
ii

INDICE GENERAL
3.2.3. Tecnicas de probabilidad de error variable . . . . . . . . . . . . . . . 14
3.2.4. Tecnicas de codicacion variable . . . . . . . . . . . . . . . . . . . . 14
3.2.5. Tecnicas hbridas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4. Algoritmos de Scheduling 16
4.1. Algoritmos basicos de scheduling . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.1. Round Robin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.2. Maximo C/I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.3. Proportional Fair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2. Funciones de Utilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3. Algoritmos basados en Programacion Dinamica . . . . . . . . . . . . . . . . 19
4.4. Otras estrategias de scheduling . . . . . . . . . . . . . . . . . . . . . . . . . 24
5. Optimizacion Convexa 26
5.1. Optimizacion Matematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2. Conjuntos y Funciones Convexas . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2.1. Conjuntos Convexos . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2.2. Funciones Convexas . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3. Problemas de Optimizacion Convexa . . . . . . . . . . . . . . . . . . . . . . 35
5.3.1. Fomulacion de la forma estandar . . . . . . . . . . . . . . . . . . . . 35
5.3.2. Casos Particulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.3.3. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.4. Algoritmos de Resolucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4.1. Algortimos de Minimizacion No Restringida . . . . . . . . . . . . . . 42
5.4.2. Algortimos de Minimizacion con Restricciones de Igualdad . . . . . 45
5.4.3. Metodos de Punto Interior . . . . . . . . . . . . . . . . . . . . . . . . 46
iii

INDICE GENERAL
6. Modelo del Sistema y Formalizacion del Problema 50
6.1. Funcion de Utilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2. Modelo del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.3. Formulacion del Problema de Optimizacion . . . . . . . . . . . . . . . . . . 55
7. Implementacion y Resultados de Simulaciones 58
7.1. Metodo de Solucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.2. Soluciones Obtenidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.3. Modelo del Canal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.3.1. Caractersticas de Sotware . . . . . . . . . . . . . . . . . . . . . . . . 59
7.3.2. Caractersticas del Modelo y Escenario de Prueba . . . . . . . . . . 61
7.4. Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.4.1. Variacion del ancho de banda . . . . . . . . . . . . . . . . . . . . . . 63
7.4.2. Variacion del n umero de usuarios . . . . . . . . . . . . . . . . . . . . 70
7.4.3. Variacion de cantidad de recursos disponibles . . . . . . . . . . . . . 76
8. Analisis de Resultados y Discusiones 81
8.1. Analisis de Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.2. Analisis de Rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.3. Analisis de Sensibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9. Conclusiones 91
A. Antecedentes Tecnologicos 99
A.1. Principios de WCDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.1.1. Principales parametros en WCDMA . . . . . . . . . . . . . . . . . . 99
A.1.2. Spreading y Despreading . . . . . . . . . . . . . . . . . . . . . . . . . 100
A.1.3. Canales de radio multitrayectoria y Rake Reception . . . . . . . . . . 102
iv

INDICE GENERAL
A.1.4. Control de Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A.1.5. Modulacion y Codigos Spreading y Scrambling . . . . . . . . . . . . 104
A.2. Principios de HSDPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
A.2.1. Canales Fsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
A.2.2. Adaptacion del enlace y throughput . . . . . . . . . . . . . . . . . . . 107
A.2.3. Capacidades de los terminales . . . . . . . . . . . . . . . . . . . . . . 108
B. Codigos 110
B.1. main bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
B.2. main users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
B.3. main resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
B.4. Huberneg cvx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
B.5. maximum CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
B.6. proportional fair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
B.7. round robin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
B.8. calculo h inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
B.9. calculo h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
B.10.Codigos Modicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
v

Indice de Figuras
3.1. Modelo del Sistema Adaptativo. . . . . . . . . . . . . . . . . . . . . . . . . 12
5.1. Ejemplos de conjuntos. A la izquierda un conjunto convexo; a la derecha, uno no
convexo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2. Grafo de una funcion convexa. . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3. Apreciacion graca de la condicion de primer orden. . . . . . . . . . . . . . 32
5.4. Interpretacion geometrica de un Problema de Programacion Lineal. . . . . . 38
5.5. Interpretacion geometrica del problema cuadratico . . . . . . . . . . . . . . 38
6.1. Graca de la funcion signo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2. Graca de la funcion sigmoide. . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.3. Variante negativa de Funcion de Penalizacion de Huber. . . . . . . . . . . . 53
7.1. Proceso del Modelamiento del Canal con WINNER Phase II. . . . . . . . . 60
7.2. N umero de usuarios satisfechos para W=5000[KHz]. . . . . . . . . . . . . . 63
7.3. Throughput agregado para W=5000[kHz]. . . . . . . . . . . . . . . . . . . . 64
7.4. N umero de usuarios satisfechos para W=4000[KHz]. . . . . . . . . . . . . . 64
7.5. Throughput agregado para W=4000[kHz]. . . . . . . . . . . . . . . . . . . . 65
7.6. N umero de usuarios satisfechos para W=3000[KHz]. . . . . . . . . . . . . . 65
7.7. Throughput agregado para W=3000[kHz]. . . . . . . . . . . . . . . . . . . . 66
7.8. N umero de usuarios satisfechos para W=2000[KHz]. . . . . . . . . . . . . . 66
vi

INDICE DE FIGURAS
7.9. Throughput agregado para W=2000[kHz]. . . . . . . . . . . . . . . . . . . . 67
7.10. N umero de usuarios satisfechos para W=1000[KHz]. . . . . . . . . . . . . . 67
7.11. Throughput agregado para W=1000[kHz]. . . . . . . . . . . . . . . . . . . . 68
7.12. N umero de usuarios satisfechos para W=500[KHz]. . . . . . . . . . . . . . . 68
7.13. Throughput agregado para W=500[kHz]. . . . . . . . . . . . . . . . . . . . . 69
7.14. N umero de usuarios satisfechos para M=35. . . . . . . . . . . . . . . . . . . 70
7.15. Throughput agregado para M=35. . . . . . . . . . . . . . . . . . . . . . . . 70
7.16. N umero de usuarios satisfechos para M=25. . . . . . . . . . . . . . . . . . . 71
7.17. Throughput agregado para M=25. . . . . . . . . . . . . . . . . . . . . . . . 71
7.18. N umero de usuarios satisfechos para M=20. . . . . . . . . . . . . . . . . . . 72
7.19. Throughput agregado para M=20. . . . . . . . . . . . . . . . . . . . . . . . 72
7.20. N umero de usuarios satisfechos para M=15. . . . . . . . . . . . . . . . . . . 73
7.21. Throughput agregado para M=15. . . . . . . . . . . . . . . . . . . . . . . . 73
7.22. N umero de usuarios satisfechos para M=10. . . . . . . . . . . . . . . . . . . 74
7.23. Throughput agregado para M=10. . . . . . . . . . . . . . . . . . . . . . . . 74
7.24. N umero de usuarios satisfechos para M=5. . . . . . . . . . . . . . . . . . . . 75
7.25. Throughput agregado para M=5. . . . . . . . . . . . . . . . . . . . . . . . . 75
7.26. N umero de usuarios satisfechos para C=1. . . . . . . . . . . . . . . . . . . . 76
7.27. Throughput agregado para C=1. . . . . . . . . . . . . . . . . . . . . . . . . 76
7.28. N umero de usuarios satisfechos para C=2. . . . . . . . . . . . . . . . . . . . 77
7.29. Throughput agregado para C=2. . . . . . . . . . . . . . . . . . . . . . . . . 77
7.30. N umero de usuarios satisfechos para C=3. . . . . . . . . . . . . . . . . . . . 78
7.31. Throughput agregado para C=3. . . . . . . . . . . . . . . . . . . . . . . . . 78
7.32. N umero de usuarios satisfechos para C=4. . . . . . . . . . . . . . . . . . . . 79
7.33. Throughput agregado para C=4. . . . . . . . . . . . . . . . . . . . . . . . . 79
vii

INDICE DE FIGURAS
7.34. N umero de usuarios satisfechos para C=5. . . . . . . . . . . . . . . . . . . . 80
7.35. Throughput agregado para C=5. . . . . . . . . . . . . . . . . . . . . . . . . 80
8.1. Tendencia del n umero de iteraciones respecto del tama no del problema. . . 82
8.2. Porcentaje de rendimiento respecto a la mejor otra opcion, modicando ancho
de banda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.3. Porcentaje de rendimiento respecto a la mejor otra opcion, modicando
n umero de usuarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.4. Porcentaje de rendimiento respecto a la mejor otra opcion, modicando los
recursos disponibles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.1. Utilizacion del espectro en la banda de 2GHz en las diferentes regiones . . . 100
A.2. Proceso de Spreading y Despreading en WCDMA . . . . . . . . . . . . . . . 101
A.3. Principio de correlacion en el receptor . . . . . . . . . . . . . . . . . . . . . 102
A.4. Relacion entre el proceso de Spreading y Scrambling . . . . . . . . . . . . . 104
A.5. Esquema del arbol de codigos de canalizacion. . . . . . . . . . . . . . . . . . 105
A.6. Esquema de los canales fsicos relevantes en HSDPA . . . . . . . . . . . . . 106
A.7. Ejemplo del funcionamiento de la adaptacion del enlace . . . . . . . . . . . 108
viii

Indice de Tablas
2.1. Desempe no esperado para servicios de Clase Conversacional. . . . . . . . . . 8
2.2. Desempe no esperado para servicios de Clase Streaming. . . . . . . . . . . . 9
2.3. Desempe no esperado para servicios de Clase Interactiva. . . . . . . . . . . . 9
4.1. Diferentes funciones de Utilidad seg un el scheduler usado, caso HSDPA. . . 18
8.1. Valores promedio de n umero de iteraciones para distintos tama nos del prob-
lema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.2. Comparacion porcentual respecto a la mejor opcion, modicando ancho de
banda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.3. Comparacion porcentual respecto a la mejor opcion, modicando el n umero
de usuarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.4. Comparacion porcentual respecto a la mejor opcion, modicando los recursos
disponibles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.1. Caractersticas de las categoras de los terminales. . . . . . . . . . . . . . . 109
ix
Lista de Acr onimos
3G Tercera Generacion
3GPP 3rd Generation Partnership Proyect
AMC Modulacion y Codicacion Adaptativa (Adaptive Modulation and Coding)
AWGN Ruido Aditivo Blanco y Gaussiano (Additive White Gaussian Noise)
BER Tasa de Error por BIT (Bit Error Rate)
BS Estacion Base (Base Station)
BPSK Modulacion Binaria por Desplazamiento de Fase (Binary Phase-Shift Keying)
CDMA Acceso M ultiple por Division de Codigo (Code Division Multiple Access)
FER Tasa de Error por Trama (Frame Error Rate)
f.d.p. Funcion Densidad de Probabilidad
FTP Protocolo de Transferencia de Archivos (File Transfer Protocol )
GMSK Gaussian Minimum Shift Keying
GPS Sistema de Posicionamiento Global (Global Positioning System)
GSM Global System for Mobile Communications
HSDPA High Speed Downlink Packet Access
ITU Union Internacional de Telecomunicaciones (International Telecommunication Union)
MS Estacion Movil (Mobile Station)
NLOS Fuera de la Lnea de Vision (Non Line of Sight)
OFDM Orthogonal Frequency-Division Multiplexing
PPL Problema de Programacion Lineal
PSK Modulacion por Desplazamiento de Fase (Phase-Shift Keying)
QAM Modulacion de Amplitud en Cuadratura (Quadrature Amplitude Modulation)
QoS Calidad de Servicio (Quality of Service)
SINR Razon Se nal e Interferencia a Ruido (Signal to Interference and Noise Ratio)
SIR Razon Se nal a Interferencia (Signal to Interference Ratio)
SNR Razon Se nal a Ruido (Signal to Noise Ratio)
TTI Intervalo de Tiempo de Transmision (Transmission Time Interval )
VIA Algoritmo de Iteracion de Valor (Value Iteration Algorithm)
WCDMA Wideband Code Division Multiple Access
x
Captulo 1
Introducci on
1.1. Motivaci on
Uno de los principales problemas en sistemas donde existe una capacidad ja, y m ulti-
ples usuarios accediendo a esta, es como compartir los recursos entre ellos. Los sistemas de
comunicaciones, y en particular los moviles, no escapan a este problema, ya que presentan
un escenario en donde los recursos de red (sean codigos o bandas de frecuencias) son limi-
tados y deben ser compartidos entre todos los usuarios que desean acceder al medio. Si a
esto se suma que las caractersticas y demandas de estos usuarios son distintas, y variables
en el tiempo, el problema se hace mas complejo de resolver.
Algo que agrega dicultad al problema es una propiedad com un y conocida del canal
inalambrico, que es la variacion de sus caractersticas, tanto en el dominio del tiempo como
en el de frecuencia, debido a los fenomenos de desvanecimiento [1, 2]. En lugar de ver este
fenomeno como algo negativo, es posible obtener ganancias de diversidad del canal [2].
Es as como el estado del canal es una variable de entrada para la accion de planicar y/o
asignar los recursos de la red (conocido como scheduling) y poder, de esta forma, modicar el
canal efectivo que percibe el agente encargado de realizar la labor de scheduling (scheduler).
Es por lo anterior que las nuevas tecnologas moviles, como por ejemplo las basadas en
el estandar de la ITU IMT-2000 (International Mobile Telephony 2000) [3], han adoptado
el metodo de realizar la planicaci on de usuarios basados en la calidad del canal y as poder
lograr altas tasas de transferencia de datos [46]. El principio basico es dividir el canal en
el tiempo a traves de slots de duracion ja. Luego, al comienzo de cada uno de estos, se
debe decidir cual o cuales usuarios haran uso de los recursos disponibles para transmitir sus
tramas de datos. Para tomar esta decision se debe tener en cuenta, ademas de la calidad del
canal de cada usuario en ese instante (que es estimada a partir de la informacion entregada
1
CAP

ITULO 1. INTRODUCCI

ON
por el movil (MS) a la estacion base (BS)), las capacidades del MS. Adicionalmente, se debe
considerar que los usuarios estan haciendo uso de la red para diferentes servicios, cada uno
con diferentes requisitos de calidad de servicio (Quality of Service (QoS)), los cuales deben
ser considerados en la asignacion de modo que sean satisfechos.
La investigacion actual en el problema de scheduling en redes inalambricas ha seguido
dos lneas de desarrollo: una centrada en la caracterizacion de funciones de utilidad [7], y
otra centrada en el rendimiento del sistema completo. En el primer enfoque, lo mas habitual
es maximizar throughput total de la celda [8,9], medido como una funcion no decreciente con
el valor de la SINR (Signal to Interference and Noise Ratio o Razon Se nal a Interferencia
y Ruido) [7]. El criterio de rendimiento del sistema en una ventana de tiempo dada (siendo
esta nita o innita), plantea el problema como uno de Programacion Dinamica [1012],
y que maximiza una funcion de utilidad que representa el comportamiento deseado del
sistema. Tambien es posible ver casos [13] donde se desarrolla un algoritmo para el caso
particular de asignacion de frecuencias, cuyo objetivo principal es maximizar el throughput
del sistema, sujeto a la restriccion de cumplir con restricciones de tasa mnima y equidad
entre los usuarios.
Desde el punto de vista de los operadores, en este trabajo se supone que lo que se
desea es tener la mayor cantidad de usuarios satisfechos, entendiendose por este termino
aquellos que cumplen con los requerimientos mnimos de calidad de servicio. Esto permite
obtener la mayor cantidad de usuarios cumpliendo un requerimiento mnimo, y as aumentar
los retornos de la empresa. En este trabajo se desarrolla un metodo de planicacion de
recursos que maximiza el total de usuarios percibiendo satisfaccion, bajo la consigna que
el operador preere aquellas soluciones donde es mejor tener dos usuarios mnimamente
satisfechos, que uno de ellos con una calidad de servicio muy por encima del requerimiento
mnimo. Esta propuesta ademas se justica por el hecho que cuando el sistema se encuentra
muy congestionado, los algoritmos que existen en la literatura no son capaces de cumplir
con las restricciones de calidad de servicio de todos los usuarios impuestas al problema, ya
que no existen los recursos sucientes para ello, haciendo la solucion del problema infactible.
El objetivo de este trabajo es que el algoritmo desarrollado logre obtener el mayor n umero
de clientes con requerimientos mnimos satisfechos, en este tipo de escenarios, en ventanas
jas de tiempo.
2
CAP

ITULO 1. INTRODUCCI

ON
1.2. Objetivos
1.2.1. Objetivo general
El objetivo principal del presente trabajo de tesis es contribuir a las estrategias de
scheduling usadas en redes inalambricas, con el desarrollo de una que maximice el n umero
total de usuarios satisfechos en el sistema, entendiendose este tipo de usuario como aquel
que cumple con un requesito de tasa de datos promedio mnima dada. Se espera encontrar
y proponer un metodo de planicacion que resuelva el problema de optimizacion con los
criterios mencionados, y que sea el primer paso para poderlo implementar en la practica
en situaciones de congestion con alto n umero de usuarios. Para validarlo se realizara una
simulacion de un caso real que se aproxime a alg un tipo de tecnologa movil existente en la
actualidad.
1.2.2. Objetivos especcos
Los objetivos especcos planteados para este trabajo son:
Realizar una revision bibliograca de los algoritmos de scheduling en redes inalambri-
cas.
Dise nar la funcion de utilidad y las restricciones que representen de manera acertada
las condiciones planteadas en el objetivo general.
Formular el problema como uno de Optimizacion Convexa.
Resolver el problema en tiempo real con la ayuda del paquete de Software de Progra-
macion Convexa Disciplinada, CVX [14].
Validar el algoritmo mediante la simulacion de un caso que se aproxime a la realidad,
considerando codigos como recursos para acceder al medio.
1.3. Estructura del documento
Este trabajo de tesis esta compuesto por una serie de captulos que aportan infor-
macion de modo que este pueda ser entendido de forma autocontenida. En los primeros
captulos se entrega la informacion necesaria para poder comprender los aspectos esenciales
que motivan el problema. Luego, se presenta la metodologa y posterior formalizacion del
3
CAP

ITULO 1. INTRODUCCI

ON
problema. Finalmente los ultimos captulos presentan los principales resultados, analisis y
conclusiones obtenidos.
En el Captulo 2, se presentan los aspectos generales de la Calidad de Servicio para
redes de Banda Ancha, lo que permite entender porque es necesario diferenciar lo recur-
sos entregados a los usuarios seg un sus requerimientos. En el Captulo 3 se exponen los
principales antecedentes teoricos de las tecnicas de modulacion y codicacion adaptiva, que
aporta informacion suciente para visualizar la importancia del canal inalambrico en el de-
sempe no nal obtenido. En el Captulo 4 se realiza una revision bibliograca que concierne
a los algoritmos de scheduling. Se muestran las principales maneras en que se ha abordado
el problema. Los antecedentes basicos teoricos de Optimizacion Convexa, metodo usado
para reolver el problema planteado, es presentado en el Captulo 5. El Captulo 6 expone la
metodologa, modelacion y formulacion del problema. La solucion al problema, las condi-
ciones escogidas para la simulacion, y los principales resultados obtenidos, son mostrados
en el Captulo 7. Finalmente, en los Captulos 8 y 9 se desarrollan y exponen los principales
analisis y conclusiones, respectivamente.
4
Captulo 2
Calidad de Servicio en Acceso
Inalambrico de Banda Ancha
En los Sistemas de Comunicaciones de hoy orientados al usuario, la Calidad de Ser-
vicio (QoS) adquiere un papel relevante al momento de dise nar y desplegar las redes. La
satisfaccion del usuario que accede al servicio esta directamente relacionada con la percep-
cion que tiene sobre este ultimo. Es por esto que, aunque se habla de Calidad de Servicio a
distintos niveles o capas, la QoS desde el punto de vista del usuario adquiere una relevancia
mayor al trabajar con servicios de comunicaciones moviles.
Actualmente la redes transportan diferentes tipos de tracos, cada uno con su propio
conjunto de requerimientos de las aplicaciones que los concierne. Estos tipos de requeri-
mientos pueden estar relacionados a tasa de datos, sensibilidad al delay de paquetes o a la
perdida o corrupcion de paquetes, por ejemplo. Es por ello que surje la necesidad de dife-
renciar y priorizar los paquetes para que de esta forma puedan cumplir con sus necesidades.
Entregar un servicio con QoS se reere a esta practica.
2.1. Parametros de calidad
Se han establecido una serie de parametros indicadores de calidad como una forma de
establecer criterios de convergencia en este tema, y que permiten cuanticar la percepcion
del servicio por parte del usuario. Dentro de estos, los mas importantes y usados son la tasa
de datos, delay, jitter y la perdida de informacion [15].
Tasa de Datos: Uno de los principales aspectos que determina la entrega de un servicio es
la tasa de datos mnima requerida. En gran parte de los servicios multimedia existe un
5
CAP

ITULO 2. CALIDAD DE SERVICIO EN ACCESO INAL

AMBRICO DE B.A.
valor de tasa o throughput mnimo que se debe satisfacer para que se pueda entregar el
servicio con una calidad mnima aceptable. Bajo este valor, al usuario le es indiferente
el acceso o no al mismo.
Delay: Describe el retraso con que llegan los paquetes al usuario. Tiene un alto impacto
en la satisfaccion del usuario en las aplicaciones que lo consideran. Incluye el retraso
que pueda existir tanto en el terminal como en la red y en alg un servidor.
Jitter: Se le denomina jitter a la variacion del tiempo de retraso, que tambien es posible.
Servicios que son altamente intolerantes a la variacion de delay tomaran acciones de
manera de remover este por medio del buering, aunque este ultimo agregue un delay
de valor jo.
Perdida de informacion: Afecta directamente a la calidad de la informacion que nal-
mente llega al usuario, como la voz, imagen o video. No solo considera los errores
de bits o perdidas de paquetes, sino que tambien considera los efectos de degradacion
introducida, por ejemplo, por codicadores que buscan aumentar la eciencia de trans-
mision.
2.2. Clases de traco
Es importante darse cuenta que la QoS para servicios entregados en interfaz aerea no
puede ser la misma que la para los servicios mediante interfaz ja. La redes inalambricas
aumentan la posiblidad de error en la entrega de paquetes, por lo que los metodos para dar
QoS deben ser mas robustos.
Existe un relativo concenso entre los diferentes grupos de estandarizacion para
clasicar los tipos de tracos [16, 17]. Inicialmente exista una forma simplista de clasi-
cacion, la cual agrupaba los servicios de acuerdo a si estos eran sensibles al tiempo o no
(tambien llamado traco elastico). Sin embargo, una propuesta de clasicacion que es mas
usada y aceptada en la actualidad, dene cuatro clases de traco: Clase Conversacional,
Clase Streaming, Clase Interactiva y Clase Background [16, 17]. El principal factor que dis-
tingue a estas clases es la sensibilidad al delay. Mientras que en las primeras dos clases
estan destinadas a transportar traco de servicios en tiempo real (como video, telefona),
las dos ultimas estan destinadas a aplicaciones con bajos requerimientos de delay (como
e-mail, FTP y WWW), y, por lo tanto, pueden usar esquemas de codicacion de canal para
disminuir la tasa de error.
6
CAP

ITULO 2. CALIDAD DE SERVICIO EN ACCESO INAL

AMBRICO DE B.A.
2.2.1. Servicios de Clase Conversacional
La conversacion telefonica es el ejemplo mas conocido de esta clase. Sin embargo, la
explosion de Internet y Multimedia han provocado la aparicion de nuevos servicios de esta
clase, como por ejemplo Voz sobre IP y Video Conferencia.

Esta es la unica clase donde
las caractersticas requeridas son estrictamente entregadas por la percepcion del usuario.
Las conversaciones en tiempo real estan caracterizadas por un tiempo de tranferencia que
debe ser bajo debido a la naturaleza del servicio, al igual que la necesidad de mantener
constante este tiempo. El maximo tiempo de delay esta dado por la percepcion humana en
video y audio de conversacion. Es por este motivo que el valor del delay aceptable debe ser
muy estricto, ya que el no proveer de un valor suciente, resulta en una perdida de calidad
signicativa. Las caractersticas fundamentales de esta clase son mantener la variacion del
delay y un valor bajo de este ultimo.
2.2.2. Servicios de Clase Streaming
Esta clase incluye los servicios en los cuales el usuario esta observando (escuchando)
un video (con audio) gracias a un stream de datos en tiempo real. Este tipo de traco siempre
tiene como destinatario a un ser humano, y tiene solo una direccion.

Esta es una clase nueva,
que aparecio debido a los nuevos servicios multimedia y que, por lo tanto, desencadeno la
creacion de nuevos requerimientos. Estos servicios necesitan mantener constante la variacion
en la relacion temporal que existe entre los actores que se estan comunicando. Sin embargo,
no requiere estrictamente de un delay bajo, debido a que tienen la capacidad de ajustar el
tiempo en funcion de la aplicacion y el usuario nal. La caracterstica principal es mantener
la variacion del delay entre los entes que se estan comunicando.
2.2.3. Servicios de Clase Interactiva
Esta clase aplica cuando el usuario nal, ya sea un ser humano o una maquina, deman-
da datos en lnea, desde un equipo remoto. Ejemplos de interaccion humana con equipos
remotos son: navegacion web, recuperacion de datos desde una base de datos o acceso a
un servidor. Un ejemplo de interaccion entre maquina y equipo remoto son preguntas au-
tomaticas a base de datos (telemaquinas), al igual que lo es el servicio GPS. Este tipo de
comunicaciones esta caracterizado por la existencia de un patron de peticion de respuesta
desde el lado del usuario nal. Es por ello que siempre hay una entidad del lado del usuario
nal esperando una respuesta dentro de un cierto tiempo, por lo que el tiempo ida y vuelta
cobra relevancia. Ademas, los datos deben tener una tasa de error de bit baja. Esta clase,
por lo tanto, se encuentra caracterizada por el requerimiento de un patron de respuesta, y
7
CAP

ITULO 2. CALIDAD DE SERVICIO EN ACCESO INAL

AMBRICO DE B.A.
Medio Aplicacion Grado de
Simetra
Tasa
de
Datos
Parametros de rendimiento clave
y valores objetivos
Delay End
to End, un
recorrido
Variacion
de delay
dentro de
celda
Perdida de
informacion
Audio Conversacion ida y vuelta 4-25
[kbit/s]
<150 ms
preferencia
<400 ms
lmite
<1 ms <3 % FER
Video Videollamada ida y vuelta 32-384
[kbit/s]
<150 ms
preferencia
<400 ms
lmite
<1 % FER
Datos Juegos
Interactivos
ida y vuelta <250 ms NA Cero
Datos Telnet ida y vuelta
(asimetrico)
<250 ms NA Cero
Tabla 2.1: Desempe no esperado para servicios de Clase Conversacional.
por preservar la calidad del contenido (baja tasa de error).
2.2.4. Servicios de Clase Background
Los servicios que en esta clase de traco son aquellos en que el usuario nal, tpi-
camente un computador, enva y recibe archivos de datos en un estado pasivo, es decir,
cuando el destinatario no espera la respuesta o los datos dentro de un cierto tiempo. Este
tipo de traco, se dice, es mas o menos insensible al tiempo de entrega. Ademas, se quiere
que la entrega de datos sea limpia (baja tasa de error). Ejemplos de este tipo de traco
son: entrega de emails, SMS, descarga desde una base de datos, recepcion de grabaciones de
datos medidas, y descarga de actualizacion de Software. Estos servicios estan caracterizados
entonces, por requerir baja tasa de error, pero sin esperar datos o respuestas en un tiempo
jo determinado.
En las tablas 2.1, 2.2 y 2.3, se pueden ver el desempe no esperado para servicios de las
3 primeras clases.
8
CAP

ITULO 2. CALIDAD DE SERVICIO EN ACCESO INAL

AMBRICO DE B.A.
Medio Aplicacion Grado de
Simetra
Tasa
de
Datos
Parametros de rendimiento clave
y valores objetivos
Delay al
comenzar
Variacion
Delay en
transporte
Perdida de
paquetes,
nivel sesion
Audio Habla, mezcla
habla con
m usica, m usica
alta calidad
one way 5-128
[kbit/s]
<10 s <2 s <1 % Tasa
perdida de
paquetes
Video Pelculas,
vigilancia,
videos tiempo
real
one way 20-384
[kbit/s]
<10 s <2 s <2 % Tasa
perdida de
paquetes
Datos Grandes
transferencias
de datos,
recuperacion y
sinc. de info.
one way <384
[kbit/s]
<10 s NA Cero
Datos Imagenes
quietas
one way <10 s NA Cero
Tabla 2.2: Desempe no esperado para servicios de Clase Streaming.
Medio Aplicacion Grado
de
Simetra
Tasa
de
Datos
Parametros de rendimiento clave y
valores objetivos
Delay un
sentido
Variacion
Delay
Perdida de
informacion
Audio Mensajera
de voz
one way 4-13
[kbit/s]
<1 s
(reproduccion)
<2 s
(grabacion)
<1 ms <3 % FER
Datos Navegacion
Web-HTML
one way <4 s/pag. NA Cero
Datos Servicios de
transaccion
alta
prioridad,
comercio
electronico
one way <4 s NA Cero
Datos E-mail
(acceso al
servidor)
one way <4 s NA Cero
Tabla 2.3: Desempe no esperado para servicios de Clase Interactiva.
9
Captulo 3
Modulacion y Codicacion
Adaptativa
La modulacion y codicacion adaptativa (AMC, del ingles: Adaptive Modulation and
Coding) es una tecnica empleada en sistemas de comunicaciones inalambricas que permite
obtener transmisiones espectralmente ecientes en un canal con desvanecimiento plano.
La idea principal es estimar la atenuacion introducida por el canal, y retroalimentar esta
informacion al transmisor, de manera que este pueda adaptar su esquema de transmision
(tipo de modulacion y codicacion) a las caractersticas del canal. De esta forma, la AMC
permite obtener mejoras como un aumento en el throughput promedio, disminucion de la
potencia transmitida requerida, y una reduccion de la tasa de error por bit (BER). El
contenido de esta seccion esta basado en el Captulo 9 de [2].
Las tecnicas de modulacion y codicacion que no se adaptan a las condiciones del canal
requieren de un margen de enlace jo para mantener un desempe no aceptable en situaciones
cuando la calidad del canal es pobre. Es por ello que estos esquemas estan dise nados para
el peor caso de las condiciones de canal, dando como resultado una utilizacion ineciente
de los recursos. Al contrario, AMC toma ventaja de las condiciones favorables del canal
para enviar un alto throughput o disminuir la potencia transmitida, as como tambien para
reducir la tasa de transmision o aumentar la potencia de la se nal a transmitir cuando las
condiciones del canal se degradan.
Es necesario que se cumplan algunas condiciones para poder usar AMC. Una de
ellas es la limitante del hardware; los sistemas de transmision deben poseer las capacidades
fsicas necesarias para realizar los cambios de esquemas en la velocidad que el servicio lo
requiere. Ademas, se debe poseer un enlace que permita realizar la retroalimentacion de
la informacion, que en muchos sistema no se da. Como es un sistema que se adapta a las
10
CAP

ITULO 3. MODULACI

ON Y CODIFICACI

ON ADAPTATIVA
variaciones del canal, es necesario ademas, que estas ultimas se produzcan en un tiempo
factible en el que el cambio de esquema tenga sentido, ya que si no es as, dara como
resultado un desempe no deciente. Lo anterior se traduce en que el tiempo de coherencia
del canal debe ser mayor al tiempo en que el canal es estimado y retroalimentado, para
que el esquema este adaptado efectivamente al canal por el que nalmente es transmitida
la informacion.
3.1. Sistema de Transmision Adaptativa
El Sistema de Transmision Adaptativa puede ser representado por el modelo del canal
con desvanecimiento plano la gura 3.1. En este, se asume una modulacion lineal en donde
cada adaptacion se realiza en un instante que es m ultiplo de la tasa de smbolo R
s
= 1/T
s
,
y ademas que usan pulsos ideales de Nyquist, sinc(t/T
s
), tal que el ancho de banda de la
se nal es B = 1/T
s
. El canal se modela como uno de tiempo discreto, donde cada uso de este
se realiza en un tiempo de smbolo T
s
. El canal tiene una ganancia
_
g[i], estacionaria y
variante en el tiempo, con f.d.p. p(g), y un AWGN n[i], con densidad espectral de potencia
N
o
/2. La SNR instantanea recibida se puede expresar como
[i] =

Sg[i]
(N
o
B)
(3.1)
con 0 [i] < , y su valor esperado como
=

S g
(N
o
B)
. (3.2)
En ambas relaciones,

S denota la potencia promedio de la se nal transmitida, y g la ganancia
promedio del canal. La f.d.p de [i] se denota como p().
En transmision adaptativa, se ajustan los parametros de modulacion y codicacion
de acuerdo al valor de la SNR estimada en el instante i. Este valor se denota como
[i] =

S g[i]
(N
o
B)
(3.3)
el cual se basa en el valor de la ganancia de canal estimada g[i]. Los parametros adaptables
mas comunes son la tasa de datos R( [i]) = R[i], la potencia de transmision S( [i]) = S[i]
y los parametros de codicacion C( [i]) = C[i]. La potencia recibida puede expresarse
entonces, en el instante i, como [i]
S( [i])

S
.
En el modelo de la gura 3.1, se asume que la estimacion [i] de la ganancia del
canal [i] esta disponible en el receptor con un retraso i
e
. Luego, este mismo valor es
11
CAP

ITULO 3. MODULACI

ON Y CODIFICACI

ON ADAPTATIVA
constraints such as voice or video may be signicantly compromised. Thus, in delay-constrained applications the
adaptive modulation should be optimized to minimize outage probability for a xed data rate [17].
9.1 Adaptive Transmission System
In this section we describe the system associated with adaptive transmission. The model is the same as the model
of Chapter 4.2.1 used to determine the capacity of at-fading channels. We assume linear modulation where the
adaptation that takes place at a multiple of the symbol rate R
s
= 1/T
s
. We also assume the modulation uses
ideal Nyquist data pulses (sinc[t/T
s
]), so the signal bandwidth B = 1/T
s
. We model the at-fading channel as a
discrete-time channel where each channel use corresponds to one symbol time T
s
. The channel has stationary and
ergodic time-varying gain

g[i] that follows a given distribution p(g) and AWGNn[i], with power spectral density
N
0
/2. Let S denote the average transmit signal power, B = 1/T
s
denote the received signal bandwidth, and g
denote the average channel gain. The instantaneous received SNR is then [i] = Sg[i]/(N
0
B), 0 [i] < , and
its expected value over all time is = Sg/(N
0
B). Since g[i] is stationary, the distribution of [i] is independent
of i, and we denote this distribution by p().
In adaptive transmission we estimate the power gain or received SNR at time i and adapt the modulation
and coding parameters accordingly. The most common parameters to adapt are the data rate R[i], transmit power
S[i], and coding parameters C[i]. For M-ary modulation the data rate R[i] = log
2
M[i]/T
s
= Blog
2
M[i] bps.
The spectral efciency of the M-ary modulation is R[i]/B = log
2
M[i] bps/Hz. We denote the SNR estimate
as [i] = S g[i]/(N
0
B), which is based on the power gain estimate g[i]. Suppose the transmit power is adapted
relative to [i]. We denote this adaptive transmit power at time i by S( [i]) = S[i] and the received power at
time i is then [i]
S( [i])
S
. Similarly, we can adapt the data rate of the modulation R( [i]) = R[i] and/or the coding
parameters C( [i]) = C[i] relative to the estimate [i]. When the context is clear, we will omit the time reference
i relative to , S(), R(), and C().
The system model is illustrated in Figure 9.1. We assume that an estimate g[i] of the channel power gain g[i]
at time i is available to the receiver after an estimation time delay of i
e
and that this same estimate is available
to the transmitter after a combined estimation and feedback path delay of i
d
= i
e
+ i
f
. The availability of this
channel information at the transmitter allows it to adapt its transmission scheme relative to the channel variation.
The adaptive strategy may take into account the estimation error and delay in g[i] or it may treat g[i] as the true
gain: this issue will be discussed in more detail in Section 9.3.7. We assume that the feedback path does not
introduce any errors, which is a reasonable assumption if strong error correction and detection codes are used on
the feedback path and packets associated with detected errors are retransmitted.
^
g[i]
T C RECE
r[i] Control de
Potencia
S[i]
x[i]
^
r[i]
y[i]
n[i] g[i]
Delay
Delay:
Error:
Estimador de Canal
Demodulacin y
Decodificacin
^
g[i]
Modulacin
y Codificacin
Adaptativa
R[i],C[i]
f
i
i
e
Figure 9.1: System Model.
264
Figura 3.1: Modelo del Sistema Adaptativo.
informado al transmisor por un canal de retroalimentacion, llegando con un retraso total
i
d
= i
e
+ i
f
. El transmisor dispone entonces de la informacion del canal para elegir la
estrategia de adaptacion, considerando que [i] es la ganancia real del canal, o que esta es
una estimacion, con su respectivo error y retraso i
d
.
Es importante destacar el hecho que la tasa de estimacion del canal debe ir acorde a la
velocidad con que vara este. Cuando esta ganancia considera tanto los efectos de desvaneci-
miento rapido como los de desvenicimiento lento, la transmision adaptativa puede ajustarse
a ambos, siempre y cuando la ganancia vare de forma sucientemente lenta. En particu-
lar, si la ganancia corresponde a efectos de desvanecimiento sombra y desvanecimientos por
multitrayectoria, a bajas velocidades el primer termino es relativamente constante, mientras
que el segundo vara lo sucientemente lento para que el transmisor pueda recibir el valor
estimado con un error y retraso que no degrada el desempe no en forma signicativa. Por el
contrario, a altas velocidades, no es posible estimar y retroalimentar de forma util la varia-
ciones del desvanecimiento por trayectoria, siendo la trasmision adaptativa una respuesta
solo a los efectos de shadowing. En este caso la probabilidad de error en la modulacion debe
ser promediada sobre la distribuci on del desvanecimiento rapido.
3.2. Tecnicas Adaptativas
A continuacion, se describen la tecnicas adaptativas asociadas a la variacion de los
parametros mas comunes, con respecto al valor de la SNR estimada.
12
CAP

ITULO 3. MODULACI

ON Y CODIFICACI

ON ADAPTATIVA
3.2.1. Tecnicas de tasa variable
En esta tecnica, se vara la tasa de datos R[] en funcion del valor de . Se puede
variar la tasa de dos maneras: jando el esquema de modulacion (e.g. BPSK) y variando la
tasa de smbolo R
s
= 1/T
s
, o manteniendo la tasa de smbolos ja y variando el esquema
de modulacion empleado. El primero es inviable desde el punto de vista practico, ya que
altera el ancho de banda de la se nal y complica la distribucion y reparto del ancho de
banda. Por ello es que la segunda alternativa es la usada por los sistemas actuales, en donde
se cambia ya sea el tama no de la costelacion o el tipo de modulacion, con el objetivo de
variar el n umero de bits por smbolos a enviar. Por ejemplo en el sistema celular GSM, la
modulacion vara entre 8PSK y GMSK [18]. Otro ejemplo se encuentra en la tecnologa 3G
HSDPA [5], donde se usan los esquemas QPSK, 16-QAM y 64-QAM como ultima variante,
con el objetivo de aumentar a un mas la tasa de transmision.
Cuando se usa un conjunto discreto y nito de esquemas de modulacion, es necesario
mapear cada valor de a uno de estos posibles esquemas, con el objetivo de mantener la
probabilidad de error por bit acotada en un cierto valor.
3.2.2. Tecnicas de potencia variable
Adaptacion de potencia se usa en general para compensar las variaciones de la SNR
debido a los desvanecimientos. Se busca con esto mantener constante una cierta probabilidad
de error por bit, o lo que es lo mismo, mantener constante el valor de la SNR recibida. Esta
tecnica utiliza la inversion del canal
1
para hacer aparecer este como uno de tipo AWGN.
La adaptacion de potencia por inversion esta dada por
S()

S
=

, (3.4)
en donde representa el valor objetivo de la SNR costante en el receptor. Ademas, se debe
cumplir la restriccion
_
S()

S
p()d =
_

p()d = 1. (3.5)
Resolviendo la ecuacion anterior se llega a =
1
E(1/)
, la cual queda determinada por
p() por medio de

S. En los casos donde el BER deseado es mayor
1
E(1/)
, no se puede
1
La inversi on del canal consiste en una tecnica de adaptaci on de potencia con el objetivo de mantener
constante la potencia en el receptor. Se basa en el principio que el receptor conoce la ganancia del canal, y
que tanto el transmisor como el receptor conocen la f.d.p. de esta ganancia. Con esta adaptacion, se logra
que el canal sea visto como un canal AWGN variante en el tiempo, desde el punto de vista del codicador
como del decodicador. La capacidad de este nuevo canal es entonces C = Blog
2

1 +
1
E[1/]

.
13
CAP

ITULO 3. MODULACI

ON Y CODIFICACI

ON ADAPTATIVA
alcanzar el objetivo, por lo que no se puede usar inversion del canal (como en los casos de
desvanecimiento tipo Rayleigh, donde el valor E(1/) diverge).
Esta tecnica tambien se puede utilizar cuando se tiene una barrera
o
de la SNR
deseada. En este caso se usa la inversion de canal truncada, de la forma
S()

S
=
_
_
_


o
0 <
o
. (3.6)
Como el canal es usado solo en el primer caso, dado un valor de

S, se dene nuavamente
= 1/E
o
(1/) con
E
o
(1/)
_

o
1

p()d. (3.7)
3.2.3. Tecnicas de probabilidad de error variable
La transmision adaptativa tambien puede usarse para ajustar la BER instantanea
sometida a una cierta probabilidad de error. Tpicamente, la adaptacion de probabilidad
de error se realiza de forma indirecta a traves de un ajuste de otro parametro, por ejemplo
modicando el tama no de la constelacion o el tipo de modulacion, o modicando la SNR
en el receptor, lo que inuye directamente en esta probabilidad.
3.2.4. Tecnicas de codicaci on variable
Esta tecnica consiste en usar diferentes tipos de codigos de canal (codigos para control
de error) con el objetivo de entregar diferentes ganancias de codicacion a los bits trans-
mitidos. Generalmente, se usan codigos de correccion agresivos cuando es peque no, y
cuando esta es alta, codigos mas debiles. Codicacion adaptativa puede ser implementada
multiplexando varios codigos con diferentes capacidades de correccion.
Un tecnica com unmente empleada es usar codigos convolucionales perforados de tasa
variable (RCPC). Estos codigos son conformados por una familia de codigos convolucionales
de diferentes tasas R
c
= k/n
2
. La idea basica de estos codigos es tener un solo codicador
y decodicador, con la virtud, cada uno de ellos, de modicar su capacidad de correccion
de error con la accion de no transmitir ciertos bits codicados. Luego, para incrementar la
capacidad de correccion de error, los bits enviados con un codigo debil, son transmitidos
con bits codicados adicionales, de forma de alcanzar la capacidad de correccion de error
2
En codicaci on, la tasa de c odigos Rc = k/n representa la raz on entre el n umero de bits de informaci on
k, y el n umero total n de bits enviados (que incluyen los bits de informaci on y los de redundancia para
correcci on).
14
CAP

ITULO 3. MODULACI

ON Y CODIFICACI

ON ADAPTATIVA
deseada. Con estos codigos se pueden alcanzar diferentes tasas (mas altas) a partir de tasas
madres o raz, como por ejemplo 1/2, 1/3 o 1/4, por nombrar algunas.
3.2.5. Tecnicas hbridas
Es posible tambien adaptar estos parametros ya mencionados, simultaneamente, al
esquema de transmision. En este caso se usa optimizacion conjunta de las diferentes tecnicas
con el objetivo de alcanzar el desempe no requerido. Es as, por ejemplo, que para maximizar
la eciencia espectral, se usan de forma combinada tecnicas de adaptacion de tasa y de
adaptacion de potencia. En la tecnologa GSM se encuentra una aplicacion para tecnicas
hbridas, donde en total se usan 9 esquemas de transmision diferentes: cuatro tasas de
codigos diferentes para la modulacion GMSK, y cinco diferentes para modulacion 8PSK.
15
Captulo 4
Algoritmos de Scheduling
La posibilidad de modular y codicar la informacion, adaptandose a la condiciones
del canal, hacen que sea necesario administrar y planicar como, cuando y a quien otorgar
los recursos de una red donde m ultiples usuarios estan accediendo a ella. Los algoritmos de
scheduling son los encargados de ello.
Varios son los trabajos que se han publicado hasta ahora acerca de este tema. Algunos
de ellos hacen analisis del desempe no de los principales algoritmos, otros se enfocan a
encontrar funciones de utilidad a maximizar, mientras que el resto concentra su desarrollo en
metodologas y modelos que permitan obtener los mejores resultados de usuarios accediendo
a servicios con diferentes requerimientos individuales, bajo ciertas restricciones de QoS.
Algunos de esos trabajos se rese nan a continuacion con el objetivo de dejar en conocimiento
la base del tema que se desarrollar a.
4.1. Algoritmos basicos de scheduling
En la literatura es posible encontrar tres algoritmos basicos, o algoritmos base, para
la asignacion de recursos en scheduling.

Estos han sido utilizados como punto de partida o
referencia para el desarrollo de estrategias mas elaboradas, y tambien como punto de com-
paracion al medir desempe no [7], [1012]. Incluso los mismos son aplicados en la practica por
algunos Operadores Moviles para ofrecer sus servicios de datos, por ejemplo, de tecnologa
3G.
16
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


4.1.1. Round Robin

Este es el mas basico de todos los algoritmos. Con este metodo, el canal es compartido
igualitariamente entre todos los usuarios, es decir, se le asigna el mismo n umero de TTI
(transmission time interval o intervalo de tiempo de transmision) a cada uno de ellos, en
forma alternada, y sin considerar la calidad de sus respectivos canales.
Es el mas com un de todos los esquemas, y sirve como principal referencia en la lite-
ratura para hacer evaluacion de estrategias. En un sistema con M usuarios, cada usuario i
tiene una probabilidad
p
i
=
1
M
(4.1)
de ser asignado. Por lo mismo, es el sistema mas justo, aunque no considera las condiciones
de canal individuales de cada usuario.
4.1.2. Maximo C/I
En este esquema de scheduling, el canal es asignado en cada TTI al usuario con
mejores condiciones, es decir, al usuario con mejor SINR instantanea. En [18] se muestra
que la eciencia espectral aumenta en un factor de 2 o mas al servir a los usuarios con mejor
enlace con altas tasas de datos.
La probabilidad que tiene un usuario i de un total de M, de ser asignado en un TTI,
es
p
i
= P(SINR
i
> SINR
j
para j = 1...M y j ,= i) (4.2)
con SINR
i
la razon de se nal a interferencia y ruido del usuario i.
Este esquema maximiza el throughput total de la celda, pero no garantiza QoS a los
usuarios, debido a que los usuarios en los bordes de las celdas, generalmente experimentando
una mala calidad de canal, pueden quedar marginados del servicio al nunca ser asignados.
4.1.3. Proportional Fair
Este esquema es un termino medio entre los dos primeros, y es una alternativa para
aplicar justicia al metodo anterior, que permite asignar el canal a los usuarios que han
quedado postergados [19]. Se entrega el derecho a transmitir al usuario que maximiza la
razon (r/R), donde R representa la tasa de bits promedio del usuario en los anteriores
17
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


Objetivos del Scheduler Funcion de Utilidad U
i
Round Robin 1
Maximo C/I r
i
Justicia Proporcional log(r
i
)
Restriccion de tasa mnima r
i
+ (1 exp((r
i
r
min
)))
Restriccion de maximo delay log(
i
) log(r
i
)
d
HOL,i
d
req,i
Tabla 4.1: Diferentes funciones de Utilidad seg un el scheduler usado, caso HSDPA.
TTIs. De esta forma, la probabilidad de ser asignado, para un usuario i, es
p
i
= P
_
SINR
i
S
i
>
SINR
j
S
j
para j = 1...M y j ,= i
_
(4.3)
con S
i
el valor promedio de la SINR del usuario i.
4.2. Funciones de Utilidad
La nocion de funcion de utilidad ha sido adoptada por una amplia variedad de dis-
ciplinas. En comunicaciones inalambricas, utilidad puede denirse como una medida de
satisfaccion que un usuario experimenta al acceder a los recursos que entrega el sistema
(por ejemplo ancho de banda, potencia, etc.) [7].
El concepto de utilidad ha sido usado en varias ocaciones para el estudio de gestion
de recursos en redes inalambricas [8], [9]. Como esta representa la satisfaccion del usuario,
se busca maximizar la funcion de utilidad agregada del sistema, es decir, la suma de las
funciones individuales de cada usuario, como metodo para encontrar el bienestar general.
La funcion de utilidad puede medir el throughput, un valor monetario u otro parametro
de desempe no o satisfaccion. Como se busca explotar las ventajas de la diversidad mul-
tiusuario, al considerar los estados del canal y la AMC, esta funcion por lo general depende
directamente del valor de la SINR de cada usuario, y debido a las caractersticas de esta,
es modelada como un proceso estocastico. Usualmente esta funcion es no-decreciente con el
valor de la SINR [7].
A modo de ejemplo, en la tabla 4.1 se presentan algunas de las funciones de utilidad
usadas en el caso particular de la tecnologa HSDPA [20], [5]. Bajo este punto de vista, se
puede encontrar un algoritmo optimo para los casos basicos antes mencionados, y otros que
consideren algunas restricciones de QoS.
En la terminologa de la tabla 4.1, r
i
se reere a la tasa del usuario i, r
min
a la
18
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


restriccion de tasa mnima, es una constante que determina la agresividad del algoritmo,
d
HOL,i
el delay de los paquetes del usuario i, d
req,i
el maximo delay tolerado, y
i
la maxima
probabilidad de violacion del margen de delay.
4.3. Algoritmos basados en Programaci on Dinamica
Una arista importante en problemas de scheduling en comunicaciones inalambricas, es
la que plantea y aborda el problema de optimizacion como uno de Programacion Dinamica.
Cada uno de los momentos de decision de asignacion representa un sub-problema de opti-
mizacion dentro del problema general que es maximizar una f.o. o minimizar un costo en
un instante dado.
En [11] los autores proponen un metodo para obtener una poltica optima de asig-
nacion basada en Programacion Dinamica. Para ello, denen una funcion de utilidad que
toma en cuenta tanto el throughput como el delay de la comunicacion, manteniendo un
compromiso razonable entre ellos.
Para modelar el sistema, se considero el efecto de multitrayectoria como un canal con
desvanecimiento tipo Rayleigh, el cual es modelado como un Modelo de Markov de Estado
Finito. El anterior se obtiene particionando los valores de la SINR recibida en un n umero
nito de intervalos [A
0
, A
1
) , [A
1
, A
2
) , . . . , [A
K
, A
K+1
) en donde 0 = A
0
< A
1
< A
2
. . . <
A
K
= . Luego, se dice que el canal esta en el estado k = 0, 1, 2, ..., K 1, si la SINR se
encuentra en el intervalo [A
k
, A
k+1
).
Se dene el proceso estocastico
_
X
i
t
_
como el estado del usuario i en el instante t, el
cual se asume independiente. Ademas, se dene un premio al throughput y el costo por
delay como:
T
i
(k) : Throughput esperado en el time slot para el usuario i si el estado del canal es k.
C
i
(q
i
) : Costo de almacenamiento de paquetes del usuario i con largo de cola q
i
.
en donde
D(q) =

i
C
i
(q
i
), q = (q
1
, q
2
, ..., q
n
) . (4.4)
Luego, se dene la funcion de utilidad
U
i
(k, q) = T
i
(k) D
i
(q e
i
) i, k, q
i
,= 0, (4.5)
siendo esta ultima una funcion no negativa y acotada superior e inferiormente.
El objetivo del problema es maximizar a la largo del tiempo el valor esperado de
la funcion de utilidad. El estado del sistema, en el tiempo t para N moviles, se puede
19
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


representar con un vector de dimension 2N,

t
:=
_
X
1
t
, X
2
t
, ..., X
N
t
, q
1
t
, q
2
t
, ..., q
N
t
_
. (4.6)
La transicion de estados depende de la accion realizada en cada paso, dada las caractersticas
del canal y el patron de llegadas de paquetes. Por consiguiente, el problema se puede modelar
como un Proceso de Decision de Markov [21]. Luego, la poltica a encontrar debe maximizar
el promedio a lo largo del tiempo del benecio de este proceso.
Se dene una poltica f = (f
1
, f
2
, f
3
, ...) como la secuencia de acciones a tomar en
t = 1, 2, 3, ... . Luego, el problema queda establecido formalmente como
f

= arg max
f
lim
T
1
T
E
_
T

t=1
U
ft
(X
f
T
t
, q
t
)
_
. (4.7)
Para resolverlo mediante Programacion Dinamica, se plantea la ecuacion de Bellman [22]:
J

+H(s) = max
i=0,1,...,N
_
U
i
(s) +

v
P
i
sv
H(v)
_
con s , (4.8)
donde es el espacio estado del proceso de Markov
t
y P
i
sv
es la probabilidad de pasar
del estado s al v cuando la accion i es tomada.
La matriz de probabilidad de estados se puede obtener como
P
i
= P
X
1 P
X
2... P
X
N P
i
Q
1
... P
i
Q
N
con P
X
j matriz de probabilidad de transicion del estado del movil j (independiente de la
accion), y P
i
Q
j
es la Matriz de Transicion de Estado de la cola del movil j cuando la accion
i es tomada. Se asume que en un time slot, m paquetes llegan con probabilidad p
m
, luego
P
i
Q
j
=
_
_
_
_
_
_
P
0
P
1
P
2
P
3

P
0
P
1
P
2

P
0
P
1
P
2

.
.
.
_
_
_
_
_
_
para i = 0, 1, ..., N, j ,= i
y
P
i
Q
j
=
_
_
_
_
_
_
P
0
P
1
P
2
P
3

P
0
P
1
P
2
P
3

P
0
P
1
P
2
P
3

.
.
.
_
_
_
_
_
_
para i = 0, 1, ..., N, j = i
20
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


El escalar J

es el valor optimo de la esperanza de la utilidad promedio por time slot,


y H(s) es la utilidad relativa en el estado s.
La ecuacion de Bellman puede ser resuelta mediante el algoritmo de iteracion de valor
(VIA) [23]. Luego, se puede programar el sistema eligiendo para cada estado s, una accion i
que maximiza el lado derecho de la ecuacion de Bellman. La eleccion de la funcion de costos
C
i
(q
i
) debe cumplir con que sea no decreciente y convexa en el argumento q
i
.
Cuando el n umero de estados hace que el problema sea complejo de resolver, se pro-
pone un metodo que alcanza un punto cercano al optimo, en que no se hacen iteraciones
sobre todos los estados, sino que se muestrean algunos de los posibles estados proximos,
basados en la probabilidad de transicion. Con esto se obtiene una aproximacion de la futura
utilidad promedio, bajo el supuesto que se siga una poltica optima. Esta tecnica se conoce
como sparse sampling [24].
En [10] se formula el problema de scheduling como un Problema de Decision de Markov
con premio descontado, con restricciones temporales de justicia. Para ello, se deriva una
ecuacion de Programacion Dinamica de la cual se obtiene la poltica de scheduling optima.
El modelo que se presenta es para el canal de subida, pero igualmente se puede hacer para
un canal de bajada.
El sistema es modelado como K usuarios intentando transmitir datos a una estacion
base. Si t es el ndice de los time slot, y k el de los usuarios, se denen: X
k
(t), S
k
(t) y A
k
(t) ,
como el largo de la cola, la informacion del estado del canal y la llegada de paquetes externa,
respectivamente. El estado del canal aqu hace referencia al n umero maximo de paquetes
que cada usuario i puede transmitir en un time slot t.
Si
t
es el usuario asignado al slot t, donde una poltica de scheduling es usada, la
evolucion del largo de la cola esta dada por
X
k
(t + 1) = X
k
(t) +A
k
(t) mn (X
k
(t), S
k
(t)) 1
{t=k}
. (4.9)
Para modelar el canal se uso un modelo de Canal de Markov de Estado Finito [25]. Se
particiono el rango de la SINR recibida en 8 intervalos, donde cada intervalo es un estado.
Si el sistema esta en un estado s S, y una accion a A es elegida, entonces se obtiene
un benecio r(s, a) y el proceso se mueve al estado s

S con probabilidad P(s

/s, a). Se
dene el estado s R
2K
como s = (x
1
, x
2
, ..., x
K
, s
1
, s
2
, ..., s
K
) para cualquier time slot. La
accion a seguir para cada tiempo, es elegir uno de los K usuarios para la transmision cuyo
espacio es A = 1, 2, ..., K.
Como se consideran criterios de maximizacion de throughput y minimizacion de dalay,
21
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


se utilizan dos tipos de premios. Para el throughput, se considera maximizar la suma
descontada de throughputs individuales (los del futuro son menos importantes que los de
ahora). El premio se escribe como:
r(X
t
,
t
) =
K

k=1
1
{t=k}
min(X
k
(t), S
k
(t)). (4.10)
Para el problema de delay, el premio es
r(X
t
,
t
) =
K

k=1
X
k
(t). (4.11)
Se dene la funcion de premio objetivo como
J

(s) = E

t=0

t
r(X
t
,
t
)[X
0
= s
_
. (4.12)
El objetivo es encontrar la poltica que maximice la funcion objetivo sujeto a la restriccion
temporal de justicia, esto es:
maximizar

(s) s S
sujeto a lim
T
1
1/(1)
E

T
t=0

t
1
{t=a}
[X
0
= s
_
C(a) a A,
(4.13)
en donde C(a) denota la mnima fraccion de tiempo, descontada, en la cual el usuario
dado por a es elegido con 0 C(a) 1 y

aA
C(a) 1 . Se deriva una ecuacion de
Programacion Dinamica para resolver el problema anterior.
Dada una funcion u : A R, para cualquier , se dene:
V

= E

t=o

t
[r(X
t
,
t
) +u(
t
)][X
0
= s
_
s S (4.14)
y
V

(s) = sup

(s) s S. (4.15)
Se demuestra que la poltica optima que satisface el problema es

(s) = arg max


aA
r(s, a) +u(a) +

S
P(s

[s, a)V

(s

). (4.16)
Se propone ademas un metodo de resolucion aproximado, similar a la solucion exacta,
pero con un tiempo menor de convergencia. Este ultimo es util para los casos donde el espacio
del conjunto de estados crece de forma que se haga limitante encontrar el optimo exacto.
22
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


En [12] modelan el problema de scheduling como un Proceso de Decision de Semi-
Markov, y usan un algoritmo de Neuro Programacion Dinamica para resolverlo logrando
tres objetivos de rendimiento: Diferenciacion y Garanta de QoS, alta utilizacion de Ancho
de Banda, y justicia de corto y largo plazo.
El canal se modela como un modelo de canal de Markov multiestado, donde se par-
ticiona la SINR recibida, y en donde en cada estado hay un maximo throughput posible
dado un BER promedio requerido. El proceso de Decision de Semi-Markov se puede llevar
a un problema de tiempo continuo y horizonte innito de Programacion Dinamica de costo
promedio.
El problema se divide en etapas indexadas por i donde w representa un evento de
llegada o salida de paquetes.
El estado x considera el largo de la cola, el delay de los paquetes encolados y el estado
del canal.
La decision u U(x, w) es tomada cuando un evento w ocurre.
Se dene el costo promedio del sistema, el cual es el objetivo a minimizar, como
v = lim
N
1
t
N
N

i=0
g(x
ti
, w
i
, u
ti
) (4.17)
con
g(x
ti
, w
i
, u
ti
) =
M

m=1
W
m
F
m
(r
m
)
m
1
{u
ti
=m}
, (4.18)
donde
m
es el delay de la sesion m, r
m
es la tasa promedio recibida de la sesion m, W
m
es
un factor de prioridad y F
m
(r
m
) =
rm
rm
nm
con r
m
igual a la tasa nominal del servicio m.
Para manejar este problema se introduce la ecuacion de Bellman, con la forma
v

E
t
t[x +h

(x) = E
w
_
min
uU(x,w)
[g(x, w, u) +h

(g)]
_
; x X,
h

( x) = 0,
(4.19)
en donde v

es el costo promedio optima, y h

() se interpreta como costo optimo diferencial


para cada estado. El estado x es un estado recurrente con costo diferencial 0.
Las limitaciones computacionales hacen que sea irreal aspirar a encontrar la solucion
exacta de h

(). Es por ello que se propone el metodo de Neuro Programacion Dinamica.


La idea pricipal es aproximar h

() por una funcion aproximada parametrizada



h(, ), en
23
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


donde se utiliza aprendizaje en lnea para regular el parametro para hacer

h(, ) mas
cercano a h

().
En [26] se plantea una estrategia de scheduling que diferencia por usuario seg un su
tolerancia al delay. El problema es formulado como uno de Programacion Dinamica, y con-
sidera tanto las penalidades de delay especcas de cada usuario, como el estado del canal
variante en el tiempo. Se deriva una regla que optimiza el compromiso entre throughput y de-
lay en canales multiusuarios en los casos sin memoria, y de tiempo correlacionado (modelado
como canal de Markov como desvanecimiento tipo Rayleigh). La estrategia encontrada, que
considera planicacion para ventanas de tiempo de largo T, presenta resultados numericos
que sugieren un comportamiento exitoso en canales correlacionados en el tiempo.
4.4. Otras estrategias de scheduling
La amplia variedad de algoritmos de scheduling presentes en la literatura diculta
el poder clasicarlos. A continuacion, se rese nan algunos trabajos que pese a sus enfoques
dismiles, contribuyen a los antecedentes necesarios para desarrollar esta tesis.
En [27] se plantea que los algoritmos de la actualidad presentan el problema llamado
exposure problem
1
. Para lidiar con ello, se propone una estrategia de scheduling compuesta
por dos etapas. En la primera, se busca maximizar el n umero de usuarios capaces de alcanzar
una cantidad de traco de datos mnimo (igual para todos) dentro de una ventana de tiempo
determinada. La segunda etapa consiste en aplicar el segundo criterio de asignacion, por lo
que se distribuyen los slots de tiempo restantes de forma que se maximice el throughput total
de la celda sobre los usuarios que fueron asignados. La estrategia presenta mejoras en el
rendimiento bajo el criterio considerado, pero presenta como decit el hecho que los usuarios
que no alcanzan el requisito mnimo quedan absolutamente excludos al no asignarles slot
alguno.
El algoritmo propuesto en [28] presenta una caracterstica distinta a las presentadas
hasta ahora. En este trabajo, los autores plantean la posibilidad de asignar a mas de un
usuario por time slot. Para ello, resuelven el problema de maximizacion de throughput con-
siderando restricciones de justicia sobre los requerimientos de tasa de datos individuales
de los usuarios. El resultado optimo es entonces el subconjunto de usuarios que satisface
estos criterios en cada time slot. La propuesta, por lo tanto, considera como horizonte de
planicacion solo el instante de tiempo siguiente. Sin embargo, es capaz de rastrear el canal
1
Este problema se presenta en situaciones de scheduling vistas desde el punto de vistas de subastas. En
ellas, un demandante que presenta este fen omeno puede ofertar y terminar ganando un conjunto de slots de
tiempo que no desea al precio que inicialmente ofreci o.
24
CAP

ITULO 4. ALGORITMOS DE SCHEDULING


y detectar cambios en el con el objetivo de realizar una nueva asignacion.
En [29] se discute una estrategia de scheduling dise nada para redes inalambricas
basadas en sistemas OFDM (al igual que en [13]).En ella se plantea la alternativa de plani-
car los recursos en base a la maximizacion de una funcion de utilidad que puede representar
criterios de throughput, delay, o compromiso de ambos, explotando las caractersticas del
canal. En esta propuesta los usuarios son asigados a utilizar cl usters de subportadoras en
cada time slot. El algoritmo muestra tener un buen comportamiento bajo situaciones de
traco heterogeneo con diversos requerimientos de QoS.
25
Captulo 5
Optimizaci on Convexa
As como en la gran mayora de los problemas de ingeniera, los problemas de sche-
duling en comunicaciones son tratados ineludiblemente como problemas de optimizacion.
Es por ello que se requiere, previo a la resolucion del problema, un cierto dominio teorico e
intuitivo del tema, as como tambien de las herramientas que se disponen para abordarlo,
como son los algoritmos de resolucion.
Los problemas de optimizacion determinsticos pueden ser clasicados en dos tipos:
Problemas de Optimizacion Convexa y Problemas de Optimizacion No-Convexa. Los ulti-
mos son mas difciles de resolver ya que no es posible obtener evidencia de que se ha
encontrado el valor optimo global del problema; existen heursticas que logran llegar a
buenos valores o que solo encuentran optimos locales. En el primer grupo, sin embargo,
s existen evidencias que permiten saber, bajo determinadas condiciones, que efectivamente
se llego al optimo global del problema. Dentro de los problemas de optimizacion convexa
se incluyen los ampliamente estudiados Problemas de Programacion Lineal, Problemas de
Error Cuadratico Medio, y Problemas de Programacion Cuadratica [30].
En este captulo se abordara en primer lugar la generalidad de los problemas de
optimizacion, luego se daran las principales nociones de convexidad tanto en conjuntos
como en funciones, para luego denar los problemas convexos. Finalmente, se abordara de
forma breve los principales algoritmos de resolucion de estos. Este captulo se encuentra
basado en [30].
26
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
5.1. Optimizaci on Matematica
Un problema de optimizacion matematica tiene la forma tpica
minimizar
x
f
0
(x)
sujeto a f
i
(x) b
i
, i = 1, ..., m.
(5.1)
En el problema, el vector x = (x
1
, ..., x
n
) es la variable de optimizacion, la funcion
f
0
: R
n
R es la funcion objetivo, las funciones f
i
: R
n
R, i = 1, ..., m, son las
funciones de restriccion de desigualdad del problema, y las constantes b
1
, ..., b
m
son los
lmites de estas restricciones. El vector x

se dice optimo o solucion al problema si satisface


todas las restricciones, y ademas cumple que f
0
(z) f
0
(x

), para cualquier z que satisface


f
1
(z) b
1
, ..., f
m
(z) b
m
.
Dentro de las familias o clases de problemas de optimizacion, se suele distinguir entre
Problemas Lineales, y los que no pertecen a ese tipo, llamados Problemas no Lineales. En
este captulo se hablara de Optimizacion Convexa, la cual es mas general que la Optimizacion
Lineal, includa en la primera.
La formulacion de un problema de optimizacion como el expuesto, es una abstraccion
del problema de hacer la mejor eleccion posible de un vector en R
n
, dentro de un conjunto
de posibles elecciones que cumplen con los requerimientos, y que corresponde a la eleccion
de mnimo costo. La variable x

representa la eleccion hecha. Es por ello que existen muchas


aplicaciones para este tipo de problemas, ya que modelan necesidades cotidianas. Dentro
de los ejemplos tpicos se encuentran: los problemas de portafolio en donde se desea encon-
trar la mejor conbinacion de las posibles cantidades a invertir en diferentes instrumentos,
restringido a una cantidad de capital maxima; el problema de tama no de fabricacion, en
donde se busca el tama no adecuado de las diferentes partes de contruccion de un dispositivo,
que minimiza el costo de fabricacion, y que esta sujeta a la cantidad de insumos disponibles;
el problema de asignacion de recursos, donde se busca maximizar la utilidad, sujeto a la
disponibilidad de los mismos recursos; y por ultimo el problema de transporte, que es una
particularidad de un problema de ujos, en donde se busca minimizar los costos de trans-
porte de cada uno de los ujos, de manera de satisfacer exactamente la demanda en los
nodos de llegada, y la oferta en los nodos de salida.

Estos son solo algunos ejemplos de las
tantas aplicaciones existentes.
La mayora de estas aplicaciones son las que ayudan nalmente a muchas de las
decisiones que toman los seres humanos. Debido al contexto practico en que se emplean,
el tama no y dicultad del problema hace que sea necesario resolverlos con la ayuda de
computadores, muchas veces requeridos de gran capacidad de calculo. Es por ello que mu-
27
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
chos problemas van siendo resueltos a medida que aumenta la capacidad de calculo de
los computadores, que a su vez mejora con la disminucion del tama no de los transistores
embebidos
1
.
Un metodo de solucion para un tipo de problemas de optimizacion, es un algortimo
que calcula la solucion a un problema mediante el analisis de sus caractersticas, y que es
implementado va Software. La efectividad de estos metodos dependen de factores como
el n umero de variables involucradas, la forma particular de la funcion objetivo y de las
restricciones, y si el problema tiene una estructura particular como ejemplo esparcidad
(sparsity
2
), descomposicion LVQ, etc..
Existen dos sub-clases de problemas de optimizacion que son ampliamente usados, y
que son estudiados de forma individual por s solos. Estos son los problemas de Programacion
Lineal y los problemas Mnimos Cuadrados. Por otro lado, a menudo se utiliza el termino
de Optimizacion No Lineal, para describir los problemas en que la funcion objetivo o las
restricciones no son lineales, pero que tampoco se sabe son convexas. No existen metodos
efectivos para resolver estos ultimos, existiendo siempre alg un tipo de compromiso en las
heursticas empleadas para tratarlos.
5.2. Conjuntos y Funciones Convexas
5.2.1. Conjuntos Convexos
Conjuntos Anes y Convexos
Sean x
1
,= x
2
dos puntos R
n
. Los puntos de la forma
y = x
1
+ (1 )x
2
(5.2)
con R, forman una recta. Si, en particular, se tiene que 0 1, los puntos nombrados
forman un segmento de recta, que une los puntos x
1
y x
2
.
Un conjunto C R
n
es afn si la recta que pasa a traves de dos puntos cualesquiera
en C, permanece en C. Es decir, si para cualquier x
1
, x
2
C y R, se tiene que
x
1
+ (1 )x
2
C.
1
La Ley de More es una ley emprica que expresa que aproximadamente cada 18 meses se duplica el
n umero de transistores en un circuito integrado.
2
Un problema se dice sparse, si cada funci on de restricci on depende s olo de un peque no n umero de
variables.
28
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
Figura 5.1: Ejemplos de conjuntos. A la izquierda un conjunto convexo; a la derecha, uno no
convexo.
La idea anterior puede ser generalizada para mas de dos puntos. Un conjunto C es afn,
si para cualquier conjunto de puntos x
1
, ..., x
k
C, se tiene que el punto
1
x
1
+...+
k
x
k
C
con

k
i=1

i
= 1; es decir, cualquier combinacion lineal de puntos pertenecientes al conjunto,
sigue perteneciendo al mismo.
Un conjunto C se llama convexo, si el segmento de recta entre dos puntos cualesquiera
en C, sigue estando en C; es decir, si para cualquier x
1
, x
2
C, con 0 1, se tiene
x
1
+ (1 )x
2
C.
Todo conjunto afn, es a su vez convexo.
Se le llama supercie convexa (o convex hull ) de un conjunto C, denotada por conv
C, al conjunto de todas las combinaciones convexas de puntos en C, es decir
conv C =
1
x
1
+ +
k
x
k
[ x
i
C,
i
0, i = 1, ..., k,
1
+ +
k
= 1
Ejemplos Importantes
Existen conjuntos convexos tpicos que son ampliamente usados en los ejemplos na-
turales de optimizacion convexa, y que a continuacion se mencionan.
Los casos basicos como en conjunto vaco, un singleton, y el espacio completo de R
n
,
son conjuntos anes, y por lo tanto, convexos. Una recta es afn y convexa, pero un segmento
de recta es convexa, mas no afn.
Un hiperplano es un conjunto de la forma
x R
n
[ a
T
x = b,
29
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
donde a ,= 0 R
n
y b R. Se puede interpretar como un hiperplano simple con vector
normal a, desplazado en b del origen. Lo anterior se aprecia mas directo reescribiendo el
conjunto de la forma
x R
n
[ a
T
(x x
0
) = 0.
Un hiperplano divide a R
n
en dos conjuntos, denominados semi-espacios. Un semi-
espacio es un conjunto cerrado y convexo, pero no afn, de la forma
x R
n
[ a
T
x b,
siendo x la solucion no trivial de la desigualdad.
Una bola euclidiana es un subconjunto de R
n
que es convexo, y que puede escribirse
como
B(x
c
, r) = x R
n
[ |x x
c
|
2
r = x [ (x x
c
)
T
(x x
c
) r
2
,
con r > 0. Una bola es el conjunto de todos los puntos que se encuentran a una distancia
(en el sentido euclideano) r o menor del centro x
c
de la bola. Una bola se puede denir para
cualquier norma, ||, sobre R
n
. La generalidad recibe el nombre de bola normada.
Un conjunto convexo mas general que el anterior es el elipsoide, representado por
c = x R
n
[ (x x
c
)
T
P
1
(x x
c
) 1,
donde la matriz P es simetrica y denida positiva. Esta matriz representa la magnitud
en que se extiende este elipsoide de su centro x
c
, cuyos semi-ejes estan dados por la raz
cuadrada de los valores propios de P. Una bola es un elipsoide, con P = r
2
I.
Un cono normado asociado a la norma || es un conjunto convexo denido como
(x, t) R
n
R [ |x| t R
n+1
.
Por ultimo, un poliedro es un conjunto convexo que representa la solucion a un n umero
nito de desigualdades e igualdades, escrito de la forma
T = x R
n
[ Ax _ b, Cx = d.
Aqu, el termino _ representa la desigualdad componente a componente de los vectores.
Operaciones que Conservan Convexidad
Existen algunas operaciones que al aplicarlas a un conjunto convexo, conservan la
caracterstica, o que bien permiten construir nuevos conjuntos convexos a partir de los
30
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
Denition
f : R
n
R is convex if domf is a convex set and
f(x + (1 )y) f(x) + (1 )f(y)
for all x, y domf, 0 1
(x, f(x))
(y, f(y))
f is concave if f is convex
f is strictly convex if domf is convex and
f(x + (1 )y) < f(x) + (1 )f(y)
for x, y domf, x = y, 0 < < 1
Convex functions 32
Figura 5.2: Grafo de una funcion convexa.
conjuntos canonicos. Estas operaciones son, ademas, una manera de demostrar convexidad
de un conjunto, a partir de conjuntos bases.
La interseccion de conjuntos convexos, es convexa. Esto es, si o

es convexo para
cualquier /, entonces

A
S

es convexo.
La imagen de un conjunto convexo bajo una funcion afn, es convexa. Esto es, dado
S R
n
convexo, y f : R
n
R
m
una funcion afn
3
, el conjunto
f(S) = f(x) [ x S
es convexo. Esta propiedad tambien la adquiere la inversa de la imagen, ya que el conjunto
f
1
(S) = x [ f(x) S,
tambien lo es.
5.2.2. Funciones Convexas
Una funcion f : R
n
R es convexa si el dominio de f es un conjunto convexo, y si
para todo x, y domf, y con 0 1, se tiene
f(x + (1 )y) f(x) + (1 )f(y). (5.3)
La interpretacion geometrica es que el segmento de recta que une (x, f(x)) con (y, f(y)),
permanece siempre por sobre el grafo de f, como lo muestra la gura 5.2. Una funcion
es estrctamente convexa, si la desigualdad anterior se mantiene de forma estricta para
cualquier x ,= y.
Una funcion f se dice concava si f es convexa, y estrctamente concava si f es
estrctamente convexa.
3
f : R
n
R
m
es afn, si es de la forma f(x) = Ax +b, con A R
mn
y b R
n
.
31
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
3.1 Basic properties and examples 69
(x, f(x))
f(y)
f(x) +f(x)
T
(y x)
Figure 3.2 If f is convex and dierentiable, then f(x)+f(x)
T
(yx) f(y)
for all x, y domf.
is given by

IC(x) =

0 x C
x C.
The convex function

IC is called the indicator function of the set C.
We can play several notational tricks with the indicator function

IC. For example
the problem of minimizing a function f (dened on all of R
n
, say) on the set C is the
same as minimizing the function f +

IC over all of R
n
. Indeed, the function f +

IC
is (by our convention) f restricted to the set C.
In a similar way we can extend a concave function by dening it to be
outside its domain.
3.1.3 First-order conditions
Suppose f is dierentiable (i.e., its gradient f exists at each point in domf,
which is open). Then f is convex if and only if domf is convex and
f(y) f(x) +f(x)
T
(y x) (3.2)
holds for all x, y domf. This inequality is illustrated in gure 3.2.
The ane function of y given by f(x)+f(x)
T
(yx) is, of course, the rst-order
Taylor approximation of f near x. The inequality (3.2) states that for a convex
function, the rst-order Taylor approximation is in fact a global underestimator of
the function. Conversely, if the rst-order Taylor approximation of a function is
always a global underestimator of the function, then the function is convex.
The inequality (3.2) shows that from local information about a convex function
(i.e., its value and derivative at a point) we can derive global information (i.e., a
global underestimator of it). This is perhaps the most important property of convex
functions, and explains some of the remarkable properties of convex functions and
convex optimization problems. As one simple example, the inequality (3.2) shows
that if f(x) = 0, then for all y domf, f(y) f(x), i.e., x is a global minimizer
of the function f.
Figura 5.3: Apreciacion graca de la condicion de primer orden.
Las unicas funciones para las cuales se alcanza la igualdad son funciones anes, y son
convexas y concavas a la vez. Por otro lado, cualquier funcion que sea convexa y concava a
la vez es una funcion afn.
Una propiedad util, u otra forma de denicion, es que una funcion es convexa s y
solo si para todo x domf y para todo v, se tiene que la funcion g(t) = f(x + tv) es
convexa, con dominio t [ x + tv domf. Esto permite demostrar convexidad de una
funcion acotando esta a una lnea recta.
Condiciones de primer y segundo orden
Sea f una funcion de valores reales diferenciable (su gradiente f existe en todo
punto del domf). Entonces f es convexa s y solo si domf es convexo y ademas
f(y) f(x) +f(x)
T
(y x) (5.4)
para todo x, y domf. Esta condicion se conoce como Condicion de Primer Orden, y se
puede apreciar gracamente en la gura 5.3.
Esta condicion dice que la aproximacion de Taylor de primer orden de f(y) en torno
a x esta por debajo de la funcion, es decir, es un estimador inferior global de la funcion.
Por lo tanto si la aproximacion de Taylor de primer orden de una funcion es siempre un
estimador inferior global de esta, entonces la funcion es convexa.
Esta propiedad es de gran importancia en los problemas de optimizacion convexa, ya
que se aprecia que si f(x) = 0, entonces, de la desigualdad de primer orden se obtiene
que f(y) f(x) para todo y domf, es decir, x es un minimizador global de la funcion f.
Ahora, asumiendo que f es dos veces diferenciable (su matriz Hessiana
2
f existe
para cualquier punto del dom f), f es convexa s y solo si dom f es convexo y ademas

2
f(x) _ 0,
32
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
para todo x, es decir, la matriz Hessiana es semidenida positiva. A esta condicion se
le conoce como Condicion de Segundo Orden, e interpreta que el grafo de la funcion tiene
curvatura positiva en x. Similarmente, es facil ver que si
2
f(x) _ 0 para todo x, la funcion
f es concava.
Ejemplos importantes
Existen un amplio conjunto de conocidas funciones convexas que permiten adaptar
problemas a estas formas para ser resueltos de manera mas facil, o bien para, a traves de
operaciones propias, crear nuevas funciones convexas.
Dentro de las funciones convexas en R, se encuentran:
Funcion exponencial, e
ax
es convexa en R.
Funcion Potencia, x
a
es convexa en R
+
para a 1 o a 0, y concava para 0 a 1.
Potencia de valor absoluto, [x[
p
, en convexa en R para p 1.
Logaritmo, log x es concavo en R
+
.
Entropa negativa, xlog x es convexa en R
+
Tambien existen casos emblematicos en R
n
. El primer de ellos son las Formas Cuadraticas.
Estas ultimas son las funciones del tipo f : R
n
R con dom f = R
n
, tal que
f(x) =
1
2
x
T
Px +q
T
x +r, (5.5)
con P S
n4
, q R
n
y r R. Debido a las propiedas de funciones convexas, y debido a que

2
f(x) = P, se tiene que f(x) es convexa s y solo si P _ 0.
Todas las normas en R
n
son convexas.
La funcion max, f(x) = max x
1
, ..., x
n
es convexa en R
n
.
La funcion Cuadratica sobre lineal, f(x, y) = x
2
/y es convexa en el domf =
_
(x, y) R
2
[ y > 0
_
.
Logaritmo de suma de exponenciales, f(x) = log (e
x
1
+ +e
xn
), tambien es convexa
en R
n
.
La media geometrica, dado por f(x) = (

n
i=1
x
i
)
1
n
es una funcion concava en R
n
.
4
S
n
denota el conjunto de matrices simetricas de tama no n n.
33
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
En el dominio de las matrices, la funcion logaritmo del determinante, f(X) = log det(X),
con X S
n
++
5
es una funcion concava.
Operaciones que preservan convexidad
Al igual que con los conjuntos convexos, existen ciertas operaciones que preservan la
convexidad o concavidad de las funciones, y que permiten formar nuevas funciones con las
mismas. A continuacion se describen algunas de ellas.
Proposicion 1: Sean f
1
, ..., f
m
funciones convexas. La suma ponderada no negativa dada
por f = w
1
f
1
+ +w
m
f
m
, con w
i
0 para todo i, es tambien convexa.
Proposicion 2: La composicion con una funcion afn tambien preserva convexidad (o
concavidad). Sea f : R
n
R convexa, A R
nm
y b R
n
. Entonces, g : R
m
R
denida como
g(x) = f(Ax +b)
es tambien convexa (o concava si f lo es).
Proposicion 3: La operacion de maximo y supremo punto por punto de funciones convexas,
preserva la convexidad de estas. Si f
1
, ..., f
m
son convexas, entonces f(x) = max f
1
(x), ..., f
m
(x)
es convexa. As mismo se tiene que, si para todo y /, f(x, y) es convexa en x, entonces la
funcion g(x) = sup
yA
f(x, y) es convexa en x.
En cuanto a la composicion de funciones, se pueden extender las propiedades de
convexidad bajo ciertos criterios. Considerando el caso mas general, con h : R
k
R,
g : R
n
R
k
, y f = h g : R
n
R, con dom f = x dom g [ g(x) dom h, se
tiene:
f es convexo si h es convexo, h es no decreciente en cada argumento, y los g
i
son convexos.
f es convexo si h es convexo, h es no creciente en cada argumento, y los g
i
son concavos.
f es concavo si h es concavo, h es no decreciente en cada argumento, y los g
i
son concavos.
f es concavo si h es concavo, h es no creciente en cada argumento, y los g
i
son convexos.
Lo anterior se cumple bajo el supuesto que h, g y f son dos veces diferenciables.
5
S
n
++
denota el conjunto de matrices simetricas denidas positivas de tama no n n.
34
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
5.3. Problemas de Optimizaci on Convexa
5.3.1. Fomulaci on de la forma estandar
Un problema de optimizacion convexa es de la siguiente forma:
minimizar f
0
(x)
sujeto a f
i
(x) 0, i = 1, ..., m
a
T
i
x = b
i
, i = 1, ..., p,
(5.6)
donde se tiene un problema con m restricciones de desigualdad, y p de igualdad, y f
0
, ..., f
m
son funciones convexas. Es importante resaltar que un problema de este tipo impone que
tanto la funcion objetivo, como las funciones de restriccion de desigualdad deben ser con-
vexas, y las restricciones de igualdad deben ser anes. Ademas, con esta formulacion se
tiene que el conjunto factible del problema es convexo. En efecto, la region factible es la
interseccion de m subconjuntos convexos de la forma x [ f
i
(x) 0, y p hiperplanos de
la forma x [ a
T
i
x = b
i
. Por propiedades de conjuntos convexos, el conjunto resultante es
convexo.
Un problema de maximizacion puede ser un problema de optimizacion convexa, si
tiene la siguiente forma:
maximizar f
0
(x)
sujeto a f
i
(x) 0, i = 1, ..., m
a
T
i
x = b
i
, i = 1, ..., p,
(5.7)
donde f
0
es una funcion concava. Las funciones f
1
, ..., f
m
se mantienen convexas. Todas
deniciones, resultados y algoritmos de minimizacion convexa, pueden aplicarse facilmente
a problemas de maximizacion, resolviendo el problema de minimizar la funcion f
0
, la cual
es convexa.
Criterio de Optimilidad
Una propiedad fundamental de los problemas convexos es que cualquier maximo local,
es maximo global tambien. Con esto presente, se puede encontrar un criterio de optimalidad
general para problemas convexos.
Si f
0
es diferenciable en un problema convexo, se tiene que, para todo x, y domf
0
,
f
0
(y) f
0
(x) +f
0
(x)
T
(y x) (5.8)
35
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
(condicion de acotamiento inferior de aproximacion de primer orden de Taylor). Si X denota
el conjunto factible del problema, se tiene que x es optimo s y solo si x X y
f
0
(x)
T
(y x) 0 (5.9)
para todo y X.
Para los problemas sin restricciones (es decir, con m = p = 0), la condicion de
optimalidad se reduce a la condici on necesaria y suciente
f
0
(x) = 0. (5.10)
Para el caso de un problema que solo tiene restricciones de igualdad, es decir,
minimizar f
0
(x)
sujeto a Ax = b,
(5.11)
se tiene que la condicion de optimalidad se tiene para todo y que satisface Ay = b. Luego,
dado el x optimo (factible), se tiene que cada y factible se puede expresar como y = x+v, con
v ^(A) (siendo ^(A) el espacio nulo de la matriz A). Luego la condicion de optimalidad
en este caso se puede expresar como
f
0
(x)
T
v 0 (5.12)
para todo v ^(A). Pero como se tiene que si una funcion lineal es no negativa en un
subespacio, entonces debe ser igual a cero en el subespacio, entonces la condicion de opti-
malidad es f
0
(x)
T
v = 0, es decir, el gradiente de la funcion en el optimo es perpendicular
al subespacio nulo de la matriz A, f
0
(x)^(A). Por propiedades de algebra lineal se tiene
que ^(A)

= (A
T
) (donde () representa el espacio imagen o rango de la matriz de una
transformacion lineal). Luego, la condicion de optimalidad puede ser expresada como: existe
un v R
p
tal que
f
0
(x) +A
T
v = 0. (5.13)
Esta condicion es la clasica condicion de optimalidad de multiplicadores de Lagrange.
Problemas Convexos Equivalentes
Utilizando propiedades de funciones y conjuntos convexos se pueden encontrar pro-
blemas convexos equivalentes, que pueden ser de utilidad a la hora de resolverlos.
Para eliminar las restricciones de igualdad en un problema convexo se puede encontrar
una solucion particular a la restriccion, x
0
, tal que Ax
0
= b, y una matriz F cuyo rango es
36
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
el espacio nulo de A, y luego resolver
minimizar f
0
(Fz +x
0
)
sujeto a f
i
(Fz +x
0
) 0, i = 1, ..., m,
(5.14)
en donde la nueva variable objetivo es z. La propiedad de composicion por funcion afn,
hace que este problema siga siendo convexo, pero sin restricciones de igualdad.
Si se quieren eliminar las restricciones ahora de desigualdad, se puede hacer convir-
tiendolas en restricciones de igualdad. Esto se logra agregando las llamadas variables de
holgura al problema, en donde cada restriccion queda ahora de la forma f
i
(x) +s
i
= 0, con
s
i
0 la variable holgura. Para que el problema siga siendo convexo, las restricciones de
igualdad deben ser anes, por lo que en este caso las funciones f
i
deben ser anes.
5.3.2. Casos Particulares
Existen problemas de optimizacion convexa particulares que aparecen de forma na-
tural en aplicaciones, y que son estudiados en forma particular, ademas de tener metodos
propios y exclusivos de resolucion. A continuacion se presentan algunos de ellos.
Problemas de Optimizacion Lineal
Cuando tanto la funcion objetivo como las funciones de restricciones son anes, el
problema recibe el nombre de Problema de Programacion Lineal, y es de la forma
minimizar c
T
x +d
sujeto a Gx _ h
Ax = b,
(5.15)
donde G R
mxn
y A R
pxn
(_ denota la desigualdad componente a componente).
Se puede interpretar geometricamente este problema como se muestra en la gura 5.4,
en donde las curvas de nivel son hiperplanos ortogonales a c. Luego, el punto optimo es el
punto mas alejado de la region factible T, en la direccion c.
La forma estandar de un PPL es aquel problema en que las restricciones de desigual-
dad se reducen a la restriccion de no negativadad de la variable de optimizacion, es decir
x _ 0. Un PPL de desigualdad es llamado al problema que solo presenta restricciones de
desigualdad. Se escribe generalmente como:
minimizar c
T
x
sujeto a Ax _ b.
(5.16)
37
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
4.3 Linear optimization problems 147
P
x

c
Figure 4.4 Geometric interpretation of an LP. The feasible set P, which
is a polyhedron, is shaded. The objective c
T
x is linear, so its level curves
are hyperplanes orthogonal to c (shown as dashed lines). The point x

is
optimal; it is the point in P as far as possible in the direction c.
twise nonnegativity constraints x 0:
minimize c
T
x
subject to Ax = b
x 0.
(4.28)
If the LP has no equality constraints, it is called an inequality form LP, usually
written as
minimize c
T
x
subject to Ax b.
(4.29)
Converting LPs to standard form
It is sometimes useful to transform a general LP (4.27) to one in standard form (4.28)
(for example in order to use an algorithm for standard form LPs). The rst step
is to introduce slack variables s
i
for the inequalities, which results in
minimize c
T
x + d
subject to Gx + s = h
Ax = b
s 0.
The second step is to express the variable x as the dierence of two nonnegative
variables x
+
and x

, i.e., x = x
+
x

, x
+
, x

0. This yields the problem


minimize c
T
x
+
c
T
x

+ d
subject to Gx
+
Gx

+ s = h
Ax
+
Ax

= b
x
+
0, x

0, s 0,
Figura 5.4: Interpretacion geometrica de un Problema de Programacion Lineal.
4.4 Quadratic optimization problems 153
P
x

f
0
(x

)
Figure 4.5 Geometric illustration of QP. The feasible set P, which is a poly-
hedron, is shown shaded. The contour lines of the objective function, which
is convex quadratic, are shown as dashed curves. The point x

is optimal.
where P
i
S
n
+
, i = 0, 1 . . . , m, the problem is called a quadratically constrained
quadratic program (QCQP). In a QCQP, we minimize a convex quadratic function
over a feasible region that is the intersection of ellipsoids (when P
i
0).
Quadratic programs include linear programs as a special case, by taking P = 0
in (4.34). Quadratically constrained quadratic programs include quadratic pro-
grams (and therefore also linear programs) as a special case, by taking P
i
= 0
in (4.35), for i = 1, . . . , m.
4.4.1 Examples
Least-squares and regression
The problem of minimizing the convex quadratic function
Ax b
2
2
= x
T
A
T
Ax 2b
T
Ax + b
T
b
is an (unconstrained) QP. It arises in many elds and has many names, e.g., re-
gression analysis or least-squares approximation. This problem is simple enough to
have the well known analytical solution x = A

b, where A

is the pseudo-inverse
of A (see A.5.4).
When linear inequality constraints are added, the problem is called constrained
regression or constrained least-squares, and there is no longer a simple analytical
solution. As an example we can consider regression with lower and upper bounds
on the variables, i.e.,
minimize Ax b
2
2
subject to l
i
x
i
u
i
, i = 1, . . . , n,
Figura 5.5: Interpretacion geometrica del problema cuadratico
Problemas de Programacion Cuadratica
Un problema de programacion cuadratica es aquel que su funcion objetivo es cuadratica,
y las restricciones son anes. Se puede expresar de la forma
minimizar
1
2
x
T
Px +q
T
x +r
sujeto a Gx _ h
Ax = b,
(5.17)
en donde P S
n
+
, G R
mn
y A R
pn
. Geometricamente como muestra la gura 5.5,
el problema es encontrar el punto mas alejado del conjunto T, en la direccion f
o
(x), en
donde las curvas de nivel son funciones cuadraticas.
Si el problema tiene tanto la funcion objetivo como las funciones de restriccion de de-
38
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
sigualdad, cuadraticas, se denomina Programacion cuadratica cuadraticamente restringido
(QCQP por sus siglas en ingles).
Un ejemplo tpico de este tipo de problemas es el problema de Mnimos cuadrados,
donde la funcion objetivo es la norma al cuadrado de la diferencia entre dos vectores. Una
forma de expresarlo podra ser
minimizar |Ax b|
2
2
= x
T
A
T
Ax 2b
T
Ax +b
T
b
sujeto a l
i
x
i
u
i
, i = 1, ..., n.
(5.18)
Programacion Geometrica
Los problemas de programacion geometrica son problemas que no son convexos en su
forma natural, pero que sin embargo mediante algunas transformaciones pueden ser llevados
a un problema de optimizacion convexa.
Antes que todo, es necesario denir dos tipos de funciones. La funcion f : R
n
R
con dom f = R
n
++
6
, denida como
f(x) = cx
a
1
1
x
a
2
2
x
an
n
, (5.19)
se denomina monomio, donde c > 0 y a
i
R. Con esto, se puede entonces denir la funcion
posinomio, que es una suma de monomios, de la forma
f(x) =
K

k=1
c
k
x
a
1
k
1
x
a
2
k
2
x
ank
n
, (5.20)
con c
k
> 0. Los posinomios tienen algunas propiedades utiles, como ser cerrados bajo adi-
cion, multiplicacion y escalamiento no negativo. Los monomios, por otra parte, son cerrados
bajo multiplicacion y division. Ademas, un posinomio, ya sea multiplicado o dividido por
un monomio, da como resultado un posinomio.
Un problema de programacion geometrica, entonces, es uno de la forma
minimizar f
o
(x)
sujeto a f
i
(x) 1, i = 1, ..., m
h
i
(x) = 1, i = 1, ..., p,
(5.21)
donde las funciones f
0
, ..., f
m
son posinomios, y las funciones h
1
, ..., h
p
son monomios;
ademas se tiene la condicion implcita x ~ 0. El dominio del problema es el conjunto
T = R
n
++
.
6
Vectores reales de tama no n estrctamente positivos.
39
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
Es facil ver que el problema anterior no es convexo, debido a que no cumple con los
requerimientos especicados al comienzo de este sub-captulo. Para llevarlo a un problema de
este tipo, es necesario hacer algunos cambios de variables y transformaciones. Sea y
i
= log x
i
,
de modo que x
i
= e
y
i
. Con esto, si f es un monomio, entonces
f(x) = f(e
y
1
, ..., e
yn
) = e
a
T
y+b
, (5.22)
donde b = log c, transformando el monomio original en una funcion exponencial compuesta
por una funcion afn. Analogamente, un posinomio f queda de la forma
f(x) =
K

k=1
e
a
T
k
y+b
k
, (5.23)
con a
k
= (a
1k
, ..., a
nk
) y b
k
= log c
k
. Luego, en terminos de la nueva variable y, el problema
inicial puede ser expresado de la forma
minimizar
K
0

k=1
e
a
T
0k
y+b
0k
sujeto a
K
i

k=1
e
a
T
ik
y+b
ik
1, i = 1, ..., m
e
g
T
i
y+h
i
= 1, i = 1, ..., p,
(5.24)
donde a
ik
R
n
contiene los exponentes de las restricciones de desigualdad posinomiales, y
a
i
R
n
contiene los exponentes de los monomios, restricciones de desigualdad originales.
Ahora, tomando logaritmo al problema recien descrito, se obtiene
minimizar

f
0
(y) = log
_
K
0

k=1
e
a
T
0k
y+b
0k
_
sujeto a

f
i
(y) = log
_
K
i

k=1
e
a
T
ik
y+b
ik
_
0, i = 1, ..., m

h
i
(y) = g
T
i
y +h
i
= 0, i = 1, ..., p,
(5.25)
el cual es un problema convexo al cumplir con los requisitos de convexidad para las funciones

f
i
, y la forma afn de las funciones

h
i
. Este problema recibe el nombre de Programaci on
Geometrica en su forma Convexa.
5.3.3. Dualidad
Considere el siguiente problema de optimizacion en su forma estandar:
minimizar f
0
(x)
sujeto a f
i
(x) 0, i = 1, ..., m
h
i
(x) = 0, i = 1, ..., p,
(5.26)
40
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
con x R
n
y dominio T =

m
i=0
domf
i


p
i=1
domh
i
, que se asume no vaco. Se denota
por p

el valor optimo del problema (5.26), el cual no es necesariamente convexo.


La idea basica de la Dualidad Lagrangiana es considerar las restricciones de (5.26)
dentro de la funcion objetivo a traves de una suma ponderada de ellas. Se dene el La-
grangiano L : R
n
R
m
R
p
R asociado a (5.26), como
L(x, , ) = f
0
(x) +
m

i=1

i
f
i
(x) +
p

i=1

i
h
i
(x), (5.27)
con dom L = T R
m
R
p
. Los valores
i
son los multiplicadores de Lagrange asociados
a las restricciones f
i
(x) 0, y
i
son los multiplicadores de Lagrange asociados a las
restricciones de igualdad h
i
(x) = 0. Los vectores y son las llamadas variables duales o
vectores multiplicadores de Lagrange asociados al problema (5.26).
Se dene la funcion dual g : R
m
R
p
R como el valor mnimo del Lagrangiano
sobre la variable x,
g(, ) = nf
xD
L(x, , ). (5.28)
Si el Lagrangiano no esta acotado inferiormente, la funcion g toma el valor . Ademas,
como la funcion dual es el nmo para cada punto de una familia de funciones anes en el
argumento (, ), esta es concava, a un cuando el problema (5.26) es no convexo.
Una propiedad importante de la funcion dual es que constituye una cota mnima para
el valor optimo p

de (5.26). Es decir, para cualquier _ 0 y cualquier , se tiene


g(, ) p

. (5.29)
Para una demostracion de esta propiedad, revisar [30].
La funcion dual representa una cota inferior de p

que depende de los parametros


y . Es decir, para cada par (, ) con _ 0, la funcion dual entrega una cota inferior para
p

. Lo anterior induce al siguiente problema de optimizacion:


maximizar g(, )
sujeto a _ 0,
(5.30)
el cual es llamado el problema dual asociado al problema (5.26); este ultimo es llamado
problema primal bajo este contexto. El termino dual factible asociado al par (, ) con
_ 0, implica que (, ) es factible para el problema (5.30). El valor optimo de este
problema, denotado por (

), se denomina optimo dual. Debido a que se maximiza una


funcion concava bajo restricciones convexas, (5.30) es un problema convexo.
El valor optimo del problema dual, denotado por d

, es por denicion la mejor cota


inferior de p

que puede ser obtenida por medio de este problema. La propiedad


d

(5.31)
41
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
se llama dualidad debil, y se mantiene a un si el problema primal es no convexo. As, se le
llama gap optimo de dualidad a la diferencia p

. Si esta diferencia es nula, es decir,


d

= p

, (5.32)
se habla de dualidad fuerte. Esta ultima caracterstica en general no se mantiene, excepto
por los casos en que el problema primal es convexo, donde usualmente s se mantiene.
5.4. Algoritmos de Resoluci on
Existen varios algoritmos para resolver problemas convexos, los cuales dieren entre
s en factores como rapidez de convergencia, calidad de convergencia, facilidad de imple-
mentacion, entre otros. Estos algoritmos pueden ser clasicados seg un el tipo particular de
problema convexo en que son aplicados.
5.4.1. Algortimos de Minimizacion No Restringida
Estos algoritmos estan dise nados para resolver el problema sin restricciones
minimizar f(x) (5.33)
donde f : R
n
R es una funcion convexa y dos veces diferenciable. Se asume que el valor
optimo x

existe y es unico. Como f es convexa y diferenciable, una condicion necesaria y


suciente para que x

sea optimo, es
f(x

) = 0. (5.34)
En general, no existe una solucion analtica para la condicion anterior. Por ello, los
algoritmos son los encargados de encontrar una solucion numerica para estos problemas.
Metodos de descenso
Para los problemas no restringidos se utiliza, en forma general, algoritmos de descenso,
los cuales computan una secuencias de minimizacion iterativa para x
(k)
, k = 1, ..., donde
x
(k+1)
= x
(k)
+t
(k)
x
(k)
(5.35)
Aqu, x
(k)
es un vector en R
n
es llamado paso o direcci on de b usqueda; el escalar t
(k)
, con
t
(k)
> 0 (excepto cuando x
(k)
es optimo), es llamado tama no (o largo) del paso; y k = 0, 1, ...
denota el n umero de iteracion.
42
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
Como todos estos metodos son de descenso, se tiene que
f(x
(k+1)
) < f(x
(k)
),
excepto cuando x
(k)
es optimo. Luego, por convexidad se sabe que si, f(x
(k)
)
T
(y x
(k)
)
0, entonces f(y) f(x
(k)
), entonces la direccion de descenso (de b usqueda) debe satisfacer
f(x
(k)
)
T
x
(k)
< 0.
Un descripcion general de un algoritmo de descenso es como sigue:
Algoritmo 5.1: Algoritmo de descenso.
iniciar Un punto inicial x domf.
repetir
1. Determinar una direcci on de descenso x.
2. B usqueda de recta. Elegir un largo del paso, t > 0.
3. Actualizar x := x +tx.
hasta Criterio de detencion es satisfecho.
Encontrar el valor de t en cada iteracion, no es algo trivial de resolver. La idea es
encontrar el t que minimice el valor de f a lo largo de la recta x + tx[t > 0. En
general no existe un metodo exacto para encontrar este valor, por lo que la mayora de las
b usquedas usadas apuntan a reducir el valor de f un valor suciente. Un metodo simple
de implementar, y bastante efectivo, es la b usqueda llamada Backtracking Line Search, que
encuentra t gracias al siguiente algoritmo:
Algoritmo 5.2: Algoritmo Backtracking Line Search.
iniciar con t := 1, dada una direccion de descenso x para f en x, (0, 0,5) y (0, 1).
while f(x +tx) > f(x) +tf(x)
T
x
t := t.
El valor de t se inicia en 1, y comienza a decrementar su valor hasta que es de una magnitud
tal que la funcion evaluada en el proximo valor de x, es menor a actual valor de la funcion
menos un valor de decremento f(x)
T
x (que es negativo ya que x es una direccion de
descenso).
Metodo de Descenso del Gradiente
Este metodo, tambien llamado simplemente Metodo del Gradiente, elige la direccion
de descenso como el negativo del gradiente x = f(x). El algoritmo es
43
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
Algoritmo 5.3: Algoritmo de Metodo del Gradiente.
iniciar con un punto x domf de comienzo, dado.
repetir
1. x := f(x).
2. Elegir el paso t mediante Backtracking line search.
3. x := x +tx.
hasta |f(x)|
2
, con > 0 y peque no.
Metodo de Newton
Se dene el paso de Newton, para x domf, como el vector
x
nt
=
2
f(x)
1
f(x)
donde
2
f(x) es la matriz Hessiana de f en el punto x. Si
2
f(x) es denida positiva,
entonces
f(x)
T
x
nt
= f(x)
T

2
f(x)
1
f(x) < 0
con excepcion de cuando f(x) = 0. Luego, el paso de Newton es una direccion de descenso.
Existen varias interpretaciones del paso de Newton. Una, que parece ser directa e intui-
tiva, es que el paso es la solucion linealizada de la condicion de optimizalidad f(x

) = 0.
En efecto, una expansion en serie de Taylor de esta condicion en torno a x es
f(x +v) f(x) +
2
(x)v = 0, (5.36)
la cual es una ecuacion lineal en v con solucion v = x
nt
, y por lo tanto x+x
nt
mantiene
la condicion. A medida que x se acerca al optimo x

, la actualizacion x + x
nt
debiese ser
una buena aproximacion para x

.
Decremento de Newton es el nombre que recibe la cantidad denida como
(x) =
_
f(x)
T

2
f(x)
1
f(x).
Si se dene

f como la aproximacion de segundo orden de f en x, entonces este decremento
puede ser visto como la cantidad f(x) nf
y

f(y):
f(x) nf
y

f(y) = f(x) +

f(x + x
nt
) =
1
2
(x)
2
. (5.37)
Luego,
2
/2 es una estimacion de la cantidad f(x) p

(cuan alejado se esta del valor


optimo de la funcion objetivo), y por lo tanto se puede utilizar como criterio de detencion
en el metodo.
44
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
Denidos ya los elementos importantes del metodo, se presenta un bosquejo del algo-
ritmo que implementa el Metodo de Newton:
Algoritmo 5.4: Algoritmo de Metodo de Newton.
iniciar con un punto de partida x domf y > 0, dados.
repetir
1. Computar las cantidades del Paso de Newton y el decremento.
x
nt
:=
2
f(x)
1
f(x) ;
2
:= f(x)
T

2
f(x)
1
f(x).
2. Salir si
2
/2 .
3. Elegir el tama no del paso t mediante Backtracking line search
4. Actualizar x := x +tx
nt
.
5.4.2. Algortimos de Minimizacion con Restricciones de Igualdad
Este tipo de algortimos resuelve el problema
minimizar f(x)
sujeto a Ax = b,
(5.38)
con f : R
n
R convexa y dos veces diferenciable, y A R
pn
, con rango A = p < n. A
continuacion se presentan dos formas de abordar este problema.
Eliminando las restricciones de igualdad
Un propuesta es eliminar, de alguna forma, las restricciones de igualdad para convertir
el problema en uno no restringido y as utilizar los metodos descritos en la seccion anterior.
Para ello, se debe encontrar una matriz F R
n(np)
y un vector x R
n
tal que parametrice
el conjunto factible de la restriccion afn; esto es
x [ Ax = b =
_
Fz + x [ z R
np
_
.
El vector x puede ser elegido como una solucion particular de Ax = b, mientras que F
R
n(np)
es cualquier matriz cuyo espacio imagen es igual al espacio nulo de la matriz A.
Luego, el problema originar se transforma al problema
minimizar

f(z) = f(Fz + x), (5.39)
el cual es no restringido y puede resolverse mediante los metodos enunciados en la sec-
cion anterior. La solucion a este problema, z

R
np
, permite entocontrar la solucion al
problema original, haciendo x

= Fz

+ x.
45
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
Metodo de Newton con restricciones de igualdad
Existe una extension al Metodo de Newton que incluye restricciones de igualdad. Es
el mismo que el metodo original, excepto por que el punto inicial x, que ademas debe ser
factible, es decir, satisface Ax = b, y porque el paso x
nt
es modicado para cumplir con
las restricciones.
El nuevo paso de Newton debe ser tal que asegure que el proximo valor de x se
movera a un punto dentro de la region factible. Lo anterior se obtiene resolviendo un prob-
lema de minimizacion cuadratica sobre este paso, en la aproximacion lineal de la funcon
objetivo. Esto se traduce a que el nuevo paso de x
nt
es el que resuelve
_

2
f(x) A
T
A 0
__
x
nt
w
_
=
_
f(x)
0
_
, (5.40)
donde w representa la variable asociada al multiplicador de Lagrange asociado a la restric-
cion de igualdad.
Con la denicion anterior, se puede enunciar entonces el metodo de Newton con
restricciones de igualdad, como:
Algoritmo 5.5: Algoritmo de Metodo de Newton con restricciones de igualdad.
iniciar con un punto de partida x domf tal que Ax = b, y > 0, dados.
repetir
1. Computar las cantidades del Paso de Newton y el decremento.
x
nt
:=
2
f(x)
1
f(x) ;
2
:= f(x)
T

2
f(x)
1
f(x).
2. Salir si
2
/2 .
3. Elegir el tama no del paso t mediante Backtracking line search
4. Actualizar x := x +tx
nt
.
La forma de encontrar x
nt
en el algoritmo, es como la recien presentada.
5.4.3. Metodos de Punto Interior
Los metodos de punto interior, son aquellos que resuelven el problema
minimizar f
0
(x)
sujeto a f
i
(x) 0, i = 1, ..., m
Ax = b,
(5.41)
con f
0
, ..., f
m
: R
n
R convexas y dos veces diferenciable, y A de las mismas caractersticas
del caso anterior. Aqu se presentara, en forma particular, dos metodos. El primero es
46
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
llamado Metodo de Barrera Logartmica y el segundo es el Metodo de punto interior primal-
dual.
En el metodo de barrera logartmica, la idea principal es encontrar una manera de
transformar el problema de restricciones de desigualdades (e igualdades), a uno de solo
restricciones de igualdad (caso general), para as poder resolverlo mediante el metodo de
Newton extendido. Una manera logica de eliminar las restricciones de desigualdad, es in-
cluirlas de manera implcita en la funcion objetivo, idealmente
minimizar f
o
(x) +
m

i=1
I (f
i
(x))
sujeto a Ax = b,
(5.42)
con I : R R denida como
I (u) =
_
_
_
0 u 0
u > 0.
El problema es que la funcion denida de esta forma no es diferenciable. Por ello, una
aproximacion a esta funcion es

I (u) = (1/t) log (u), (5.43)


donde t > 0 es un parametro que establece la precision de la aproximacion. Esta nueva
funcion es convexa, dos veces diferenciable y creciente al tomar el valor para u > 0.
Con esto la nueva funcion objetivo es f
0
(x) +

m
i=1
(1/t) log (f
i
(x)) la cual es convexa y
diferenciable.
Se dene como barrera logartmica, a la funcion
(x) =
m

i=1
log (f
i
(x)),
con dom = x R
n
[ f
i
(x) < 0, i = 1, ..., m. Con esto, el problema original se puede
reescribir como
minimizar tf
0
(x) +(x)
sujeto a Ax = b,
(5.44)
donde sin perder generalidad, se ha multiplicado la funcion objetivo por t (la solucion para
ambos problemas es la misma). Luego, este problema puede ser resuelto por el metodo de
Newton extendido (o por el metodo de Newton simple para el caso A = 0). Se asume que
este problema tiene solucion unica para cada t, es decir, x

= x

(t). Se puede demostrar


ademas que la diferencia entre el problema dual y el primal, esta acotada por m/t, es decir
f
0
(x

(t)) p

m/t, por lo que x

(t) converge a la solucion optima con t .


47
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
Con los antecedentes previos ya expuestos, se esta en condiciones de enunciar el Meto-
do de Barrera Logartmica, como sigue:
Algoritmo 5.6: Algoritmo de Metodo de Barrera Logartmica.
iniciar con un punto estrictamente factible x, t := t
(0)
> 0, > 1, y tolencia > 0, dados.
repetir
1. Computar x

(t), minimizando tf
0
+, sujeto a Ax = b, comenzando con x.
2. Actualizar x := x

(t).
3. Salir si m/t < .
4. Incrementar t := t.
Cabe mencionar que el paso 1. del algoritmo, de computar la solucion x

(t), debe hacerse


mediante el Metodo de Newton (ya sea extendido o simple, seg un sea el caso) con punto
inicial factible igual al valor actual de x en la iteracion del metodo global.
El segundo metodo es el llamado metodo de punto interior primal-dual. Este metodo
es muy similar al anterior, excepto por algunas diferencias:
No se diferencia por iteraciones internas o externas; existe solo un ciclo de iteraciones.
En cada iteracion son actualizadas tanto las variables primales como las duales.
Las direcciones de b usqueda de este metodo se obtienen del metodo de Newton, apli-
cado a las condiciones de optimalidad del metodo de barrera logartmica.
En el metodo primal-dual las iteraciones no son necesariamente factibles .
Los metodos de punto interior primal-dual son a menudo mas ecientes que los meto-
dos de barrera, ya que presentan, por lo general, convergencias mejores a las lineales. Son
especialmente ecientes para problemas particulares tales como: Problemas Lineales, Pro-
gramacion Cuadratica, Problemas Geometricos y Programacion Semidenida.
Se dene la condicion de optimalidad como r
t
(x, , ) = 0, donde
r
t
(x, , ) =
_

_
f
0
(x) +Df(x)
T
+A
T

diag()f(x) (1/t)1
Ax b
_

_, (5.45)
y t > 0. En esta notacion, f : R
n
R
m
y su matriz de derivadas Df estan dadas por
f(x) =
_

_
f
1
(x)
.
.
.
f
m
(x)
_

_
, Df(x) =
_

_
f
1
(x)
T
.
.
.
f
m
(x)
T
_

_
.
Si x, , satisfacen r
t
(x, , ) = 0 y f
i
(x) < 0, entonces son optimos de sus respectivos
problemas. En particular, x es primal factible, y , son dual factibles con gap de dualidad
48
CAP

ITULO 5. OPTIMIZACI

ON CONVEXA
igual a m/t. La primera componentes de r
t
, denida por
r
dual
= f
0
(x) +Df(x)
T
+A
T
,
se denomina residuo dual. La ultima compenente, r
pri
= Axb, recibe el nombre de residuo
primal, y la del centro,
r
cent
= diag()f(x) (1/t)1,
se denomina residuo central.
El paso de Newton que en este caso se denomina direccion de b usqueda primal-dual,
denotado por y
pd
= (x
pd
,
pd
,
pd
), es aquel que resuelve el problema
_

2
f
0
(x) +
m

i=1

2
f
i
(x) Df(x)
T
A
T
diag()Df(x) diag(f(x)) 0
A 0 0
_

_
_

_
x

_ =
_

_
r
dual
r
pri
r
cent
_

_. (5.46)
Las deniciones y caractersticas expuestas anteriormente, permiten enunciar el algo-
ritmo como sigue:
Algoritmo 5.7: Algoritmo de Metodo de punto interior Primal-Dual.
iniciar x que satisface f
1
(x) < 0, , f
m
(x) < 0, y ~ 0, > 0,
feas
> 0 y > 0.
repetir
1. Hacer t := m/ f(x)
T
.
2. Computar la direccion Primal-Dual y
pd
.
3. Determinar largo del paso s mediante backtracking line search.
4. Actualizar y := y +sy
pd
.
hasta |r
pri
|
2

feas
, |r
dual
|
2

feas
y f(x)
T
,
con y = (x, , ).
49
Captulo 6
Modelo del Sistema y
Formalizacion del Problema
En este captulo se presenta tanto la forma en que se planteo el problema, como
tambien el escenario y el modelo del sistema del cual se realiza el scheduling. En primer
lugar se deriva la funcion de utilidad encontrada que mejor reeja la sasfaccion esperada
por los usuarios, y que a su vez permite resolverlo en tiempo razonable para aplicaciones
de tiempo real. Se explica ademas la generalidad y notacion del sistema considerado, y por
ultimo la formulacion formal del problema de scheduling como problema de optimizacion
convexa.
6.1. Funcion de Utilidad
La primera etapa para la formulacion nal es encontrar una funcion de utilidad ade-
cuada al problema. Este ultimo adjetivo se ajusta a una funcion que represente la utilidad
percibida por cada usuario al experimentar un cierto valor de un parametro de calidad de
servicio, y que ademas sea una funcion objetivo que pueda ser optimizada mediante los
algoritmos de resolucion de problemas de optimizacion convexa. Los ultimos avances en
esta materia, permiten resolver un n umero acotado de problemas en un tiempo tal que los
algoritmos pueden ser utilizados en aplicaciones de tiempo real [31].
Como una forma de utilizar ecientemente los recursos, en esta tesis se pleantea que los
usuarios no experimentan un aumento en la utilidad percibida despues de que estos hayan
alcanzado el valor mnimo deseado de alg un requerimiento, estado que se denomina usuario
satisfecho. El objetivo es maximizar el n umero de usuarios satisfechos del sistema, por lo
que se debe maximizar la suma de la funciones de utilidad individuales de cada usuario.
50
CAP

ITULO 6. MODELO DEL SISTEMA Y FORMALIZACI

ON DEL PROBLEMA
10 8 6 4 2 0 2 4 6 8 10
2
1.5
1
0.5
0
0.5
1
1.5
2
z
s
i
g
n
(
z
)
Figura 6.1: Graca de la funcion signo.
Tomando como variable la diferencia entre el valor del parametro real experimentado
y el requerimiento mnimo de este, es decir
z = x x
req
,
una funcion que cumple con representar el comportamiento explicado, es la funcion signo.
En efecto, la funcion denida por
sign(z) =
_

_
1 si z > 0
1 si z < 0
0 si z = 0
es la representacion mas radical y directa de lo pleanteado anteriormente, como se aprecia
en la gura 6.1.
El problema de utilizar esta funcion es, en primer lugar, que no es diferenciable en
z = 0, por lo que no puede aplicarse un metodo de optimizacion matematica estandar sobre
ella; mucho menos un metodo convexo, ya que la funcion tampoco es convexa [30].
Una segunda opcion es una funcion de la familia de funciones llamadas sigmoides. La
funcion
sigm(z) =
1
1 +e
x
y que se observa gracamente en 6.2, sigue representando la utilidad deseada, pero de una
manera mas suavizada, saturandose asintoticamente al valor de 1 a medida que z crece.
51
CAP

ITULO 6. MODELO DEL SISTEMA Y FORMALIZACI

ON DEL PROBLEMA
10 8 6 4 2 0 2 4 6 8 10
0.5
0
0.5
1
1.5
z
s
i
g
m
(
z
)
Figura 6.2: Graca de la funcion sigmoide.
Esta funcion soluciona el problema de la anterior al ser derivable en todo el dominio R (dos
veces derivable). Sin embargo, esta funcion no es convexa, por lo que no se puede denir un
problema de optimizacion convexa utilizando como funcion objetivo la misma. Metodos y
heursticas no lineales podran usarse, pero incrementaran los tiempos de convergencia sin
asegurar el hecho de que el punto encontrado sea un optimo global del problema.
Una funcion usada en una variedad de areas de investigacion es la Funcion de Pena-
lidad de Huber(ver por ej. [32] y [33]). La misma se dene como
(z) =
_
z
2
si [z[ M
2M[z[ M
2
si [z[ M,
la cual es llamada Funcion de Penalizacion de Huber de parametro M.

Esta es una familia
de funciones continuas y derivables en todo R, parametrizadas por el valor de M, y todas
convexas. Es posible denir una variante de esta funcion, llamada Funcion de Penalizaci on
de Huber positiva, la cual trunca la funcion original, haciendo el valor de la funcion igual a
0 para los valores negativos de z, es decir

pos
(z) =
_

_
0 si z 0
z
2
si 0 z M
2M[z[ M
2
si z M.
Para los nes buscados en este trabajo, respecto a la funcion objetivo, se denio en
base a lo recien planteado una nueva modicacion a la funcion de Huber original, la cual se
52
CAP

ITULO 6. MODELO DEL SISTEMA Y FORMALIZACI

ON DEL PROBLEMA
10 8 6 4 2 0 2 4 6 8 10
2
0
2
4
6
8
10
12
14
16
18
20
z

n
e
g
(
z
)
(a) Versi on convexa.
10 8 6 4 2 0 2 4 6 8 10
20
18
16
14
12
10
8
6
4
2
0
z

n
e
g
(
z
)

c

n
c
a
v
a
(b) Versi on c oncava.
Figura 6.3: Variante negativa de Funcion de Penalizacion de Huber.
llamo Funcion de Penalizacion de Huber Negativa, y que es similar a la anterior pero con
la salvedad que esta vez la funcion se anula para valores positivos de z, por lo cual

neg
(z) =
_

_
0 si z 0
z
2
si M z 0
2M[z[ M
2
si z M.
(6.1)
Esta funcion es continua y derivable en todo z R; ademas es convexa en todo el
dominio, como se aprecia en la gura 6.3a. La version concava de esta funcion, denida
como

neg
(z) =
neg
(z),
conserva las propiedades de continuidad y diferenciacion, y ademas representa de forma
adecuada lo esperado por la funcion objetivo, como gracamente muestra la gura 6.3b.
En efecto, cuando z se hace cero, la funcion deja de aumentar su valor, lo que implica
que la utilidad mantiene su valor, y no se incrementa, a medida que z se mueve en el eje
R
+
. Ademas, el hecho de que la funcion sea creciente en el intervalo (, 0], es a un mas
benecioso para el comportamiento que se desea modelar, ya que implica que el usuario va
obteniendo mayor utilidad a medida que se acerca a su valor de requerimiento. Todas estas
caractersticas hacen que esta ultima funcion sea la adecuada para modelar el problema que
se ha propuesto.
53
CAP

ITULO 6. MODELO DEL SISTEMA Y FORMALIZACI

ON DEL PROBLEMA
6.2. Modelo del Sistema
Para los efectos de esta tesis, se considerara como parametro de calidad y satisfaccion
por parte de los usuarios, la tasa de datos (o, indistintamente llamada, throughput) promedio
de cada uno de estos, efectivamente experimentada durante una cierta ventana de tiempo
acotada.
El sistema a estudiar considera una celda individual en una red inalambrica, donde
coexisten M usuarios intentando acceder, simultaneamente en cada time slot, a los recur-
sos fsicos del sistema (ya sean c odigos en sistemas CDMA, o frecuencias subportadoras
en sistemas OFDMA). Se considera, ademas, que la accion de scheduling se realiza para
ventanas de tiempo de largo T time slots, cuya duracion de estos ultimos es de t segundos
(la duracion de este ultimo parametro no es relevante para la formalizacion del problema).
Los ndices i y k individualizan al i-esimo usuario del sistema, y al k-esimo time-slot den-
tro de la ventana de largo T. Por ultimo, C denota la cantidad de conjuntos de recursos
disponibles que pueden ser asignados a un usuario, como lo son un n umero mayor a uno de
codigos, o un cluster de subcanales [13].
Se dene la variable binaria u
i
k
, que toma el valor 1 si el usuario i es asignado a
recibir recursos en el instante k, y el valor 0 si no. Esta es la variable de decision del
problema, sobre la cual se interesa optimizar y encontrar la decision optima de scheduling.
Si A es el conjunto de todos los posibles estados del canal inalambrico visto por
un usuario, entonces x
i
k
A denota el estado del canal que experimenta el usuario i en
un instante k. En la propuesta de este trabajo, como primera aproximacion, se considera
conocido el estado del canal de todos los usuarios, al comienzo de cada ventana T, para
todos los instantes de tiempo dentro de la misma. Es importante destacar que en la practica,
las tecnologas existentes realizan una estimacion del canal solo para el siguiente time-slot,
lo cual se puede considerar como conocido; no as un conocimiento futuro de este.
Se dene el valor r
i
k
, donde representa el conjunto de todos los posibles
valores de throughput instantaneo que puede experimentar un usuario, que denota la tasa
instantanea que lograra un usuario i durante el intervalo de tiempo k si es que es asignado
a usar recursos, dada su condicion del canal. Es decir, este valor es funcion del estado del
canal, r
i
k
= r
i
k
(x
i
k
).
Las deniciones anteriores permiten denotar R
i
T
como el valor de la tasa de datos
promedio del usuario i durante toda la ventana de largo T, denida como
1
T
T

k=1
r
i
k
u
i
k
. (6.2)
54
CAP

ITULO 6. MODELO DEL SISTEMA Y FORMALIZACI

ON DEL PROBLEMA

Este es el valor a considerar como parametro de satisfaccion del usuario, al compararlo con
su tasa promedio requerida mnima, denotada por B
i
.
Es posible extender de forma natural la notacion anterior a una vectorial. As, se
puede denir el vector asignacion como
u =
_
u
1
1
, u
2
1
, , u
M
1
, u
1
2
, , u
M
2
, , u
1
T
, , u
M
T
_
T
,
con u R
MT
. Del mismo modo se dene el vector tasa de datos promedio de la forma
R
T
=
_
R
1
T
, R
2
T
, , R
M
T
_
T
,
y R
T
R
M
. Por ultimo, el vector B denota el vector cuyas componentes son los requisitos
individuales de los usuarios.
6.3. Formulaci on del Problema de Optimizacion
La descripcion del sistema a considerar, y la funcion mostrada en 6.1, permiten ahora
plantear el problema de scheduling como un problema de optimizacion convexa.
Como interesa mejorar el comportamiento global del sistema, el objetivo principal
entonces es maximizar la suma de las utilidades individuales de los usuarios, representadas
por la version concava de 6.1, y donde z = R
i
T
B
i
. Luego, el problema descrito por
maximizar
u
i
k
i,k
M

i=1

neg
(R
i
T
B
i
)
sujeto a
M

i=1
u
i
k
C k = 1, ..., T
u
i
k
1 i, k
u
i
k
0 i, k
(6.3)
es un problema de optimizacion convexa (ver 5.3). La primera restriccion representa la
limitacion de recursos disponibles en cada instante k. Las otras dos, son una relajacion de
la condicion de que las variables de decision sean variables binarias. Se impone entonces
la condicion de que estas pertenezcan al intervalo [0, 1]. Lo anterior se hace debido a la
suposicion, de manera intuitiva, de que en el optimo las variables van a tender a los extremos
del intervalo
1
. El factor que acompa na al requerimiento de tasa mnima, es un factor
de peso a nadido para modicar la relevancia de este requerimiento, igual para todos los
usuarios.
1
Existen no pocos problemas en donde, debido a las caractersticas de la f.o., las variables a optimizar se
mueven hacia los extremos del intervalo al que est an restringidas, ante peque nas variaciones de la f.o..

Este
tipo de soluciones recibe el nombre de soluciones Bang-Bang.
55
CAP

ITULO 6. MODELO DEL SISTEMA Y FORMALIZACI

ON DEL PROBLEMA
Es posible denir transformaciones lineales en el espacio de R
MT
, tanto para el vector
tasa de datos promedio, R
T
, como para el total de las restricciones, en funcion del vector
de asignacion u. Se dene la matriz F, compuesta por las tasas instantaneas individuales
de los usuarios, de la forma
F =
_
_
_
_
_
_
r
1
1
0 0 r
1
2
0 0 r
1
T
0 0
0 r
2
1
0 0 r
2
2
0 0 r
2
T
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 r
M
1
0 0 r
M
2
0 0 r
M
T
_
_
_
_
_
_
.
Luego, siendo F la matriz que representa la transformacion lineal, se puede obtener el vector
tasa promedio R
T
en funcion del vector asignacion, como
R
T
= Fu. (6.4)
Tambien se puede representar todas las restricciones del problema de forma matricial.
Sea A R
(2M+1)TMT)
la matriz denida por
A =
_
_
_
D
I
I
_
_
_,
con
D =
_
_
_
_
_
_
1 1 1 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 0 0 1 1 1
_
_
_
_
_
_
y D R
TMT
, e I R
MTMT
la matriz identidad de tama no M T. Si ademas se dene
el vector
56
CAP

ITULO 6. MODELO DEL SISTEMA Y FORMALIZACI

ON DEL PROBLEMA
b =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
C
.
.
.
C
1
.
.
.
1
0
.
.
.
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
T
_
MT
_
MT
,
entonces las restricciones se pueden expresar matricialmente como
Au _ b. (6.5)
Con estas transformaciones, y el hecho que maximizar una funcion concava es equivalente
a minimizar una funcion convexa, se puede replantear el problema (6.3) de la siguiente
manera:
minimizar
u
M

j=1

neg
((Fu B)
j
)
sujeto a Au _ b
, (6.6)
donde ()
j
representa la j
esima
componente de un vector. La formulacion de (6.6) es la que
se utilizara nalmente para resolver el problema de esta tesis.
57
Captulo 7
Implementaci on y Resultados de
Simulaciones
En este captulo se describe la forma en que se resolvio el problema, las soluciones
obtenidas, y los resultados de la simulaciones realizadas para casos que se aproximan a la
realidad.
Para poder realizar lo anterior, se hizo uso de programas de simulacion de sistemas
basados en MATLAB. Se utilizo el Software de Programacion Convexa Disciplinada, CVX
[14], para resolver el problema planteado en 6.6, y WIM2 Model [34] para modelar el canal
inalambrico de los usuarios de la manera mas realista posible.
7.1. Metodo de Soluci on
Como ya se expuso, se utilizo CVX para resolver el problema planteado en 6.6. Este
software posee un conjunto de reglas especcas que dene la forma en que se debe plantear
y construir el problema, limitandose a las restricciones impuestas en este conjunto. A su
vez, CVX invoca versiones propias de otros solvers para solucionar el problema, y que son
tambien paquetes de MATLAB especializados en problemas de optimizacion puntuales [35].
Para el problema particular propuesto en este trabajo, CVX utilizo como n ucleo el
solver SeDuMi [36]. Este paquete de MATLAB implementa una tecnica autodual sobre
conos homogeneos para resolver problema lineales (LP), conicos de segundo orden (SOCP)
y de optimizacion semidenida (SDP).
58
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
7.2. Soluciones Obtenidas
El problema planteado en (6.6) restringe las variables de decision, el vector u, a
existir en el intervalo cerrado [0, 1]. Los problemas de optimizacion entera son complejos de
resolver, mas a un cuando las funciones objetivos no son lineales. Debido a esta dicultad y
a que las heursticas existentes poseen convergencia lenta, es que se relajo la condicion de
binariedad al intervalo ya mencionado. La decision tomada encuentra un apoyo en el hecho
que es factible que las soluciones optimas se encuentren en los extremos del intervalo de
acotamiento. Lo anterior toma mas fuerza debido a que la funcion objetivo es una funcion
agregada de funciones, en que cada una de estas es lineal en un tramo y cuadratico en otro,
pero siempre decreciente. Luego, tiene sentido que una funcion de este tipo tome su mnimo
en su extremo; sin embargo, la conclusion no es directa debido a que la funcion objetivo es
una suma de funciones pertenecientes a esta familia.
Las soluciones obtenidas efectivamente correspondieron, en la gran mayora de los
casos, a las del tipo explicado en el parrafo anterior. Este tipo de soluciones recibe el
nombre de soluciones Bang-Bang y su principio y existencia radica en la Teora de Control

Optimo [37]. El problema (6.6) puede ser visto como un problema de control optimo en
donde la variable de decision u es la variable de controlabilidad del sistema, que busca
la trayectoria optima que maximiza los pagos (en el caso de (6.6), la que minimiza las
perdidas). En [37] se demuestra que bajo ciertas condiciones, se tiene la existencia de control
Bang-Bang como solucion al problema.
7.3. Modelo del Canal
Para darle validez a la solucion encontrada fue necesario considerar un sistema lo
mas ajustado a la realidad posible. Un factor trascendental para ello, es modelar el canal
inalambrico acorde a lo que realmente experimenta un usuario utilizando servicios de tec-
nologas moviles. Como ya se dijo al comienzo del captulo, este canal se modelo con la
ayuda de WIM2 Model.
7.3.1. Caractersticas de Sotware
El paquete utilizado es una implementacion en MATLAB del modelo desarrollado en
WINNER Phase II
1
[34]. Su principal proposito es generar las realizaciones del canal de
1
Cabe aclarar que WINNER Phase II es proyecto que desarrolla el modelo, y WIM2 Model es el software
que lo implementa.
59
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
Modelo
Genrico
Planificacin
de Medidas
Medidas de
Canal
Registro de
Datos
Anlisis y Post-
Procesamiento
de Datos
Obtener
parmetros
de las PDFs
Simulaciones
Realizaciones
del Canal
Generacin
Matriz de
Transferencia
MIMO
Respuesta
de los
arreglos
Generacin
de
Parmetros
1
3
2
Figura 7.1: Proceso del Modelamiento del Canal con WINNER Phase II.
radio, representadas por su respuesta al impulso, para simulaciones a nivel de enlace y a
nivel de sistema.
El sistema considera todos los parametros denidos por el usuario para generar el
resultado. Es posible denir parametros de enlaces tipo MIMO (Multiple Input Multiple
Output) y parametros de las antenas a utilizar. Se generan matrices con los m ultiples enlaces
BS-MS que se puedan dar, y luego la salida es un arreglo multidimensional que contiene
estas matrices de respuesta al impulso de los enlaces de radio dados.
En la gura 7.1 se puede ver el diagrama de bloques que muestra como se construye
la salida gracias al modelo implementado por WINNER Phase II.
El proceso de modelamiento del canal consiste basicamente en tres etapas. En la
primera, a partir del modelo generico, se dene el tipo de escenarios de propagacion (am-
bientes) a ser medidos, patrones, altura y movilidad de antenas y otros datos generales.
Ademas, se planica las medidas del canal a realizar, lo cual se ejecuta considerando aspec-
tos como la ruta de medidas, presupuesto de enlace, etc.. La segunda etapa se concentra
principalmente en el analisis de los datos. El post-procesamiento entrega datos seg un el
requerimiento, que luego son tratados estadsticamente para obtener las funciones de den-
sidad de probabilidad (f.d.p.s). La ultima etapa consiste en generar los parametros nales
basados en las f.d.p.s encontradas, para posteriormente encontrar la matriz de transferencia
MIMO gracias a esos resultados y a los datos de las antenas, con el metodo del trazado de
rayos. Finalmente, lo que se obtiene son las respuestas al impulso o realizaciones del canal.
60
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
7.3.2. Caractersticas del Modelo y Escenario de Prueba
Como ya se explico, se utilizo este programa para generar la matriz multidimensional
H, la cual contiene las respuestas al impulso del canal variante en el tiempo, entre todas
las combinaciones de antenas transmisoras y receptoras del sistema MIMO.
Existen una serie de factores y parametros que debieron ser congurados para obtener
un modelo de canal que representara las condiciones deseadas a recrear.
Para el escenario de propagacion se eligio Bad Urban Macro Cell. Este tipo de am-
bientes describe ciudades con edicios de distinta altura y densidades, lo que implica una
propagacion claramente dispersiva; esta dispersion puede ser causada incluso por monta nas
que rodean la ciudad. Las estaciones base suelen localizarse al nivel de altura promedio
de los edicios, aunque en el area de cobertura existen varios edicios que sobrepasan este
nivel. Este escenario es el que mejor describe las condiciones para las que se penso que el
scheduling propuesto proporciona los mejores resultados y los mayores benecios, al ser un
ambiente con baja calidad de canal, y situado en una zona urbana, donde la demanda y el
n umero de usuarios es mayor.
Se considero condiciones de propagacion sin lnea de vista (NLOS). Para esta restric-
cion, se considero el siguiente modelo para caracterizar el fenomeno de perdida por distancia
(Path-Loss) [38]:
PL = (44,9 6,55 log
10
(h
BS
)) log
10
(d) + 34,46 + 5,83 log
10
(h
BS
) + 23 log
10
_
f
c
5
_
. (7.1)
El modelo expuesto en (7.1) considera, para el escenario escogido, 50[m] d 5[km],
h
BS
= 25[m] y h
MS
= 1,5[m], que son la distancia entre el MS y la BS, la altura de la BS
y la altura del MS, respectivamente.
Para modelar el Desvanecimiento Sombra (Shadowing Fading) se utilizo una distribu-
cion Log-Normal con desviacion estandar = 8[dB].
Se consideraron usuarios que se desplazan a una rapidez promedio de 3[km/hr], fre-
cuencia central de la portadora igual a 2,1[GHz], y 20 rebotes o paths de se nal para cada
instante de muestra. Finalmente se considero antenas de 1 elemento para los MS y de 2
elementos para la BS, ambas omnidireccionales.
7.4. Simulaciones
Para poder ver el desempe no de la solucion encontrada, seg un lo explicado en 7.1 y
7.3.2, se realizo una serie de simulaciones para comprobar el comportamiento del sistema.
61
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
Se simularon diferentes escenarios desde el punto de vista de los recursos y parametros del
sistema. En particular, se estudio el comportamiento para diferentes valores de n umeros de
usuarios, ancho de banda, y recursos disponibles a repartir. Las simulaciones se realizaron
con el objetivo de hacer un analisis comparativo entre la solucion encontrada y los algoritmos
de scheduling tpicos usados en la industria y la literatura.
Se considero un sistema compuesto por una celda y M usuarios, que experimentan un
canal dado por las caractersticas y condiciones explicadas en 7.3.2. Para reejar el estado
del canal del usuario en un valor de tasa de datos instantanea, mediante un mapeo biyectivo
entre el espacio A y , se utilizo el lmite de Shannon para canales Gaussianos. Debido
a que las actuales tecnologas moviles utilizan sistemas de correccion de error y sistemas
de antenas inteligentes que permiten acercarse bastante a este lmite, esta asuncion parece
razonable con un peque no factor de normalizacion. As, la tasa instantanea para cada usuario
que considerada como
r
i
k
= W log
2
_
1 +a
i
k
_
, (7.2)
con W el ancho de banda del sistema en [kHz], a el factor de normalizacion, y
i
k
la SNR
instantanea del usuario i en el instante k del sistema MIMO 12 dada por

i
k
=
E
s
N
0
_
_
h
i
k
_
_
2
, (7.3)
en donde
Es
N
0
es la razon entre la energa por smbolo y la densidad espectral de potencia
del ruido (igual y constante para todos los usuarios), y h
i
k
es el vector MIMO (12 en este
caso particular) de respuesta al impulso del canal (para una demostracion de (7.3), ver [2]).
Debido a que las simulaciones tienen un objetivo esencialmente comparativo, la elec-
cion de los parametros de (7.2) y (7.3) no afectan ni sesgan mayormente el analisis posterior.
Luego, con el objetivo de ajustar los valores de tasas a los requerimiento tpicos y simulados
que permitieran hacer un analisis, se jo como valores a = 0,6 y
Es
N
0
= 0,5.
Se considero un sistema de acceso CDMA, en donde los recursos a ser asignados son
agrupaciones de codigos de transmision, siendo C el n umero de estos grupos de codigos
disponibles, cada uno de cantidad ja e igual para todos los usuarios. Se considero la plani-
cacion para ventanas de largo T = 100 y para 60 de estas ventanas. Si el largo de cada time
slot se jo en 2[ms], entonces el tiempo de simulacion total del sistema fue de 2 minutos
para cada uno de los casos considerados.
Finalmente, para cada caso, se generaron los requerimientos de los usuarios de forma
aleatoria, estando estos uniformemente distribuidos entre 128[kbps] y 640[kbps]. Ademas,
se jo el parametro = 3 para el modelo (6.6).
62
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
Se consideraron casos de variacion, en forma independiente, de ancho de banda,
n umero de usuarios, y cantidad de recursos disponibles mientras los demas se mantenan
constantes. Para cada una de estas situaciones, se obtuvieron dos gracos. En uno se mues-
tra la cantidad de usuarios satisfechos, seg un se explica en 6.1, en el tiempo, y en el otro
se muestra la evolucion temporal del throughput agregado del sistema. Para cada uno de
los gracos, se muestra los resultados para la planicacion propuesta (llamada Huber Neg
function) y para los tres algoritmos mas usados: Round Robin, Maximo C/I y Justicia
Proporcional (ver 4).
7.4.1. Variacion del ancho de banda
En esta seccion se vario el ancho de banda del sistema, de modo de variar la tasa
instantanea que podan lograr los usuarios al ser asignados. Se consideraron los casos W =
5000[KHz], W = 4000[KHz], W = 3000 [KHz], W = 2000 [KHz], W = 1000 [KHz] y
W = 500 [KHz]. Se mantuvieron constantes los valores M = 35 usuarios y C = 3 recursos
disponibles.
A continuacion se presentan los gracos obtenidos.
0 2000 4000 6000 8000 10000 12000
22
24
26
28
30
32
34
36
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.2: N umero de usuarios satisfechos para W=5000[KHz].
63
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.3: Throughput agregado para W=5000[kHz].
0 2000 4000 6000 8000 10000 12000
16
18
20
22
24
26
28
30
32
34
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.4: N umero de usuarios satisfechos para W=4000[KHz].
64
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.5: Throughput agregado para W=4000[kHz].
0 2000 4000 6000 8000 10000 12000
10
12
14
16
18
20
22
24
26
28
30
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.6: N umero de usuarios satisfechos para W=3000[KHz].
65
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
1
1.2
1.4
1.6
1.8
2
2.2
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.7: Throughput agregado para W=3000[kHz].
0 2000 4000 6000 8000 10000 12000
0
2
4
6
8
10
12
14
16
18
20
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.8: N umero de usuarios satisfechos para W=2000[KHz].
66
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3
1.4
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.9: Throughput agregado para W=2000[kHz].
0 2000 4000 6000 8000 10000 12000
0
1
2
3
4
5
6
7
8
9
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.10: N umero de usuarios satisfechos para W=1000[KHz].
67
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.11: Throughput agregado para W=1000[kHz].
0 2000 4000 6000 8000 10000 12000
0
0.5
1
1.5
2
2.5
3
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.12: N umero de usuarios satisfechos para W=500[KHz].
68
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
1600
1800
2000
2200
2400
2600
2800
3000
3200
3400
3600
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.13: Throughput agregado para W=500[kHz].
69
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
7.4.2. Variacion del n umero de usuarios
Los diferentes valores de n umeros de usuarios estudiados fueron M = 35, M = 25,
M = 15, M = 10 y M = 5. Mientras, se conservaron los parametros W = 4000 [KHz] y
C = 3. Los gracos se muestran a continuacion.
0 2000 4000 6000 8000 10000 12000
16
18
20
22
24
26
28
30
32
34
Tiempo[ms]
N

m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.14: N umero de usuarios satisfechos para M=35.
0 2000 4000 6000 8000 10000 12000
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.15: Throughput agregado para M=35.
70
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
16
17
18
19
20
21
22
23
24
25
Tiempo[ms]
N

m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.16: N umero de usuarios satisfechos para M=25.
0 2000 4000 6000 8000 10000 12000
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.17: Throughput agregado para M=25.
71
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
14
15
16
17
18
19
20
Tiempo[ms]
N

m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.18: N umero de usuarios satisfechos para M=20.
0 2000 4000 6000 8000 10000 12000
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.19: Throughput agregado para M=20.
72
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
10
10.5
11
11.5
12
12.5
13
13.5
14
14.5
15
Tiempo[ms]
N

m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.20: N umero de usuarios satisfechos para M=15.
0 2000 4000 6000 8000 10000 12000
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.21: Throughput agregado para M=15.
73
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
3
4
5
6
7
8
9
10
Tiempo[ms]
N

m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.22: N umero de usuarios satisfechos para M=10.
0 2000 4000 6000 8000 10000 12000
1.2
1.4
1.6
1.8
2
2.2
2.4
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.23: Throughput agregado para M=10.
74
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
4
4.2
4.4
4.6
4.8
5
5.2
5.4
5.6
5.8
6
Tiempo[ms]
N

m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.24: N umero de usuarios satisfechos para M=5.
0 2000 4000 6000 8000 10000 12000
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a

[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.25: Throughput agregado para M=5.
75
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
7.4.3. Variacion de cantidad de recursos disponibles
Por ultimo se vario la cantidad de recursos disponibles. Se hizo variar el parametro
C en el intervalo de n umeros enteros [1,5]. Se mantuvo constante los valores M = 35 y
W = 3000 [KHz]. Los resultados obtenidos de estas condiciones se presentan a continuacion.
0 2000 4000 6000 8000 10000 12000
0
2
4
6
8
10
12
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.26: N umero de usuarios satisfechos para C=1.
0 2000 4000 6000 8000 10000 12000
3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
8000
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a
[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.27: Throughput agregado para C=1.
76
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
6
8
10
12
14
16
18
20
22
24
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.28: N umero de usuarios satisfechos para C=2.
0 2000 4000 6000 8000 10000 12000
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3
1.4
1.5
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a
[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.29: Throughput agregado para C=2.
77
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
14
16
18
20
22
24
26
28
30
32
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.30: N umero de usuarios satisfechos para C=3.
0 2000 4000 6000 8000 10000 12000
1
1.2
1.4
1.6
1.8
2
2.2
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a
[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.31: Throughput agregado para C=3.
78
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
20
25
30
35
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.32: N umero de usuarios satisfechos para C=4.
0 2000 4000 6000 8000 10000 12000
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a
[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.33: Throughput agregado para C=4.
79
CAP

ITULO 7. IMPLEMENTACI

ON Y RESULTADOS DE SIMULACIONES
0 2000 4000 6000 8000 10000 12000
25
26
27
28
29
30
31
32
33
34
35
Tiempo[ms]
N
u
m
e
r
o

d
e

u
s
u
a
r
i
o
s

s
a
t
i
s
f
e
c
h
o
s


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.34: N umero de usuarios satisfechos para C=5.
0 2000 4000 6000 8000 10000 12000
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
x 10
4
Tiempo[ms]
T
a
s
a

d
e

d
a
t
o
s

a
g
r
e
g
a
d
a
[
k
b
p
s
]


Maxim C/I Round Robin Proportional Fair HuberNeg function
Figura 7.35: Throughput agregado para C=5.
80
Captulo 8
Analisis de Resultados y
Discusiones
8.1. Analisis de Convergencia
La rapidez de convergencia hacia la solucion es un arista importante en el metodo em-
pleado, si se quiere implementar en una aplicacion en tiempo real. La variante del algoritmo
usada por SeDuMi para resolver el problema primal-dual tiene un lmite teorico probado
de iteraciones de O(

nlog (1/)), como cota del peor caso [36]. Sin embargo, los metodos
de punto interior primal-dual se pueden resolver en tiempos de convergencia superlineal
o usando una estrategia de terminacion nita [39]. Esta estrategia permite saltar a la
solucion, desde un punto de iteraci on lo sucientemente avanzado (y factible). Cuando esto
es posible, el n umero de iteraciones se puede mantener relativamente constante al variar el
tama no del problema.
En las simulaciones hechas, salvo para las pruebas en que se vario en n umero de
usuarios en el sistema, el tama no del problema se mantuvo constante en n = 3500. Debido
a las capacidades de convergencia del metodo anterior descritas, se obtuvo como promedio,
30 iteraciones para cada ventana T, con valor mnimo 27, y maximo 32.
En la tabla 8.1, se puede ver el n umero de iteraciones promedio para distintos tama nos
del problema (n umero de variables) inicial. Estos datos fueron obtenidos a partir de las
simulaciones de modicacion del n umero de usuarios. A su vez, la gura 8.1 muestra la
tendencia que tiene la dependencia de estos dos parametros, en el intervalo simulado.
Cabe destacar que los valores presentados corresponden a la cantidad de variables de
entrada, ya que el algoritmo, al usar como metodo de resolucion un sistema primal-dual,
81
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


Tama no del problema Promedio de iteraciones
3500 30
2500 27
2000 13
1500 11
1000 11
500 9
Tabla 8.1: Valores promedio de n umero de iteraciones para distintos tama nos del problema.
500 1000 1500 2000 2500 3000 3500
5
10
15
20
25
30
Tamao inicial del problema
N

m
e
r
o

d
e

i
t
e
r
a
c
i
o
n
e
s


Figura 8.1: Tendencia del n umero de iteraciones respecto del tama no del problema.
modica el n umero inicial de variables. Cada una de las iteraciones corresponde a una del
metodo modicado de Newton, donde se calcula y actualiza el paso tanto para la direccion
primal, como la direccion dual.
De la gura 8.1 se puede ver que el n umero de iteraciones sufre un importante descenso
al bajar de 2500 variables. A pesar de que la muestra obtenida es muy limitada para
poder hacer un analisis general del comportamiento, s se puede apreciar que el n umero
de iteraciones no se reduce linealmente con el n umero de variables. Es posible ver en el
primer y ultimo trazo del graco que se mantiene casi constante la cantidad a iterar. Es
muy posible que esto se deba a la estrategia de terminacion nita que posee el algoritmo,
y que dentro de un rango de n umero de variables, salte a la solucion nal luego de una
posicion determinada, que se mantiene relativamente constante. Esto tiene sentido dadas las
caractersticas del algoritmo y a lo visto en la gura 8.1; el cambio brusco estara motivado
por el hecho que el salto en la convergencia ya no es posible debido a que se cae en
82
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


un punto no factible, por lo que es necesario mas iteraciones para acercarse a la vecindad
del optimo. Las acciones y analisis necesarios para armar estas suposiciones escapan a los
objetivos de este trabajo.
Desde el punto de vista practico, el n umero maximo de iteraciones obtenidas, que fue
igual a 32, permite que sea razonable su implementacion en tiempo real. Las simulaciones
presentadas se hicieron en un computador de escritorio normal, de dos n ucleos, cuyas ca-
ractersticas son las de un computador promedio
1
. Con esta maquina, para el peor caso de
convergencia, se obtuvo un tiempo solucion medido por el software, de 1.3 [s] en promedio.
Considerando que los servidores usados por los schedulers tienen 20 a 30 veces mas capacidad
de procesamiento, y que se puede programar el algoritmo de forma de aprovechar al maximo
la diversidad de n ucleos, es razonable pensar que se puede disminuir considerablemente los
tiempos de convergencia llegando al orden de los milisegundos, que son necesarios para una
implementacion real de este tipo.
El peor caso considerado es para 35 usuarios en el sistema. Sin embargo, como se ve
en la gura 8.1, cuando el n umero de usuarios en inferior a 25, existe una drastica disminu-
cion en el n umero de iteraciones necesarias para converger, por lo que reduce a un mas los
posibles tiempos de convergencia con un servidor especializado. Este margen de reduccion
mayor de tiempo se da para una situacion en que existen 25 o menos usuarios accediendo
simultaneamente. Esto a un se encuentra dentro del escenario crtico de congestion para
el cual fue pensado esta solucion.
8.2. Analisis de Rendimiento
El objetivo principal de esta tesis era encontrar una forma de maximizar el n umero de
usuarios satisfechos, cuya connotacion fue denida previamente, en la labor de scheduling.
Una manera de vericar el cumplimiento de este objetivo es la comparacion con algoritmos
estandar, es decir, que son tpicamente usados en la industria y citados en la literatura. Se
realizo esta comparacion modicando tres parametros, de forma independiente, claves, de
manera de poder observar su inuencia en el rendimiento buscado.
El primer parametro cuya inuencia fue explorada fue el ancho de banda disponible,
como una forma de acceder a la variable que realmente se quera explorar la cual era la tasa
de datos instantanea que poda alcanzar el usuario si era o no asignado. A nivel general se
aprecia que la formula propuesta supera en rendimiento deseado a los otros algoritmos, sin
sacricar en demasa la eciencia del throughput total de la celda (indicador considerado
1
Se utiliz o un computador con CPU Intel Core 2 @2.13 GHz, 2 GB de memoria RAM y 300 GB de Disco
Duro @7200 r.p.m..
83
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


Ancho de banda [kHz] Aumento de
usuarios satisfechos
[ %]
Mejor Competidor Perdida de
throughtput total
[ %]
Mejor Competidor
5000 17.03 Prop. Fair 5.24 Maxim C/I
4000 18 Maxim C/I 3.27 Maxim C/I
3000 15.74 Maxim C/I 1.94 Maxim C/I
2000 8.07 Maxim C/I 0.52 Maxim C/I
1000 0.75 Maxim C/I 0.07 Maxim C/I
500 0 Maxim C/I 0.002 Maxim C/I
Tabla 8.2: Comparacion porcentual respecto a la mejor opcion, modicando ancho de banda.
500 1000 1500 2000 2500 3000 3500 4000 4500 5000
0
2
4
6
8
10
12
14
16
18
Ancho de banda [kHz]
P
o
r
c
e
n
t
a
j
e

d
e

m
e
j
o
r
a

[
%
]
(a) Mejora en usuarios satisfechos.
500 1000 1500 2000 2500 3000 3500 4000 4500 5000
0
1
2
3
4
5
6
Ancho de Banda [kHz]
P
o
r
c
e
n
t
a
j
e

d
e

P

r
d
i
d
a

[
%
]
(b) Perdida en eciencia en throughput.
Figura 8.2: Porcentaje de rendimiento respecto a la mejor otra opcion, modicando ancho de
banda.
por excelencia).
En la tabla 8.2 se puede ver en que porcentaje supera en n umero de usuarios la
solucion propuesta a la otra mejor opcion, y en que porcentaje se encuentra por debajo en
throughtput total de la celda, respecto a la que presenta mejor rendimiento en ese tem. En
la gura 8.2 se aprecian ambas tendencias.
Es posible ver que en todos los casos estudiados se obtuvo un rendimiento mejor o
igual (este ultimo solo para el caso de W = 500[kHz]) a la siguiente mejor opcion que
resulto ser mayoritariamente el algoritmo Maxim C/I. A su vez, se observa una perdida de
eciencia similar con el throughput total de la celda logrado, comparado con el mejor que
nuevamente es el mismo algoritmo. La gura 8.2a muestra que a medida que aumenta el
ancho de banda disponible, aumenta el rendimiento de la solucion propuesta, en el sentido
de que se percibe una mayor mejora en el objetivo buscado. Por otro lado, se observa que
al crecer el ancho de banda tambien aumenta la brecha con el maximo throughput total que
es posible lograr.
La implicancia de lo anterior es que la solucion propuesta mejora los resultados cuan-
do las tasas instantaneas, que pueden lograr los usuarios, son mas altas. Lo anterior tambien
84
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


N umero de Usuarios Aumento de
usuarios satisfechos
[ %]
Mejor Competidor Perdida de
throughtput total
[ %]
Mejor Competidor
35 20.57 Maxim C/I 4.17 Maxim C/I
25 14.51 Prop. Fair 4.05 Maxim C/I
20 2.22 Prop. Fair 10.86 Maxim C/I
15 -23.44 PF/RR 16.61 Maxim C/I
10 -44.33 Todos 29.31 Maxim C/I
5 0 Todos 33.94 Maxim C/I
Tabla 8.3: Comparacion porcentual respecto a la mejor opcion, modicando el n umero de usuarios.
podra producirse cuando la media de la calidad del canal mejora (manteniendo la diversi-
dad). En terminos del problema resuelto en (6.6), se traduce en un aumento del argumento
de la funcion objetivo, haciendo que esta ultima se acerque mas a la zona de saturacion,
donde se hace fuerte el efecto cuadratico de la funcion.
El aumento de la perdida de eciencia de throughput total, al aumentar el ancho
de banda, tiene sentido desde que esto ultimo produce una mejora directa en las tasas
instantaneas, por lo que el algoritmo Maxim C/I funciona mejor ya que maximiza directa-
mente este parametro; luego, el aumento es natural. Sin embargo, se aprecia que la perdida,
en el peor de los casos estudiados, es del 5.24 %, lo que es bastante aceptable considerando
que para ese mismo caso se obtiene una mejora del 17.01 % en rendimiento de usuarios
satisfechos. En general, el rendimiento de throughput se mantiene bastante cercano entre
ambas soluciones.
Por ultimo, falta mencionar que a medida que el ancho de banda disminuye, ambas
soluciones se parecen, siendo en el extremo inferior practicamente iguales. Este tiene sentido
ya que al haber bajas tasas instantaneas, la funcion objetivo se encuentra muy por debajo
de la zona de saturacion, y la maximizacion tiende a una funcion lineal, en donde si los
usuarios se mantienen con requerimientos relativamente similares comparados con las tasas,
se tiende al caso de maximizar throughput.
La segunda variable estudiada fue el n umero de usuarios presente en el sistema.
Como afecta, y como se comporta la solucion frente a distintas cantidades de terminales si-
multaneos demandando recursos, es relevante en el analisis puesto que la solucion propuesta
esta orientada a situaciones de congestion. La tabla 8.3 muestra el detalle del rendimiento
bajo comparacion de la solucion, mientras que en la gura 8.3 se aprecian las tendencias.
Los resultados obtenidos muestran que el rendimiento resultante de la solucion no
supera en todos los casos al resto; existe una zona en que el resultado es peor al de los
algoritmo tpicos usados, bajo el criterio de usuarios satisfechos. El fenomeno descrito se
presenta para baja cantidad de usuarios, en este caso particular, por debajo de los 15
usuarios, en donde ya no existe ganancia si no perdida en el rendimiento bajo el criterio
85
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


5 10 15 20 25 30 35
50
40
30
20
10
0
10
20
30
Nmero de usuarios
P
o
r
c
e
n
t
a
j
e

d
e

m
e
j
o
r
a

[
%
]
(a) Mejora en usuarios satisfechos.
5 10 15 20 25 30 35
0
5
10
15
20
25
30
35
Nmero de usuarios
P
o
r
c
e
n
t
a
j
e

d
e

p

r
d
i
d
a

[
%
]
(b) Perdida en eciencia en throughput
Figura 8.3: Porcentaje de rendimiento respecto a la mejor otra opcion, modicando n umero de
usuarios.
buscado, ya que los otros algoritmos pasan a ser la mejor opcion. Se observa ademas que
para el ultimo caso de 5 usuarios, todos tienen el mismo rendimiento ya que en todos los
casos se tiene la totalidad de satisfaccion.
La razon de la merma en los resultados para esa zona se debe a que no se usaron
las soluciones optimas que resuelven el problema de maximizacion. Para esos casos, se
obtuvieron soluciones que no son del tipo Bang-Bang. Este tema se abordara mas en detalle
en la siguiente seccion. Para el caso de 5 usuarios, es tan poca la cantidad de usuarios que
cualquiera de las estrategias (a un con soluciones que no son Bang-Bang) entrega el maximo
posible ya que los recursos disponibles son mas que sucientes para satisfacer a toda la
demanda. Los casos para alto n umero de usuarios, los resultados son los esperados.
En cuanto al throughput total agregado, lo observado tambien corresponde a lo es-
perado en cuanto a que el algoritmo Maxim C/I obtiene los mejores rendimientos, aunque
la solucion propuesta se mantiene muy cercana. Esta diferencia explota al disminuir los
usuarios, nuevamente debido a que no se usaron las soluciones optimas del problema.
El ultimo factor que fue estudiado en su inuencia hacia el desempe no, fue la cantidad
de recursos disponibles a repartir. Aqu se busco determinar como se comportaba la solucion
con diferentes cantidades de recursos a repartir, y si estos son un factor determinante. Los
indicadores de desempe no para este caso se encuentran resumidos en la tabla 8.4, y las
tendencias se muestran en la gura 8.4.
La tendencia es bastante clara, que muestra un aumento en el desempe no del algoritmo
cuando aumentan los recursos disponibles a repartir. Lo ocurrido es similar a lo visto al
aumentar el ancho de banda del sistema, si se toma este ultimo como parte de los recursos,
adicionales a los codigos o frecuencias sub-portadoras. Esto ultimo permite ver que, bajo
esta solucion, existe un incentivo agregado a asignar la mayor cantidad de usuarios por time
86
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


Recursos Disponibles Aumento de
usuarios satisfechos
[ %]
Mejor Competidor Perdida de
throughtput total
[ %]
Mejor Competidor
1 2.98 Maxim C/I 0.62 Maxim C/I
2 13.75 Maxim C/I 1.47 Maxim C/I
3 18.87 Maxim C/I 2.58 Maxim C/I
4 18.7 Maxim C/I 3.81 Maxim C/I
5 13.64 Maxim C/I 4.8 Maxim C/I
Tabla 8.4: Comparacion porcentual respecto a la mejor opcion, modicando los recursos disponibles.
1 1.5 2 2.5 3 3.5 4 4.5 5
2
4
6
8
10
12
14
16
18
20
Cantidad de Recursos
P
o
r
c
e
n
t
a
j
e

d
e

m
e
j
o
r
a

[
%
]
(a) Mejora en usuarios satisfechos.
1 1.5 2 2.5 3 3.5 4 4.5 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Cantidad de recursos
P
o
r
c
e
n
t
a
j
e

d
e

p

r
d
i
d
a

[
%
]
(b) Perdida en eciencia en throughput
Figura 8.4: Porcentaje de rendimiento respecto a la mejor otra opcion, modicando los recursos
disponibles.
slot, en perjuicio de que en la literatura referenciada en 4, lo normal en los algoritmos es
asignar solo a un usuario a la vez, por simplicidad de la solucion. Sin embargo, con ciertas
restricciones en las capacidades de los terminales, y obteniendo una buena ortogonalidad ya
sea de codigos o de frecuencias, se sabe que es factible dentro de las tecnologas la asignacion
simultanea de varios usuarios en cada perodo de scheduling. Nuevamente, al contar con mas
recursos, el rendimiento mejora ya que explota la virtud de la solucion de maximizar este
objetivo, en desmedro de la siguiente mejor opcion, que nuevamente resulto ser Maxim C/I.
En cuanto al throughput agregado, nuevamente se ve un aumento de perdida de e-
ciencia, casi lineal, a medida que aumentan los recursos. Es un resultado esperable ya que al
avanzar en el eje de las abscisas, se resaltan las virtudes y caractersticas de ambos algorit-
mos, lo que logicamente produce esa brecha. Sin embargo, nuevamente esta brecha es muy
peque na, siendo el valor mas alto un 4.8 %, lo que comparado con el benecio en cuanto a
n umero de usuarios que se obtiene, es perfectamente tolerable, y disminuye el impacto en
ese sentido.
En terminos generales se aprecia que el algoritmo presentado en este trabajo presenta
una importante mejora relacionada con el n umero de usuarios satisfechos presentes. Es
un resultado esperado debido a que se modelo el problema justamente considerando ese
87
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


objetivo, pero los resultados lo justican de manera tangible, al compararlos con algoritmos
usados como referencia. De forma adicional se puede extraer que el rendimiento mejora a un
mas cuando, bajo un n umero jo de usuarios, se aumentan los recursos, ya sea traducidos
en un aumento global de tasa instantanea, o en la posibilidad de asignar a mas usuarios por
time slot. Este benecio, sin embargo, tiene su costo, que se traduce en una disminucion
del throughput agregado total de la celda, comparado con el maximo que se puede obtener,
logrado con el algoritmo Maxim C/I. Mientras mas efectivo es el algoritmo, mayor es la
perdida por este concepto, sin embargo ese valor se mantiene acotado en un valor muy
peque no (menor al 5 %) por lo que, si se llegara a considerar como parametro de importancia,
sera un perdida bastante tolerable comparado con el benecio obtenido desde el punto de
vista de los usuarios.
Cabe destacar que los resultados obtenidos y aqu analizados, corresponden a una cota
superior del problema. El modelo resuelto contempla un conocimiento futuro del estado del
canal a lo largo de la ventana de largo T, y se aprovecha del mismo para encontrar el mejor
resultado al termino de dicha ventana. Sin embargo, en la practica esto no es posible ya que
no existe tal conocimiento; luego, los resultados obtenidos son un maximo teorico en el mejor
de los casos. Para volver aplicable esta solucion es necesario explorar alternativas tanto de
prediccion de canal como de optimizacion bajo incertidumbre, que considere la naturaleza
estocastica del canal y maximice el valor esperado de la funcion de utilidad considerando
los posibles escenarios. Ambas alternativas introducen un error en la certeza del canal, por
lo que no es posible alcanzar la cota superior teorica. El verdadero rendimiento alcanzable
es el que minimiza la brecha con los resultados expuestos aqu, dentro de todas las posibles
alternativas a explorar.
8.3. Analisis de Sensibilidad
Un tema importante a analizar en la solucion propuesta es su sensibilidad, que en este
trabajo se aborda desde el punto de vista de la caracterizacion de las soluciones obtenidas
al resolver el problema de optimizacion. Este analisis es importante ya que permite ver los
alcances y limitaciones del modelo.
Como ya se explico, para resolver el problema, se relajo la condicion de binariedad de
las variables al intervalo [0, 1], aprovechando que las caractersticas del modelo permitieron
obtener soluciones del tipo Bang-Bang, y as evitar una complejidad adicional a la resolucion
del problema. Sin embargo este tipo de soluciones no se dio en la totalidad de los casos,
quedando algunas soluciones dentro del intervalo (y no en los extremos). La solucion optima
util, en estos casos, se encuentra en un punto adyacente al obtenido, pero dentro de
la region factible (que en este caso seran los vectores adyacentes cuyas componentes son
88
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


binarias). Una alternativa para encontrar la solucion es probar todos estos puntos adyacentes
y ver cual de ellos minimiza la funcion objetivo. Sin embargo, para los casos estudiados,
esta medida resulta impracticable, ya que ese espacio de exploracion es de dimension 2
MT
,
el cual es un n umero fuera de todo rango implementable.
Cuando no se obtuvo soluciones enteras en el problema de maximizacion, se opto por
emplear la mayorizacion en los vectores para cada asignacion de slot, es decir, hacer igual a
1 las variables mas cercanas a este n umero, hasta completar un maximo de C variables para
cada time slot. Obviamente, esta medida no tiene ning un respaldo ni justicacion teorica de
porque es una buena solucion. Simplemente fue una medida adoptada que se pudo tomar
ejecutandose en un tiempo mnimo, que permite implementarse en tiempo real, y que solo
se hizo con nes comparativos y para permitir el posterior analisis de los casos en donde las
soluciones no son Bang Bang.
Como se menciono en la seccion anterior, para el caso de variacion del n umero de
usuarios, se obtuvieros soluciones no enteras en las variables de decision, a partir de los 20
usuarios hacia abajo. Esto implico una merma en el rendimiento obtenido debido a que se
aplico mayorizacion y no se ejecutaron las decisiones optimas entregadas por el problema
de optimizacion, como se aprecia en la gura 8.3a.
Existen dos aristas relevantes para discutir. La primera es la causa de lo observado.
Al disminuir el n umero de usuarios en el sistema, disminuye la diversidad multiusuario, y
por lo tanto, se tiene menos variedad de estados de canal disponibles en cada time slot.
Ello hace que las funciones de utilidad de cada usuario, sean mas parecidas entre s, y en
consecuencia, las leves perturbaciones que modican el valor de la funcion objetivo, no sean
sucientes para mover las variables de un extremo a otro del intervalo, quedando connadas
dentro de este y todas en niveles similares. Lo anterior se produce solo por el hecho de la
menor diversidad de estados del canal, que impacta directamente en la diversidad de las
diferentes funciones objetivo individuales.
La segunda arista tiene relacion con los alcances y limitaciones de la solucion. Debido
a la sensibilidad anterior descrita, la propuesta de scheduling tal como fue formulada en
este trabajo, no es beneciosa para todos los casos. Como ya se explico, para cantidades
bajas de usuarios no es posible obtener soluciones enteras bajo la formulacion de (6.6),
por lo que la medida auxiliar adoptada hace que el rendimiento centrado en el n umero de
usuarios satisfechos empeore y los algoritmos convencionales presenten mejores resultados.
Luego, es posible armar que la propuesta desarrollada es valida para un alto n umero
de usuarios (mayor a 20, pero solo para el caso particular simulado), lo que se podra
describir como una situacion de congestion alta. Lo anterior no es del todo malo, puesto que
justamente el objetivo de este trabajo era encontrar una solucion optima para situaciones
89
CAP

ITULO 8. AN

ALISIS DE RESULTADOS Y DISCUSIONES


de demanda y uso peak, donde se postulo la idea de que los recursos en esos casos no son
ecientemente utilizados, al entregar mas de lo que los usuarios necesitan para alcanzar
un nivel de satisfaccion mnimo. Bajo este contexto, entonces, la solucion s cumple con
el objetivo inicialmente planteado, al obtener resultados superiores respecto a los otros
algoritmos, en casos de alta congestion de usuarios. Eventualmente, esto podra permitir
mayor cantidad de ingresos por usuarios simultaneos con recursos jos, o una disminucion de
los gastos en recursos con n umero de usuarios jo. Cabe mencionar que toda esta discusion
se encuentra dentro del marco del lmite maximo teorico impuesto, como se discutio en 8.2
90
Captulo 9
Conclusiones
En este trabajo de tesis se presento una propuesta de scheduling para redes inalambri-
cas considerando criterios de satisfaccion de usuarios. La estrategia desarrollada permite
planicar la asignacion de los usuarios que usaran los recursos disponibles en cada time
slot, para ventanas jas de tiempo, y considerando como objetivo nal la cantidad maxima
de usuarios satisfechos, entendidos como aquellos que se encuentran por sobre sus requeri-
mientos mnimos. Esta planicaci on asumio como criterio de satisfaccion la tasa de datos,
o throughput, promedio de los usuarios al n de cada ventana compuesta por una cantidad
ja de time slots.
El principal aporte que entrega este trabajo es ofrecer una alternativa de scheduling
distinta al tpico criterio de maximizacion de throughput, o aplicacion de justicia ampliamen-
te usada, y que busca de alguna manera no malgastar los recursos en situaciones donde
existen muchos usuarios demandantes y recursos insucientes para satisfacerlos a todos.
Por lo mismo, es una propuesta para ser utilizada en estos casos crticos, y no fue pensada
como una estrategia de scheduling para ser implementada en forma permanente. Desde que
la estrategia desarrollada realiza la planicacion al comienzo de cada ventana, asumiendo
como conocidos los estados del canal futuros de la misma, esta solucion entrega una cota
maxima del rendimiento centrado en usuarios satisfechos, debido a la imposibilidad real del
conocimiento futuro descrito.
Los objetivos inicialmente planteados fueron satisfactoriamente cumplidos. Luego de
realizar una completa revision bibliograca, se penso en desarrollar una estrategia de sche-
duling diferente a las existentes, que se sumara al abanico de posibilidades. Se encontro la
version modicada negativa de la funcion de penalizacion de Huber como la ideal para
representar la funcion de utilidad que fuese el objetivo a optimizar. Con dicha funcion se
logro plantear el problema como uno de optimizacion convexa, el cual pudo ser resuelto gra-
91
CAP

ITULO 9. CONCLUSIONES
cias al software CVX desarrollado en MATLAB, mediante el algoritmo de metodo de punto
interior primal-dual. Por ultimo se pudo comprobar la ecacia de la solucion encontrada en
un escenario ajustado a la realidad de un sistema movil, gracias al paquete de MATLAB
WIM2 Model que permitio simular condiciones del canal inalambrico de los usuarios en
forma bastante real.
Gracias a CVX fue posible resolver el problema de optimizacion en tiempos menores,
que indican la factibilidad de poder hacerlo en tiempo real en servidores especializados en
la labor del scheduler. Con ello, fue posible observar que los algoritmos especializados en
resolucion de problemas convexos, como el de Punto Interior Primal-Dual, poseen carac-
tersticas que permiten converger a la solucion optima en un n umero limitado y reducido
de iteraciones, para problemas del tama no de importancia en este problema.
En relacion a los resultados correspondientes al rendimiento, se pudo apreciar una
importante mejora en cuanto a n umero de usuarios satisfechos en el sistema, comparado con
los tres algoritmos tpicos: Maxim C/I, Round Robin y Proportional Fair. Las simulaciones
mostraron rendimientos por este concepto superiores hasta un 20 % comparados con la
siguiente mejor opcion. Ademas, se pudo apreciar que este rendimiento tiende a aumentar,
a medida que son mas los recursos disponibles en el sistema. El mismo efecto se observo al
aumentar el n umero de usuarios, debido al incremento de la diversidad multiusuario. Esta
mejora en el criterio atendido tiene sus costos, reejados en el throughput total de la celda,
el cual ha sido un indicador de suma importancia tanto en la industria como en la literatura.
Sin embargo, se observaron mnimas diferencias con el algoritmo que maximiza este criterio
directamente, que es el Maxim C/I. Perdidas de eciencia menores al 5 %, respecto de esta
referencia, fueron encontradas. Lo anterior suscita la postura de que, si fuese un factor
de importacia, las perdidas de eciencia en throughput son mnimas comparadas con los
benecios obtenidos al usar la estrategia propuesta.
El analisis de sensibilidad permitio encontrar una de las limitaciones del modelo. Como
una alternativa para aprovechar las caractersticas de la funcion objetivo, y alivianar la
complejidad adicional de un problema de programacion entera no lineal, se opto por relajar
el espacio factible de las variables al intervalo [0, 1]. En la mayora de los casos, las soluciones
optimas se encontraron en los extremos de este, lo que permitio ser aplicadas directamente
como variables de decision. No obstante, para casos en que se reduca el n umero de usuarios,
esta situacion dejo de presentarse, resultando variables que tomaron valores dentro del
intervalo. Debido a la infactibilidad de probar todas las soluciones factibles adyacentes, la
decision de mayorizacion logicamente conllevo a una merma en el rendimiento, a un por
debajo de los otros algoritmos. Por ello, la propuesta entregada, tal como se encuentra
formulada, presenta una limitacion de validez, solo para altos valores de n umero de usuarios.
Sin bien esta limitante no es lo mas deseado puesto que nunca se quiere limitar el conjunto
92
CAP

ITULO 9. CONCLUSIONES
de casos de aplicacion, no es del todo invalidante, puesto que la estrategia desarrollada fue
pensada para casos crticos de demanda de usuarios. Cabe mencionar que esta limitaciones
se enmarcan en el contexto de que la solucion presentada no es directamente implementable,
y los resultados obtenidos constituyen una cota superior del rendimiento esperado.
Pese a que la solucion de scheduling aqu planteada no puede implementarse directa-
mente debido a las limitaciones anteriormente expuestas, s representa la estructura nal
de futuras aplicaciones. La importancia de diferenciar entre los usuarios en base a los requi-
sitos de las diferentes aplicaciones y servicios que estan siendo usados, permite diferenciar
y optimizar los recursos a entregar a los mismos; este es el escenario tpico en una red
de tecnologa movil. Dadas las caractersticas de la estretagia presentada, se cree que la
idea puede ser implementada en forma complementaria a las alternativas ya existentes. Una
razon es debido a que pese a que es posible desarrollar en tiempo real, su complejidad y
mucho mayor a los algoritmos de referencia. Ademas, en situaciones con pocos usuarios y/o
poco congestionadas donde es factible satisfacer a todo el universo de usuarios, implicara
una ineciencia debido a que el sistema no entregara todos los recursos que podra entre-
gar, debida a las caractersticas de saturacion de la funcion objetivo. Es por ello que se
cree puede ser de ayuda en situaciones puntuales de congestion, como por ejemplo en las
horas peak, en zonas empresariales donde el intercambio de datos va smartphones es casi
global, o con la masicacion de servicios de Banda Ancha Movil. Otras situaciones pueden
ser eventos que gatillen un repentino y gran aumento en la demanda, como por ejemplo
festividades de a no nuevo, o eventos catastrocos como terremotos, en donde el intercambio
de informacion en las redes sociales va tecnologa movil es cada vez mas masivo.
Existen tres posibles lneas a seguir como trabajo futuro, asociadas a esta tesis. La
primera de ellas es abordar el tema de la incerteza del canal. No es posible tener un
conocimiento futuro del estado del canal que experimentan los usuarios debido a su natu-
raleza estocastica, pero es necesario abordar el tema para hacer implementable la estrategia.
Una alternativa es reformular la funcion objetivo, y maximizar el valor esperado de esta,
utilizando metodos de programaci on estocastica para resolverlo. Existen diversas tecnicas
para resolver problemas de optimizacion estocastica, que consideran los posibles estados que
pueden tomar los procesos seg un sus estadsticos. Un problema de esta alternativa podra
ser que el tama no del problema haga demasiado costoso tratar con todos los escenarios posi-
bles, pero esa es una opcion a explorar. La otra alternativa es utilizar metodos de prediccion
para estimar los estados futuros del canal. Existe una amplia teora de prediccion y series
de tiempo para procesos aleatorios. Metodos autorregresivos, por ejemplo, ya han sido uti-
lizados para predecir calidad de canales inalambricos, y podran ser utilizados en este caso,
al inicio de cada ventana de tiempo, en donde su resultado sea parametro de entrada para
el trabajo desarrollado en esta tesis.
93
CAP

ITULO 9. CONCLUSIONES
Otra posible lnea a seguir para continuar con este trabajo, es abordar la binariedad de
las variables. Como bien se vio, la alternativa de relajar la condicion implico una limitacion
en el desempe no global de la soluci on. Abordar este tema imponiendo la restriccion estricta
es una alternativa bastante interesante. El desafo es no agregarle en demasa complejidad
a la solucion, para impedir que el problema no pueda ser resuelto en tiempo real. Una
alternativa viable podra ser reformular el problema y utilizar el metodo de Relajacion
Semidenada, utilizado para resolver problemas de optimizacion cuadraticos, con restric-
ciones cuadraticas que pueden representar la restriccion de binariedad (en este caso 1, 1).
En este caso, la alternativa sera modicar la funcion de penalizacion de Huber, de manera
de hacerla calzar con el modelo cuadratico.
Por ultimo, el tercer punto importante que se vislumbra como trabajo futuro es agre-
gar otro parametro de calidad de servicio como criterio de satisfaccion. Los nuevos servicios
demandados por aplicaciones moviles requieren cada vez mas, mayores parametros de cali-
dad de servicio adicionales a la tasa de datos mnima. Es por ello que agregar, por ejemplo,
como criterio de satisfaccion un delay maximo de los paquetes a enviar por un usuario, sera
complementar a un mas la solucion, entregando una mator calidad de servicio al usuario -
nal. No se aprecia mayor complejidad en este tema, puesto que la clave esta en la forma de
la funcion objetivo encontrada en este problema.
94
Bibliografa
[1] D. Tse and P. Viswanath, Fundamentals of Wireless Communications. Cambridge
University Press, 2005.
[2] A. Goldsmith, Wireless Communications. Cambridge University Press, 2005.
[3] International Mobile Telecommunications-2000 (IMT-2000), Recomendacion M.687,
International Telecommunication Union, 1997. [Online]. Available: http://www.itu.
int/rec/R-REC-M.687-2-199702-I/en
[4] H. Holma and A. Toskala, WCDMA for UMTS. John Wiley & Sons, Ltd, 2004.
[5] H. Holma and A. Toskala, HSDPA/HSUPA for UMTS. John Wiley & Sons, Ltd,
2006.
[6] S. Sesia, I. Touk, and M. Baker, LTE-The UMTS Long Term Evolution. John Wiley
& Sons, Ltd, 2009.
[7] X. Liu, E. Chong, and N. Shro, Transmission scheduling for ecient wireless utiliza-
tion, in INFOCOM 2001. Twentieth Annual Joint Conference of the IEEE Computer
and Communications Societies. Proceedings. IEEE, Apr 2001, pp. 776 785 vol.2.
[8] G. Bianchi and A. Campbell, A programmable MAC framework for utility-based
adaptive quality of service support, Selected Areas in Communications, IEEE Journal
on, vol. 18, no. 2, pp. 244 255, Feb 2000.
[9] C. Saraydar, N. Mandayam, and D. Goodman, Pareto eciency of pricing-based pow-
er control in wireless data networks, in Wireless Communications and Networking
Conference, 1999. WCNC. 1999 IEEE, Aug 1999, pp. 231 235 vol.1.
[10] Z. Zhang, S. Moola, and E. Chong, Approximate stochastic dynamic programming
for opportunistic fair scheduling in wireless networks, in Proc. of the 47th IEEE Con-
ference on Decision and Control, Canc un, Mexico, Dec. 2008.
95
BIBLIOGRAF

IA
[11] X. Hong and K. Shoraby, A dynamic programming approach for optimal scheduling
policy in wireless networks, in Computer Communications and Networks, 2002. Pro-
ceedings. Eleventh International Conference on, Dec. 2002, pp. 530 536.
[12] R. Yu, Z. Sun, and S. Mei, Packet scheduling in broadband wireless networks using
neuro-dynamic programming, in Vehicular Technology Conference, 2007. VTC2007-
Spring. IEEE 65th, May. 2007, pp. 2776 2780.
[13] A. Gotsis, D. Komnakos, K. Ramanan, and P. Constantinou, Dynamic subchannel
and slot allocation for OFDMA networks supporting mixed trac upper bound and
heuristic algorithm, Communications Letters, IEEE, vol. 13, no. 8, pp. 576 578, Aug
2009.
[14] M. Grant and S. Boyd. (2010) CVX: Matlab software for disciplined convex
programming, version 1.21. [Online]. Available: http://www.stanford.edu/

boyd/cvx
[15] P. Coverdale, Multimedia QoS requirements from a user perspective, ITU-T,
Oct. 2001, study Group 12. [Online]. Available: http://www.itu.int/itudoc/itu-t/
workshop/qos/s2p1.pdf
[16] G. Giambenne, Resource Management in Satellite Networks: Optimization and cross-
layer design. Springer, 2007, cap.3.
[17] A. Arunachalam, Quality of service (QoS) classes for BWA, IEEE 802.16
Broadband Wireless Access Working Group, Tech. Rep., 1999. [Online]. Available:
http://www.ieee802.org/16/sysreq/contributions/80216sc-99 28.pdf
[18] S. Nanda, K. Balachandran, and S. Kumar, Adaptation techniques in wireless packet
data services, Communications Magazine, IEEE, vol. 38, no. 1, pp. 54 64, Jan 2000.
[19] D. Tse, Forward link multiuser diversity through proportional fair scheduling, Aug
1999, presentation at Bell Labs.
[20] P. Hosein, QoS control for WCDMA high speed packet data, IEEE Proc. Vehicular
Technology Conference, pp. 169 173, 2002.
[21] D. White, Markov Decision Processes. John Wiley & Sons, Ltd, 1993.
[22] D. Bertsekas, Dynamic Programming & Optimal Control, Vol. I. Athena Scientic,
2005.
[23] S. Boyd and L. Vandenberghe, Stochastic Dynamic Programming and the Control of
Queueing Systems. John Wiley & Sons, Ltd, 1999.
96
BIBLIOGRAF

IA
[24] M. Kearns, Y. Mansour, and A. Ng, A sparse sampling algorithm for near-optimal
planning in large Markov decision, Machine Learning, pp. 193208, 2002.
[25] H. S. Wang and N. Moayeri, Finite-state Markov channel-a useful model for radio
communication channels, Vehicular Technology, IEEE Transactions on, vol. 44, no. 1,
pp. 163 171, Feb. 1995.
[26] T. Heikkinen and A. Hottinen, Delay-dierentiated scheduling in a fading channel,
Wireless Communications, IEEE Transactions on, vol. 7, no. 3, pp. 848 856, 2008.
[27] S. Pal, P. Ghosh, A. R. Mazloom, S. R. Kundu, and S. K. Das, Two phase scheduling
algorithm for maximizing the number of satised users in multi-rate wireless systems,
in World of Wireless, Mobile and Multimedia Networks, 2007. WoWMoM 2007. IEEE
International Symposium on a, 2007.
[28] C. Li and X. Wang, Adaptive opportunistic fair scheduling over multiuser spatial
channels, Communications, IEEE Transactions on, vol. 53, no. 10, pp. 1708 1717,
2005.
[29] G. Song and Y. Li, Utility-based resource allocation and scheduling in ofdm-based
wireless broadband networks, Communications Magazine, IEEE, vol. 43, no. 12, pp.
127134, Dec 2005.
[30] S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press,
2004.
[31] J. Mattingely and S. Boyd, Real-time convex optimization in signal processing, Signal
Processing Magazine, IEEE, vol. 27, no. 3, pp. 50 61, May 2010.
[32] P. Spasojevic and X. Wang, Improved robust multiuser detection in non-Gaussian
channels, Signal Processing Letters, IEEE, vol. 8, no. 3, pp. 83 86, Mar. 2001.
[33] D. Finan, J. J Andrgensen, N. Poulsen, and H. Madsen, Robust model identication
applied to type 1 diabetes, in American Control Conference (ACC), 2010.
[34] L. Hentila, P. Kyosti, M. K aske, M. Narandzic, and M. Alatossava. (2007, Dec.)
Matlab implementation of the WINNER Phase II Channel Model ver1.1. [Online].
Available: https://www.ist-winner.org/phase 2 model.html
[35] M. Grant and S. Boyd, CVX users guide for cvx version 1.21, Aug. 2010. [Online].
Available: http://c1319062.cdn.cloudles.rackspacecloud.com/cvx usrguide.pdf
[36] J. F. Sturm, Using SeDuMi 1.02, a MATLAB toolbox for optimization over symmetric
cones, 1998, software disponible en http://sedumi.ie.lehigh.edu/.
97
BIBLIOGRAF

IA
[37] L. C. Evans, An introduction to mathematical optimal control theory version 0.2,
Department of Mathematics, University of California, Berkeley. [Online]. Available:
http://math.berkeley.edu/

evans/control.course.pdf
[38] IST-WINNER D1.1.2, WINNER II channel models,ver 1.1, Sep. 2007. [Online].
Available: http://www.ist-winner.org/WINNER2-Deliverables/D1.1.2v1.1.pdf
[39] S. J. Wright, Primal-Dual Interior-Point Methods. Society for Industrial and Applied
Mathematics, 1997.
98
Apendice A
Antecedentes Tecnol ogicos
En este anexo se presentan los principales aspectos de las caractersticas de las redes
de tercera generacion, 3G, seg un la 3GPP (3rd Generation Partnership Project). En primer
lugar se abordaran los temas relacionados con WCDMA (Wideband Code Division Multiple
Access) [4], que es la base en la que se esgrime el desarrollo de HSDPA (High-Speed Downlink
Packet Access), la cual es descrita [5] posteriormente.
A.1. Principios de WCDMA
En los foros de estandarizacion, la tecnologa WCDMA surgio como la mas usada
y aceptada para interfaz aerea de tercera generacion. Fue estandariza por la 3GPP en un
proyecto en que participaron diversos pases de Europa, Japon, Corea, E.E.U.U. y China.
El espectro de frecuencia en que trabaja WCDMA depende de la region en que se
encuentre. En la ITU, los sistemas de tercera generacion son conocidos como International
Mobile Telephony 2000 (IMT-2000). Bajo este escenario, en la gura A.1 se visualiza las
bandas utilizadas en cada zona geograca, para todos los servicios aceptados por la ITU,
incluyendo los de tercera generacion.
A.1.1. Principales parametros en WCDMA
WCDMA es un sistema de banda amplia que utiliza un sistema de acceso DS-CDMA
(Direct-sequence Code Division Multiple Access). Los datos son esparcidos en un gran ancho
de banda, multiplicados por bits pseudo ruidosos (llamados chips), que derivan de los codigos
de CDMA. El largo de esta cadena de codigos se denomina Spreading Factor (SF), los cuales
99
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
(852
(8523$
(8523$
(8523$
(8523$
(8523$
EUROPA
JAPON
COREA
EEUU
Figura A.1: Utilizacion del espectro en la banda de 2GHz en las diferentes regiones
son utilizados a un valor variable para soportar altas tasas de bits.
La tasa de chips es de 3.84 [Mcps], la cual se soporta sobre una portadora de 5 [MHz],
que, comparada con la portadora de CDMA (bajo el estandar IS-95), permite alcanzar
mayores tasas de datos y mayor diversidad.
WCDMA soporta tasas de datos altamente variable, lo que permite entregar Ancho de
Banda en Demanda (aumento en la capacidad disponible de la red seg un los requerimientos),
ya que la tasa se mantiene constante en cada frame que es de la largo 10 [ms], por lo que
se puede modicar para cada usuario facilmente.
La tecnologa un sistema de deteccion coherente tanto en el en el enlace de bajada
como en el de subida, mediante envo de smbolos pilotos, que permiten estimar el canal
midiendo las fases de las se nales enviadas.
Soporta, opcionalmente, el uso de antenas adaptables inteligentes con el objetivo de
incrementar la capacidad y cobertura de la red.
WCDMA fue dise nado para trabajar en conjunto con GSM. Handovers son posibles
entre ambas tecnologas para, por ejemplo, ayudar a mejorar la cobertura GSM.
A.1.2. Spreading y Despreading
La operacion de Spreading consiste en multiplicar la secuencia del usuarios (de tasa R
[bits/s]), con una secuencia de SF bits de codigo, llamados chips, y que es pseudo-aleatoria.
La secuencia resultante, y que es la que nalmente es transmitida por el canal, se enva a
100
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
(8523$
(8523$
(8523$
(8523$
(8523$
(8523$
(8523$
(8523$
Smbolo
Datos
Cdigo Spreading
Seal esparcida
=Datos x cdigo
Cdigo Spreading
Datos
=seal esparcida x cdigo
Figura A.2: Proceso de Spreading y Despreading en WCDMA
una tasa de SFR [bits/s], y posee la misma apariencia aleatoria que el codigo spreading.
Para el despreading, se multiplica la secuencia de chips (duracion de bits por duracion
de bits), por la misma secuencia de SF bits que se uso en el spreading. La se nal original se
puede recobrar de forma precisa cuando se tiene perfecta sincronizacion.
La operacion de correlacion de se nales en el receptor se realiza integrando (sumando)
el resto de las se nales (que se les aplico el despreading con el codigo de interes), como
se aprecia en la gura A.3. Se observa el efecto que la se nal resultante de la deteccion
por correlacion incrementa su amplitud en un factor igual al Spreading Factor, respecto
a la interferencia presente. Este efecto se denomina ganancia de procesamiento, y es el
que permite dar robustez al sistema para poder rehusar los 5 [MHz] disponibles, en zonas
cercanas.
Un ejemplo de lo anterior es en el servicio de voz. Se tiene que R=12.2 [Kbps], a
una tasa de chips de 3.84 [Mcps], se tiene una ganancia de procesamiento de 25[dB] =
10 log
10
(3,84 10
6
/12,2 10
3
). Despues de realizar el despreading, la se nal necesita ser de
unos pocos decibeles mayor a la potencia de la interferencia mas ruido. La razon entre
la densidad de potencia de la se nal (por bit), por sobre la densidad de potencia de la
interferencia, requerida despues del despreading, se conoce como E
b
/N
0
. Para servicios de
voz, tpicamente se tiene E
b
/N
0
= 5[dB]. Luego, la razon se nal a interferencia requerida en
el espacio de banda amplia (antes del despreading) es de 5[dB]-25[dB]=-20[dB]. Es valor se
denota com unmente como C/I. Esta cifra, en WCDMA, es mucho menor que en casos como
GSM, justamente debido al spreading y al despreading.
101
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
Figure 3.3. Principle of the CDMA correlation receiver
(8523$ (8523$
(8523$ (8523$
(8523$
(8523$
(8523$
(8523$
(8523$ (8523$
(8523$
(8523$
EUROPA
EUROPA
Seal deseada
Seal otro usuario
Seal deseada esparcida
Cdigo Spreading
Datos despus de despreading
Datos despus de integracin
Otra seal esparcida
Despus de despreading
Despus de integracin
Figura A.3: Principio de correlacion en el receptor
A.1.3. Canales de radio multitrayectoria y Rake Reception
La propagacion a traves del canal de radio es afectada por diversos fenomenos fsicos
que degradan la se nal original, como reexion, difraccion, scattering, etc.. Estos fenomenos
producen la absorcion y perdida de energa, y la llamada propagacion multitrayectoria. Esta
ultima tiene dos efectos importantes.
La energa de la se nal pude llegar en instantes de tiempo diferentes y claramente
distingibles. La energa que llega es esparcida en un cierto perl de delay de mul-
titrayectorias. Este delay puede variar entre 1 a 2 [s] en areas suburbanas, hasta
20[s] en areas monta nosas. Cada chip tiene una duracion de 0.26[s]. Luego, si las
componentes multitrayectorias llegan a un tiempo mayor a este, se puede combinar
coherentemente para obtener diversidad multitrayectoria. Este delay de 0.26[s] se
puede obtener si al menos se tiene una diferencia de caminos de =
c
f
=78 [m], con
f = 3,84 [Mcps]. Esta diversidad multicamino es la que proporciona WCDMA gracias
a sus 5[MHz] (con un B.W. mayor, >> 78 [m], lo que es poco razonable).
El otro efecto tiene relacion con las se nales cuyos caminos tienen similar longitud,
cuyos tiempos de llegada sin virtualmente iguales. Este fenomeno produce la can-
celacion de la se nal, que se conoce como fast fading, y que se produce cuando el movil
se mueve a traves de distancias cortas comparadas con la longitud de onda de la
portadora. Esto se puede entender como la suma de varios fasores ponderados que
describen el desplazamiento de fase (modulo ) y atenuacion a lo largo del camino en
un cierto instante de tiempo.
102
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
La energa de la se nal recibida en un movil, debido al fenomeno anterior, normalmente
es bien modelada estadsticamente mediante una distribucion de Rayleigh. El proble-
ma de fast fading provoca errores en la recepcion de bits. Para solucionarlo, WCDMA
implementa las siguientes medidas:
1. La energa dispersa por el delay, es combinada usando Rake ngers (receptores
correlacionados), designados en las posiciones de delay en donde una llega una
porcion signicativa de energa.
2. Rapido control de potencia, y la diversidad inherente que agrega el receptor Rake,
ayudan a mitigar el problema del fading.
3. Fuerte codicacion de control de error, interleaving y redundancia son implemen-
tados para agregar diversidad de tiempo, con el objetivo de agregar diversidad
de tiempo para ayudar a la recepcion y a recuperar la se nal a traves del fade.
A.1.4. Control de Potencia
El rapido y ajustado control de potencia es quizas la caracterstica mas importante
de WCDMA.

Este ocurre tanto en el uplink como en el downlink, aunque la motivacion del
primero es la mas importante.
En el uplink, debido a que los moviles operan a la misma frecuencia y solo diere en
sus respectivos codigos spreading, ocurre el llamado problema cerca-lejos de CDMA.

Este
se produce cuando las perdidas de potencia debido al Path-loss, de un movil que esta mas
lejos de la BS que otro, hace que la misma reciba mayor potencia del movil mas cercano, lo
que podra llegar a bloquear al resto que se ubica en la celda. Es por esto que la estrategia
optima es recibir la misma potencia de todos los moviles. Este control, de lazo cerrado, se
hace en funcion de la SIR (Razon Se nal a Interferencia) percibida respecto de la estimada.
Si la SIR percibida es mayor a la SIR objetivo, se le ordena al movil bajar su potencia; si
la relacion es en sentido contrario, se le ordena subir. Este proceso se realiza a una tasa de
1.5 [kHz]. Este control opera mas rapido que la tasa a la que ocurre el Path Loss, y a un
mas rapida a la que ocurre el Rayleigh fading. Luego, el control se anticipa a este ultimo,
ordenando una potencia de emision inversamente proporcional al fading (a velocidades bajas
o moderadas de desplazamiento del movil).
El mismo tipo de control ocurre para el downlink pero con una motivacion diferente.
Aqu se ocupa para optimizar y entregar una cantidad de potencia marginal al movil que se
encuentra en los bordes de las celdas y que sufren de una alta interferencia de otras celdas.
Tambien ayuda a los enlaces con problemas de Rayleigh fading, y que requieren de mayor
potencia debido a que los metodos de redundancia e interleaving no estan funcionando.
103
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
(8523$
(8523$
(8523$ (8523$
(8523$
(8523$
DATOS
Tasa de bit Tasa de chip Tasa de chip
Cdigo de
canalizacin
Cdigo de
Scrambling
Figura A.4: Relacion entre el proceso de Spreading y Scrambling
Existe un control de potencia de lazo externo, que lo hace el RNC (controlador del
nodo-B o Estacion Base), y que basicamente controla y modica el SIR usado como set point,
ya que este vara en el tiempo al variar las condiciones de multitrayectorias y velocidad del
movil, modicando el valor necesario para un determinado BLER (Block error rate) de un
servicio.
A.1.5. Modulacion y C odigos Spreading y Scrambling
Adicional al proceso de Spreading, existe el proceso de Scrambling, que consiste en
un patron de alteracion del orden de la secuencia y cuyo principal objetivo es separar los
canales entre elos terminales y las BS. Es importante destacar que este proceso no altera
la tasa de chips ni el ancho de banda de la se nal. La funcion especca del Scrambling
dependera si se esta en el uplink o en el downlink.
Los codigos de canalizacion o codigos spreading, se basan en la tecnica de OVSF
(Orthogonal variable spreading factor). Esta tecnica se basa en los arboles de codigo como
se aprecia en la gura A.5. Un spreading factor SF, como ya se dijo, se reere a la cantidad
de bits de la palabra de codigo, existiendo N codigos posibles con SF=N, donde N = 2
k
con k N.
La modulacion en el uplink se basa principalmente en el esquema QPSK, en donde en
el canal I se transmite el canal de datos (DPDCH), y en el Q, el canal de control (DPCCH).
Luego, los canales son sumados y sometidos a un codigo de scrambling complejo.
En el uplink el codigo de canalizacion se utiliza para identicar los canales de control
respecto de los de datos; mientas los codigos de scrambling se utilizan para diferenciar e
individualizar a los usuarios.
En el downlink, la modulacion usada es QPSK de modo simple. Los codigos spreading
son usados para diferenciar a cada usuario, mientras que los codigos scrambling se utilizan
104
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
6.3.2 Channelisation Codes
Transmissions from a single source are separated by channelisation codes, i.e. downlink
connections within one sector and the dedicated physical channel in the uplink from one
terminal. The spreading/channelisation codes of UTRA are based on the Orthogonal
Variable Spreading Factor (OVSF) technique, which was originally proposed in [7].
The use of OVSF codes allows the spreading factor to be changed and orthogonality
between different spreading codes of different lengths to be maintained. The codes are
picked from the code tree, which is illustrated in Figure 6.4. In case the connection uses a
variable spreading factor, the proper use of the code tree also allows despreading according
to the smallest spreading factor. This requires only that channelisation codes are used from
the branch indicated by the code used for the smallest spreading factor.
There are certain restrictions as to which of the channelisation codes can be used for a
transmission from a single source. Another physical channel may use a certain code in the
tree if no other physical channel to be transmitted using the same code tree is using a code
that is on an underlying branch, i.e. using a higher spreading factor code generated from the
intended spreading code to be used. Neither can a smaller spreading factor code on the path
to the root of the tree be used. The downlink orthogonal codes within each base station are
managed by the radio network controller (RNC) in the network.
The functionality and characteristics of the scrambling and channelisation codes are
summarised in Table 6.1. Their usage will be described in more detail in Section 6.3.3.
The denition for the same code tree means that for transmission from a single source,
from either a terminal or a base station, one code tree is used with one scrambling code on
top of the tree. This means that different terminals and different base stations may operate
their code trees totally independently of each other; there is no need to coordinate the code
tree resource usage between different base stations or terminals.
6.3.3 Uplink Spreading and Modulation
6.3.3.1 Uplink Modulation
In the uplink direction there are basically two additional terminal-oriented criteria that need
to be taken into account in the denition of the modulation and spreading methods. The
c
1,1
= (1)
c
2,1
= (1,1)
c
4,1
= (1,1,1,1)
c
4,2
= (1,1,1,1)
c
4,3
= (1,1,1,1)
c
4,4
= (1,1,1,1)
c
2,2
= (1, 1)
c
(c, c)
(c, c)
Figure 6.4. Beginning of the channelisation code tree
Physical Layer 105
Figura A.5: Esquema del arbol de codigos de canalizacion.
para separar e identicar al sector del nodo B.
A.2. Principios de HSDPA
HSDPA es el nombre con que se le conoce al estandar Realese 5, de la 3GPP.

Este
nacio como una extension de WCDMA, con el objetivo de ser una tecnologa orientada al
intercambio de datos (paquetes), y que satisfaciera las creciente demanda de altas tasas de
bits o throughput. Para lograrlo, tomando como base los fundamentos de WCDMA, posee
3 caractersticas clave:
Adaptacion del enlace.
Rapido Scheduling y programacion.
Retransmicion en la capa fsica (HARQ).
Estas caractersticas son las claves para lograr altas tasas de transferencia de datos,
que en condiciones optimas pueden llegar a los 14.4 [Mbps] en el downlink.
A.2.1. Canales Fsicos
La implementacion de HSDPA implica agregar 3 canales nuevos, uno de traco de
datos en download (HS-DSCH), uno de control o se nalizacion en en enlace de bajada (HS-
SCCH), y uno de control o se nalizacion en el enlace de subida (HS-DPCCH). Ademas, estos
deben estar funcionando en paralelo con el canal de traco dedicado de WCDMA (DCH),
ya que es imprecindible en el normal desempe no de HSDPA.
A continuacion se listan algunas de sus principales caractersticas:
105
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
actual implementation. For those interested in the historical reasons for DSCH use
please refer to [1] and the references therein for further details.
The FACHis used either for small data volumes or when setting up the connection and
during state transfers. In connection with HSDPA, the FACH is used to carry the
signalling when the terminal has moved, due to inactivity from Cell_DCH state to
Cell_FACH, Cell_PCH or URA_PCH state. The FACH is operated on its own and,
depending on the state the terminal is in, FACH is decoded either continuously
(Cell_FACH) or based on the paging message. For the FACH there is neither fast
power control nor soft handover. For the specic case of the Multimedia Broadcast
Multicast Service (MBMS), selection combining or soft combining may be used on the
FACH, but in any case there is no physical layer feedback for any activity on the FACH
and thus power control is not feasible. The FACH is carried on the secondary common
control physical channel (S-CCPCH) with xed spreading factor. If there is a need for
service mix, like speech and data, then FACH cannot be used.
The Release 99 based DCH is the key part of the system despite the introduction of
HSDPA and Release 5 HSDPA is always operated with the DCH running in parallel
(as shown in Figure 4.1). If the service is only for packet data, then at least the signalling
radio bearer (SRB) is carried on the DCH. In case the service is circuit-switched like
AMR speech call or video call parallel to PS data then the service always runs on the
DCH. With Release 6 signalling can also be carried without the DCH, as explained in
connection with the fractional DCH (F-DCH). In Release 5, uplink user data always go
on the DCH (when HSDPA is active), whereas in Release 6 an alternative is provided by
the Enhanced DCH (E-DCH) with the introduction of high-speed uplink packet access
(HSUPA), as covered in Chapter 5.
The DCH can be used for any kind of service and it has xed a spreading factor in the
downlink with xed allocation during the connection. Thus, it reserves the code resources
corresponding to the peak data rate of the connection. Of course, higher layer signalling
could be used to recongure the code used for the DCH, but that is too slow to react to
changes in the trac. In the case of multiple services, the reserved capacity is equal to the
sum of the peak data rate of the services. The theoretical peak rate is 2 Mbps but it seems
that 384 kbps is the highest implemented DCH data rate on the market so far. Any
32 HSDPA/HSUPA for UMTS
Terminal
H
S
-
S
C
C
H
H
S
-
D
S
C
H
H
S
-
D
P
C
C
H
D
C
H

(
D
P
C
C
H
/
D
P
D
C
H
)
Node B
Figure 4.1 Channels needed for HSDPA operation in Release 5.
Figura A.6: Esquema de los canales fsicos relevantes en HSDPA
DCH
Perteneciente a Release 99 (WCDMA).
Siempre debe coexistir en forma paralela a HSDPA.
Si hay traco de PS (conmutacion de paquetes), sirve a lo mas como se nalizacion.
Cuando existe traco de conmutacion de circuitos, se enva por este canal.
Transporta el traco de datos en uplink de HSDPA.
Tiene un spreading factor jo durante la conexion.
Codigo recongurable mediante se nales de control.
Sirve como capacidad en reserva para soportar peaks de datos.
Realiza control rapido de potencia y Soft Handover.
HS-DSCH
No realiza control de potencia pero posea adaptacion del enlace.
Soporta modulacion QPSK y 16-QAM a diferencia de WCDMA (solo QPSK).
No realiza Soft Handover.
Permite operacion multicodigos con un MS usando un SF=16 jo.
Solo usa turbo codigos para control de error.
106
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
HS-SCCH
Controla el downlink.
Usa SF=128.
Utiliza solo modulacion QPSK.
Utiliza solo codigos convolucionales para control de error.
No usa deteccion coherente ni control de potencia.
El time-slot se divide en 2 partes.
1. Informacion urgente como hacer despreading, modulacion y codigos del HS-
DSCH.
2. Informacion menos urgente como la de HARQ, redundancia y retransmision.
HS-DPCCH
Controla el uplink.
SF=256 jo.
Informacion del terminal como el CQI (calidad del enlace).
Slot de duracion 2[ms] dividido en 3 partes.
Se separan para dar informacion de aceptacion de HARQ y datos del terminal como
categora, E
b
/N
o
etc..
A.2.2. Adaptacion del enlace y throughput
La adaptacion del enlace y throughput es una de las caractersticas mas importantes
de HSDPA. Cada 2 [ms] decide el tipo de modulacion y la tasa de codigo a la cual se va a
transmitir, en base al indicador CQI (Channel Quality Indicator). Este indicador entrega
indicios acerca del estado de la calidad del enlace o canal; en la practica es un n umero del 1 al
31, el cual indica el largo del bloque que es posible decodicar con una probabilidad de exito
del 90 %. Un ejemplo de su funcionamiento se observa en la gura A.7. Una informacion
importante tambien es la que entrega el canal de control en cuanto a si el terminal soporta
o no la conguracion que se le desea entregar.
Con esta informacion, entonces, la tasa efectiva de datos que presenta un terminal en
la capa fsica depende de los factores:
107
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
0 20 40 60 80 100 120 140 160
- 2
0
2
4
6
8
10
12
14
16
QPSK1/4
QPSK2/4
QPSK3/4
16QAM2/4
16QAM3/4
I
n
s
t
a
n
t
a
n
e
o
u
s

E
s
N
o

[
d
B
]

I
n
s
t
a
n
t
a
n
e
o
u
s

E
s
/
N
o
[
d
B
]
(8523$
(8523$ (8523$ (8523$ (8523$
(8523$ (8523$
(8523$
(8523$
(8523$
(8523$
EUROPA
EURO
EUROPA
C/I recibido por
UE
C/I vara con
desvanecimiento
Modo
adaptacin
de enlace
BTS ajusta modo adaptacin de
enlace con pocos ms de delay
basado en calidad de canal de UE
_________________
Tiempo[N de TTI's]
Figura A.7: Ejemplo del funcionamiento de la adaptacion del enlace
N umero de codigos en uso.
Modulacion.
Tasa efectiva de codicacion (code-rate).
A.2.3. Capacidades de los terminales
No todos los terminales tienen las mismas capacidades en cuanto al tipo de modu-
lacion, code rate y maximo n umero de codigos paralelos que soportan, lo que se traduce a
que no todos los MSs pueden acceder al mismo throughput. Es por ello que se clasican en
12 categoras, cuyo detalle se puede ver en la tabla A.1.
108
AP

ENDICE A. ANTECEDENTES TECNOL

OGICOS
Categora Maximo
n umero
de codigos
paralelos por
HS-DSCH
Intervalo
mnimo
inter-TTI
Bits de
transporte
por TTI
Tipo de
ARQ a tasa
maxima
Maximo
troughput
lograble
[Mbps]
1 5 3 7298 Soft 1.2
2 5 3 7298 IR 1.2
3 5 2 7298 Soft 1.8
4 5 2 7298 IR 1.8
5 5 1 7298 Soft 3.6
6 5 1 7298 IR 3.6
7 10 1 14411 Soft 7.2
8 10 1 14411 IR 7.2
9 15 1 20251 Soft 10.2
10 15 1 27952 IR 14.4
11 5 2 3630 Soft 0.9
12 5 1 3630 Soft 1.8
Tabla A.1: Caractersticas de las categoras de los terminales.
109
Apendice B
C odigos
En este anexo se entregan los codigos usados para las simulaciones.
B.1. main bandwidth
Este codigo implementa las variaciones de ancho de banda.
function [S,usuarios_gral_1,usuarios_gral_2,usuarios_gral_3,usuarios_gral_4,\\
R_gral_1,R_gral_2,R_gral_3,R_gral_4]=main_bandwidth
global M T C a W
iter=60; % Implica 2 minutos total de scheduling
M=35; %numero de usuarios
T=100; %largo de la ventana en slots.
C=3; %capacidad maxima del sistema p/slots
lda=0.5; %factor de normalizacion del canal/SNR de ref.
a=0.6;
BW=[5000;4000;3000;2000;1000;500];
B=round(128+(640-128).*rand(M,1));% Generacion aleatoria de requerimientos e kbps.
R_prom_final_1=zeros(M,length(BW));
R_prom_final_2=zeros(M,length(BW));
R_prom_final_3=zeros(M,length(BW));
R_prom_final_4=zeros(M,length(BW));
usuarios_gral_1=zeros(iter,length(BW));
usuarios_gral_2=zeros(iter,length(BW));
usuarios_gral_3=zeros(iter,length(BW));
usuarios_gral_4=zeros(iter,length(BW));
R_gral_1=zeros(iter,length(BW));
R_gral_2=zeros(iter,length(BW));
R_gral_3=zeros(iter,length(BW));
R_gral_4=zeros(iter,length(BW));
110
AP

ENDICE B. C

ODIGOS
S=zeros(M*T,iter,length(BW));
for p=1:length(BW)
W=BW(p);
user_satis=zeros(iter,4);
R_total=zeros(iter,4);
for n=1:iter
%%%%%%%%%%%%%%%%% Generar Matriz de Estados %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (n==1) % Si se inicia el ciclo del canal no se usan las C.I anteriores
[X,out]=calculo_h_inicial(M,T);
else % Se simula en canal a partir de las C.I anteriores
[X,out]=calculo_h(M,T,out);
end
X=X*lda;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Adquiero datos de los 3 metodos de scheduling%%%%%%%%%%%
[sched_1,x_1,R_final_1]=maximum_CI(M,T,C,X);
[sched_2,x_2,R_final_2]=round_robin(M,T,C,X);
[sched_3,x_3,R_final_3]=proportional_fair(M,T,C,X);
[x_4,R_final_4,sched_4,s]=Huberneg_cvx(M,T,C,X,B);
S(:,iter,p)=s;
if (n==1)
R_prom_final_1(:,p)=R_final_1;
R_prom_final_2(:,p)=R_final_2;
R_prom_final_3(:,p)=R_final_3;
R_prom_final_4(:,p)=R_final_4;
else
R_prom_final_1(:,p)=(R_final_1+R_prom_final_1(:,p))./2;
R_prom_final_2(:,p)=(R_final_2+R_prom_final_2(:,p))./2;
R_prom_final_3(:,p)=(R_final_3+R_prom_final_3(:,p))./2;
R_prom_final_4(:,p)=(R_final_4+R_prom_final_4(:,p))./2;
end
delta_1=R_prom_final_1(:,p)-B;
delta_2=R_prom_final_2(:,p)-B;
delta_3=R_prom_final_3(:,p)-B;
delta_4=R_prom_final_4(:,p)-B;
user_satis(n,1)=(sum(sign(delta_1))+M)/2; %Usuarios satisfechos al instante n, metodo 1
user_satis(n,2)=(sum(sign(delta_2))+M)/2; %Usuarios satisfechos al instante n, metodo 2
user_satis(n,3)=(sum(sign(delta_3))+M)/2; %Usuarios satisfechos al instante n, metodo 3
user_satis(n,4)=(sum(sign(delta_4))+M)/2; %Usuarios satisfechos al instante n, metodo 4
R_total(n,1)=norm(R_prom_final_1(:,p),1); %Throughput agregado al instante n, metodo 1
R_total(n,2)=norm(R_prom_final_2(:,p),1); %Throughput agregado al instante n, metodo 2
R_total(n,3)=norm(R_prom_final_3(:,p),1); %Throughput agregado al instante n, metodo 3
R_total(n,4)=norm(R_prom_final_4(:,p),1); %Throughput agregado al instante n, metodo 4
usuarios_gral_1(:,p)=user_satis(:,1);
usuarios_gral_2(:,p)=user_satis(:,2);
usuarios_gral_3(:,p)=user_satis(:,3);
usuarios_gral_4(:,p)=user_satis(:,4);
R_gral_1(:,p)=R_total(:,1);
111
AP

ENDICE B. C

ODIGOS
R_gral_2(:,p)=R_total(:,2);
R_gral_3(:,p)=R_total(:,3);
R_gral_4(:,p)=R_total(:,4);
end
Y=linspace(0,iter*T*2,iter);
f1=figure;
plot(Y,user_satis(:,1),r*:,Y,user_satis(:,2),gx--,Y,user_satis(:,3),b+-.,\\
Y,user_satis(:,4),ks--,LineWidth,2);
grid on
legend(Maxim C/I,Round Robin,Proportional Fair,HuberNeg function,Location,\\
NorthOutside,Orientation,horizontal);
xlabel(Tiempo[ms],fontsize,15);
ylabel(Numero de usuarios satisfechos,fontsize,15);
saveas(f1,strcat(Tasa_agregada/primera_final_101210/bandwidth/usuarios_W=,\\
num2str(BW(p)),Khz),fig);
saveas(f1,strcat(Tasa_agregada/primera_final_101210/bandwidth/usuarios_W=,\\
num2str(BW(p)),Khz),eps);
f2=figure;
plot(Y,R_total(:,1),r*:,Y,R_total(:,2),gx--,Y,R_total(:,3),b+-.,\\
Y,R_total(:,4),ks--,LineWidth,2);
grid on
legend(Maxim C/I,Round Robin,Proportional Fair,HuberNeg function,\\
Location,NorthOutside,Orientation,horizontal);
xlabel(Tiempo[ms],fontsize,15);
ylabel(Tasa de datos agregada [kbps],fontsize,15);
saveas(f2,strcat(Tasa_agregada/primera_final_101210/bandwidth/throughput_W=,\\
num2str(BW(p)),Khz),fig);
saveas(f2,strcat(Tasa_agregada/primera_final_101210/bandwidth/throughput_W=,\\
num2str(BW(p)),Khz),eps);
close(f1);
close(f2);
end
end
B.2. main users
Este codigo implementa las variaciones del n umero de usuarios.
function [S,usuarios_gral_1,usuarios_gral_2,usuarios_gral_3,usuarios_gral_4,\\
R_gral_1,R_gral_2,R_gral_3,R_gral_4]=main_users
global M T C a W
iter=60; % Implica 2 minutos total de scheduling
T=100; % largo de la ventana en slots.
C=3; % capacidad maxima del sistema p/slots
lda=0.5; % factor de normalizacion del canal/SNR de ref.
a=0.6;
112
AP

ENDICE B. C

ODIGOS
W=4000;
usuarios=[35;25;20;15;10;5]; % Vector con el numeros de usuarios de interes
usuarios_gral_1=zeros(iter,length(usuarios));
usuarios_gral_2=zeros(iter,length(usuarios));
usuarios_gral_3=zeros(iter,length(usuarios));
usuarios_gral_4=zeros(iter,length(usuarios));
R_gral_1=zeros(iter,length(usuarios));
R_gral_2=zeros(iter,length(usuarios));
R_gral_3=zeros(iter,length(usuarios));
R_gral_4=zeros(iter,length(usuarios));
M=35;
S=zeros(M*T,iter,length(usuarios));
for p=1:length(usuarios)
M=usuarios(p); % numero de usuarios
B=round(128+(640-128).*rand(M,1)); % Generacion aleatoria de requerimientos e kbps.
user_satis=zeros(iter,4);
R_total=zeros(iter,4);
for n=1:iter
%%%%%%%%%%%%%%%%% Generar Matriz de Estados %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (n==1) % Si se inicia el ciclo del canal no se usan las C.I anteriores
[X,out]=calculo_h_inicial(M,T);
else % Se simula en canal a partir de las C.I anteriores
[X,out]=calculo_h(M,T,out);
end
X=X*lda;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Adquiero datos de los 3 metodos de scheduling%%%%%%%%%%%
[sched_1,x_1,R_final_1]=maximum_CI(M,T,C,X);
[sched_2,x_2,R_final_2]=round_robin(M,T,C,X);
[sched_3,x_3,R_final_3]=proportional_fair(M,T,C,X);
[x_4,R_final_4,sched_4,s]=Huberneg_cvx(M,T,C,X,B);
S(:,iter,p)=[s;zeros((35-usuarios(p))*T,1)]; %Relleno con zeros espacios faltantes
if (n==1)
R_prom_final_1=R_final_1;
R_prom_final_2=R_final_2;
R_prom_final_3=R_final_3;
R_prom_final_4=R_final_4;
else
R_prom_final_1=(R_final_1+R_prom_final_1)./2;
R_prom_final_2=(R_final_2+R_prom_final_2)./2;
R_prom_final_3=(R_final_3+R_prom_final_3)./2;
R_prom_final_4=(R_final_4+R_prom_final_4)./2;
end
delta_1=R_prom_final_1-B;
delta_2=R_prom_final_2-B;
delta_3=R_prom_final_3-B;
delta_4=R_prom_final_4-B;
user_satis(n,1)=(sum(sign(delta_1))+M)/2; %Usuarios satisfechos al instante n, metodo 1
113
AP

ENDICE B. C

ODIGOS
user_satis(n,2)=(sum(sign(delta_2))+M)/2; %Usuarios satisfechos al instante n, metodo 2
user_satis(n,3)=(sum(sign(delta_3))+M)/2; %Usuarios satisfechos al instante n, metodo 3
user_satis(n,4)=(sum(sign(delta_4))+M)/2; %Usuarios satisfechos al instante n, metodo 4
R_total(n,1)=norm(R_prom_final_1,1); %Throughput agregado al instante n, metodo 1
R_total(n,2)=norm(R_prom_final_2,1); %Throughput agregado al instante n, metodo 2
R_total(n,3)=norm(R_prom_final_3,1); %Throughput agregado al instante n, metodo 3
R_total(n,4)=norm(R_prom_final_4,1); %Throughput agregado al instante n, metodo 4
usuarios_gral_1(:,p)=user_satis(:,1);
usuarios_gral_2(:,p)=user_satis(:,2);
usuarios_gral_3(:,p)=user_satis(:,3);
usuarios_gral_4(:,p)=user_satis(:,4);
R_gral_1(:,p)=R_total(:,1);
R_gral_2(:,p)=R_total(:,2);
R_gral_3(:,p)=R_total(:,3);
R_gral_4(:,p)=R_total(:,4);
end
Y=linspace(0,iter*T*2,iter);
f1=figure;
plot(Y,user_satis(:,1),r*:,Y,user_satis(:,2),gx--,Y,user_satis(:,3),b+-.,\\
Y,user_satis(:,4),ks--,LineWidth,2);
grid on
legend(Maxim C/I,Round Robin,Proportional Fair,HuberNeg function,Location,\\
NorthOutside,Orientation,horizontal);
xlabel(Tiempo[ms],fontsize,15);
ylabel(Numero de usuarios satisfechos,fontsize,15);
saveas(f1,strcat(Tasa_agregada/16122010/users/usuarios_M=,num2str(usuarios(p))),fig);
f2=figure;
plot(Y,R_total(:,1),r*:,Y,R_total(:,2),gx--,Y,R_total(:,3),b+-.,Y,R_total(:,4),\\
ks--,LineWidth,2);
grid on
legend(Maxim C/I,Round Robin,Proportional Fair,HuberNeg function,Location,\\
NorthOutside,Orientation,horizontal);
xlabel(Tiempo[ms],fontsize,15);
ylabel(Tasa de datos agregada [kbps],fontsize,15);
saveas(f2,strcat(Tasa_agregada/16122010/users/throughput_M=,num2str(usuarios(p))),fig);
close(f1);
close(f2);
end
end
B.3. main resources
Este codigo implementa las variaciones de cantidad de recursos disponibles.
function [S,usuarios_gral_1,usuarios_gral_2,usuarios_gral_3,usuarios_gral_4,\\
R_gral_1,R_gral_2,R_gral_3,R_gral_4]=main_resources
114
AP

ENDICE B. C

ODIGOS
global M T C a W
iter=60; % Implica 2 minutos total de scheduling
M=35; % numero de usuarios
T=100; % largo de la ventana en slots.
lda=0.5; % factor de normalizacion del canal/SNR de ref.
a=0.6;
W=3000;
capac=[1;2;3;4;5];
B=round(128+(640-128).*rand(M,1)); % Generacion aleatoria de requerimientos e kbps.
R_prom_final_1=zeros(M,length(capac));
R_prom_final_2=zeros(M,length(capac));
R_prom_final_3=zeros(M,length(capac));
R_prom_final_4=zeros(M,length(capac));
usuarios_gral_1=zeros(iter,length(capac));
usuarios_gral_2=zeros(iter,length(capac));
usuarios_gral_3=zeros(iter,length(capac));
usuarios_gral_4=zeros(iter,length(capac));
R_gral_1=zeros(iter,length(capac));
R_gral_2=zeros(iter,length(capac));
R_gral_3=zeros(iter,length(capac));
R_gral_4=zeros(iter,length(capac));
S=zeros(M*T,iter,length(capac));
for p=1:length(capac)
C=capac(p); %capacidad maxima del sistema p/slots
user_satis=zeros(iter,4);
R_total=zeros(iter,4);
for n=1:iter
%%%%%%%%%%%%%%%%% Generar Matriz de Estados %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (n==1) % Si se inicia el ciclo del canal no se usan las C.I anteriores
[X,out]=calculo_h_inicial(M,T);
else % Se simula en canal a partir de las C.I anteriores
[X,out]=calculo_h(M,T,out);
end
X=X*lda;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Adquiero datos de los 3 metodos de scheduling%%%%%%%%%%%
[sched_1,x_1,R_final_1]=maximum_CI(M,T,C,X);
[sched_2,x_2,R_final_2]=round_robin(M,T,C,X);
[sched_3,x_3,R_final_3]=proportional_fair(M,T,C,X);
[x_4,R_final_4,sched_4,s]=Huberneg_cvx(M,T,C,X,B);
S(:,iter,p)=s;
if (n==1)
R_prom_final_1(:,p)=R_final_1;
R_prom_final_2(:,p)=R_final_2;
R_prom_final_3(:,p)=R_final_3;
R_prom_final_4(:,p)=R_final_4;
else
R_prom_final_1(:,p)=(R_final_1+R_prom_final_1(:,p))./2;
115
AP

ENDICE B. C

ODIGOS
R_prom_final_2(:,p)=(R_final_2+R_prom_final_2(:,p))./2;
R_prom_final_3(:,p)=(R_final_3+R_prom_final_3(:,p))./2;
R_prom_final_4(:,p)=(R_final_4+R_prom_final_4(:,p))./2;
end
delta_1=R_prom_final_1(:,p)-B;
delta_2=R_prom_final_2(:,p)-B;
delta_3=R_prom_final_3(:,p)-B;
delta_4=R_prom_final_4(:,p)-B;
user_satis(n,1)=(sum(sign(delta_1))+M)/2; %Usuarios satisfechos al instante n, metodo 1
user_satis(n,2)=(sum(sign(delta_2))+M)/2; %Usuarios satisfechos al instante n, metodo 2
user_satis(n,3)=(sum(sign(delta_3))+M)/2; %Usuarios satisfechos al instante n, metodo 3
user_satis(n,4)=(sum(sign(delta_4))+M)/2; %Usuarios satisfechos al instante n, metodo 4
R_total(n,1)=norm(R_prom_final_1(:,p),1); %Throughput agregado al instante n, metodo 1
R_total(n,2)=norm(R_prom_final_2(:,p),1); %Throughput agregado al instante n, metodo 2
R_total(n,3)=norm(R_prom_final_3(:,p),1); %Throughput agregado al instante n, metodo 3
R_total(n,4)=norm(R_prom_final_4(:,p),1); %Throughput agregado al instante n, metodo 4
usuarios_gral_1(:,p)=user_satis(:,1);
usuarios_gral_2(:,p)=user_satis(:,2);
usuarios_gral_3(:,p)=user_satis(:,3);
usuarios_gral_4(:,p)=user_satis(:,4);
R_gral_1(:,p)=R_total(:,1);
R_gral_2(:,p)=R_total(:,2);
R_gral_3(:,p)=R_total(:,3);
R_gral_4(:,p)=R_total(:,4);
end
Y=linspace(0,iter*T*2,iter);
f1=figure;
plot(Y,user_satis(:,1),r*:,Y,user_satis(:,2),gx--,Y,user_satis(:,3),b+-.,\\
Y,user_satis(:,4),ks--,LineWidth,2);
grid on
legend(Maxim C/I,Round Robin,Proportional Fair,HuberNeg function,Location,\\
NorthOutside,Orientation,horizontal);
%title(strcat(Numero total de usuarios satisfechos agregada para C=,num2str(capac(p))));
xlabel(Tiempo[ms],fontsize,15);
ylabel(Numero de usuarios satisfechos,fontsize,15);
saveas(f1,strcat(Tasa_agregada/primera_final_101210/resources/usuarios_C=,\\
num2str(capac(p))),fig);
saveas(f1,strcat(Tasa_agregada/primera_final_101210/resources/usuarios_C=,\\
num2str(capac(p))),eps);
f2=figure;
plot(Y,R_total(:,1),r*:,Y,R_total(:,2),gx--,Y,R_total(:,3),b+-.,Y,\\
R_total(:,4),ks--,LineWidth,2);
grid on
legend(Maxim C/I,Round Robin,Proportional Fair,HuberNeg function,\\
Location,NorthOutside,Orientation,horizontal);
%title(strcat(Throughput total logrado para C=,num2str(capac(p))));
xlabel(Tiempo[ms],fontsize,15);
ylabel(Tasa de datos agregada[kbps],fontsize,15);
116
AP

ENDICE B. C

ODIGOS
saveas(f2,strcat(Tasa_agregada/primera_final_101210/resources/throughput_C=,\\
num2str(capac(p))),fig);
saveas(f2,strcat(Tasa_agregada/primera_final_101210/resources/throughput_C=,\\
num2str(capac(p))),eps);
close(f1);
close(f2);
end
end
B.4. Huberneg cvx
Este codigo implementa la solucion desarrollada en este trabajo, usando CVX.
function [u,R_final,sched,s]=Huberneg_cvx(M,T,C,X,B)
global M T C
clc
A=generar_A;
b=generar_b;
%------------Fin de definicion de variables-------------------------------
%-------------------------------------------------------------------------
v=M*T;
r=tasa(X);
I=eye(M);
for i=1:T-1
I=[I;eye(M)];
end
R=r;
for j=1:M-1
R=[R r];
end
F=R.*I;
F=F;
F=F./T;
cvx_begin
variable x(v);
minimize (sum(huber_neg(F*x-3*B)));
subject to
A*x<=b;
cvx_end;
cvx_optval;
cvx_status;
cvx_slvtol;
cvx_slvitr;
s=x;
%-----------Procesar el resultado----------------------------------------
%%%%%%%%%%%%%%%%% Ordenamiento final de las variables %%%%%%%%%%%%%%%%%%%
117
AP

ENDICE B. C

ODIGOS
sched=zeros(M,T);
for i=1:T
sched(:,i)=x(M*(i-1)+1:M*i);
aux=sched(:,i);
[Y,I]=sort(sched(:,i),descend);
aux(I(1:C))=1;
aux(I(C+1:M))=0;
sched(:,i)=aux;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%% Encontrar tasas promedios finales y x final %%%%%%%%%%
for j=1:T
x(M*(j-1)+1:M*j)=sched(:,j);
end
R_final=F*x;
u=x;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%-------------------------------------------------------------------------
end
%-------------------Funcion para generar A, matriz de restricciones-------
function A=generar_A
global M T
A=zeros(T,M*T);
for k=1:T
for i=1:M
A(k,i+(k-1)*M)=1;
end
end
A=[A;eye(M*T);-1*eye(M*T)];
end
%-------------------Funcion generar vector b de restricciones-------------
function b=generar_b
global M T C
b=[C*ones(T,1);ones(M*T,1);zeros(M*T,1)];
end
%-------------------------Funcion tasa instantanea------------------------
function r=tasa(X)
global M T a W
r=zeros(M*T,1);
for k=1:T
for i=1:M
r(i+(k-1)*M)=W*log2(1+a*X(i,k));
end
end
end
118
AP

ENDICE B. C

ODIGOS
B.5. maximum CI
Este codigo implementa el algoritmo de scheduling Maxim C/I.
function [sched,x,R_final]=maximum_CI(M,T,C,X)
sched=zeros(M,T);
a=ones(C,1);
%%%%%%%%%%%%%%%%%%%%%%%% Obtengo Matriz de Asignacion%%%%%%%%%%%%%%%%%%%%%%
for j=1:T
[Y,I]=sort(X(:,j),descend);
J=I(1:C); %Recupero los C indices utiles
for i=1:M
s=(i==J);
if (a(s))
sched(i,j)=1;
end
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% Obtengo vector x de asignacion %%%%%%%%%%%%%%%%%%%%%%%
x=zeros(M*T,1);
for j=1:T
x(M*(j-1)+1:M*j)=sched(:,j);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% Obtener vector de tasa promedio%%%%%%%%%%%%%%%%%%%%%%
r=tasa(X);
I=eye(M);
for i=1:T-1
I=[I;eye(M)];
end
R=r;
for j=1:M-1
R=[R r];
end
F=R.*I;
F=F;
F=F./T;
R_final=F*x;
end
%-------------------------Funcion tasa instantanea-------------------------
function r=tasa(X)
global M T a W
r=zeros(M*T,1);
for k=1:T
for i=1:M
r(i+(k-1)*M)=W*log2(1+a*X(i,k));
119
AP

ENDICE B. C

ODIGOS
end
end
end
B.6. proportional fair
Este codigo implementa el algoritmo de scheduling Proportional Fair.
function [sched,x,R_final]=proportional_fair(M,T,C,X)
sched=zeros(M,T);
a=ones(C,1);
r_prom=ones(M,1); %Considera C.I distinta de 0 para evitar singularidades
r=tasa(X); %Obtengo el vector tasa instantanea probable
%%%%%%%%%%%%%%%%%%%%%%%% Obtengo Matriz de Asignacion%%%%%%%%%%%%%%%%%%%%%%
for k=1:T
r_instant=r(M*(k-1)+1:M*k);
razon=r_instant./r_prom;
[Y,I]=sort(razon,descend);
J=I(1:C); %Recupero los C indices utiles
for i=1:M
s=(i==J);
if (a(s))
sched(i,k)=1;
end
end
r_prom=(r_prom+r_instant.*sched(:,k))./k; % Actualizo la tasa promedio
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% Obtengo vector x de asignacion %%%%%%%%%%%%%%%%%%%%%%%
x=zeros(M*T,1);
for j=1:T
x(M*(j-1)+1:M*j)=sched(:,j);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% Obtener vector de tasa promedio%%%%%%%%%%%%%%%%%%%%%%
%r=tasa(X); %Lo obtengo antes porque lo usare en la etapa anterior
I=eye(M);
for i=1:T-1
I=[I;eye(M)];
end
R=r;
for j=1:M-1
R=[R r];
end
F=R.*I;
F=F;
120
AP

ENDICE B. C

ODIGOS
F=F./T;
R_final=F*x;
end
%-------------------------Funcion tasa instantanea-------------------------
function r=tasa(X)
global M T a W
r=zeros(M*T,1);
for k=1:T
for i=1:M
r(i+(k-1)*M)=W*log2(1+a*X(i,k));
end
end
end
B.7. round robin
Este codigo implementa el algoritmo de scheduling Round Robin.
function [sched,x,R_final]=round_robin(M,T,C,X)
global M T
sched=zeros(M,T);
%a=ones(C,1);
%%%%%%%%%%%%%%%%%%%%%%%% Obtengo Matriz de Asignacion%%%%%%%%%%%%%%%%%%%%%%
s=zeros(M,1); % Creamos el vector inicial de asignacion RR
for i=1:M
if ( i <= C)
s(i)=1;
end
end
for j=1:T
sched(:,j)=s;
s=circshift(s,C); % Hago un shift de C espacios a los 1s
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% Obtengo vector x de asignacion %%%%%%%%%%%%%%%%%%%%%%%
x=zeros(M*T,1);
for j=1:T
x(M*(j-1)+1:M*j)=sched(:,j);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% Obtener vector de tasa promedio%%%%%%%%%%%%%%%%%%%%%%%
r=tasa(X);
I=eye(M);
for i=1:T-1
I=[I;eye(M)];
end
121
AP

ENDICE B. C

ODIGOS
R=r;
for j=1:M-1
R=[R r];
end
F=R.*I;
F=F;
F=F./T;
R_final=F*x;
end
%-------------------------Funcion tasa instantanea-------------------------
function r=tasa(X)
global M T a W
r=zeros(M*T,1);
for k=1:T
for i=1:M
r(i+(k-1)*M)=W*log2(1+a*X(i,k));
end
end
end
B.8. calculo h inicial
Este codigo implementa el c alculo de la matriz de estados, para el caso inicial.
function [X,out]=calculo_h_inicial(M,T)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Genera la matriz con los parametros h equivalente de cada usuario, en
% cada instante -> matriz X de MxMT . Se asume propagacion NLOS y escenario
% Bad-Urban macro Cell
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Arrays=arrayparset;% es solo una funcion que muestra 6 ejemplos de antennas
MSAAIdx = 7*ones(1,M); % genero M moviles con patron 7->unitaria omnidirec.
BsAAIdxCell= {[6]}; % Una Estacion Base, antena de 2 elementos, patron 6
layoutpar=layoutparset(MSAAIdx,BsAAIdxCell,M, Arrays);
layoutpar.PropagConditionVector=zeros(1,M); % NLOS
layoutpar.ScenarioVector=12*ones(1,M); % 12= numero para escenario C3
wimpar=wimparset;
wimpar.NumTimeSamples=T;
wimpar.CenterFrequency=2.1e9; % Cambiamos la frecuencia de la portadora
wimpar.IntraClusterDsUsed=no; % No generar "paths" adicionales
wimpar.PathLossModelUse=yes; % Usar el modelo de PathLoss
wimpar.ShadowingModelUsed=yes; % Usar el modelo de Shadowing
wimpar.SampleDensity=8.875; % Para fijar time sample interval=0.02 s
%NTlayout(layoutpar)
[H1,delays,out]=wim(wimpar,layoutpar);
122
AP

ENDICE B. C

ODIGOS
%%%%%%%%%%%%%%% Ahora calculo los h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%X=zeros(M,T);
taps=20; %Cantidad de taps que se generan en cada instante
for i=1:M
for k=1:T
h=zeros(1,2); % Variable que guardara la suma de cada tap
h_eq=0; % h final entregado
for j=1:taps
h=h+H1{i,1}(:,:,j,k);
end
h_eq=norm(h)^2; % h final
X(i,k)=h_eq; % lo asigno a la matriz de estados.
end
end
end
B.9. calculo h
Este codigo implementa el c alculo de la matriz de estados, resto de los casos.
function [X,out]=calculo_h(M,T,out)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Genera la matriz con los parametros h equivalente de cada usuario, en
% cada instante -> matriz X de MxMT . Se asume propagacion NLOS y escenario
% Bad-Urban macro Cell
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Arrays=arrayparset;% es solo una funcion que muestra 6 ejemplos de antennas
MSAAIdx = 7*ones(1,M); % genero M moviles con patron 7->unitaria omnidirec.
BsAAIdxCell= {[6]}; % Una Estacion Base, antena de 2 elementos-->patron 6
layoutpar=layoutparset(MSAAIdx,BsAAIdxCell,M, Arrays);
layoutpar.PropagConditionVector=zeros(1,M); % NLOS
layoutpar.ScenarioVector=12*ones(1,M); % 12= numero para escenario C3
wimpar=wimparset;
wimpar.NumTimeSamples=T;
wimpar.CenterFrequency=2.1e9; % Cambiamos la frecuencia de la portadora
wimpar.IntraClusterDsUsed=no; % No generar "paths" adicionales
wimpar.PathLossModelUse=yes; % Usar el modelo de PathLoss
wimpar.ShadowingModelUsed=yes; % Usar el modelo de Shadowing
wimpar.SampleDensity=8.875; % Para fijar time sample interval=0.02 s
%NTlayout(layoutpar)
[H1,delays,out]=wim(wimpar,layoutpar,out);
%%%%%%%%%%%%%%% Ahora calculo los h %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%X=zeros(M,T);
taps=20; %Cantidad de taps que se generan en cada instante
for i=1:M
for k=1:T
123
AP

ENDICE B. C

ODIGOS
h=zeros(1,2); % Variable que guardara la suma de cada tap
h_eq=0; % h final entregado
for j=1:taps
h=h+H1{i,1}(:,:,j,k);
end
h_eq=norm(h)^2; % h final
X(i,k)=h_eq; % lo asigno a la matriz de estados.
end
end
end
B.10. C odigos Modicados
A continuacion se presentan las versiones modicadas de los codigos utilizadas tanto
para el paquete CVX, como para el WIM2 Model. En el siguiente orden, se entregan los
codigos: huber neg.m (CVX) y arrayparset.m (WIM2 Model ).
function cvx_optval = huber_neg( x, M, t ) %#ok
%HUBER_NEG Internal cvx version.
error( nargchk( 1, 3, nargin ) );
if ~cvx_isconvex( x ),
error( Disciplined convex programming error:\n HUBER_POS is convex \\
and nondecreasing in X, so X must be convex., 1 ); %#ok
end
if nargin < 2,
M = 1;
elseif isa( M, cvx ),
error( Second argument must be numeric. );
elseif ~isreal( M ) || any( M( : ) <= 0 ),
error( Second argument must be real and positive. );
end
if nargin < 3,
t = 1;
elseif ~isreal( t ),
error( Third argument must be real. );
elseif cvx_isconstant( t ) && nnz( cvx_constant( t ) <= 0 ),
error( Third argument must be real and positive. );
elseif ~cvx_isconcave( t ),
error( Disciplined convex programming error:\n HUBER_POS is convex \\
and nonincreasing in T, so T must be concave., 1 ); %#ok
end
sz = cvx_size_check( x, M, t );
if isempty( sz ),
error( Sizes are incompatible. );
end
124
AP

ENDICE B. C

ODIGOS
%
% Compute result
%
cvx_begin separable
variables v( sz ) w( sz )
minimize( quad_over_lin( w, t, 0 ) + 2 .* M .* v )
-x <= w + v; %#ok
w <= M * t; %#ok
v >= 0; %#ok
cvx_end
function Arrays=arrayparset
NAz=120; %3 degree sampling interval
Az=linspace(-180,180-1/NAz,NAz);
%pattern=complex(zeros(1,2,1,length(Az))); %[NumElem Pols(2) NumEle NumAz]
pattern(1,:,1,:)=dipole(Az,12); % slanted by 12 degree
%pattern=complex(ones(1,2,1,length(Az))); %[NumElem Pols(2) NumEle NumAz]
Arrays(1)=AntennaArray(ULA,2,0.01,FP-ECS,pattern,Azimuth,Az); %ULA-2 1cm spacing
Arrays(2)=AntennaArray(ULA,4,0.01,FP-ECS,pattern,Azimuth,Az); %ULA-4 1cm spacing
Arrays(3)=AntennaArray(ULA,8,0.01,FP-ECS,pattern,Azimuth,Az); %ULA-8 1cm spacing
Arrays(4)=AntennaArray(UCA,4,0.01,FP-ECS,pattern,Azimuth,Az); %UCA-4 1cm radius
Arrays(5)=AntennaArray(UCA,8,0.01,FP-ECS,pattern,Azimuth,Az); %UCA-8 1cm radius
NAz=3*120; %3 degree sampling interval
Az=linspace(-180,180-1/NAz,NAz);
pattern=ones(2,2,1,NAz);
dist = 3e8/2.1*0.5;
Arrays(6)=AntennaArray(ULA,2,dist,FP-ECS,pattern,Azimuth,Az); % isotropic antenna
% Antena con 2 elementos, para 2.1 GHZ de portadora.
NAz=3*120; %3 degree sampling interval
Az=linspace(-180,180-1/NAz,NAz);
pattern=ones(2,2,1,NAz);
dist = 3e8/2.1e9*0.5;
Arrays(7)=AntennaArray(ULA,1,dist,FP-ECS,pattern); % isotropic antenna
125

S-ar putea să vă placă și