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

cf-perez_pa

Embed Size (px)

Citation preview

Page 1: cf-perez_pa

UNIVERSIDAD DE CHILE

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS

DEPARTAMENTO DE INGENIERIA ELECTRICA

PLANIFICACION OPTIMA DE RECURSOS DE REDES

INALAMBRICAS CON CRITERIOS DE SATISFACCION DE

USUARIOS

TESIS PARA OPTAR AL GRADO DE MAGISTER EN CIENCIAS DE LAINGENIERIA MENCION ELECTRICA

MEMORIA PARA OPTAR AL TITULO DE INGENIERO CIVILELECTRICISTA

PATRICIO ESTEBAN PEREZ ALARCON

PROFESOR GUIA:

PATRICIO PARADA SALGADO

MIEMBROS DE LA COMISION:

JORGE SILVA SANCHEZ

CHRISTIAN OBERLI GRAF

SANTIAGO DE CHILE

ENERO 2011

Page 2: cf-perez_pa

RESUMEN DE LA TESIS PARA OPTAR AL TITULODE INGENIERO CIVIL ELECTRICISTA Y AL GRADODE MAGISTER EN CIENCIAS DE LA INGENIERIAMENCION ELECTRICAPOR: PATRICIO PEREZ ALARCONFECHA: 21/01/2011PROF. GUIA: Sr. PATRICIO PARADA S.

“PLANIFICACION OPTIMA DE RECURSOS DE REDES INALAMBRICAS

CON CRITERIOS DE SATISFACCION DE USUARIOS”

Los algoritmos de planificacion utilizados en las redes moviles, llamados tambiende scheduling, focalizan sus esfuerzos en maximizar el throughput total del sistema. Lasvariantes que consideran criterios de Calidad de Servicio, los incorporan como restriccionesal problema de optimizacion. Sin embargo, para sistemas congestionados y/o con recursosescasos, no es posible satisfacer todas las restricciones.

En este trabajo se propone y evalua una estrategia de scheduling centrada en maxi-mizar el numero de usuarios satisfechos del sistema. Se entiende esto ultimo como aquellosque cumplen con sus requerimientos de tasa de datos promedio mınima, en una ventanade tiempo determinado. El modelo considera la planificacion de los usuarios que utilizaranlos recursos disponibles en cada slot de tiempo, al comienzo de cada ventana de duracionfija, 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 convexadisciplinada CVX.

Para evaluar la solucion propuesta, se simula un sistema real de comunicacionesmoviles compuesto por una estacion base y usuarios siendo servidos por esta. Como in-dicadores de desempeno se considera la cantidad de usuarios satisfechos y el throughputagregado del sistema en el tiempo simulado. Estos indicadores se comparan con los obtenidoscon los algoritmos tıpicos de referencia: Maximum C/I, Proportional Fair y Round Robin, alvariar las variables de ancho de banda, numero de usuarios, y cantidad de recursos a repar-tir en cada slot de tiempo. Los resultados muestran que la estrategia propuesta mejora elrendimiento del sistema bajo el criterio de usuarios satisfechos respecto de los otros algorit-mos. Ademas, se observa que esta ganancia se obtiene sin sacrificar en forma considerable laeficiencia en cuanto a throughput agregado del sistema. Por otro lado, la solucion es validapara una cantidad alta de usuarios en el sistema, debido a las limitaciones que se presentanen las soluciones para un numero bajo de usuarios. Los resultados que se obtienen en lassimulaciones representan una cota maxima del rendimiento a obtener bajo este criterio,debido a la consideracion determinıstica 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 crıticas de demanda.

Page 3: cf-perez_pa

Agradecimientos

Injusto es tratar de agradecer a todos los que debo en una sola pagina, pero masinjusto serıa no hacerlo.

Quisiera en primer lugar agradecer a mis padres. No hay palabras que sean suficientespara 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 ycarino durante toda mi vida, y por ser mi hermana y amiga a la vez.

Agradezco a mi profesor guıa, Patricio Parada, por todo el tiempo que me dedico du-rante los ultimos dos anos y medio; gracias por haberme ensenado a hacer investigacion,por haber sido profesor, guıa y algunas veces incluso amigo. Quisiera agradecer tambien alos profesores Jorge Silva y Christian Oberli, que con su experiencia ayudaron a finalizareste trabajo.

Quiero agraceder a Javiera, por haberme acompanado y apoyado durante gran partede estos siete anos. A mis amigos de carrera: Sebastian, Oscar, Esperguel, Marco, Pereira,Fabiola, Francisco y tantos otros, por los felices momentos compartidos durante mi estadıaen la Universidad. A mis amigos de primer ano: Omar, Paulina, Tania, Kim y el restode los “VIP”, que hicieron que el reto de estudiar Ingenierıa fuese un privilegio con sucompanıa. Por ultimo, mis companeros de laboratorio: Andres, Simon, Eduardo y Alex(amigo y companero desde el primer ano), que soportaron todas mis locuras e hicierontremendamente grato hacer la tesis en la oficina.

Agradezco tambien la ayuda de Jaime Rojas. Su tiempo y dedicacion para aportar yensenar desde el punto de vista practico fue muy util en este trabajo.

No quiero olvidar a personas importantes que han estado desde antes de entrar a laUniversidad. Gracias por todos estos anos de amistad a Camila y May-Ling, que mantu-vieron su carino pese a mi “lejanıa”, debido al poco tiempo libre disponible que implicaestudiar aca. Tambien me gustarıa agradecer a mi profesor de Fısica de la Ensenanza Me-dia, Luis Pavez, por ser uno de los principales agentes motivadores para que yo entrara ala FCFM.

Finalmente, quisiera agradecer el apoyo economico de CONICYT para la realizacionde esta tesis, materializado en la beca con Folio 22100263.

A todos, muchas gracias.

i

Page 4: cf-perez_pa

Indice General

1. Introduccion 1

1.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 trafico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Codificacion 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

Page 5: cf-perez_pa

INDICE GENERAL

3.2.3. Tecnicas de probabilidad de error variable . . . . . . . . . . . . . . . 14

3.2.4. Tecnicas de codificacion variable . . . . . . . . . . . . . . . . . . . . 14

3.2.5. Tecnicas hıbridas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

Page 6: cf-perez_pa

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. Caracterısticas de Sotware . . . . . . . . . . . . . . . . . . . . . . . . 59

7.3.2. Caracterısticas 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 numero 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

Page 7: cf-perez_pa

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 Fısicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Modificados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

v

Page 8: cf-perez_pa

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 grafica 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. Grafica de la funcion signo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.2. Grafica 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. Numero de usuarios satisfechos para W=5000[KHz]. . . . . . . . . . . . . . 63

7.3. Throughput agregado para W=5000[kHz]. . . . . . . . . . . . . . . . . . . . 64

7.4. Numero de usuarios satisfechos para W=4000[KHz]. . . . . . . . . . . . . . 64

7.5. Throughput agregado para W=4000[kHz]. . . . . . . . . . . . . . . . . . . . 65

7.6. Numero de usuarios satisfechos para W=3000[KHz]. . . . . . . . . . . . . . 65

7.7. Throughput agregado para W=3000[kHz]. . . . . . . . . . . . . . . . . . . . 66

7.8. Numero de usuarios satisfechos para W=2000[KHz]. . . . . . . . . . . . . . 66

vi

Page 9: cf-perez_pa

INDICE DE FIGURAS

7.9. Throughput agregado para W=2000[kHz]. . . . . . . . . . . . . . . . . . . . 67

7.10. Numero de usuarios satisfechos para W=1000[KHz]. . . . . . . . . . . . . . 67

7.11. Throughput agregado para W=1000[kHz]. . . . . . . . . . . . . . . . . . . . 68

7.12. Numero de usuarios satisfechos para W=500[KHz]. . . . . . . . . . . . . . . 68

7.13. Throughput agregado para W=500[kHz]. . . . . . . . . . . . . . . . . . . . . 69

7.14. Numero de usuarios satisfechos para M=35. . . . . . . . . . . . . . . . . . . 70

7.15. Throughput agregado para M=35. . . . . . . . . . . . . . . . . . . . . . . . 70

7.16. Numero de usuarios satisfechos para M=25. . . . . . . . . . . . . . . . . . . 71

7.17. Throughput agregado para M=25. . . . . . . . . . . . . . . . . . . . . . . . 71

7.18. Numero de usuarios satisfechos para M=20. . . . . . . . . . . . . . . . . . . 72

7.19. Throughput agregado para M=20. . . . . . . . . . . . . . . . . . . . . . . . 72

7.20. Numero de usuarios satisfechos para M=15. . . . . . . . . . . . . . . . . . . 73

7.21. Throughput agregado para M=15. . . . . . . . . . . . . . . . . . . . . . . . 73

7.22. Numero de usuarios satisfechos para M=10. . . . . . . . . . . . . . . . . . . 74

7.23. Throughput agregado para M=10. . . . . . . . . . . . . . . . . . . . . . . . 74

7.24. Numero de usuarios satisfechos para M=5. . . . . . . . . . . . . . . . . . . . 75

7.25. Throughput agregado para M=5. . . . . . . . . . . . . . . . . . . . . . . . . 75

7.26. Numero de usuarios satisfechos para C=1. . . . . . . . . . . . . . . . . . . . 76

7.27. Throughput agregado para C=1. . . . . . . . . . . . . . . . . . . . . . . . . 76

7.28. Numero de usuarios satisfechos para C=2. . . . . . . . . . . . . . . . . . . . 77

7.29. Throughput agregado para C=2. . . . . . . . . . . . . . . . . . . . . . . . . 77

7.30. Numero de usuarios satisfechos para C=3. . . . . . . . . . . . . . . . . . . . 78

7.31. Throughput agregado para C=3. . . . . . . . . . . . . . . . . . . . . . . . . 78

7.32. Numero de usuarios satisfechos para C=4. . . . . . . . . . . . . . . . . . . . 79

7.33. Throughput agregado para C=4. . . . . . . . . . . . . . . . . . . . . . . . . 79

vii

Page 10: cf-perez_pa

INDICE DE FIGURAS

7.34. Numero de usuarios satisfechos para C=5. . . . . . . . . . . . . . . . . . . . 80

7.35. Throughput agregado para C=5. . . . . . . . . . . . . . . . . . . . . . . . . 80

8.1. Tendencia del numero de iteraciones respecto del tamano del problema. . . 82

8.2. Porcentaje de rendimiento respecto a la mejor otra opcion, modificando anchode banda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.3. Porcentaje de rendimiento respecto a la mejor otra opcion, modificandonumero de usuarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

8.4. Porcentaje de rendimiento respecto a la mejor otra opcion, modificando losrecursos 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 fısicos relevantes en HSDPA . . . . . . . . . . . . . 106

A.7. Ejemplo del funcionamiento de la adaptacion del enlace . . . . . . . . . . . 108

viii

Page 11: cf-perez_pa

Indice de Tablas

2.1. Desempeno esperado para servicios de Clase Conversacional. . . . . . . . . . 8

2.2. Desempeno esperado para servicios de Clase Streaming. . . . . . . . . . . . 9

2.3. Desempeno esperado para servicios de Clase Interactiva. . . . . . . . . . . . 9

4.1. Diferentes funciones de Utilidad segun el scheduler usado, caso HSDPA. . . 18

8.1. Valores promedio de numero de iteraciones para distintos tamanos del prob-lema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8.2. Comparacion porcentual respecto a la mejor opcion, modificando ancho debanda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.3. Comparacion porcentual respecto a la mejor opcion, modificando el numerode usuarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8.4. Comparacion porcentual respecto a la mejor opcion, modificando los recursosdisponibles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

A.1. Caracterısticas de las categorıas de los terminales. . . . . . . . . . . . . . . 109

ix

Page 12: cf-perez_pa

Lista de Acronimos

3G Tercera Generacion3GPP 3rd Generation Partnership ProyectAMC Modulacion y Codificacion 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 Multiple por Division de Codigo (Code Division Multiple Access)FER Tasa de Error por Trama (Frame Error Rate)f.d.p. Funcion Densidad de ProbabilidadFTP Protocolo de Transferencia de Archivos (File Transfer Protocol)GMSK Gaussian Minimum Shift KeyingGPS Sistema de Posicionamiento Global (Global Positioning System)GSM Global System for Mobile CommunicationsHSDPA High Speed Downlink Packet AccessITU Union Internacional de Telecomunicaciones (International Telecommunication Union)MS Estacion Movil (Mobile Station)NLOS Fuera de la Lınea de Vision (Non Line of Sight)OFDM Orthogonal Frequency-Division MultiplexingPPL Problema de Programacion LinealPSK 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 Senal e Interferencia a Ruido (Signal to Interference and Noise Ratio)SIR Razon Senal a Interferencia (Signal to Interference Ratio)SNR Razon Senal 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

Page 13: cf-perez_pa

Capıtulo 1

Introduccion

1.1. Motivacion

Uno de los principales problemas en sistemas donde existe una capacidad fija, y multi-ples usuarios accediendo a esta, es como compartir los recursos entre ellos. Los sistemas decomunicaciones, y en particular los moviles, no escapan a este problema, ya que presentanun 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 aesto se suma que las caracterısticas y demandas de estos usuarios son distintas, y variablesen el tiempo, el problema se hace mas complejo de resolver.

Algo que agrega dificultad al problema es una propiedad comun y conocida del canalinalambrico, que es la variacion de sus caracterısticas, tanto en el dominio del tiempo comoen el de frecuencia, debido a los fenomenos de desvanecimiento [1, 2]. En lugar de ver estefenomeno 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 planificar y/oasignar los recursos de la red (conocido como scheduling) y poder, de esta forma, modificar elcanal efectivo que percibe el agente encargado de realizar la labor de scheduling (scheduler).

Es por lo anterior que las nuevas tecnologıas moviles, como por ejemplo las basadas enel estandar de la ITU IMT-2000 (International Mobile Telephony 2000 ) [3], han adoptadoel metodo de realizar la planificacion de usuarios basados en la calidad del canal y ası poderlograr altas tasas de transferencia de datos [4–6]. El principio basico es dividir el canal enel tiempo a traves de slots de duracion fija. Luego, al comienzo de cada uno de estos, sedebe decidir cual o cuales usuarios haran uso de los recursos disponibles para transmitir sustramas de datos. Para tomar esta decision se debe tener en cuenta, ademas de la calidad delcanal de cada usuario en ese instante (que es estimada a partir de la informacion entregada

1

Page 14: cf-perez_pa

CAPITULO 1. INTRODUCCION

por el movil (MS) a la estacion base (BS)), las capacidades del MS. Adicionalmente, se debeconsiderar que los usuarios estan haciendo uso de la red para diferentes servicios, cada unocon diferentes requisitos de calidad de servicio (Quality of Service (QoS)), los cuales debenser considerados en la asignacion de modo que sean satisfechos.

La investigacion actual en el problema de scheduling en redes inalambricas ha seguidodos lıneas de desarrollo: una centrada en la caracterizacion de funciones de utilidad [7], yotra centrada en el rendimiento del sistema completo. En el primer enfoque, lo mas habituales maximizar throughput total de la celda [8,9], medido como una funcion no decreciente conel valor de la SINR (Signal to Interference and Noise Ratio o Razon Senal a Interferenciay Ruido) [7]. El criterio de rendimiento del sistema en una ventana de tiempo dada (siendoesta finita o infinita), plantea el problema como uno de Programacion Dinamica [10–12],y que maximiza una funcion de utilidad que representa el comportamiento deseado delsistema. Tambien es posible ver casos [13] donde se desarrolla un algoritmo para el casoparticular de asignacion de frecuencias, cuyo objetivo principal es maximizar el throughputdel sistema, sujeto a la restriccion de cumplir con restricciones de tasa mınima y equidadentre los usuarios.

Desde el punto de vista de los operadores, en este trabajo se supone que lo que sedesea es tener la mayor cantidad de usuarios “satisfechos”, entendiendose por este terminoaquellos que cumplen con los requerimientos mınimos de calidad de servicio. Esto permiteobtener la mayor cantidad de usuarios cumpliendo un requerimiento mınimo, y ası aumentarlos retornos de la empresa. En este trabajo se desarrolla un metodo de planificacion derecursos que maximiza el total de usuarios percibiendo “satisfaccion”, bajo la consigna queel operador “prefiere” aquellas soluciones donde es mejor tener dos usuarios “mınimamente”satisfechos, que uno de ellos con una calidad de servicio muy por encima del requerimientomınimo. Esta propuesta ademas se justifica por el hecho que cuando el sistema se encuentramuy congestionado, los algoritmos que existen en la literatura no son capaces de cumplircon las restricciones de calidad de servicio de todos los usuarios impuestas al problema, yaque no existen los recursos suficientes para ello, haciendo la solucion del problema infactible.El objetivo de este trabajo es que el algoritmo desarrollado logre obtener el mayor numerode clientes con requerimientos mınimos satisfechos, en este tipo de escenarios, en ventanasfijas de tiempo.

2

Page 15: cf-perez_pa

CAPITULO 1. INTRODUCCION

1.2. Objetivos

1.2.1. Objetivo general

El objetivo principal del presente trabajo de tesis es contribuir a las estrategias descheduling usadas en redes inalambricas, con el desarrollo de una que maximice el numerototal de usuarios “satisfechos” en el sistema, entendiendose este tipo de usuario como aquelque cumple con un requesito de tasa de datos promedio mınima dada. Se espera encontrary proponer un metodo de planificacion que resuelva el problema de optimizacion con loscriterios mencionados, y que sea el primer paso para poderlo implementar en la practicaen situaciones de congestion con alto numero de usuarios. Para validarlo se realizara unasimulacion de un caso real que se aproxime a algun tipo de tecnologıa movil existente en laactualidad.

1.2.2. Objetivos especıficos

Los objetivos especıficos planteados para este trabajo son:

Realizar una revision bibliografica de los algoritmos de scheduling en redes inalambri-cas.

Disenar la funcion de utilidad y las restricciones que representen de manera acertadalas 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 capıtulos que aportan infor-macion de modo que este pueda ser entendido de forma autocontenida. En los primeroscapıtulos se entrega la informacion necesaria para poder comprender los aspectos esencialesque motivan el problema. Luego, se presenta la metodologıa y posterior formalizacion del

3

Page 16: cf-perez_pa

CAPITULO 1. INTRODUCCION

problema. Finalmente los ultimos capıtulos presentan los principales resultados, analisis yconclusiones obtenidos.

En el Capıtulo 2, se presentan los aspectos generales de la Calidad de Servicio pararedes de Banda Ancha, lo que permite entender porque es necesario diferenciar lo recur-sos entregados a los usuarios segun sus requerimientos. En el Capıtulo 3 se exponen losprincipales antecedentes teoricos de las tecnicas de modulacion y codificacion adaptiva, queaporta informacion suficiente para visualizar la importancia del canal inalambrico en el de-sempeno final obtenido. En el Capıtulo 4 se realiza una revision bibliografica que conciernea los algoritmos de scheduling. Se muestran las principales maneras en que se ha abordadoel problema. Los antecedentes basicos teoricos de Optimizacion Convexa, metodo usadopara reolver el problema planteado, es presentado en el Capıtulo 5. El Capıtulo 6 expone lametodologıa, modelacion y formulacion del problema. La solucion al problema, las condi-ciones escogidas para la simulacion, y los principales resultados obtenidos, son mostradosen el Capıtulo 7. Finalmente, en los Capıtulos 8 y 9 se desarrollan y exponen los principalesanalisis y conclusiones, respectivamente.

4

Page 17: cf-perez_pa

Capıtulo 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 disenar y desplegar las redes. Lasatisfaccion 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 adistintos niveles o capas, la QoS desde el punto de vista del usuario adquiere una relevanciamayor al trabajar con servicios de comunicaciones moviles.

Actualmente la redes transportan diferentes tipos de traficos, cada uno con su propioconjunto 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 laperdida 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 refiere a esta practica.

2.1. Parametros de calidad

Se han establecido una serie de parametros indicadores de calidad como una forma deestablecer criterios de convergencia en este tema, y que permiten cuantificar la percepciondel servicio por parte del usuario. Dentro de estos, los mas importantes y usados son la tasade datos, delay, jitter y la perdida de informacion [15].

Tasa de Datos: Uno de los principales aspectos que determina la entrega de un servicio esla tasa de datos mınima requerida. En gran parte de los servicios multimedia existe un

5

Page 18: cf-perez_pa

CAPITULO 2. CALIDAD DE SERVICIO EN ACCESO INALAMBRICO DE B.A.

valor de tasa o throughput mınimo que se debe satisfacer para que se pueda entregar elservicio con una calidad mınima aceptable. Bajo este valor, al usuario le es indiferenteel acceso o no al mismo.

Delay: Describe el retraso con que llegan los paquetes al usuario. Tiene un alto impactoen la satisfaccion del usuario en las aplicaciones que lo consideran. Incluye el retrasoque pueda existir tanto en el terminal como en la red y en algun 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 demanera de remover este por medio del buffering, aunque este ultimo agregue un delayde valor fijo.

Perdida de informacion: Afecta directamente a la calidad de la informacion que final-mente llega al usuario, como la voz, imagen o video. No solo considera los erroresde bits o perdidas de paquetes, sino que tambien considera los efectos de degradacionintroducida, por ejemplo, por codificadores que buscan aumentar la eficiencia de trans-mision.

2.2. Clases de trafico

Es importante darse cuenta que la QoS para servicios entregados en interfaz aerea nopuede ser la misma que la para los servicios mediante interfaz fija. La redes inalambricasaumentan la posiblidad de error en la entrega de paquetes, por lo que los metodos para darQoS deben ser mas robustos.

Existe un “relativo” concenso entre los diferentes grupos de estandarizacion paraclasificar los tipos de traficos [16, 17]. Inicialmente existıa una forma simplista de clasifi-cacion, la cual agrupaba los servicios de acuerdo a si estos eran sensibles al tiempo o no(tambien llamado trafico elastico). Sin embargo, una propuesta de clasificacion que es masusada y aceptada en la actualidad, define cuatro clases de trafico: 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 clasesestan destinadas a transportar trafico de servicios en tiempo real (como video, telefonıa),las dos ultimas estan destinadas a aplicaciones con bajos requerimientos de delay (comoe-mail, FTP y WWW), y, por lo tanto, pueden usar esquemas de codificacion de canal paradisminuir la tasa de error.

6

Page 19: cf-perez_pa

CAPITULO 2. CALIDAD DE SERVICIO EN ACCESO INALAMBRICO DE B.A.

2.2.1. Servicios de Clase Conversacional

La conversacion telefonica es el ejemplo mas conocido de esta clase. Sin embargo, laexplosion de Internet y Multimedia han provocado la aparicion de nuevos servicios de estaclase, como por ejemplo Voz sobre IP y Video Conferencia. Esta es la unica clase dondelas caracterısticas requeridas son estrictamente entregadas por la percepcion del usuario.Las conversaciones en tiempo real estan caracterizadas por un tiempo de tranferencia quedebe ser bajo debido a la naturaleza del servicio, al igual que la necesidad de mantenerconstante este tiempo. El maximo tiempo de delay esta dado por la percepcion humana envideo y audio de conversacion. Es por este motivo que el valor del delay aceptable debe sermuy estricto, ya que el no proveer de un valor suficiente, resulta en una perdida de calidadsignificativa. Las caracterısticas fundamentales de esta clase son mantener la variacion deldelay 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 trafico siempretiene 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 lacreacion de nuevos requerimientos. Estos servicios necesitan mantener constante la variacionen 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 eltiempo en funcion de la aplicacion y el usuario final. La caracterıstica principal es mantenerla variacion del delay entre los entes que se estan comunicando.

2.2.3. Servicios de Clase Interactiva

Esta clase aplica cuando el usuario final, ya sea un ser humano o una maquina, deman-da datos en lınea, desde un equipo remoto. Ejemplos de interaccion humana con equiposremotos son: navegacion web, recuperacion de datos desde una base de datos o acceso aun 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 decomunicaciones esta caracterizado por la existencia de un patron de peticion de respuestadesde el lado del usuario final. Es por ello que siempre hay una entidad del lado del usuariofinal esperando una respuesta dentro de un cierto tiempo, por lo que el tiempo ida y vueltacobra 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

Page 20: cf-perez_pa

CAPITULO 2. CALIDAD DE SERVICIO EN ACCESO INALAMBRICO DE B.A.

Medio Aplicacion Grado deSimetrıa

TasadeDatos

Parametros de rendimiento clavey valores objetivos

Delay Endto End, unrecorrido

Variacionde delaydentro decelda

Perdida deinformacion

Audio Conversacion ida y vuelta 4-25[kbit/s]

<150 mspreferencia<400 mslımite

<1 ms <3 % FER

Video Videollamada ida y vuelta 32-384[kbit/s]

<150 mspreferencia<400 mslımite

<1 % FER

Datos JuegosInteractivos

ida y vuelta <250 ms NA Cero

Datos Telnet ida y vuelta(asimetrico)

<250 ms NA Cero

Tabla 2.1: Desempeno 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 trafico son aquellos en que el usuario final, tıpi-camente un computador, envıa 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. Estetipo de trafico, se dice, es mas o menos insensible al tiempo de entrega. Ademas, se quiereque la entrega de datos sea limpia (baja tasa de error). Ejemplos de este tipo de traficoson: entrega de emails, SMS, descarga desde una base de datos, recepcion de grabaciones dedatos medidas, y descarga de actualizacion de Software. Estos servicios estan caracterizadosentonces, por requerir baja tasa de error, pero sin esperar datos o respuestas en un tiempofijo determinado.

En las tablas 2.1, 2.2 y 2.3, se pueden ver el desempeno esperado para servicios de las3 primeras clases.

8

Page 21: cf-perez_pa

CAPITULO 2. CALIDAD DE SERVICIO EN ACCESO INALAMBRICO DE B.A.

Medio Aplicacion Grado deSimetrıa

TasadeDatos

Parametros de rendimiento clavey valores objetivos

Delay alcomenzar

VariacionDelay entransporte

Perdida depaquetes,nivel sesion

Audio Habla, mezclahabla conmusica, musicaalta calidad

one way 5-128[kbit/s]

<10 s <2 s <1 % Tasaperdida depaquetes

Video Pelıculas,vigilancia,videos tiemporeal

one way 20-384[kbit/s]

<10 s <2 s <2 % Tasaperdida depaquetes

Datos Grandestransferenciasde datos,recuperacion ysinc. de info.

one way <384[kbit/s]

<10 s NA Cero

Datos Imagenesquietas

one way <10 s NA Cero

Tabla 2.2: Desempeno esperado para servicios de Clase Streaming.

Medio Aplicacion GradodeSimetrıa

TasadeDatos

Parametros de rendimiento clave yvalores objetivos

Delay unsentido

VariacionDelay

Perdida deinformacion

Audio Mensajerıade voz

one way 4-13[kbit/s]

<1 s(reproduccion)<2 s(grabacion)

<1 ms <3 % FER

Datos NavegacionWeb-HTML

one way <4 s/pag. NA Cero

Datos Servicios detransaccionaltaprioridad,comercioelectronico

one way <4 s NA Cero

Datos E-mail(acceso alservidor)

one way <4 s NA Cero

Tabla 2.3: Desempeno esperado para servicios de Clase Interactiva.

9

Page 22: cf-perez_pa

Capıtulo 3

Modulacion y Codificacion

Adaptativa

La modulacion y codificacion adaptativa (AMC, del ingles: Adaptive Modulation andCoding) es una tecnica empleada en sistemas de comunicaciones inalambricas que permiteobtener transmisiones espectralmente eficientes en un canal con desvanecimiento plano.La idea principal es estimar la atenuacion introducida por el canal, y retroalimentar estainformacion al transmisor, de manera que este pueda adaptar su esquema de transmision(tipo de modulacion y codificacion) a las caracterısticas del canal. De esta forma, la AMCpermite obtener mejoras como un aumento en el throughput promedio, disminucion de lapotencia transmitida requerida, y una reduccion de la tasa de error por bit (BER). Elcontenido de esta seccion esta basado en el Capıtulo 9 de [2].

Las tecnicas de modulacion y codificacion que no se adaptan a las condiciones del canalrequieren de un margen de enlace fijo para mantener un desempeno aceptable en situacionescuando la calidad del canal es “pobre”. Es por ello que estos esquemas estan disenados parael “peor caso” de las condiciones de canal, dando como resultado una utilizacion ineficientede los recursos. Al contrario, AMC toma ventaja de las condiciones favorables del canalpara enviar un alto throughput o disminuir la potencia transmitida, ası como tambien parareducir la tasa de transmision o aumentar la potencia de la senal a transmitir cuando lascondiciones del canal se degradan.

Es necesario que se cumplan algunas condiciones para poder usar AMC. Una deellas es la limitante del hardware; los sistemas de transmision deben poseer las capacidadesfısicas necesarias para realizar los cambios de esquemas en la velocidad que el servicio lorequiere. Ademas, se debe poseer un enlace que permita realizar la retroalimentacion dela informacion, que en muchos sistema no se da. Como es un sistema que se adapta a las

10

Page 23: cf-perez_pa

CAPITULO 3. MODULACION Y CODIFICACION ADAPTATIVA

variaciones del canal, es necesario ademas, que estas ultimas se produzcan en un tiempofactible en el que el cambio de esquema tenga sentido, ya que si no es ası, dara comoresultado un desempeno deficiente. Lo anterior se traduce en que el tiempo de coherenciadel canal debe ser mayor al tiempo en que el canal es estimado y retroalimentado, paraque el esquema este adaptado efectivamente al canal por el que finalmente es transmitidala informacion.

3.1. Sistema de Transmision Adaptativa

El Sistema de Transmision Adaptativa puede ser representado por el modelo del canalcon desvanecimiento plano la figura 3.1. En este, se asume una modulacion lineal en dondecada adaptacion se realiza en un instante que es multiplo de la tasa de sımbolo Rs = 1/Ts,y ademas que usan pulsos ideales de Nyquist, sinc(t/Ts), tal que el ancho de banda de lasenal es B = 1/Ts. El canal se modela como uno de tiempo discreto, donde cada uso de estese realiza en un tiempo de sımbolo Ts. 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 potenciaNo/2. La SNR instantanea recibida se puede expresar como

γ[i] =Sg[i]

(NoB)(3.1)

con 0 ≤ γ[i] <∞, y su valor esperado como

γ =Sg

(NoB). (3.2)

En ambas relaciones, S denota la potencia promedio de la senal transmitida, y g la gananciapromedio del canal. La f.d.p de γ[i] se denota como p(γ).

En transmision adaptativa, se ajustan los parametros de modulacion y codificacionde acuerdo al valor de la SNR estimada en el instante i. Este valor se denota como

γ[i] =Sg[i]

(NoB)(3.3)

el cual se basa en el valor de la ganancia de canal estimada g[i]. Los parametros adaptablesmas comunes son la tasa de datos R(γ[i]) = R[i], la potencia de transmision S(γ[i]) = S[i]y los parametros de codificacion C(γ[i]) = C[i]. La potencia recibida puede expresarse

entonces, en el instante i, como γ[i]S(γ[i])S

.

En el modelo de la figura 3.1, se asume que la estimacion γ[i] de la ganancia delcanal γ[i] esta disponible en el receptor con un retraso ie. Luego, este mismo valor es

11

Page 24: cf-perez_pa

CAPITULO 3. MODULACION Y CODIFICACION ADAPTATIVA

constraints such as voice or video may be significantly compromised. Thus, in delay-constrained applications theadaptive modulation should be optimized to minimize outage probability for a fixed 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 modelof Chapter 4.2.1 used to determine the capacity of flat-fading channels. We assume linear modulation where theadaptation that takes place at a multiple of the symbol rate Rs = 1/Ts. We also assume the modulation usesideal Nyquist data pulses (sinc[t/Ts]), so the signal bandwidth B = 1/Ts. We model the flat-fading channel as adiscrete-time channel where each channel use corresponds to one symbol time Ts. The channel has stationary andergodic time-varying gain

√g[i] that follows a given distribution p(g) and AWGN n[i], with power spectral density

N0/2. Let S denote the average transmit signal power, B = 1/Ts denote the received signal bandwidth, and gdenote the average channel gain. The instantaneous received SNR is then γ[i] = Sg[i]/(N0B), 0 ≤ γ[i] <∞, andits expected value over all time is γ = Sg/(N0B). Since g[i] is stationary, the distribution of γ[i] is independentof 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 modulationand coding parameters accordingly. The most common parameters to adapt are the data rate R[i], transmit powerS[i], and coding parameters C[i]. For M -ary modulation the data rate R[i] = log2M [i]/Ts = B log2M [i] bps.The spectral efficiency of the M -ary modulation is R[i]/B = log2M [i] bps/Hz. We denote the SNR estimateas γ[i] = Sg[i]/(N0B), which is based on the power gain estimate g[i]. Suppose the transmit power is adaptedrelative to γ[i]. We denote this adaptive transmit power at time i by S(γ[i]) = S[i] and the received power attime 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 referencei 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 ie and that this same estimate is availableto the transmitter after a combined estimation and feedback path delay of id = ie + if . The availability of thischannel 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 truegain: this issue will be discussed in more detail in Section 9.3.7. We assume that the feedback path does notintroduce any errors, which is a reasonable assumption if strong error correction and detection codes are used onthe feedback path and packets associated with detected errors are retransmitted.

g[i]

TRANSMISOR CANAL RECEPTOR

r[i] Control dePotencia S[i]

x[i]

r[i]

y[i]

n[i]g[i]

CANAL DE RETROALIMENTACIčN

Delay

Delay:Error: ε

Estimador de Canal

Demodulación y Decodificación

g[i]

Modulacióny CodificaciónAdaptativa R[i],C[i]

fi

ie

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 totalid = ie + if . El transmisor dispone entonces de la informacion del canal para elegir laestrategia de adaptacion, considerando que γ[i] es la ganancia real del canal, o que esta esuna estimacion, con su respectivo error ε y retraso id.

Es importante destacar el hecho que la tasa de estimacion del canal debe ir acorde a lavelocidad con que varıa este. Cuando esta ganancia considera tanto los efectos de desvaneci-miento rapido como los de desvenicimiento lento, la transmision adaptativa puede ajustarsea ambos, siempre y cuando la ganancia varıe de forma suficientemente lenta. En particu-lar, si la ganancia corresponde a efectos de desvanecimiento sombra y desvanecimientos pormultitrayectoria, a bajas velocidades el primer termino es relativamente constante, mientrasque el segundo varıa lo suficientemente lento para que el transmisor pueda recibir el valorestimado con un error y retraso que no degrada el desempeno en forma significativa. Por elcontrario, a altas velocidades, no es posible estimar y retroalimentar de forma util la varia-ciones del desvanecimiento por trayectoria, siendo la trasmision adaptativa una respuestasolo a los efectos de shadowing. En este caso la probabilidad de error en la modulacion debeser promediada sobre la distribucion del desvanecimiento rapido.

3.2. Tecnicas Adaptativas

A continuacion, se describen la tecnicas adaptativas asociadas a la variacion de losparametros mas comunes, con respecto al valor de la SNR estimada.

12

Page 25: cf-perez_pa

CAPITULO 3. MODULACION Y CODIFICACION ADAPTATIVA

3.2.1. Tecnicas de tasa variable

En esta tecnica, se varıa la tasa de datos R[γ] en funcion del valor de γ. Se puedevariar la tasa de dos maneras: fijando el esquema de modulacion (e.g. BPSK) y variando latasa de sımbolo Rs = 1/Ts, o manteniendo la tasa de sımbolos fija y variando el esquemade modulacion empleado. El primero es inviable desde el punto de vista practico, ya quealtera el ancho de banda de la senal y complica la distribucion y reparto del ancho debanda. Por ello es que la segunda alternativa es la usada por los sistemas actuales, en dondese cambia ya sea el tamano de la costelacion o el tipo de modulacion, con el objetivo devariar el numero de bits por sımbolos a enviar. Por ejemplo en el sistema celular GSM, lamodulacion varıa entre 8PSK y GMSK [18]. Otro ejemplo se encuentra en la tecnologıa 3GHSDPA [5], donde se usan los esquemas QPSK, 16-QAM y 64-QAM como ultima variante,con el objetivo de aumentar aun mas la tasa de transmision.

Cuando se usa un conjunto discreto y finito de esquemas de modulacion, es necesariomapear cada valor de γ a uno de estos posibles esquemas, con el objetivo de mantener laprobabilidad 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 SNRdebido a los desvanecimientos. Se busca con esto mantener constante una cierta probabilidadde error por bit, o lo que es lo mismo, mantener constante el valor de la SNR recibida. Estatecnica utiliza la inversion del canal1 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 debecumplir la restriccion ∫

S(γ)S

p(γ)dγ =∫σ

γp(γ)dγ = 1. (3.5)

Resolviendo la ecuacion anterior se llega a σ = 1E(1/γ) , la cual queda determinada por

p(γ) por medio de S. En los casos donde el BER deseado es mayor 1E(1/γ) , no se puede

1La inversion del canal consiste en una tecnica de adaptacion 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 codificador

como del decodificador. La capacidad de este nuevo canal es entonces C = B log2

(1 + 1

E[1/γ]

).

13

Page 26: cf-perez_pa

CAPITULO 3. MODULACION Y CODIFICACION ADAPTATIVA

alcanzar el objetivo, por lo que no se puede usar inversion del canal (como en los casos dedesvanecimiento tipo Rayleigh, donde el valor E(1/γ) diverge).

Esta tecnica tambien se puede utilizar cuando se tiene una barrera γo de la SNRdeseada. En este caso se usa la inversion de canal truncada, de la forma

S(γ)S

=

σγ γ ≥ γo0 γ < γo

. (3.6)

Como el canal es usado solo en el primer caso, dado un valor de S, se define 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 instantaneasometida a una cierta probabilidad de error. Tıpicamente, la adaptacion de probabilidadde error se realiza de forma indirecta a traves de un ajuste de otro parametro, por ejemplomodificando el tamano de la constelacion o el tipo de modulacion, o modificando la SNRen el receptor, lo que influye directamente en esta probabilidad.

3.2.4. Tecnicas de codificacion variable

Esta tecnica consiste en usar diferentes tipos de codigos de canal (codigos para controlde error) con el objetivo de entregar diferentes ganancias de codificacion a los bits trans-mitidos. Generalmente, se usan codigos de correccion “agresivos” cuando γ es pequeno, ycuando esta es alta, codigos mas “debiles”. Codificacion adaptativa puede ser implementadamultiplexando varios codigos con diferentes capacidades de correccion.

Un tecnica comunmente empleada es usar codigos convolucionales perforados de tasavariable (RCPC). Estos codigos son conformados por una familia de codigos convolucionalesde diferentes tasas Rc = k/n2. La idea basica de estos codigos es tener un solo codificadory decodificador, con la virtud, cada uno de ellos, de modificar su capacidad de correccionde error con la accion de no transmitir ciertos bits codificados. Luego, para incrementar lacapacidad de correccion de error, los bits enviados con un codigo debil, son transmitidoscon bits codificados adicionales, de forma de alcanzar la capacidad de correccion de error

2En codificacion, la tasa de codigos Rc = k/n representa la razon entre el numero de bits de informacion

k, y el numero total n de bits enviados (que incluyen los bits de informacion y los de redundancia para

correccion).

14

Page 27: cf-perez_pa

CAPITULO 3. MODULACION Y CODIFICACION ADAPTATIVA

deseada. Con estos codigos se pueden alcanzar diferentes tasas (mas altas) a partir de tasas“madres” o raız, como por ejemplo 1/2, 1/3 o 1/4, por nombrar algunas.

3.2.5. Tecnicas hıbridas

Es posible tambien adaptar estos parametros ya mencionados, simultaneamente, alesquema de transmision. En este caso se usa optimizacion conjunta de las diferentes tecnicascon el objetivo de alcanzar el desempeno requerido. Es ası, por ejemplo, que para maximizarla eficiencia espectral, se usan de forma combinada tecnicas de adaptacion de tasa y deadaptacion de potencia. En la tecnologıa GSM se encuentra una aplicacion para tecnicashıbridas, donde en total se usan 9 esquemas de transmision diferentes: cuatro tasas decodigos diferentes para la modulacion GMSK, y cinco diferentes para modulacion 8PSK.

15

Page 28: cf-perez_pa

Capıtulo 4

Algoritmos de Scheduling

La posibilidad de modular y codificar la informacion, adaptandose a la condicionesdel canal, hacen que sea necesario administrar y planificar como, cuando y a quien otorgarlos recursos de una red donde multiples usuarios estan accediendo a ella. Los algoritmos descheduling son los encargados de ello.

Varios son los trabajos que se han publicado hasta ahora acerca de este tema. Algunosde ellos hacen analisis del desempeno de los principales algoritmos, otros se enfocan aencontrar funciones de utilidad a maximizar, mientras que el resto concentra su desarrollo enmetodologıas y modelos que permitan obtener los mejores resultados de usuarios accediendoa servicios con diferentes requerimientos individuales, bajo ciertas restricciones de QoS.Algunos de esos trabajos se resenan a continuacion con el objetivo de dejar en conocimientola base del tema que se desarrollara.

4.1. Algoritmos basicos de scheduling

En la literatura es posible encontrar tres algoritmos basicos, o algoritmos base, parala asignacion de recursos en scheduling. Estos han sido utilizados como punto de partida oreferencia para el desarrollo de estrategias mas elaboradas, y tambien como punto de com-paracion al medir desempeno [7], [10–12]. Incluso los mismos son aplicados en la practica poralgunos Operadores Moviles para ofrecer sus servicios de datos, por ejemplo, de tecnologıa3G.

16

Page 29: cf-perez_pa

CAPITULO 4. ALGORITMOS DE SCHEDULING

4.1.1. Round Robin

Este es el mas basico de todos los algoritmos. Con este metodo, el canal es compartidoigualitariamente entre todos los usuarios, es decir, se le asigna el mismo numero de TTI(transmission time interval o intervalo de tiempo de transmision) a cada uno de ellos, enforma alternada, y sin considerar la calidad de sus respectivos canales.

Es el mas comun 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 itiene una probabilidad

pi =1M

(4.1)

de ser asignado. Por lo mismo, es el sistema mas justo, aunque no considera las condicionesde 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 conmejores condiciones, es decir, al usuario con mejor SINR instantanea. En [18] se muestraque la eficiencia espectral aumenta en un factor de 2 o mas al servir a los usuarios con mejorenlace con altas tasas de datos.

La probabilidad que tiene un usuario i de un total de M , de ser asignado en un TTI,es

pi = P (SINRi > SINRj para j = 1...M y j 6= i) (4.2)

con SINRi la razon de senal a interferencia y ruido del usuario i.

Este esquema maximiza el throughput total de la celda, pero no garantiza QoS a losusuarios, debido a que los usuarios en los bordes de las celdas, generalmente experimentandouna 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 paraaplicar “justicia” al metodo anterior, que permite asignar el canal a los usuarios que hanquedado postergados [19]. Se entrega el derecho a transmitir al usuario que maximiza larazon (r/R), donde R representa la tasa de bits promedio del usuario en los anteriores

17

Page 30: cf-perez_pa

CAPITULO 4. ALGORITMOS DE SCHEDULING

Objetivos del Scheduler Funcion de Utilidad Ui

Round Robin 1

Maximo C/I ri

Justicia Proporcional log(ri)

Restriccion de tasa mınima ri + (1− exp(−β(ri − rmin)))

Restriccion de maximo delay − log(δi) log(ri)dHOL,i

dreq,i

Tabla 4.1: Diferentes funciones de Utilidad segun el scheduler usado, caso HSDPA.

TTI’s. De esta forma, la probabilidad de ser asignado, para un usuario i, es

pi = P(

SINRi

Si>

SINRj

Sjpara j = 1...M y j 6= i

)(4.3)

con Si 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 definirse como una medida desatisfaccion 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 gestionde 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 lasfunciones individuales de cada usuario, como metodo para encontrar el bienestar general.

La funcion de utilidad puede medir el throughput, un valor monetario u otro parametrode desempeno 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 dependedirectamente del valor de la SINR de cada usuario, y debido a las caracterısticas de esta,es modelada como un proceso estocastico. Usualmente esta funcion es no-decreciente con elvalor de la SINR [7].

A modo de ejemplo, en la tabla 4.1 se presentan algunas de las funciones de utilidadusadas en el caso particular de la tecnologıa HSDPA [20], [5]. Bajo este punto de vista, sepuede encontrar un algoritmo optimo para los casos basicos antes mencionados, y otros queconsideren algunas restricciones de QoS.

En la terminologıa de la tabla 4.1, ri se refiere a la tasa del usuario i, rmin a la

18

Page 31: cf-perez_pa

CAPITULO 4. ALGORITMOS DE SCHEDULING

restriccion de tasa mınima, β es una constante que determina la agresividad del algoritmo,dHOL,i el delay de los paquetes del usuario i, dreq,i el maximo delay tolerado, y δi la maximaprobabilidad de violacion del margen de delay.

4.3. Algoritmos basados en Programacion Dinamica

Una arista importante en problemas de scheduling en comunicaciones inalambricas, esla 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 enun instante dado.

En [11] los autores proponen un metodo para obtener una polıtica optima de asig-nacion basada en Programacion Dinamica. Para ello, definen una funcion de utilidad quetoma en cuenta tanto el throughput como el delay de la comunicacion, manteniendo uncompromiso razonable entre ellos.

Para modelar el sistema, se considero el efecto de multitrayectoria como un canal condesvanecimiento tipo Rayleigh, el cual es modelado como un Modelo de Markov de EstadoFinito. El anterior se obtiene particionando los valores de la SINR recibida en un numerofinito de intervalos [A0, A1) , [A1, A2) , . . . , [AK , AK+1) en donde 0 = A0 < A1 < A2 . . . <

AK =∞ . Luego, se dice que el canal esta en el estado k = 0, 1, 2, ...,K − 1, si la SINR seencuentra en el intervalo [Ak, Ak+1).

Se define el proceso estocasticoXit

como el estado del usuario i en el instante t, el

cual se asume independiente. Ademas, se define un “premio” al throughput y el costo pordelay como:

T i(k) : Throughput esperado en el time slot para el usuario i si el estado del canal es k.Ci(qi) : Costo de almacenamiento de paquetes del usuario i con largo de cola qi.

en dondeD(q) =

i

Ci(qi), q = (q1, q2, ..., qn) . (4.4)

Luego, se define la funcion de utilidad

U i(k,q) = T i(k)−Di(q− ei) ∀i, k, qi 6= 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 dela funcion de utilidad. El estado del sistema, en el tiempo t para N moviles, se puede

19

Page 32: cf-perez_pa

CAPITULO 4. ALGORITMOS DE SCHEDULING

representar con un vector de dimension 2N ,

Πt :=(X1t , X

2t , ..., X

Nt , q

1t , q

2t , ..., q

Nt

). (4.6)

La transicion de estados depende de la accion realizada en cada paso, dada las caracterısticasdel canal y el patron de llegadas de paquetes. Por consiguiente, el problema se puede modelarcomo un Proceso de Decision de Markov [21]. Luego, la polıtica a encontrar debe maximizarel promedio a lo largo del tiempo del beneficio de este proceso.

Se define una polıtica f = (f1, f2, f3, ...) como la secuencia de acciones a tomar ent = 1, 2, 3, ... . Luego, el problema queda establecido formalmente como

f∗ = arg maxf

limT→∞

1T· E[

T∑

t=1

Uft(XfTt , qt)

]. (4.7)

Para resolverlo mediante Programacion Dinamica, se plantea la ecuacion de Bellman [22]:

J∗ + H(s) = maxi=0,1,...,N

U i(s) +

v∈Ω

P isvH(v)

con s ∈ Ω, (4.8)

donde Ω es el espacio estado del proceso de Markov Πt y P isv es la probabilidad de pasardel estado s al v cuando la accion i es tomada.

La matriz de probabilidad de estados se puede obtener como

P i = PX1 ⊗ PX2 ...⊗ PXN ⊗ P iQ1 ...⊗ P iQN

con PXj matriz de probabilidad de transicion del estado del movil j (independiente de laaccion), y P iQj es la Matriz de Transicion de Estado de la cola del movil j cuando la accioni es tomada. Se asume que en un time slot, m paquetes llegan con probabilidad pm, luego

P iQj =

P0 P1 P2 P3 · · · · · ·P0 P1 P2 · · · · · ·

P0 P1 P2 · · ·. . . · · · · · ·

para i = 0, 1, ..., N, j 6= i

y

P iQj =

P0 P1 P2 P3 · · · · · ·P0 P1 P2 P3 · · · · · ·

P0 P1 P2 P3 · · ·. . . · · · · · · · · ·

para i = 0, 1, ..., N, j = i

20

Page 33: cf-perez_pa

CAPITULO 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 ique maximiza el lado derecho de la ecuacion de Bellman. La eleccion de la funcion de costosCi(qi) debe cumplir con que sea no decreciente y convexa en el argumento qi.

Cuando el numero 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 iteracionessobre 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 futurautilidad promedio, bajo el supuesto que se siga una polıtica optima. Esta tecnica se conocecomo sparse sampling [24].

En [10] se formula el problema de scheduling como un Problema de Decision de Markovcon premio descontado, con restricciones temporales de justicia. Para ello, se deriva unaecuacion de Programacion Dinamica de la cual se obtiene la polıtica de scheduling optima.El modelo que se presenta es para el canal de subida, pero igualmente se puede hacer paraun canal de bajada.

El sistema es modelado como K usuarios intentando transmitir datos a una estacionbase. Si t es el ındice de los time slot, y k el de los usuarios, se definen: Xk(t), Sk(t) y Ak(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 numero maximo de paquetesque cada usuario i puede transmitir en un time slot t.

Si πt es el usuario asignado al slot t, donde una polıtica de scheduling π es usada, laevolucion del largo de la cola esta dada por

Xk(t+ 1) = Xk(t) +Ak(t)−mın (Xk(t), Sk(t)) · 1πt=k. (4.9)

Para modelar el canal se uso un modelo de Canal de Markov de Estado Finito [25]. Separticiono 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 obtieneun beneficio r(s, a) y el proceso se mueve al estado s′ ∈ S con probabilidad P(s′/s, a). Sedefine el estado s ∈ R2K como s = (x1, x2, ..., xK , s1, s2, ..., sK) para cualquier time slot. Laaccion a seguir para cada tiempo, es elegir uno de los K usuarios para la transmision cuyoespacio es A = 1, 2, ...,K.

Como se consideran criterios de maximizacion de throughput y minimizacion de dalay,

21

Page 34: cf-perez_pa

CAPITULO 4. ALGORITMOS DE SCHEDULING

se utilizan dos tipos de “premios”. Para el throughput, se considera maximizar la sumadescontada de throughputs individuales (los del futuro son menos importantes que los deahora). El premio se escribe como:

r(Xt, πt) =K∑

k=1

1πt=kmin(Xk(t), Sk(t)). (4.10)

Para el problema de delay, el premio es

r(Xt, πt) = −K∑

k=1

Xk(t). (4.11)

Se define la funcion de premio objetivo como

Jπ(s) = Eπ

[ ∞∑

t=0

αt · r(Xt, πt)|X0 = s

]. (4.12)

El objetivo es encontrar la polıtica π que maximice la funcion objetivo sujeto a la restricciontemporal de justicia, esto es:

maximizarπ∈Π

Jπ(s) s ∈ S

sujeto a limT→∞

11/(1−α)Eπ

[∑Tt=0 α

t · 1πt=a|X0 = s]≥ C(a) ∀a ∈ A,

(4.13)

en donde C(a) denota la mınima fraccion de tiempo, descontada, en la cual el usuariodado por a es elegido con 0 ≤ C(a) ≤ 1 y

∑a∈AC(a) ≤ 1 . Se deriva una ecuacion de

Programacion Dinamica para resolver el problema anterior.

Dada una funcion u : A→ R, para cualquier π, se define:

Vπ = Eπ

[ ∞∑

t=o

αt[r(Xt, πt) + u(πt)]|X0 = s

]s ∈ S (4.14)

yVα(s) = sup

π∈ΠVπ(s) s ∈ S. (4.15)

Se demuestra que la polıtica optima que satisface el problema es

π∗(s) = arg maxa∈A

r(s, a) + u(a) + α ·∑

s′∈SP(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 espaciodel conjunto de estados crece de forma que se haga limitante encontrar el optimo exacto.

22

Page 35: cf-perez_pa

CAPITULO 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 lograndotres objetivos de rendimiento: Diferenciacion y Garantıa de QoS, alta utilizacion de Anchode 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 posibledado un BER promedio requerido. El proceso de Decision de Semi-Markov se puede llevara un problema de tiempo continuo y horizonte infinito de Programacion Dinamica de costopromedio.

El problema se divide en etapas indexadas por i donde w representa un evento dellegada o salida de paquetes.

El estado x considera el largo de la cola, el delay de los paquetes encolados y el estadodel canal.

La decision u ∈ U(x,w) es tomada cuando un evento w ocurre.

Se define el costo promedio del sistema, el cual es el objetivo a minimizar, como

v = limN→∞

1tN

N∑

i=0

g(xti, wi, uti) (4.17)

con

g(xti, wi, uti) =M∑

m=1

WmFm(rm)τm1uti=m, (4.18)

donde τm es el delay de la sesion m, rm es la tasa promedio recibida de la sesion m, Wm esun factor de prioridad y Fm(rm) = rm

ˆrm−nm con rm 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) = Ew

minu∈U(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 diferencialpara cada estado. El estado x es un estado recurrente con costo diferencial 0.

Las limitaciones computacionales hacen que sea irreal aspirar a encontrar la solucionexacta 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

Page 36: cf-perez_pa

CAPITULO 4. ALGORITMOS DE SCHEDULING

donde se utiliza aprendizaje en lınea para regular el parametro θ para hacer h(·, θ) mascercano a h∗(·).

En [26] se plantea una estrategia de scheduling que diferencia por usuario segun sutolerancia al delay. El problema es formulado como uno de Programacion Dinamica, y con-sidera tanto las penalidades de delay especıficas de cada usuario, como el estado del canalvariante 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 (modeladocomo canal de Markov como desvanecimiento tipo Rayleigh). La estrategia encontrada, queconsidera planificacion para ventanas de tiempo de largo T , presenta resultados numericosque 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 dificultael poder clasificarlos. A continuacion, se resenan algunos trabajos que pese a sus enfoquesdisımiles, contribuyen a los antecedentes necesarios para desarrollar esta tesis.

En [27] se plantea que los algoritmos de la actualidad presentan el problema llamadoexposure problem1. Para lidiar con ello, se propone una estrategia de scheduling compuestapor dos etapas. En la primera, se busca maximizar el numero de usuarios capaces de alcanzaruna cantidad de trafico de datos mınimo (igual para todos) dentro de una ventana de tiempodeterminada. La segunda etapa consiste en aplicar el segundo criterio de asignacion, por loque se distribuyen los slots de tiempo restantes de forma que se maximice el throughput totalde la celda sobre los usuarios que fueron asignados. La estrategia presenta mejoras en elrendimiento bajo el criterio considerado, pero presenta como deficit el hecho que los usuariosque no alcanzan el requisito mınimo quedan absolutamente excluıdos al no asignarles slotalguno.

El algoritmo propuesto en [28] presenta una caracterıstica distinta a las presentadashasta ahora. En este trabajo, los autores plantean la posibilidad de asignar a mas de unusuario por time slot. Para ello, resuelven el problema de maximizacion de throughput con-siderando restricciones de justicia sobre los requerimientos de tasa de datos individualesde los usuarios. El resultado optimo es entonces el subconjunto de usuarios que satisfaceestos criterios en cada time slot. La propuesta, por lo tanto, considera como horizonte deplanificacion solo el instante de tiempo siguiente. Sin embargo, es capaz de rastrear el canal

1Este problema se presenta en situaciones de scheduling vistas desde el punto de vistas de subastas. En

ellas, un demandante que presenta este fenomeno puede ofertar y terminar ganando un conjunto de slots de

tiempo que no desea al precio que inicialmente ofrecio.

24

Page 37: cf-perez_pa

CAPITULO 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 disenada para redes inalambricasbasadas en sistemas OFDM (al igual que en [13]).En ella se plantea la alternativa de plani-ficar los recursos en base a la maximizacion de una funcion de utilidad que puede representarcriterios de throughput, delay, o compromiso de ambos, explotando las caracterısticas delcanal. En esta propuesta los usuarios son asigados a utilizar clusters de subportadoras encada time slot. El algoritmo muestra tener un buen comportamiento bajo situaciones detrafico heterogeneo con diversos requerimientos de QoS.

25

Page 38: cf-perez_pa

Capıtulo 5

Optimizacion Convexa

Ası como en la gran mayorıa de los problemas de ingenierıa, 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 eintuitivo del tema, ası como tambien de las herramientas que se disponen para abordarlo,como son los algoritmos de resolucion.

Los problemas de optimizacion determinısticos pueden ser clasificados en dos tipos:Problemas de Optimizacion Convexa y Problemas de Optimizacion No-Convexa. Los ulti-mos son mas difıciles de resolver ya que no es posible obtener evidencia de que se haencontrado el valor optimo global del problema; existen heurısticas 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 efectivamentese llego al optimo global del problema. Dentro de los problemas de optimizacion convexase incluyen los ampliamente estudiados Problemas de Programacion Lineal, Problemas deError Cuadratico Medio, y Problemas de Programacion Cuadratica [30].

En este capıtulo se abordara en primer lugar la generalidad de los problemas deoptimizacion, luego se daran las principales nociones de convexidad tanto en conjuntoscomo en funciones, para luego definar los problemas convexos. Finalmente, se abordara deforma breve los principales algoritmos de resolucion de estos. Este capıtulo se encuentrabasado en [30].

26

Page 39: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

5.1. Optimizacion Matematica

Un problema de optimizacion matematica tiene la forma tıpica

minimizarx

f0(x)

sujeto a fi(x) ≤ bi, i = 1, ...,m.(5.1)

En el problema, el vector x = (x1, ..., xn) es la variable de optimizacion, la funcionf0 : Rn → R es la funcion objetivo, las funciones fi : Rn → R, i = 1, ...,m, son lasfunciones de restriccion de desigualdad del problema, y las constantes b1, ..., bm son loslımites de estas restricciones. El vector x∗ se dice optimo o solucion al problema si satisfacetodas las restricciones, y ademas cumple que f0(z) ≤ f0(x∗), para cualquier z que satisfacef1(z) ≤ b1, ..., fm(z) ≤ bm.

Dentro de las familias o clases de problemas de optimizacion, se suele distinguir entreProblemas Lineales, y los que no pertecen a ese tipo, llamados Problemas no Lineales. Eneste capıtulo se hablara de Optimizacion Convexa, la cual es mas general que la OptimizacionLineal, incluıda en la primera.

La formulacion de un problema de optimizacion como el expuesto, es una abstracciondel problema de hacer la mejor eleccion posible de un vector en Rn, dentro de un conjuntode posibles elecciones que cumplen con los requerimientos, y que corresponde a la eleccionde mınimo costo. La variable x∗ representa la eleccion hecha. Es por ello que existen muchasaplicaciones para este tipo de problemas, ya que modelan necesidades cotidianas. Dentrode los ejemplos tıpicos 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 tamano de fabricacion, endonde se busca el tamano 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 ladisponibilidad de los mismos recursos; y por ultimo el problema de transporte, que es unaparticularidad de un problema de flujos, en donde se busca minimizar los costos de trans-porte de cada uno de los flujos, de manera de satisfacer exactamente la demanda en losnodos de llegada, y la oferta en los nodos de salida. Estos son solo algunos ejemplos de lastantas aplicaciones existentes.

La mayorıa de estas aplicaciones son las que ayudan finalmente a muchas de lasdecisiones que toman los seres humanos. Debido al contexto practico en que se emplean,el tamano y dificultad del problema hace que sea necesario resolverlos con la ayuda decomputadores, muchas veces requeridos de gran capacidad de calculo. Es por ello que mu-

27

Page 40: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

chos problemas van siendo resueltos a medida que aumenta la capacidad de calculo delos computadores, que a su vez mejora con la disminucion del tamano de los transistoresembebidos1.

Un metodo de solucion para un tipo de problemas de optimizacion, es un algortimoque calcula la solucion a un problema mediante el analisis de sus caracterısticas, y que esimplementado vıa Software. La efectividad de estos metodos dependen de factores comoel numero de variables involucradas, la forma particular de la funcion objetivo y de lasrestricciones, y si el problema tiene una estructura particular como ejemplo esparcidad(sparsity2), descomposicion LVQ, etc..

Existen dos sub-clases de problemas de optimizacion que son ampliamente usados, yque son estudiados de forma individual por sı solos. Estos son los problemas de ProgramacionLineal y los problemas Mınimos Cuadrados. Por otro lado, a menudo se utiliza el terminode Optimizacion No Lineal, para describir los problemas en que la funcion objetivo o lasrestricciones no son lineales, pero que tampoco se sabe son convexas. No existen metodosefectivos para resolver estos ultimos, existiendo siempre algun tipo de compromiso en lasheurısticas empleadas para tratarlos.

5.2. Conjuntos y Funciones Convexas

5.2.1. Conjuntos Convexos

Conjuntos Afines y Convexos

Sean x1 6= x2 dos puntos ∈ Rn. Los puntos de la forma

y = θx1 + (1− θ)x2 (5.2)

con θ ∈ R, forman una recta. Si, en particular, se tiene que 0 ≤ θ ≤ 1, los puntos nombradosforman un segmento de recta, que une los puntos x1 y x2.

Un conjunto C ⊆ Rn es afın si la recta que pasa a traves de dos puntos cualesquieraen C, permanece en C. Es decir, si para cualquier x1, x2 ∈ C y θ ∈ R, se tiene queθx1 + (1− θ)x2 ∈ C.

1La Ley de More es una ley empırica que expresa que aproximadamente cada 18 meses se duplica el

numero de transistores en un circuito integrado.2Un problema se dice sparse, si cada funcion de restriccion depende solo de un pequeno numero de

variables.

28

Page 41: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

Figura 5.1: Ejemplos de conjuntos. A la izquierda un conjunto convexo; a la derecha, uno noconvexo.

La idea anterior puede ser generalizada para mas de dos puntos. Un conjunto C es afın,si para cualquier conjunto de puntos x1, ..., xk ∈ C, se tiene que el punto θ1x1+...+θkxk ∈ Ccon

∑ki=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 cualesquieraen C, sigue estando en C; es decir, si para cualquier x1, x2 ∈ C, con 0 ≤ θ ≤ 1, se tiene

θx1 + (1− θ)x2 ∈ C.

Todo conjunto afın, es a su vez convexo.

Se le llama superficie convexa (o convex hull) de un conjunto C, denotada por convC, al conjunto de todas las combinaciones convexas de puntos en C, es decir

conv C = θ1x1 + · · ·+ θkxk | xi ∈ C, θi ≥ 0, i = 1, ..., k, θ1 + · · ·+ θk = 1

Ejemplos Importantes

Existen conjuntos convexos tıpicos que son ampliamente usados en los ejemplos na-turales de optimizacion convexa, y que a continuacion se mencionan.

Los casos basicos como en conjunto vacıo, un singleton, y el espacio completo de Rn,son conjuntos afines, y por lo tanto, convexos. Una recta es afın y convexa, pero un segmentode recta es convexa, mas no afın.

Un hiperplano es un conjunto de la forma

x ∈ Rn | aTx = b,

29

Page 42: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

donde a 6= 0 ∈ Rn y b ∈ R. Se puede interpretar como un hiperplano simple con vectornormal a, desplazado en b del origen. Lo anterior se aprecia mas directo reescribiendo elconjunto de la forma

x ∈ Rn | aT (x− x0) = 0.

Un hiperplano divide a Rn en dos conjuntos, denominados semi-espacios. Un semi-espacio es un conjunto cerrado y convexo, pero no afın, de la forma

x ∈ Rn | aTx ≤ b,

siendo x la solucion no trivial de la desigualdad.

Una bola euclidiana es un subconjunto de Rn que es convexo, y que puede escribirsecomo

B(xc, r) = x ∈ Rn | ‖x− xc‖2 ≤ r = x | (x− xc)T (x− xc) ≤ r2,

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 xc de la bola. Una bola se puede definir paracualquier norma, ‖·‖, sobre Rn. La generalidad recibe el nombre de bola normada.

Un conjunto convexo mas general que el anterior es el elipsoide, representado por

E = x ∈ Rn | (x− xc)TP−1(x− xc) ≤ 1,

donde la matriz P es simetrica y definida positiva. Esta matriz representa la magnituden que se extiende este elipsoide de su centro xc, cuyos semi-ejes estan dados por la raızcuadrada de los valores propios de P . Una bola es un elipsoide, con P = r2I.

Un cono normado asociado a la norma ‖·‖ es un conjunto convexo definido como

(x, t) ∈ Rn × R | ‖x‖ ≤ t ⊆ Rn+1.

Por ultimo, un poliedro es un conjunto convexo que representa la solucion a un numerofinito de desigualdades e igualdades, escrito de la forma

P = x ∈ Rn | 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 lacaracterıstica, o que bien permiten construir nuevos conjuntos convexos a partir de los

30

Page 43: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

Definition

f : Rn → R is convex if dom f is a convex set and

f(θx + (1− θ)y) ≤ θf(x) + (1− θ)f(y)

for all x, y ∈ dom f , 0 ≤ θ ≤ 1

(x, f(x))

(y, f(y))

• f is concave if −f is convex

• f is strictly convex if dom f is convex and

f(θx + (1− θ)y) < θf(x) + (1− θ)f(y)

for x, y ∈ dom f , x = y, 0 < θ < 1

Convex functions 3–2

Figura 5.2: Grafo de una funcion convexa.

conjuntos “canonicos”. Estas operaciones son, ademas, una manera de demostrar convexidadde un conjunto, a partir de conjuntos bases.

La interseccion de conjuntos convexos, es convexa. Esto es, si Sα es convexo paracualquier α ∈ A, entonces

⋂α∈A Sα es convexo.

La imagen de un conjunto convexo bajo una funcion afın, es convexa. Esto es, dadoS ⊆ Rn convexo, y f : Rn → Rm una funcion afın3, 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 : Rn → R es convexa si el dominio de f es un conjunto convexo, y sipara 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 figura 5.2. Una funciones estrıctamente convexa, si la desigualdad anterior se mantiene de forma estricta paracualquier x 6= y.

Una funcion f se dice concava si −f es convexa, y estrıctamente concava si −f esestrıctamente convexa.

3f : Rn → Rm es afın, si es de la forma f(x) = Ax + b, con A ∈ Rm×n y b ∈ Rn.

31

Page 44: cf-perez_pa

CAPITULO 5. OPTIMIZACION 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 differentiable, then f(x)+∇f(x)T (y−x) ≤ f(y)for all x, y ∈ dom f .

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 examplethe problem of minimizing a function f (defined on all of Rn, say) on the set C is thesame as minimizing the function f + IC over all of Rn. 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 defining it to be −∞outside its domain.

3.1.3 First-order conditions

Suppose f is differentiable (i.e., its gradient ∇f exists at each point in dom f ,which is open). Then f is convex if and only if dom f is convex and

f(y) ≥ f(x) +∇f(x)T (y − x) (3.2)

holds for all x, y ∈ dom f . This inequality is illustrated in figure 3.2.The affine function of y given by f(x)+∇f(x)T (y−x) is, of course, the first-order

Taylor approximation of f near x. The inequality (3.2) states that for a convexfunction, the first-order Taylor approximation is in fact a global underestimator ofthe function. Conversely, if the first-order Taylor approximation of a function isalways 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., aglobal underestimator of it). This is perhaps the most important property of convexfunctions, and explains some of the remarkable properties of convex functions andconvex optimization problems. As one simple example, the inequality (3.2) showsthat if ∇f(x) = 0, then for all y ∈ dom f , f(y) ≥ f(x), i.e., x is a global minimizerof the function f .

Figura 5.3: Apreciacion grafica de la condicion de primer orden.

Las unicas funciones para las cuales se alcanza la igualdad son funciones afines, y sonconvexas y concavas a la vez. Por otro lado, cualquier funcion que sea convexa y concava ala vez es una funcion afın.

Una propiedad util, u otra forma de definicion, es que una funcion es convexa sı ysolo si para todo x ∈ domf y para todo v, se tiene que la funcion g(t) = f(x + tv) esconvexa, con dominio t | x + tv ∈ domf. Esto permite demostrar convexidad de unafuncion acotando esta a una lınea recta.

Condiciones de primer y segundo orden

Sea f una funcion de valores reales diferenciable (su gradiente ∇f existe en todopunto 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 sepuede apreciar graficamente en la figura 5.3.

Esta condicion dice que la aproximacion de Taylor de primer orden de f(y) en tornoa 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 unestimador inferior global de esta, entonces la funcion es convexa.

Esta propiedad es de gran importancia en los problemas de optimizacion convexa, yaque se aprecia que si ∇f(x) = 0, entonces, de la desigualdad de primer orden se obtieneque 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 ∇2f existepara cualquier punto del dom f), f es convexa sı y solo si dom f es convexo y ademas

∇2f(x) 0,

32

Page 45: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

para todo x, es decir, la matriz Hessiana es semidefinida positiva. A esta condicion sele conoce como Condicion de Segundo Orden, e interpreta que el grafo de la funcion tienecurvatura positiva en x. Similarmente, es facil ver que si ∇2f(x) 0 para todo x, la funcionf es concava.

Ejemplos importantes

Existen un amplio conjunto de conocidas funciones convexas que permiten adaptarproblemas a estas formas para ser resueltos de manera mas facil, o bien para, a traves deoperaciones propias, crear nuevas funciones convexas.

Dentro de las funciones convexas en R, se encuentran:

Funcion exponencial, eax es convexa en R.

Funcion Potencia, xa 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+.

Entropıa negativa, x log x es convexa en R+

Tambien existen casos emblematicos en Rn. El primer de ellos son las Formas Cuadraticas.Estas ultimas son las funciones del tipo f : Rn → R con dom f = Rn, tal que

f(x) =12xTPx+ qTx+ r, (5.5)

con P ∈ Sn4, q ∈ Rn y r ∈ R. Debido a las propiedas de funciones convexas, y debido a que∇2f(x) = P , se tiene que f(x) es convexa sı y solo si P 0.

Todas las normas en Rn son convexas.

La funcion max, f(x) = max x1, ..., xn es convexa en Rn.

La funcion Cuadratica sobre lineal, f(x, y) = x2/y es convexa en el dom f =

(x, y) ∈ R2 | y > 0

.

Logaritmo de suma de exponenciales, f(x) = log (ex1 + · · ·+ exn), tambien es convexaen Rn.

La media geometrica, dado por f(x) = (∏ni=1 xi)

1n es una funcion concava en Rn.

4Sn denota el conjunto de matrices simetricas de tamano n× n.

33

Page 46: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

En el dominio de las matrices, la funcion logaritmo del determinante, f(X) = log det(X),con X ∈ Sn++

5 es una funcion concava.

Operaciones que preservan convexidad

Al igual que con los conjuntos convexos, existen ciertas operaciones que preservan laconvexidad o concavidad de las funciones, y que permiten formar nuevas funciones con lasmismas. A continuacion se describen algunas de ellas.

Proposicion 1: Sean f1, ..., fm funciones convexas. La suma ponderada no negativa dadapor f = w1f1 + · · ·+ wmfm, con wi ≥ 0 para todo i, es tambien convexa.

Proposicion 2: La composicion con una funcion afın tambien preserva convexidad (oconcavidad). Sea f : Rn → R convexa, A ∈ Rn×m y b ∈ Rn. Entonces, g : Rm → Rdefinida 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 f1, ..., fm son convexas, entonces f(x) = max f1(x), ..., fm(x)es convexa. Ası mismo se tiene que, si para todo y ∈ A, f(x, y) es convexa en x, entonces lafuncion g(x) = sup

y∈Af(x, y) es convexa en x.

En cuanto a la composicion de funciones, se pueden extender las propiedades deconvexidad bajo ciertos criterios. Considerando el caso mas general, con h : Rk → R,g : Rn → Rk, y f = h g : Rn → R, con dom f = x ∈ dom g | g(x) ∈ dom h, setiene:

f es convexo si h es convexo, h es no decreciente en cada argumento, y los gi son convexos.f es convexo si h es convexo, h es no creciente en cada argumento, y los gi son concavos.f es concavo si h es concavo, h es no decreciente en cada argumento, y los gi son concavos.f es concavo si h es concavo, h es no creciente en cada argumento, y los gi son convexos.

Lo anterior se cumple bajo el supuesto que h, g y f son dos veces diferenciables.5Sn++ denota el conjunto de matrices simetricas definidas positivas de tamano n× n.

34

Page 47: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

5.3. Problemas de Optimizacion Convexa

5.3.1. Fomulacion de la forma estandar

Un problema de optimizacion convexa es de la siguiente forma:

minimizar f0(x)sujeto a fi(x) ≤ 0, i = 1, ...,m

aTi x = bi, i = 1, ..., p,

(5.6)

donde se tiene un problema con m restricciones de desigualdad, y p de igualdad, y f0, ..., fm

son funciones convexas. Es importante resaltar que un problema de este tipo impone quetanto la funcion objetivo, como las funciones de restriccion de desigualdad deben ser con-vexas, y las restricciones de igualdad deben ser afines. Ademas, con esta formulacion setiene que el conjunto factible del problema es convexo. En efecto, la region factible es lainterseccion de m subconjuntos convexos de la forma x | fi(x) ≤ 0, y p hiperplanos dela forma x | aTi x = bi. Por propiedades de conjuntos convexos, el conjunto resultante esconvexo.

Un problema de maximizacion puede ser un problema de optimizacion convexa, sitiene la siguiente forma:

maximizar f0(x)sujeto a fi(x) ≤ 0, i = 1, ...,m

aTi x = bi, i = 1, ..., p,

(5.7)

donde f0 es una funcion concava. Las funciones f1, ..., fm se mantienen convexas. Todasdefiniciones, resultados y algoritmos de minimizacion convexa, pueden aplicarse facilmentea problemas de maximizacion, resolviendo el problema de minimizar la funcion −f0, la cuales 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 optimalidadgeneral para problemas convexos.

Si f0 es diferenciable en un problema convexo, se tiene que, para todo x, y ∈ domf0,

f0(y) ≥ f0(x) +∇f0(x)T (y − x) (5.8)

35

Page 48: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

(condicion de acotamiento inferior de aproximacion de primer orden de Taylor). Si X denotael conjunto factible del problema, se tiene que x es optimo sı y solo si x ∈ X y

∇f0(x)T (y − x) ≥ 0 (5.9)

para todo y ∈ X.

Para los problemas sin restricciones (es decir, con m = p = 0), la condicion deoptimalidad se reduce a la condicion necesaria y suficiente

∇f0(x) = 0. (5.10)

Para el caso de un problema que solo tiene restricciones de igualdad, es decir,

minimizar f0(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, conv ∈ N (A) (siendo N (A) el espacio nulo de la matriz A). Luego la condicion de optimalidaden este caso se puede expresar como

∇f0(x)T v ≥ 0 (5.12)

para todo v ∈ N (A). Pero como se tiene que si una funcion lineal es no negativa en unsubespacio, entonces debe ser igual a cero en el subespacio, entonces la condicion de opti-malidad es ∇f0(x)T v = 0, es decir, el gradiente de la funcion en el optimo es perpendicularal subespacio nulo de la matriz A, ∇f0(x)⊥N (A). Por propiedades de algebra lineal se tieneque N (A)⊥ = R(AT ) (donde R(·) representa el espacio imagen o rango de la matriz de unatransformacion lineal). Luego, la condicion de optimalidad puede ser expresada como: existeun v ∈ Rp tal que

∇f0(x) +AT 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 encontraruna solucion particular a la restriccion, x0, tal que Ax0 = b, y una matriz F cuyo rango es

36

Page 49: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

el espacio nulo de A, y luego resolver

minimizar f0(Fz + x0)sujeto a fi(Fz + x0) ≤ 0, i = 1, ...,m,

(5.14)

en donde la nueva variable objetivo es z. La propiedad de composicion por funcion afın,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 deholgura al problema, en donde cada restriccion queda ahora de la forma fi(x) + si = 0, consi ≥ 0 la variable holgura. Para que el problema siga siendo convexo, las restricciones deigualdad deben ser afines, por lo que en este caso las funciones fi deben ser afines.

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 metodospropios 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 afines, elproblema recibe el nombre de Problema de Programacion Lineal, y es de la forma

minimizar cTx+ d

sujeto a Gx hAx = b,

(5.15)

donde G ∈ Rmxn y A ∈ Rpxn (“” denota la desigualdad componente a componente).

Se puede interpretar geometricamente este problema como se muestra en la figura 5.4,en donde las curvas de nivel son hiperplanos ortogonales a c. Luego, el punto optimo es elpunto mas alejado de la region factible P, 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 decirx 0. Un PPL de desigualdad es llamado al problema que solo presenta restricciones dedesigualdad. Se escribe generalmente como:

minimizar cTx

sujeto a Ax b.(5.16)

37

Page 50: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

4.3 Linear optimization problems 147

P x

−c

Figure 4.4 Geometric interpretation of an LP. The feasible set P, whichis a polyhedron, is shaded. The objective cT x is linear, so its level curvesare hyperplanes orthogonal to c (shown as dashed lines). The point x isoptimal; it is the point in P as far as possible in the direction −c.

twise nonnegativity constraints x 0:

minimize cT xsubject to Ax = b

x 0.(4.28)

If the LP has no equality constraints, it is called an inequality form LP, usuallywritten as

minimize cT xsubject 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 first stepis to introduce slack variables si for the inequalities, which results in

minimize cT x + dsubject to Gx + s = h

Ax = bs 0.

The second step is to express the variable x as the difference of two nonnegativevariables x+ and x−, i.e., x = x+ − x−, x+, x− 0. This yields the problem

minimize cT x+ − cT x− + dsubject to Gx+ −Gx− + s = h

Ax+ −Ax− = bx+ 0, x− 0, s 0,

Figura 5.4: Interpretacion geometrica de un Problema de Programacion Lineal.4.4 Quadratic optimization problems 153

P

x

−∇f0(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, whichis convex quadratic, are shown as dashed curves. The point x is optimal.

where Pi ∈ Sn+, i = 0, 1 . . . ,m, the problem is called a quadratically constrained

quadratic program (QCQP). In a QCQP, we minimize a convex quadratic functionover a feasible region that is the intersection of ellipsoids (when Pi 0).

Quadratic programs include linear programs as a special case, by taking P = 0in (4.34). Quadratically constrained quadratic programs include quadratic pro-grams (and therefore also linear programs) as a special case, by taking Pi = 0in (4.35), for i = 1, . . . , m.

4.4.1 Examples

Least-squares and regression

The problem of minimizing the convex quadratic function

‖Ax− b‖22 = xT AT Ax− 2bT Ax + bT b

is an (unconstrained) QP. It arises in many fields and has many names, e.g., re-gression analysis or least-squares approximation. This problem is simple enough tohave the well known analytical solution x = A†b, where A† is the pseudo-inverseof A (see §A.5.4).

When linear inequality constraints are added, the problem is called constrainedregression or constrained least-squares, and there is no longer a simple analyticalsolution. As an example we can consider regression with lower and upper boundson the variables, i.e.,

minimize ‖Ax− b‖22subject to li ≤ xi ≤ ui, 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 afines. Se puede expresar de la forma

minimizar 12x

TPx+ qTx+ r

sujeto a Gx hAx = b,

(5.17)

en donde P ∈ Sn+, G ∈ Rm×n y A ∈ Rp×n. Geometricamente como muestra la figura 5.5,el problema es encontrar el punto mas alejado del conjunto P, en la direccion −∇fo(x), endonde las curvas de nivel son funciones cuadraticas.

Si el problema tiene tanto la funcion objetivo como las funciones de restriccion de de-

38

Page 51: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

sigualdad, cuadraticas, se denomina Programacion cuadratica cuadraticamente restringido(QCQP por sus siglas en ingles).

Un ejemplo tıpico de este tipo de problemas es el problema de Mınimos cuadrados,donde la funcion objetivo es la norma al cuadrado de la diferencia entre dos vectores. Unaforma de expresarlo podrıa ser

minimizar ‖Ax− b‖22 = xTATAx− 2bTAx+ bT b

sujeto a li ≤ xi ≤ ui, i = 1, ..., n.(5.18)

Programacion Geometrica

Los problemas de programacion geometrica son problemas que no son convexos en suforma natural, pero que sin embargo mediante algunas transformaciones pueden ser llevadosa un problema de optimizacion convexa.

Antes que todo, es necesario definir dos tipos de funciones. La funcion f : Rn → Rcon dom f = Rn

++6, definida como

f(x) = cxa11 x

a22 · · ·xann , (5.19)

se denomina monomio, donde c > 0 y ai ∈ R. Con esto, se puede entonces definir la funcionposinomio, que es una suma de monomios, de la forma

f(x) =K∑

k=1

ckxa1k1 xa2k

2 · · ·xankn , (5.20)

con ck > 0. Los posinomios tienen algunas propiedades utiles, como ser cerrados bajo adi-cion, multiplicacion y escalamiento no negativo. Los monomios, por otra parte, son cerradosbajo multiplicacion y division. Ademas, un posinomio, ya sea multiplicado o dividido porun monomio, da como resultado un posinomio.

Un problema de programacion geometrica, entonces, es uno de la forma

minimizar fo(x)sujeto a fi(x) ≤ 1, i = 1, ...,m

hi(x) = 1, i = 1, ..., p,

(5.21)

donde las funciones f0, ..., fm son posinomios, y las funciones h1, ..., hp son monomios;ademas se tiene la condicion implıcita x 0. El dominio del problema es el conjuntoD = Rn

++.

6Vectores reales de tamano n estrıctamente positivos.

39

Page 52: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

Es facil ver que el problema anterior no es convexo, debido a que no cumple con losrequerimientos especificados al comienzo de este sub-capıtulo. Para llevarlo a un problema deeste tipo, es necesario hacer algunos cambios de variables y transformaciones. Sea yi = log xi,de modo que xi = eyi . Con esto, si f es un monomio, entonces

f(x) = f(ey1 , ..., eyn) = eaT y+b, (5.22)

donde b = log c, transformando el monomio original en una funcion exponencial compuestapor una funcion afın. Analogamente, un posinomio f queda de la forma

f(x) =K∑

k=1

eaTk y+bk , (5.23)

con ak = (a1k, ..., ank) y bk = log ck. Luego, en terminos de la nueva variable y, el problemainicial puede ser expresado de la forma

minimizarK0∑

k=1

eaT0ky+b0k

sujeto aKi∑

k=1

eaTiky+bik ≤ 1, i = 1, ...,m

egTi y+hi = 1, i = 1, ..., p,

(5.24)

donde aik ∈ Rn contiene los exponentes de las restricciones de desigualdad posinomiales, yai ∈ Rn contiene los exponentes de los monomios, restricciones de desigualdad originales.Ahora, tomando logaritmo al problema recien descrito, se obtiene

minimizar f0(y) = log(K0∑k=1

eaT0ky+b0k

)

sujeto a fi(y) = log(Ki∑k=1

eaTiky+bik

)≤ 0, i = 1, ...,m

hi(y) = gTi y + hi = 0, i = 1, ..., p,

(5.25)

el cual es un problema convexo al cumplir con los requisitos de convexidad para las funcionesfi, y la forma afın de las funciones hi. Este problema recibe el nombre de ProgramacionGeometrica en su forma Convexa.

5.3.3. Dualidad

Considere el siguiente problema de optimizacion en su forma estandar:

minimizar f0(x)sujeto a fi(x) ≤ 0, i = 1, ...,m

hi(x) = 0, i = 1, ..., p,

(5.26)

40

Page 53: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

con x ∈ Rn y dominio D =⋂mi=0 domfi ∩

⋂pi=1 domhi, que se asume no vacıo. 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 define el La-grangiano L : Rn × Rm × Rp → R asociado a (5.26), como

L(x, λ, ν) = f0(x) +m∑

i=1

λifi(x) +p∑

i=1

νihi(x), (5.27)

con dom L = D × Rm × Rp. Los valores λi son los multiplicadores de Lagrange asociadosa las restricciones fi(x) ≤ 0, y νi son los multiplicadores de Lagrange asociados a lasrestricciones de igualdad hi(x) = 0. Los vectores λ y ν son las llamadas variables duales ovectores multiplicadores de Lagrange asociados al problema (5.26).

Se define la funcion dual g : Rm × Rp → R como el valor mınimo del Lagrangianosobre la variable x,

g(λ, ν) = ınfx∈D

L(x, λ, ν). (5.28)

Si el Lagrangiano no esta acotado inferiormente, la funcion g toma el valor −∞. Ademas,como la funcion dual es el ınfimo para cada punto de una familia de funciones afines en elargumento (λ, ν), esta es concava, aun cuando el problema (5.26) es no convexo.

Una propiedad importante de la funcion dual es que constituye una cota mınima parael 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 parap∗. 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 llamadoproblema 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 esteproblema, denotado por (λ∗, ν∗), se denomina optimo dual. Debido a que se maximiza unafuncion concava bajo restricciones convexas, (5.30) es un problema convexo.

El valor optimo del problema dual, denotado por d∗, es por definicion la mejor cotainferior de p∗ que puede ser obtenida por medio de este problema. La propiedad

d∗ ≤ p∗ (5.31)

41

Page 54: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

se llama dualidad debil, y se mantiene aun si el problema primal es no convexo. Ası, se lellama gap optimo de dualidad a la diferencia p∗ − d∗. Si esta diferencia es nula, es decir,

d∗ = p∗, (5.32)

se habla de dualidad fuerte. Esta ultima caracterıstica en general no se mantiene, exceptopor los casos en que el problema primal es convexo, donde usualmente sı se mantiene.

5.4. Algoritmos de Resolucion

Existen varios algoritmos para resolver problemas convexos, los cuales difieren entresı en factores como rapidez de convergencia, calidad de convergencia, facilidad de imple-mentacion, entre otros. Estos algoritmos pueden ser clasificados segun el tipo particular deproblema convexo en que son aplicados.

5.4.1. Algortimos de Minimizacion No Restringida

Estos algoritmos estan disenados para resolver el problema sin restricciones

minimizar f(x) (5.33)

donde f : Rn → R es una funcion convexa y dos veces diferenciable. Se asume que el valoroptimo x∗ existe y es unico. Como f es convexa y diferenciable, una condicion necesaria ysuficiente para que x∗ sea optimo, es

∇f(x∗) = 0. (5.34)

En general, no existe una solucion analıtica para la condicion anterior. Por ello, losalgoritmos 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 Rn es llamado paso o direccion de busqueda; el escalar t(k), cont(k) > 0 (excepto cuando x(k) es optimo), es llamado tamano (o largo) del paso; y k = 0, 1, ...denota el numero de iteracion.

42

Page 55: cf-perez_pa

CAPITULO 5. OPTIMIZACION 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 busqueda) 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.

repetir1. Determinar una direccion de descenso ∆x.2. Busqueda de recta. Elegir un largo del paso, t > 0.3. Actualizar x := x+ t∆x.

hasta Criterio de detencion es satisfecho.

Encontrar el valor de t en cada iteracion, no es algo trivial de resolver. La idea esencontrar el t que minimice el valor de f a lo largo de la recta x + t∆x|t > 0. Engeneral no existe un metodo exacto para encontrar este valor, por lo que la mayorıa de lasbusquedas usadas apuntan a reducir el valor de f un valor “suficiente”. Un metodo simplede implementar, y bastante efectivo, es la busqueda llamada Backtracking Line Search, queencuentra 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+ t∆x) > f(x) + αt∇f(x)T ∆x

t := βt.

El valor de t se inicia en 1, y comienza a decrementar su valor hasta que es de una magnitudtal que la funcion evaluada en el proximo valor de x, es menor a actual valor de la funcionmenos un valor de decremento ∇f(x)T∆x (que es negativo ya que ∆x es una direccion dedescenso).

Metodo de Descenso del Gradiente

Este metodo, tambien llamado simplemente Metodo del Gradiente, elige la direccionde descenso como el negativo del gradiente ∆x = −∇f(x). El algoritmo es

43

Page 56: cf-perez_pa

CAPITULO 5. OPTIMIZACION 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+ t∆x.

hasta ‖∇f(x)‖2 ≤ η , con η > 0 y pequeno.

Metodo de Newton

Se define el paso de Newton, para x ∈ domf , como el vector

∆xnt = −∇2f(x)−1∇f(x)

donde ∇2f(x) es la matriz Hessiana de f en el punto x. Si ∇2f(x) es definida positiva,entonces

∇f(x)T∆xnt = −∇f(x)T∇2f(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 = ∆xnt, y por lo tanto x+ ∆xnt mantienela condicion. A medida que x se acerca al optimo x∗, la actualizacion x+ ∆xnt debiese seruna buena aproximacion para x∗.

Decremento de Newton es el nombre que recibe la cantidad definida como

λ(x) =√∇f(x)T∇2f(x)−1∇f(x).

Si se define f como la aproximacion de segundo orden de f en x, entonces este decrementopuede ser visto como la cantidad f(x)− ınfy f(y):

f(x)− ınfyf(y) = f(x) + f(x+ ∆xnt) =

12λ(x)2. (5.37)

Luego, λ2/2 es una estimacion de la cantidad f(x) − p∗ (cuan alejado se esta del valoroptimo de la funcion objetivo), y por lo tanto se puede utilizar como criterio de detencionen el metodo.

44

Page 57: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

Definidos 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.∆xnt := −∇2f(x)−1∇f(x) ; λ2 := ∇f(x)T∇2f(x)−1∇f(x).2. Salir si λ2/2 ≤ ε.3. Elegir el tamano del paso t mediante Backtracking line search4. Actualizar x := x+ t∆xnt.

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 : Rn → R convexa y dos veces diferenciable, y A ∈ Rp×n, con rango A = p < n. Acontinuacion 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 convertirel problema en uno no restringido y ası utilizar los metodos descritos en la seccion anterior.Para ello, se debe encontrar una matriz F ∈ Rn×(n−p) y un vector x ∈ Rn tal que parametriceel conjunto factible de la restriccion afın; esto es

x | Ax = b =Fz + x | z ∈ Rn−p .

El vector x puede ser elegido como una solucion particular de Ax = b, mientras que F ∈Rn×(n−p) 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∗ ∈ Rn−p, permite entocontrar la solucion alproblema original, haciendo x∗ = Fz∗ + x.

45

Page 58: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

Metodo de Newton con restricciones de igualdad

Existe una extension al Metodo de Newton que incluye restricciones de igualdad. Esel mismo que el metodo original, excepto por que el punto inicial x, que ademas debe serfactible, es decir, satisface Ax = b, y porque el paso ∆xnt es modificado para cumplir conlas restricciones.

El nuevo paso de Newton debe ser tal que asegure que el proximo valor de x semovera 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 funcıonobjetivo. Esto se traduce a que el nuevo paso de ∆xnt es el que resuelve

[∇2f(x) AT

A 0

][∆xntw

]=

[−∇f(x)

0

], (5.40)

donde w representa la variable asociada al multiplicador de Lagrange asociado a la restric-cion de igualdad.

Con la definicion anterior, se puede enunciar entonces el metodo de Newton conrestricciones 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.∆xnt := −∇2f(x)−1∇f(x) ; λ2 := ∇f(x)T∇2f(x)−1∇f(x).2. Salir si λ2/2 ≤ ε.3. Elegir el tamano del paso t mediante Backtracking line search4. Actualizar x := x+ t∆xnt.

La forma de encontrar ∆xnt 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 f0(x)sujeto a fi(x) ≤ 0, i = 1, ...,m

Ax = b,

(5.41)

con f0, ..., fm : Rn → R convexas y dos veces diferenciable, y A de las mismas caracterısticasdel caso anterior. Aquı se presentara, en forma particular, dos metodos. El primero es

46

Page 59: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

llamado Metodo de Barrera Logarıtmica y el segundo es el Metodo de punto interior primal-dual.

En el metodo de barrera logarıtmica, la idea principal es encontrar una manera detransformar el problema de restricciones de desigualdades (e igualdades), a uno de solorestricciones de igualdad (caso general), para ası poder resolverlo mediante el metodo deNewton extendido. Una manera logica de eliminar las restricciones de desigualdad, es in-cluirlas de manera implıcita en la funcion objetivo, idealmente

minimizar fo(x) +m∑i=1

I (fi(x))

sujeto a Ax = b,(5.42)

con I : R→ R definida como

I (u) =

0 u ≤ 0

∞ u > 0.

El problema es que la funcion definida de esta forma no es diferenciable. Por ello, unaaproximacion 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 nuevafuncion es convexa, dos veces diferenciable y creciente al tomar el valor ∞ para u > 0.Con esto la nueva funcion objetivo es f0(x) +

∑mi=1−(1/t) log (−fi(x)) la cual es convexa y

diferenciable.

Se define como barrera logarıtmica, a la funcion

φ(x) = −m∑

i=1

log (−fi(x)),

con domφ = x ∈ Rn | fi(x) < 0, i = 1, ...,m. Con esto, el problema original se puedereescribir como

minimizar tf0(x) + φ(x)sujeto a Ax = b,

(5.44)

donde sin perder generalidad, se ha multiplicado la funcion objetivo por t (la solucion paraambos problemas es la misma). Luego, este problema puede ser resuelto por el metodo deNewton extendido (o por el metodo de Newton simple para el caso A = 0). Se asume queeste problema tiene solucion unica para cada t, es decir, x∗ = x∗(t). Se puede demostrarademas que la diferencia entre el problema dual y el primal, esta acotada por m/t, es decirf0(x∗(t))− p∗ ≤ m/t, por lo que x∗(t) converge a la solucion optima con t→∞.

47

Page 60: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

Con los antecedentes previos ya expuestos, se esta en condiciones de enunciar el Meto-do de Barrera Logarıtmica, como sigue:

Algoritmo 5.6: Algoritmo de Metodo de Barrera Logarıtmica.

iniciar con un punto estrictamente factible x, t := t(0) > 0, µ > 1, y tolencia ε > 0, dados.repetir

1. Computar x∗(t), minimizando tf0 + φ, 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 hacersemediante el Metodo de Newton (ya sea extendido o simple, segun sea el caso) con puntoinicial 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 metodoes 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 busqueda de este metodo se obtienen del metodo de Newton, apli-cado a las condiciones de optimalidad del metodo de barrera logarıtmica.

En el metodo primal-dual las iteraciones no son necesariamente factibles .

Los metodos de punto interior primal-dual son a menudo mas eficientes que los meto-dos de barrera, ya que presentan, por lo general, convergencias mejores a las lineales. Sonespecialmente eficientes para problemas particulares tales como: Problemas Lineales, Pro-gramacion Cuadratica, Problemas Geometricos y Programacion Semidefinida.

Se define la condicion de optimalidad como rt(x, λ, ν) = 0, donde

rt(x, λ, ν) =

∇f0(x) +Df(x)Tλ+AT ν

−diag(λ)f(x)− (1/t)1Ax− b

, (5.45)

y t > 0. En esta notacion, f : Rn → Rm y su matriz de derivadas Df estan dadas por

f(x) =

f1(x)...

fm(x)

, Df(x) =

∇f1(x)T...

∇fm(x)T

.

Si x, λ, ν satisfacen rt(x, λ, ν) = 0 y fi(x) < 0, entonces son optimos de sus respectivosproblemas. En particular, x es primal factible, y λ, ν son dual factibles con gap de dualidad

48

Page 61: cf-perez_pa

CAPITULO 5. OPTIMIZACION CONVEXA

igual a m/t. La primera componentes de rt, definida por

rdual = ∇f0(x) +Df(x)Tλ+AT ν,

se denomina residuo dual. La ultima compenente, rpri = Ax−b, recibe el nombre de residuoprimal, y la del centro,

rcent = −diag(λ)f(x)− (1/t)1,

se denomina residuo central.

El paso de Newton que en este caso se denomina direccion de busqueda primal-dual,denotado por ∆ypd = (∆xpd,∆λpd,∆νpd), es aquel que resuelve el problema

∇2f0(x) +m∑i=1

λi∇2fi(x) Df(x)T AT

−diag(λ)Df(x) diag(f(x)) 0A 0 0

∆x∆λ∆ν

=

rdual

rpri

rcent

. (5.46)

Las definiciones y caracterısticas expuestas anteriormente, permiten enunciar el algo-ritmo como sigue:

Algoritmo 5.7: Algoritmo de Metodo de punto interior Primal-Dual.

iniciar x que satisface f1(x) < 0, · · · , fm(x) < 0, y λ 0, µ > 0, εfeas > 0 y ε > 0.repetir

1. Hacer t := µm/− f(x)Tλ.2. Computar la direccion Primal-Dual ∆ypd.3. Determinar largo del paso s mediante backtracking line search.4. Actualizar y := y + s∆ypd.

hasta ‖rpri‖2 ≤ εfeas, ‖rdual‖2 ≤ εfeas y −f(x)Tλ ≤ ε,

con y = (x, λ, ν).

49

Page 62: cf-perez_pa

Capıtulo 6

Modelo del Sistema y

Formalizacion del Problema

En este capıtulo se presenta tanto la forma en que se planteo el problema, comotambien el escenario y el modelo del sistema del cual se realiza el scheduling. En primerlugar se deriva la funcion de utilidad encontrada que mejor refleja la safisfaccion esperadapor los usuarios, y que a su vez permite resolverlo en tiempo razonable para aplicacionesde tiempo real. Se explica ademas la generalidad y notacion del sistema considerado, y porultimo la formulacion formal del problema de scheduling como problema de optimizacionconvexa.

6.1. Funcion de Utilidad

La primera etapa para la formulacion final es encontrar una funcion de utilidad ade-cuada al problema. Este ultimo adjetivo se ajusta a una funcion que represente la utilidadpercibida por cada usuario al experimentar un cierto valor de un parametro de calidad deservicio, y que ademas sea una funcion objetivo que pueda ser optimizada mediante losalgoritmos de resolucion de problemas de optimizacion convexa. Los ultimos avances enesta materia, permiten resolver un numero acotado de problemas en un tiempo tal que losalgoritmos pueden ser utilizados en aplicaciones de tiempo real [31].

Como una forma de utilizar eficientemente los recursos, en esta tesis se pleantea que losusuarios no experimentan un aumento en la utilidad percibida despues de que estos hayanalcanzado el valor mınimo deseado de algun requerimiento, estado que se denomina “usuariosatisfecho”. El objetivo es maximizar el numero de usuarios satisfechos del sistema, por loque se debe maximizar la suma de la funciones de utilidad individuales de cada usuario.

50

Page 63: cf-perez_pa

CAPITULO 6. MODELO DEL SISTEMA Y FORMALIZACION 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

sign

(z)

Figura 6.1: Grafica de la funcion signo.

Tomando como variable la diferencia entre el valor del parametro real experimentadoy el requerimiento mınimo de este, es decir

z = x− xreq,

una funcion que cumple con representar el comportamiento explicado, es la funcion signo.En efecto, la funcion definida 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 apreciaen la figura 6.1.

El problema de utilizar esta funcion es, en primer lugar, que no es diferenciable enz = 0, por lo que no puede aplicarse un metodo de optimizacion matematica estandar sobreella; 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. Lafuncion

sigm(z) =1

1 + e−x

y que se observa graficamente en 6.2, sigue representando la utilidad deseada, pero de unamanera mas suavizada, saturandose asintoticamente al valor de 1 a medida que z crece.

51

Page 64: cf-perez_pa

CAPITULO 6. MODELO DEL SISTEMA Y FORMALIZACION DEL PROBLEMA

−10 −8 −6 −4 −2 0 2 4 6 8 10−0.5

0

0.5

1

1.5

z

sigm

(z)

Figura 6.2: Grafica de la funcion sigmoide.

Esta funcion soluciona el problema de la anterior al ser derivable en todo el dominio R (dosveces derivable). Sin embargo, esta funcion no es convexa, por lo que no se puede definir unproblema de optimizacion convexa utilizando como funcion objetivo la misma. Metodos yheurısticas no lineales podrıan usarse, pero incrementarıan los tiempos de convergencia sinasegurar 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 define como

φ(z) =

z2 si |z| ≤M2M |z| −M2 si |z| ≥M,

la cual es llamada Funcion de Penalizacion de Huber de parametro M . Esta es una familiade funciones continuas y derivables en todo R, parametrizadas por el valor de M , y todasconvexas. Es posible definir una variante de esta funcion, llamada Funcion de Penalizacionde Huber positiva, la cual trunca la funcion original, haciendo el valor de la funcion igual a0 para los valores negativos de z, es decir

φpos(z) =

0 si z ≤ 0z2 si 0 ≤ z ≤M2M |z| −M2 si z ≥M.

Para los fines buscados en este trabajo, respecto a la funcion objetivo, se definio enbase a lo recien planteado una nueva modificacion a la funcion de Huber original, la cual se

52

Page 65: cf-perez_pa

CAPITULO 6. MODELO DEL SISTEMA Y FORMALIZACION 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

φ neg(z

)

(a) Version convexa.

−10 −8 −6 −4 −2 0 2 4 6 8 10−20

−18

−16

−14

−12

−10

−8

−6

−4

−2

0

z

φ neg(z

) có

ncav

a

(b) Version concava.

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 conla salvedad que esta vez la funcion se anula para valores positivos de z, por lo cual

φneg(z) =

0 si z ≥ 0z2 si −M ≤ z ≤ 02M |z| −M2 si z ≤ −M.

(6.1)

Esta funcion es continua y derivable en todo z ∈ R; ademas es convexa en todo eldominio, como se aprecia en la figura 6.3a. La version concava de esta funcion, definidacomo

φneg(z) = −φneg(z),

conserva las propiedades de continuidad y diferenciacion, y ademas representa de formaadecuada lo esperado por la funcion objetivo, como graficamente muestra la figura 6.3b.En efecto, cuando z se hace cero, la funcion deja de aumentar su valor, lo que implicaque la utilidad mantiene su valor, y no se incrementa, a medida que z se mueve en el ejeR+. Ademas, el hecho de que la funcion sea creciente en el intervalo (−∞, 0], es aun masbeneficioso para el comportamiento que se desea modelar, ya que implica que el usuario vaobteniendo mayor utilidad a medida que se acerca a su valor de requerimiento. Todas estascaracterısticas hacen que esta ultima funcion sea la adecuada para modelar el problema quese ha propuesto.

53

Page 66: cf-perez_pa

CAPITULO 6. MODELO DEL SISTEMA Y FORMALIZACION DEL PROBLEMA

6.2. Modelo del Sistema

Para los efectos de esta tesis, se considerara como parametro de calidad y satisfaccionpor parte de los usuarios, la tasa de datos (o, indistintamente llamada, throughput) promediode cada uno de estos, efectivamente experimentada durante una cierta ventana de tiempoacotada.

El sistema a estudiar considera una celda individual en una red inalambrica, dondecoexisten M usuarios intentando acceder, simultaneamente en cada time slot, a los recur-sos fısicos del sistema (ya sean codigos en sistemas CDMA, o frecuencias subportadorasen sistemas OFDMA). Se considera, ademas, que la accion de scheduling se realiza paraventanas 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 recursosdisponibles que pueden ser asignados a un usuario, como lo son un numero mayor a uno decodigos, o un cluster de subcanales [13].

Se define la variable binaria uik, que toma el valor “1” si el usuario i es asignado arecibir recursos en el instante k, y el valor “0” si no. Esta es la variable de decision delproblema, sobre la cual se interesa optimizar y encontrar la decision optima de scheduling.

Si X es el conjunto de todos los posibles estados del canal inalambrico visto porun usuario, entonces xik ∈ X denota el estado del canal que experimenta el usuario i enun instante k. En la propuesta de este trabajo, como primera aproximacion, se consideraconocido el estado del canal de todos los usuarios, al comienzo de cada ventana T , paratodos los instantes de tiempo dentro de la misma. Es importante destacar que en la practica,las tecnologıas 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 define el valor rik ∈ R, donde R representa el conjunto de todos los posiblesvalores de throughput instantaneo que puede experimentar un usuario, que denota la tasainstantanea que lograrıa un usuario i durante el intervalo de tiempo k si es que es asignadoa usar recursos, dada su condicion del canal. Es decir, este valor es funcion del estado delcanal, rik = rik(x

ik).

Las definiciones anteriores permiten denotar RiT como el valor de la tasa de datospromedio del usuario i durante toda la ventana de largo T , definida como

1T

T∑

k=1

rikuik. (6.2)

54

Page 67: cf-perez_pa

CAPITULO 6. MODELO DEL SISTEMA Y FORMALIZACION DEL PROBLEMA

Este es el valor a considerar como parametro de satisfaccion del usuario, al compararlo consu tasa promedio requerida mınima, denotada por Bi.

Es posible extender de forma natural la notacion anterior a una vectorial. Ası, sepuede definir el vector asignacion como

u =(u1

1, u21, · · · , uM1 , u1

2, · · · , uM2 , · · · · · · , u1T , · · · , uMT

)T,

con u ∈ RM ·T . Del mismo modo se define el vector tasa de datos promedio de la forma

RT =(R1T , R

2T , · · · , RMT

)T,

y RT ∈ RM . Por ultimo, el vector B denota el vector cuyas componentes son los requisitosindividuales de los usuarios.

6.3. Formulacion del Problema de Optimizacion

La descripcion del sistema a considerar, y la funcion mostrada en 6.1, permiten ahoraplantear el problema de scheduling como un problema de optimizacion convexa.

Como interesa mejorar el comportamiento global del sistema, el objetivo principalentonces es maximizar la suma de las utilidades individuales de los usuarios, representadaspor la version concava de 6.1, y donde z = RiT −Bi. Luego, el problema descrito por

maximizaruik ∀i,∀k

M∑i=1

φneg(RiT − αBi)

sujeto aM∑i=1

uik ≤ C ∀k = 1, ..., T

uik ≤ 1 ∀i,∀kuik ≥ 0 ∀i,∀k

(6.3)

es un problema de optimizacion convexa (ver §5.3). La primera restriccion representa lalimitacion de recursos disponibles en cada instante k. Las otras dos, son una relajacion dela condicion de que las variables de decision sean variables binarias. Se impone entoncesla condicion de que estas pertenezcan al intervalo [0, 1]. Lo anterior se hace debido a lasuposicion, de manera intuitiva, de que en el optimo las variables van a tender a los extremosdel intervalo1. El factor α que acompana al requerimiento de tasa mınima, es un factorde peso anadido para modificar la relevancia de este requerimiento, igual para todos losusuarios.

1Existen no pocos problemas en donde, debido a las caracterısticas de la f.o., las variables a optimizar se

mueven hacia los extremos del intervalo al que estan restringidas, ante pequenas variaciones de la f.o.. Este

tipo de soluciones recibe el nombre de soluciones Bang-Bang.

55

Page 68: cf-perez_pa

CAPITULO 6. MODELO DEL SISTEMA Y FORMALIZACION DEL PROBLEMA

Es posible definir transformaciones lineales en el espacio de RM ·T , tanto para el vectortasa de datos promedio, RT, como para el total de las restricciones, en funcion del vectorde asignacion u. Se define la matriz F , compuesta por las tasas instantaneas individualesde los usuarios, de la forma

F =

r11 0 · · · 0 r1

2 0 · · · 0 · · · r1T 0 · · · 0

0 r21 · · · 0 0 r2

2 · · · 0 · · · 0 r2T · · · 0

......

. . ....

......

. . .... · · · ...

.... . .

...0 0 · · · rM1 0 0 · · · rM2 · · · 0 0 · · · rMT

.

Luego, siendo F la matriz que representa la transformacion lineal, se puede obtener el vectortasa promedio RT en funcion del vector asignacion, como

RT = Fu. (6.4)

Tambien se puede representar todas las restricciones del problema de forma matricial.Sea A ∈ R(2M+1)T×MT ) la matriz definida por

A =

D

I

−I

,

con

D =

1 1 · · · 1 0 0 · · · 0 · · · 0 0 · · · 00 0 · · · 0 1 1 · · · 1 · · · 0 0 · · · 0...

.... . .

......

.... . .

.... . .

......

. . ....

0 0 · · · 0 0 0 · · · 0 · · · 1 1 · · · 1

y D ∈ RT×M ·T , e I ∈ RM ·T×M ·T la matriz identidad de tamano M · T . Si ademas se defineel vector

56

Page 69: cf-perez_pa

CAPITULO 6. MODELO DEL SISTEMA Y FORMALIZACION DEL PROBLEMA

b =

C...C

1...10...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 equivalentea minimizar una funcion convexa, se puede replantear el problema (6.3) de la siguientemanera:

minimizaru

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 quese utilizara finalmente para resolver el problema de esta tesis.

57

Page 70: cf-perez_pa

Capıtulo 7

Implementacion y Resultados de

Simulaciones

En este capıtulo se describe la forma en que se resolvio el problema, las solucionesobtenidas, y los resultados de la simulaciones realizadas para casos que se aproximan a larealidad.

Para poder realizar lo anterior, se hizo uso de programas de simulacion de sistemasbasados 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 canalinalambrico de los usuarios de la manera mas realista posible.

7.1. Metodo de Solucion

Como ya se expuso, se utilizo CVX para resolver el problema planteado en 6.6. Estesoftware posee un conjunto de reglas especıficas que define la forma en que se debe planteary construir el problema, limitandose a las restricciones impuestas en este conjunto. A suvez, CVX invoca versiones propias de otros solvers para solucionar el problema, y que sontambien paquetes de MATLAB especializados en problemas de optimizacion puntuales [35].

Para el problema particular propuesto en este trabajo, CVX utilizo como nucleo elsolver SeDuMi [36]. Este paquete de MATLAB implementa una tecnica autodual sobreconos homogeneos para resolver problema lineales (LP), conicos de segundo orden (SOCP)y de optimizacion semidefinida (SDP).

58

Page 71: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

7.2. Soluciones Obtenidas

El problema planteado en (6.6) restringe las variables de decision, el vector u, aexistir en el intervalo cerrado [0, 1]. Los problemas de optimizacion entera son complejos deresolver, mas aun cuando las funciones objetivos no son lineales. Debido a esta dificultad ya que las heurısticas existentes poseen convergencia lenta, es que se relajo la condicion debinariedad al intervalo ya mencionado. La decision tomada encuentra un apoyo en el hechoque es factible que las soluciones optimas se encuentren en los extremos del intervalo deacotamiento. Lo anterior toma mas fuerza debido a que la funcion objetivo es una funcionagregada 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 mınimoen su extremo; sin embargo, la conclusion no es directa debido a que la funcion objetivo esuna suma de funciones pertenecientes a esta familia.

Las soluciones obtenidas efectivamente correspondieron, en la gran mayorıa de loscasos, a las del tipo explicado en el parrafo anterior. Este tipo de soluciones recibe elnombre de soluciones Bang-Bang y su principio y existencia radica en la Teorıa de ControlOptimo [37]. El problema (6.6) puede ser visto como un problema de control optimo endonde la variable de decision u es la variable de controlabilidad del sistema, que buscala trayectoria optima que maximiza los pagos (en el caso de (6.6), la que minimiza lasperdidas). En [37] se demuestra que bajo ciertas condiciones, se tiene la existencia de controlBang-Bang como solucion al problema.

7.3. Modelo del Canal

Para darle validez a la solucion encontrada fue necesario considerar un sistema lomas ajustado a la realidad posible. Un factor trascendental para ello, es modelar el canalinalambrico acorde a lo que realmente experimenta un usuario utilizando servicios de tec-nologıas moviles. Como ya se dijo al comienzo del capıtulo, este canal se modelo con laayuda de WIM2 Model.

7.3.1. Caracterısticas de Sotware

El paquete utilizado es una implementacion en MATLAB del modelo desarrollado enWINNER Phase II 1 [34]. Su principal proposito es generar las realizaciones del canal de

1Cabe aclarar que WINNER Phase II es proyecto que desarrolla el modelo, y WIM2 Model es el software

que lo implementa.

59

Page 72: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

Modelo Genérico

Planificación de Medidas

Medidas de Canal

Registro de Datos

Análisis y Post-Procesamiento

de Datos

Obtener parámetros de las PDF’s

SimulacionesRealizaciones

del Canal

Generación Matriz de

Transferencia MIMO

Respuesta de los

arreglos

Generación de

Parámetros

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 anivel de sistema.

El sistema considera todos los parametros definidos por el usuario para generar elresultado. Es posible definir parametros de enlaces tipo MIMO (Multiple Input MultipleOutput) y parametros de las antenas a utilizar. Se generan matrices con los multiples enlacesBS-MS que se puedan dar, y luego la salida es un arreglo multidimensional que contieneestas matrices de respuesta al impulso de los enlaces de radio dados.

En la figura 7.1 se puede ver el diagrama de bloques que muestra como se construyela salida gracias al modelo implementado por WINNER Phase II.

El proceso de modelamiento del canal consiste basicamente en tres etapas. En laprimera, a partir del modelo generico, se define el tipo de escenarios de propagacion (am-bientes) a ser medidos, patrones, altura y movilidad de antenas y otros datos generales.Ademas, se planifica 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 concentraprincipalmente en el analisis de los datos. El post-procesamiento entrega datos segun elrequerimiento, que luego son tratados estadısticamente para obtener las funciones de den-sidad de probabilidad (f.d.p.’s). La ultima etapa consiste en generar los parametros finalesbasados en las f.d.p.’s encontradas, para posteriormente encontrar la matriz de transferenciaMIMO gracias a esos resultados y a los datos de las antenas, con el metodo del trazado derayos. Finalmente, lo que se obtiene son las respuestas al impulso o realizaciones del canal.

60

Page 73: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

7.3.2. Caracterısticas del Modelo y Escenario de Prueba

Como ya se explico, se utilizo este programa para generar la matriz multidimensionalH, la cual contiene las respuestas al impulso del canal variante en el tiempo, entre todaslas combinaciones de antenas transmisoras y receptoras del sistema MIMO.

Existen una serie de factores y parametros que debieron ser configurados para obtenerun 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 edificios de distinta altura y densidades, lo que implica unapropagacion claramente dispersiva; esta dispersion puede ser causada incluso por montanasque rodean la ciudad. Las estaciones base suelen localizarse al nivel de altura promediode los edificios, aunque en el area de cobertura existen varios edificios que sobrepasan estenivel. Este escenario es el que mejor describe las condiciones para las que se penso que elscheduling propuesto proporciona los mejores resultados y los mayores beneficios, al ser unambiente con baja calidad de canal, y situado en una zona urbana, donde la demanda y elnumero de usuarios es mayor.

Se considero condiciones de propagacion sin lınea 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 log10 (hBS)) log10 (d) + 34,46 + 5,83 log10 (hBS) + 23 log10

(fc5

). (7.1)

El modelo expuesto en (7.1) considera, para el escenario escogido, 50[m] ≤ d ≤ 5[km],hBS = 25[m] y hMS = 1,5[m], que son la distancia entre el MS y la BS, la altura de la BSy 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 senal para cadainstante de muestra. Finalmente se considero antenas de 1 elemento para los MS y de 2elementos para la BS, ambas omnidireccionales.

7.4. Simulaciones

Para poder ver el desempeno de la solucion encontrada, segun lo explicado en §7.1 y§7.3.2, se realizo una serie de simulaciones para comprobar el comportamiento del sistema.

61

Page 74: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

Se simularon diferentes escenarios desde el punto de vista de los recursos y parametros delsistema. En particular, se estudio el comportamiento para diferentes valores de numeros deusuarios, ancho de banda, y recursos disponibles a repartir. Las simulaciones se realizaroncon el objetivo de hacer un analisis comparativo entre la solucion encontrada y los algoritmosde scheduling tıpicos usados en la industria y la literatura.

Se considero un sistema compuesto por una celda y M usuarios, que experimentan uncanal dado por las caracterısticas y condiciones explicadas en §7.3.2. Para reflejar el estadodel canal del usuario en un valor de tasa de datos instantanea, mediante un mapeo biyectivoentre el espacio X y R, se utilizo el lımite de Shannon para canales Gaussianos. Debidoa que las actuales tecnologıas moviles utilizan sistemas de correccion de error y sistemasde antenas inteligentes que permiten acercarse bastante a este lımite, esta asuncion parecerazonable con un pequeno factor de normalizacion. Ası, la tasa instantanea para cada usuarioque considerada como

rik = W · log2

(1 + aγik

), (7.2)

con W el ancho de banda del sistema en [kHz], a el factor de normalizacion, y γik la SNRinstantanea del usuario i en el instante k del sistema MIMO 1×2 dada por

γik =EsN0

∥∥hik∥∥2, (7.3)

en donde EsN0

es la razon entre la energıa por sımbolo y la densidad espectral de potenciadel ruido (igual y constante para todos los usuarios), y hik es el vector MIMO (1×2 en estecaso 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 tıpicos y simuladosque permitieran hacer un analisis, se fijo como valores a = 0,6 y Es

N0= 0,5.

Se considero un sistema de acceso CDMA, en donde los recursos a ser asignados sonagrupaciones de codigos de transmision, siendo C el numero de estos grupos de codigosdisponibles, cada uno de cantidad fija e igual para todos los usuarios. Se considero la plani-ficacion para ventanas de largo T = 100 y para 60 de estas ventanas. Si el largo de cada timeslot se fijo en 2[ms], entonces el tiempo de simulacion total del sistema fue de 2 minutospara cada uno de los casos considerados.

Finalmente, para cada caso, se generaron los requerimientos de los usuarios de formaaleatoria, estando estos uniformemente distribuidos entre 128[kbps] y 640[kbps]. Ademas,se fijo el parametro α = 3 para el modelo (6.6).

62

Page 75: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

Se consideraron casos de variacion, en forma independiente, de ancho de banda,numero de usuarios, y cantidad de recursos disponibles mientras los demas se mantenıanconstantes. Para cada una de estas situaciones, se obtuvieron dos graficos. En uno se mues-tra la cantidad de usuarios satisfechos, segun se explica en §6.1, en el tiempo, y en el otrose muestra la evolucion temporal del throughput agregado del sistema. Para cada uno delos graficos, se muestra los resultados para la planificacion propuesta (llamada Huber Negfunction) y para los tres algoritmos mas usados: Round Robin, Maximo C/I y JusticiaProporcional (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 tasainstantanea que podıan 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] yW = 500 [KHz]. Se mantuvieron constantes los valores M = 35 usuarios y C = 3 recursosdisponibles.

A continuacion se presentan los graficos obtenidos.

0 2000 4000 6000 8000 10000 1200022

24

26

28

30

32

34

36

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.2: Numero de usuarios satisfechos para W=5000[KHz].

63

Page 76: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120001.6

1.8

2

2.2

2.4

2.6

2.8

3

3.2

3.4

3.6x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

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 1200016

18

20

22

24

26

28

30

32

34

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.4: Numero de usuarios satisfechos para W=4000[KHz].

64

Page 77: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120001.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

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 1200010

12

14

16

18

20

22

24

26

28

30

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.6: Numero de usuarios satisfechos para W=3000[KHz].

65

Page 78: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120001

1.2

1.4

1.6

1.8

2

2.2x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

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 120000

2

4

6

8

10

12

14

16

18

20

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.8: Numero de usuarios satisfechos para W=2000[KHz].

66

Page 79: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120000.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

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 120000

1

2

3

4

5

6

7

8

9

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.10: Numero de usuarios satisfechos para W=1000[KHz].

67

Page 80: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120003000

3500

4000

4500

5000

5500

6000

6500

7000

7500

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

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 120000

0.5

1

1.5

2

2.5

3

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.12: Numero de usuarios satisfechos para W=500[KHz].

68

Page 81: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120001600

1800

2000

2200

2400

2600

2800

3000

3200

3400

3600

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

s]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.13: Throughput agregado para W=500[kHz].

69

Page 82: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

7.4.2. Variacion del numero de usuarios

Los diferentes valores de numeros de usuarios estudiados fueron M = 35, M = 25,M = 15, M = 10 y M = 5. Mientras, se conservaron los parametros W = 4000 [KHz] yC = 3. Los graficos se muestran a continuacion.

0 2000 4000 6000 8000 10000 1200016

18

20

22

24

26

28

30

32

34

Tiempo[ms]

Núm

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.14: Numero de usuarios satisfechos para M=35.

0 2000 4000 6000 8000 10000 120001.4

1.6

1.8

2

2.2

2.4

2.6

2.8

3x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

s]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.15: Throughput agregado para M=35.

70

Page 83: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 1200016

17

18

19

20

21

22

23

24

25

Tiempo[ms]

Núm

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.16: Numero de usuarios satisfechos para M=25.

0 2000 4000 6000 8000 10000 120001.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

s]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.17: Throughput agregado para M=25.

71

Page 84: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 1200014

15

16

17

18

19

20

Tiempo[ms]

Núm

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.18: Numero de usuarios satisfechos para M=20.

0 2000 4000 6000 8000 10000 120001.2

1.4

1.6

1.8

2

2.2

2.4

2.6x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

s]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.19: Throughput agregado para M=20.

72

Page 85: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 1200010

10.5

11

11.5

12

12.5

13

13.5

14

14.5

15

Tiempo[ms]

Núm

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.20: Numero de usuarios satisfechos para M=15.

0 2000 4000 6000 8000 10000 120001.2

1.4

1.6

1.8

2

2.2

2.4

2.6x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

s]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.21: Throughput agregado para M=15.

73

Page 86: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120003

4

5

6

7

8

9

10

Tiempo[ms]

Núm

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.22: Numero de usuarios satisfechos para M=10.

0 2000 4000 6000 8000 10000 120001.2

1.4

1.6

1.8

2

2.2

2.4x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

s]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.23: Throughput agregado para M=10.

74

Page 87: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120004

4.2

4.4

4.6

4.8

5

5.2

5.4

5.6

5.8

6

Tiempo[ms]

Núm

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.24: Numero de usuarios satisfechos para M=5.

0 2000 4000 6000 8000 10000 120001

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada

[kbp

s]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.25: Throughput agregado para M=5.

75

Page 88: cf-perez_pa

CAPITULO 7. IMPLEMENTACION 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 parametroC en el intervalo de numeros enteros [1,5]. Se mantuvo constante los valores M = 35 yW = 3000 [KHz]. Los resultados obtenidos de estas condiciones se presentan a continuacion.

0 2000 4000 6000 8000 10000 120000

2

4

6

8

10

12

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.26: Numero de usuarios satisfechos para C=1.

0 2000 4000 6000 8000 10000 120003000

3500

4000

4500

5000

5500

6000

6500

7000

7500

8000

Tiempo[ms]

Tas

a de

dat

os a

greg

ada[

kbps

]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.27: Throughput agregado para C=1.

76

Page 89: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 120006

8

10

12

14

16

18

20

22

24

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.28: Numero de usuarios satisfechos para C=2.

0 2000 4000 6000 8000 10000 120000.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

1.5x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada[

kbps

]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.29: Throughput agregado para C=2.

77

Page 90: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 1200014

16

18

20

22

24

26

28

30

32

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.30: Numero de usuarios satisfechos para C=3.

0 2000 4000 6000 8000 10000 120001

1.2

1.4

1.6

1.8

2

2.2x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada[

kbps

]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.31: Throughput agregado para C=3.

78

Page 91: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 1200020

25

30

35

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.32: Numero de usuarios satisfechos para C=4.

0 2000 4000 6000 8000 10000 120001.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada[

kbps

]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.33: Throughput agregado para C=4.

79

Page 92: cf-perez_pa

CAPITULO 7. IMPLEMENTACION Y RESULTADOS DE SIMULACIONES

0 2000 4000 6000 8000 10000 1200025

26

27

28

29

30

31

32

33

34

35

Tiempo[ms]

Num

ero

de u

suar

ios

satis

fech

os

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.34: Numero de usuarios satisfechos para C=5.

0 2000 4000 6000 8000 10000 120001.6

1.8

2

2.2

2.4

2.6

2.8

3

3.2

3.4x 10

4

Tiempo[ms]

Tas

a de

dat

os a

greg

ada[

kbps

]

Maxim C/I Round Robin Proportional Fair HuberNeg function

Figura 7.35: Throughput agregado para C=5.

80

Page 93: cf-perez_pa

Capıtulo 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 algoritmousada por SeDuMi para resolver el problema primal-dual tiene un lımite teorico probadode iteraciones de O(

√n log (1/ε)), como cota del peor caso [36]. Sin embargo, los metodos

de punto interior primal-dual se pueden resolver en tiempos de convergencia superlinealo usando una estrategia de terminacion finita [39]. Esta estrategia permite “saltar” a lasolucion, desde un punto de iteracion lo suficientemente avanzado (y factible). Cuando estoes posible, el numero de iteraciones se puede mantener relativamente constante al variar eltamano del problema.

En las simulaciones hechas, salvo para las pruebas en que se vario en numero deusuarios en el sistema, el tamano del problema se mantuvo constante en n = 3500. Debidoa las capacidades de convergencia del metodo anterior descritas, se obtuvo como promedio,30 iteraciones para cada ventana T , con valor mınimo 27, y maximo 32.

En la tabla 8.1, se puede ver el numero de iteraciones promedio para distintos tamanosdel problema (numero de variables) inicial. Estos datos fueron obtenidos a partir de lassimulaciones de modificacion del numero de usuarios. A su vez, la figura 8.1 muestra latendencia que tiene la dependencia de estos dos parametros, en el intervalo simulado.

Cabe destacar que los valores presentados corresponden a la cantidad de variables deentrada, ya que el algoritmo, al usar como metodo de resolucion un sistema primal-dual,

81

Page 94: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

Tamano del problema Promedio de iteraciones

3500 30

2500 27

2000 13

1500 11

1000 11

500 9

Tabla 8.1: Valores promedio de numero de iteraciones para distintos tamanos del problema.

500 1000 1500 2000 2500 3000 35005

10

15

20

25

30

Tamaño inicial del problema

Núm

ero

de it

erac

ione

s

Figura 8.1: Tendencia del numero de iteraciones respecto del tamano del problema.

modifica el numero inicial de variables. Cada una de las iteraciones corresponde a una delmetodo modificado de Newton, donde se calcula y actualiza el paso tanto para la direccionprimal, como la direccion dual.

De la figura 8.1 se puede ver que el numero de iteraciones sufre un importante descensoal bajar de 2500 variables. A pesar de que la muestra obtenida es muy limitada parapoder hacer un analisis general del comportamiento, sı se puede apreciar que el numerode iteraciones no se reduce linealmente con el numero de variables. Es posible ver en elprimer y ultimo trazo del grafico que se mantiene casi constante la cantidad a iterar. Esmuy posible que esto se deba a la estrategia de terminacion finita que posee el algoritmo,y que dentro de un rango de numero de variables, “salte” a la solucion final luego de unaposicion determinada, que se mantiene relativamente constante. Esto tiene sentido dadas lascaracterısticas del algoritmo y a lo visto en la figura 8.1; el cambio brusco estarıa motivadopor el hecho que el “salto” en la convergencia ya no es posible debido a que se cae en

82

Page 95: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

un punto no factible, por lo que es necesario mas iteraciones para acercarse a la vecindaddel optimo. Las acciones y analisis necesarios para afirmar estas suposiciones escapan a losobjetivos de este trabajo.

Desde el punto de vista practico, el numero maximo de iteraciones obtenidas, que fueigual a 32, permite que sea razonable su implementacion en tiempo real. Las simulacionespresentadas se hicieron en un computador de escritorio normal, de dos nucleos, cuyas ca-racterısticas son las de un computador promedio1. Con esta maquina, para el peor caso deconvergencia, 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 capacidadde procesamiento, y que se puede programar el algoritmo de forma de aprovechar al maximola diversidad de nucleos, es razonable pensar que se puede disminuir considerablemente lostiempos de convergencia llegando al orden de los milisegundos, que son necesarios para unaimplementacion real de este tipo.

El peor caso considerado es para 35 usuarios en el sistema. Sin embargo, como se veen la figura 8.1, cuando el numero de usuarios en inferior a 25, existe una drastica disminu-cion en el numero de iteraciones necesarias para converger, por lo que reduce aun mas losposibles tiempos de convergencia con un servidor especializado. Este margen de reduccionmayor de tiempo se da para una situacion en que existen 25 o menos usuarios accediendosimultaneamente. Esto aun se encuentra dentro del escenario crıtico de “congestion” parael cual fue pensado esta solucion.

8.2. Analisis de Rendimiento

El objetivo principal de esta tesis era encontrar una forma de maximizar el numero deusuarios satisfechos, cuya connotacion fue definida previamente, en la labor de scheduling.Una manera de verificar el cumplimiento de este objetivo es la comparacion con algoritmosestandar, es decir, que son tıpicamente usados en la industria y citados en la literatura. Serealizo esta comparacion modificando tres parametros, de forma independiente, claves, demanera de poder observar su influencia en el rendimiento buscado.

El primer parametro cuya influencia fue explorada fue el ancho de banda disponible,como una forma de acceder a la variable que realmente se querıa explorar la cual era la tasade datos instantanea que podıa alcanzar el usuario si era o no asignado. A nivel general seaprecia que la formula propuesta supera en rendimiento deseado a los otros algoritmos, sinsacrificar en demasıa la eficiencia del throughput total de la celda (indicador considerado

1Se utilizo 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

Page 96: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

Ancho de banda [kHz] Aumento deusuarios satisfechos[ %]

Mejor Competidor Perdida dethroughtput total[ %]

Mejor Competidor

5000 17.03 Prop. Fair 5.24 Maxim C/I4000 18 Maxim C/I 3.27 Maxim C/I3000 15.74 Maxim C/I 1.94 Maxim C/I2000 8.07 Maxim C/I 0.52 Maxim C/I1000 0.75 Maxim C/I 0.07 Maxim C/I500 0 Maxim C/I 0.002 Maxim C/I

Tabla 8.2: Comparacion porcentual respecto a la mejor opcion, modificando ancho de banda.

500 1000 1500 2000 2500 3000 3500 4000 4500 50000

2

4

6

8

10

12

14

16

18

Ancho de banda [kHz]

Por

cent

aje

de m

ejor

a [%

]

(a) Mejora en usuarios satisfechos.

500 1000 1500 2000 2500 3000 3500 4000 4500 50000

1

2

3

4

5

6

Ancho de Banda [kHz]P

orce

ntaj

e de

Pér

dida

[%]

(b) Perdida en eficiencia en throughput.

Figura 8.2: Porcentaje de rendimiento respecto a la mejor otra opcion, modificando ancho debanda.

por excelencia).

En la tabla 8.2 se puede ver en que porcentaje supera en numero de usuarios lasolucion propuesta a la otra mejor opcion, y en que porcentaje se encuentra por debajo enthroughtput total de la celda, respecto a la que presenta mejor rendimiento en ese ıtem. Enla figura 8.2 se aprecian ambas tendencias.

Es posible ver que en todos los casos estudiados se obtuvo un rendimiento mejor oigual (este ultimo solo para el caso de W = 500[kHz]) a la siguiente mejor opcion queresulto ser mayoritariamente el algoritmo Maxim C/I. A su vez, se observa una perdida deeficiencia similar con el throughput total de la celda logrado, comparado con el mejor quenuevamente es el mismo algoritmo. La figura 8.2a muestra que a medida que aumenta elancho de banda disponible, aumenta el rendimiento de la solucion propuesta, en el sentidode que se percibe una mayor mejora en el objetivo buscado. Por otro lado, se observa queal crecer el ancho de banda tambien aumenta la brecha con el maximo throughput total quees 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

Page 97: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

Numero de Usuarios Aumento deusuarios satisfechos[ %]

Mejor Competidor Perdida dethroughtput total[ %]

Mejor Competidor

35 20.57 Maxim C/I 4.17 Maxim C/I25 14.51 Prop. Fair 4.05 Maxim C/I20 2.22 Prop. Fair 10.86 Maxim C/I15 -23.44 PF/RR 16.61 Maxim C/I10 -44.33 Todos 29.31 Maxim C/I5 0 Todos 33.94 Maxim C/I

Tabla 8.3: Comparacion porcentual respecto a la mejor opcion, modificando el numero de usuarios.

podrıa 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 argumentode 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 eficiencia de throughput total, al aumentar el anchode banda, tiene sentido desde que esto ultimo produce una mejora directa en las tasasinstantaneas, 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 considerandoque para ese mismo caso se obtiene una mejora del 17.01 % en rendimiento de usuariossatisfechos. En general, el rendimiento de throughput se mantiene bastante cercano entreambas soluciones.

Por ultimo, falta mencionar que a medida que el ancho de banda disminuye, ambassoluciones se parecen, siendo en el extremo inferior practicamente iguales. Este tiene sentidoya que al haber bajas tasas instantaneas, la funcion objetivo se encuentra muy por debajode la zona de saturacion, y la maximizacion tiende a una funcion lineal, en donde si losusuarios se mantienen con requerimientos relativamente similares comparados con las tasas,se tiende al caso de maximizar throughput.

La segunda variable estudiada fue el numero 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 propuestaesta orientada a situaciones de “congestion”. La tabla 8.3 muestra el detalle del rendimientobajo comparacion de la solucion, mientras que en la figura 8.3 se aprecian las tendencias.

Los resultados obtenidos muestran que el rendimiento resultante de la solucion nosupera en todos los casos al resto; existe una zona en que el resultado es peor al de losalgoritmo tıpicos usados, bajo el criterio de usuarios “satisfechos”. El fenomeno descrito sepresenta para “baja” cantidad de usuarios, en este caso particular, por debajo de los 15usuarios, en donde ya no existe ganancia si no perdida en el rendimiento bajo el criterio

85

Page 98: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

5 10 15 20 25 30 35−50

−40

−30

−20

−10

0

10

20

30

Número de usuarios

Por

cent

aje

de m

ejor

a [%

]

(a) Mejora en usuarios satisfechos.

5 10 15 20 25 30 350

5

10

15

20

25

30

35

Número de usuarios

Por

cent

aje

de p

érdi

da [%

]

(b) Perdida en eficiencia en throughput

Figura 8.3: Porcentaje de rendimiento respecto a la mejor otra opcion, modificando numero deusuarios.

buscado, ya que los otros algoritmos pasan a ser la mejor opcion. Se observa ademas quepara el ultimo caso de 5 usuarios, todos tienen el mismo rendimiento ya que en todos loscasos se tiene la totalidad de satisfaccion.

La razon de la merma en los resultados para esa zona se debe a que no se usaronlas soluciones optimas que resuelven el problema de maximizacion. Para esos casos, seobtuvieron soluciones que no son del tipo Bang-Bang. Este tema se abordara mas en detalleen la siguiente seccion. Para el caso de 5 usuarios, es tan poca la cantidad de usuarios quecualquiera de las estrategias (aun con soluciones que no son Bang-Bang) entrega el maximoposible ya que los recursos disponibles son mas que suficientes para satisfacer a toda lademanda. Los casos para alto numero 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, aunquela solucion propuesta se mantiene muy cercana. Esta diferencia explota al disminuir losusuarios, nuevamente debido a que no se usaron las soluciones optimas del problema.

El ultimo factor que fue estudiado en su influencia hacia el desempeno, fue la cantidadde recursos disponibles a repartir. Aquı se busco determinar como se comportaba la solucioncon diferentes cantidades de recursos a repartir, y si estos son un factor determinante. Losindicadores de desempeno para este caso se encuentran resumidos en la tabla 8.4, y lastendencias se muestran en la figura 8.4.

La tendencia es bastante clara, que muestra un aumento en el desempeno del algoritmocuando aumentan los recursos disponibles a repartir. Lo ocurrido es similar a lo visto alaumentar 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, bajoesta solucion, existe un incentivo agregado a asignar la mayor cantidad de usuarios por time

86

Page 99: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

Recursos Disponibles Aumento deusuarios satisfechos[ %]

Mejor Competidor Perdida dethroughtput total[ %]

Mejor Competidor

1 2.98 Maxim C/I 0.62 Maxim C/I2 13.75 Maxim C/I 1.47 Maxim C/I3 18.87 Maxim C/I 2.58 Maxim C/I4 18.7 Maxim C/I 3.81 Maxim C/I5 13.64 Maxim C/I 4.8 Maxim C/I

Tabla 8.4: Comparacion porcentual respecto a la mejor opcion, modificando los recursos disponibles.

1 1.5 2 2.5 3 3.5 4 4.5 52

4

6

8

10

12

14

16

18

20

Cantidad de Recursos

Por

cent

aje

de m

ejor

a [%

]

(a) Mejora en usuarios satisfechos.

1 1.5 2 2.5 3 3.5 4 4.5 50.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Cantidad de recursosP

orce

ntaj

e de

pér

dida

[%]

(b) Perdida en eficiencia en throughput

Figura 8.4: Porcentaje de rendimiento respecto a la mejor otra opcion, modificando los recursosdisponibles.

slot, en perjuicio de que en la literatura referenciada en §4, lo normal en los algoritmos esasignar solo a un usuario a la vez, por simplicidad de la solucion. Sin embargo, con ciertasrestricciones en las capacidades de los terminales, y obteniendo una buena ortogonalidad yasea de codigos o de frecuencias, se sabe que es factible dentro de las tecnologıas la asignacionsimultanea de varios usuarios en cada perıodo de scheduling. Nuevamente, al contar con masrecursos, el rendimiento mejora ya que explota la virtud de la solucion de maximizar esteobjetivo, 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 efi-ciencia, casi lineal, a medida que aumentan los recursos. Es un resultado esperable ya que alavanzar en el eje de las abscisas, se resaltan las virtudes y caracterısticas de ambos algorit-mos, lo que logicamente produce esa brecha. Sin embargo, nuevamente esta brecha es muypequena, siendo el valor mas alto un 4.8 %, lo que comparado con el beneficio en cuanto anumero de usuarios que se obtiene, es perfectamente tolerable, y disminuye el impacto enese sentido.

En terminos generales se aprecia que el algoritmo presentado en este trabajo presentauna importante mejora relacionada con el numero de usuarios satisfechos presentes. Esun resultado esperado debido a que se modelo el problema justamente considerando ese

87

Page 100: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

objetivo, pero los resultados lo justifican de manera tangible, al compararlos con algoritmosusados como referencia. De forma adicional se puede extraer que el rendimiento mejora aunmas cuando, bajo un numero fijo de usuarios, se aumentan los recursos, ya sea traducidosen un aumento global de tasa instantanea, o en la posibilidad de asignar a mas usuarios portime slot. Este beneficio, sin embargo, tiene su costo, que se traduce en una disminuciondel 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 laperdida por este concepto, sin embargo ese valor se mantiene acotado en un valor muypequeno (menor al 5 %) por lo que, si se llegara a considerar como parametro de importancia,serıa un perdida bastante tolerable comparado con el beneficio obtenido desde el punto devista de los usuarios.

Cabe destacar que los resultados obtenidos y aquı analizados, corresponden a una cotasuperior del problema. El modelo resuelto contempla un conocimiento futuro del estado delcanal a lo largo de la ventana de largo T , y se aprovecha del mismo para encontrar el mejorresultado al termino de dicha ventana. Sin embargo, en la practica esto no es posible ya queno existe tal conocimiento; luego, los resultados obtenidos son un maximo teorico en el mejorde los casos. Para volver aplicable esta solucion es necesario explorar alternativas tanto deprediccion de canal como de optimizacion bajo incertidumbre, que considere la naturalezaestocastica del canal y maximice el valor esperado de la funcion de utilidad considerandolos posibles escenarios. Ambas alternativas introducen un error en la certeza del canal, porlo que no es posible alcanzar la cota superior teorica. El verdadero rendimiento alcanzablees el que minimiza la brecha con los resultados expuestos aquı, dentro de todas las posiblesalternativas a explorar.

8.3. Analisis de Sensibilidad

Un tema importante a analizar en la solucion propuesta es su sensibilidad, que en estetrabajo se aborda desde el punto de vista de la caracterizacion de las soluciones obtenidasal resolver el problema de optimizacion. Este analisis es importante ya que permite ver losalcances y limitaciones del modelo.

Como ya se explico, para resolver el problema, se relajo la condicion de binariedad delas variables al intervalo [0, 1], aprovechando que las caracterısticas del modelo permitieronobtener soluciones del tipo Bang-Bang, y ası evitar una complejidad adicional a la resoluciondel 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 dela region factible (que en este caso serıan los vectores adyacentes cuyas componentes son

88

Page 101: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

binarias). Una alternativa para encontrar la solucion es probar todos estos puntos adyacentesy 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 2M ·T ,el cual es un numero fuera de todo rango implementable.

Cuando no se obtuvo soluciones enteras en el problema de maximizacion, se opto poremplear la mayorizacion en los vectores para cada asignacion de slot, es decir, hacer igual a1 las variables mas cercanas a este numero, hasta completar un maximo de C variables paracada time slot. Obviamente, esta medida no tiene ningun respaldo ni justificacion teorica deporque es una “buena solucion”. Simplemente fue una medida adoptada que se pudo tomarejecutandose en un tiempo mınimo, que permite implementarse en tiempo real, y que solose hizo con fines comparativos y para permitir el posterior analisis de los casos en donde lassoluciones no son Bang Bang.

Como se menciono en la seccion anterior, para el caso de variacion del numero deusuarios, se obtuvieros soluciones no enteras en las variables de decision, a partir de los 20usuarios hacia abajo. Esto implico una merma en el rendimiento obtenido debido a que seaplico mayorizacion y no se ejecutaron las decisiones optimas entregadas por el problemade optimizacion, como se aprecia en la figura 8.3a.

Existen dos aristas relevantes para discutir. La primera es la causa de lo observado.Al disminuir el numero de usuarios en el sistema, disminuye la diversidad multiusuario, ypor 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 enconsecuencia, las leves perturbaciones que modifican el valor de la funcion objetivo, no seansuficientes para mover las variables de un extremo a otro del intervalo, quedando confinadasdentro de este y todas en niveles similares. Lo anterior se produce solo por el hecho de lamenor diversidad de estados del canal, que impacta directamente en la diversidad de lasdiferentes funciones objetivo individuales.

La segunda arista tiene relacion con los alcances y limitaciones de la solucion. Debidoa la sensibilidad anterior descrita, la propuesta de scheduling tal como fue formulada eneste trabajo, no es beneficiosa para todos los casos. Como ya se explico, para cantidadesbajas 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 numero deusuarios satisfechos empeore y los algoritmos convencionales presenten mejores resultados.Luego, es posible afirmar que la propuesta desarrollada es valida para un alto numerode usuarios (mayor a 20, pero solo para el caso particular simulado), lo que se podrıadescribir como una situacion de congestion alta. Lo anterior no es del todo malo, puesto quejustamente el objetivo de este trabajo era encontrar una solucion optima para situaciones

89

Page 102: cf-perez_pa

CAPITULO 8. ANALISIS DE RESULTADOS Y DISCUSIONES

de demanda y uso peak, donde se postulo la idea de que los recursos en esos casos no soneficientemente utilizados, al entregar mas de lo que los usuarios necesitan para alcanzarun nivel de satisfaccion mınimo. Bajo este contexto, entonces, la solucion sı cumple conel objetivo inicialmente planteado, al obtener resultados superiores respecto a los otrosalgoritmos, en casos de alta congestion de usuarios. Eventualmente, esto podrıa permitirmayor cantidad de ingresos por usuarios simultaneos con recursos fijos, o una disminucion delos gastos en recursos con numero de usuarios fijo. Cabe mencionar que toda esta discusionse encuentra dentro del marco del lımite maximo teorico impuesto, como se discutio en §8.2

90

Page 103: cf-perez_pa

Capıtulo 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 permiteplanificar la asignacion de los usuarios que usaran los recursos disponibles en cada timeslot, para ventanas fijas de tiempo, y considerando como objetivo final la cantidad maximade usuarios satisfechos, entendidos como aquellos que se encuentran por sobre sus requeri-mientos mınimos. Esta planificacion asumio como criterio de satisfaccion la tasa de datos,o throughput, promedio de los usuarios al fin de cada ventana compuesta por una cantidadfija de time slots.

El principal aporte que entrega este trabajo es ofrecer una alternativa de schedulingdistinta al tıpico criterio de maximizacion de throughput, o aplicacion de justicia ampliamen-te usada, y que busca de alguna manera no “malgastar” los recursos en situaciones dondeexisten muchos usuarios demandantes y recursos insuficientes para satisfacerlos a todos.Por lo mismo, es una propuesta para ser utilizada en estos casos crıticos, y no fue pensadacomo una estrategia de scheduling para ser implementada en forma permanente. Desde quela estrategia desarrollada realiza la planificacion al comienzo de cada ventana, asumiendocomo conocidos los estados del canal futuros de la misma, esta solucion entrega una cotamaxima del rendimiento centrado en usuarios satisfechos, debido a la imposibilidad real delconocimiento futuro descrito.

Los objetivos inicialmente planteados fueron satisfactoriamente cumplidos. Luego derealizar una completa revision bibliografica, se penso en desarrollar una estrategia de sche-duling diferente a las existentes, que se sumara al abanico de posibilidades. Se encontro laversion modificada negativa de la funcion de penalizacion de Huber como la ideal pararepresentar la funcion de utilidad que fuese el objetivo a optimizar. Con dicha funcion selogro plantear el problema como uno de optimizacion convexa, el cual pudo ser resuelto gra-

91

Page 104: cf-perez_pa

CAPITULO 9. CONCLUSIONES

cias al software CVX desarrollado en MATLAB, mediante el algoritmo de metodo de puntointerior primal-dual. Por ultimo se pudo comprobar la eficacia de la solucion encontrada enun escenario ajustado a la realidad de un sistema movil, gracias al paquete de MATLABWIM2 Model que permitio simular condiciones del canal inalambrico de los usuarios enforma 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 enla labor del scheduler. Con ello, fue posible observar que los algoritmos especializados enresolucion de problemas convexos, como el de Punto Interior Primal-Dual, poseen carac-terısticas que permiten converger a la solucion optima en un numero limitado y reducidode iteraciones, para problemas del tamano de importancia en este problema.

En relacion a los resultados correspondientes al rendimiento, se pudo apreciar unaimportante mejora en cuanto a numero de usuarios satisfechos en el sistema, comparado conlos tres algoritmos tıpicos: Maxim C/I, Round Robin y Proportional Fair. Las simulacionesmostraron rendimientos por este concepto superiores hasta un 20 % comparados con lasiguiente 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 alaumentar el numero de usuarios, debido al incremento de la diversidad multiusuario. Estamejora en el criterio atendido tiene sus costos, reflejados 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 mınimas diferencias con el algoritmo que maximiza este criteriodirectamente, que es el Maxim C/I. Perdidas de eficiencia menores al 5 %, respecto de estareferencia, fueron encontradas. Lo anterior suscita la postura de que, si fuese un factorde importacia, las perdidas de eficiencia en throughput son mınimas comparadas con losbeneficios obtenidos al usar la estrategia propuesta.

El analisis de sensibilidad permitio encontrar una de las limitaciones del modelo. Comouna alternativa para aprovechar las caracterısticas de la funcion objetivo, y alivianar lacomplejidad adicional de un problema de programacion entera no lineal, se opto por relajarel espacio factible de las variables al intervalo [0, 1]. En la mayorıa de los casos, las solucionesoptimas se encontraron en los extremos de este, lo que permitio ser aplicadas directamentecomo variables de decision. No obstante, para casos en que se reducıa el numero de usuarios,esta situacion dejo de presentarse, resultando variables que tomaron valores dentro delintervalo. Debido a la infactibilidad de probar todas las soluciones factibles adyacentes, ladecision de mayorizacion logicamente conllevo a una merma en el rendimiento, aun pordebajo de los otros algoritmos. Por ello, la propuesta entregada, tal como se encuentraformulada, presenta una limitacion de validez, solo para altos valores de numero de usuarios.Sin bien esta limitante no es lo mas deseado puesto que nunca se quiere limitar el conjunto

92

Page 105: cf-perez_pa

CAPITULO 9. CONCLUSIONES

de casos de aplicacion, no es del todo invalidante, puesto que la estrategia desarrollada fuepensada para casos crıticos de demanda de usuarios. Cabe mencionar que esta limitacionesse 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 finalde 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 diferenciary optimizar los recursos a entregar a los mismos; este es el escenario tıpico en una redde tecnologıa movil. Dadas las caracterısticas de la estretagia presentada, se cree que laidea puede ser implementada en forma complementaria a las alternativas ya existentes. Unarazon es debido a que pese a que es posible desarrollar en tiempo real, su complejidad ymucho mayor a los algoritmos de referencia. Ademas, en situaciones con pocos usuarios y/opoco congestionadas donde es factible satisfacer a todo el universo de usuarios, implicarıauna ineficiencia debido a que el sistema no entregarıa todos los recursos que podrıa entre-gar, debida a las caracterısticas de saturacion de la funcion objetivo. Es por ello que secree puede ser de ayuda en situaciones puntuales de congestion, como por ejemplo en lashoras peak, en zonas empresariales donde el intercambio de datos vıa smartphones es casiglobal, o con la masificacion de servicios de Banda Ancha Movil. Otras situaciones puedenser eventos que gatillen un repentino y gran aumento en la demanda, como por ejemplofestividades de ano nuevo, o eventos catastroficos como terremotos, en donde el intercambiode informacion en las redes sociales vıa tecnologıa movil es cada vez mas masivo.

Existen tres posibles lıneas a seguir como trabajo futuro, asociadas a esta tesis. Laprimera de ellas es abordar el tema de la incerteza del canal. No es posible tener unconocimiento 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 programacion estocastica para resolverlo. Existen diversas tecnicaspara resolver problemas de optimizacion estocastica, que consideran los posibles estados quepueden tomar los procesos segun sus estadısticos. Un problema de esta alternativa podrıaser que el tamano 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 prediccionpara estimar los estados futuros del canal. Existe una amplia teorıa de prediccion y seriesde tiempo para procesos aleatorios. Metodos autorregresivos, por ejemplo, ya han sido uti-lizados para predecir calidad de canales inalambricos, y podrıan ser utilizados en este caso,al inicio de cada ventana de tiempo, en donde su resultado sea parametro de entrada parael trabajo desarrollado en esta tesis.

93

Page 106: cf-perez_pa

CAPITULO 9. CONCLUSIONES

Otra posible lınea a seguir para continuar con este trabajo, es abordar la binariedad delas variables. Como bien se vio, la alternativa de relajar la condicion implico una limitacionen el desempeno global de la solucion. Abordar este tema imponiendo la restriccion estrictaes una alternativa bastante interesante. El desafıo es no agregarle en demasıa complejidada la solucion, para impedir que el problema no pueda ser resuelto en tiempo real. Unaalternativa viable podrıa ser reformular el problema y utilizar el metodo de RelajacionSemidefinada, 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 serıa modificar la funcion de penalizacion de Huber, de manerade 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 serviciosdemandados por aplicaciones moviles requieren cada vez mas, mayores parametros de cali-dad de servicio adicionales a la tasa de datos mınima. Es por ello que agregar, por ejemplo,como criterio de satisfaccion un delay maximo de los paquetes a enviar por un usuario, serıacomplementar aun mas la solucion, entregando una mator calidad de servicio al usuario fi-nal. No se aprecia mayor complejidad en este tema, puesto que la clave esta en la forma dela funcion objetivo encontrada en este problema.

94

Page 107: cf-perez_pa

Bibliografıa

[1] D. Tse and P. Viswanath, Fundamentals of Wireless Communications. CambridgeUniversity 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. Toufik, and M. Baker, LTE-The UMTS Long Term Evolution. John Wiley& Sons, Ltd, 2009.

[7] X. Liu, E. Chong, and N. Shroff, “Transmission scheduling for efficient wireless utiliza-tion,” in INFOCOM 2001. Twentieth Annual Joint Conference of the IEEE Computerand Communications Societies. Proceedings. IEEE, Apr 2001, pp. 776 –785 vol.2.

[8] G. Bianchi and A. Campbell, “A programmable MAC framework for utility-basedadaptive quality of service support,” Selected Areas in Communications, IEEE Journalon, vol. 18, no. 2, pp. 244 –255, Feb 2000.

[9] C. Saraydar, N. Mandayam, and D. Goodman, “Pareto efficiency of pricing-based pow-er control in wireless data networks,” in Wireless Communications and NetworkingConference, 1999. WCNC. 1999 IEEE, Aug 1999, pp. 231 –235 vol.1.

[10] Z. Zhang, S. Moola, and E. Chong, “Approximate stochastic dynamic programmingfor opportunistic fair scheduling in wireless networks,” in Proc. of the 47th IEEE Con-ference on Decision and Control, Cancun, Mexico, Dec. 2008.

95

Page 108: cf-perez_pa

BIBLIOGRAFIA

[11] X. Hong and K. Shoraby, “A dynamic programming approach for optimal schedulingpolicy 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 usingneuro-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 subchanneland slot allocation for OFDMA networks supporting mixed traffic upper bound andheuristic algorithm,” Communications Letters, IEEE, vol. 13, no. 8, pp. 576 –578, Aug2009.

[14] M. Grant and S. Boyd. (2010) CVX: Matlab software for disciplined convexprogramming, 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.16Broadband 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 packetdata services,” Communications Magazine, IEEE, vol. 38, no. 1, pp. 54 –64, Jan 2000.

[19] D. Tse, “Forward link multiuser diversity through proportional fair scheduling,” Aug1999, presentation at Bell Labs.

[20] P. Hosein, “QoS control for WCDMA high speed packet data,” IEEE Proc. VehicularTechnology 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 Scientific,2005.

[23] S. Boyd and L. Vandenberghe, Stochastic Dynamic Programming and the Control ofQueueing Systems. John Wiley & Sons, Ltd, 1999.

96

Page 109: cf-perez_pa

BIBLIOGRAFIA

[24] M. Kearns, Y. Mansour, and A. Ng, “A sparse sampling algorithm for near-optimalplanning in large Markov decision,” Machine Learning, pp. 193–208, 2002.

[25] H. S. Wang and N. Moayeri, “Finite-state Markov channel-a useful model for radiocommunication channels,” Vehicular Technology, IEEE Transactions on, vol. 44, no. 1,pp. 163 –171, Feb. 1995.

[26] T. Heikkinen and A. Hottinen, “Delay-differentiated 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 schedulingalgorithm for maximizing the number of satisfied users in multi-rate wireless systems,”in World of Wireless, Mobile and Multimedia Networks, 2007. WoWMoM 2007. IEEEInternational Symposium on a, 2007.

[28] C. Li and X. Wang, “Adaptive opportunistic fair scheduling over multiuser spatialchannels,” 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-basedwireless broadband networks,” Communications Magazine, IEEE, vol. 43, no. 12, pp.127–134, 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,” SignalProcessing Magazine, IEEE, vol. 27, no. 3, pp. 50 –61, May 2010.

[32] P. Spasojevic and X. Wang, “Improved robust multiuser detection in non-Gaussianchannels,” 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 identificationapplied to type 1 diabetes,” in American Control Conference (ACC), 2010.

[34] L. Hentila, P. Kyosti, M. Kaske, 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.cloudfiles.rackspacecloud.com/cvx usrguide.pdf

[36] J. F. Sturm, “Using SeDuMi 1.02, a MATLAB toolbox for optimization over symmetriccones,” 1998, software disponible en http://sedumi.ie.lehigh.edu/.

97

Page 110: cf-perez_pa

BIBLIOGRAFIA

[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 AppliedMathematics, 1997.

98

Page 111: cf-perez_pa

Apendice A

Antecedentes Tecnologicos

En este anexo se presentan los principales aspectos de las caracterısticas de las redesde tercera generacion, 3G, segun la 3GPP (3rd Generation Partnership Project). En primerlugar se abordaran los temas relacionados con WCDMA (Wideband Code Division MultipleAccess) [4], que es la base en la que se esgrime el desarrollo de HSDPA (High-Speed DownlinkPacket Access), la cual es descrita [5] posteriormente.

A.1. Principios de WCDMA

En los foros de estandarizacion, la tecnologıa WCDMA surgio como la mas usaday aceptada para interfaz aerea de tercera generacion. Fue estandariza por la 3GPP en unproyecto en que participaron diversos paıses de Europa, Japon, Corea, E.E.U.U. y China.

El espectro de frecuencia en que trabaja WCDMA depende de la region en que seencuentre. En la ITU, los sistemas de tercera generacion son conocidos como InternationalMobile Telephony 2000 (IMT-2000). Bajo este escenario, en la figura A.1 se visualiza lasbandas utilizadas en cada zona geografica, 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 anchode banda, multiplicados por bits pseudo ruidosos (llamados chips), que derivan de los codigosde CDMA. El largo de esta cadena de codigos se denomina Spreading Factor (SF), los cuales

99

Page 112: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

!"#$!"#$%&

!"#$%&

!"#$%&

!"#$%&

!"#$%&

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 alcanzarmayores tasas de datos y mayor diversidad.

WCDMA soporta tasas de datos altamente variable, lo que permite entregar Ancho deBanda en Demanda (aumento en la capacidad disponible de la red segun los requerimientos),ya que la tasa se mantiene constante en cada frame que es de la largo 10 [ms], por lo quese puede modificar para cada usuario facilmente.

La tecnologıa un sistema de deteccion coherente tanto en el en el enlace de bajadacomo en el de subida, mediante envıo de sımbolos pilotos, que permiten “estimar el canal”midiendo las fases de las senales enviadas.

Soporta, opcionalmente, el uso de antenas adaptables inteligentes con el objetivo deincrementar la capacidad y cobertura de la red.

WCDMA fue disenado para trabajar en conjunto con GSM. Handovers son posiblesentre ambas tecnologıas 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 finalmente es transmitida por el canal, se envıa a

100

Page 113: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

!"#$%&

!"#$%&

!"#$%&

!"#$%&!"#$%&

!"#$%&

!"#$%&

!"#$%&

Símbolo

Datos

Código Spreading

Señal esparcida

=Datos x código

Código Spreading

Datos =señal esparcida x código

Figura A.2: Proceso de Spreading y Despreading en WCDMA

una tasa de SF×R [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 duracionde bits), por la misma secuencia de SF bits que se uso en el spreading. La senal original sepuede recobrar de forma precisa cuando se tiene perfecta sincronizacion.

La operacion de correlacion de senales en el receptor se realiza integrando (sumando)el resto de las senales (que se les aplico el despreading con el codigo de interes), comose aprecia en la figura A.3. Se observa el efecto que la senal resultante de la deteccionpor correlacion incrementa su amplitud en un factor igual al Spreading Factor, respectoa la interferencia presente. Este efecto se denomina ganancia de procesamiento, y es elque permite dar robustez al sistema para poder rehusar los 5 [MHz] disponibles, en zonascercanas.

Un ejemplo de lo anterior es en el servicio de voz. Se tiene que R=12.2 [Kbps], auna tasa de chips de 3.84 [Mcps], se tiene una ganancia de procesamiento de 25[dB] =10 · log10(3,84 · 106/12,2 · 103). Despues de realizar el despreading, la senal necesita ser deunos pocos decibeles mayor a la potencia de la interferencia mas ruido. La razon entrela densidad de potencia de la senal (por bit), por sobre la densidad de potencia de lainterferencia, requerida despues del despreading, se conoce como Eb/N0. Para servicios devoz, tıpicamente se tiene Eb/N0 = 5[dB]. Luego, la razon senal a interferencia requerida enel espacio de banda amplia (antes del despreading) es de 5[dB]-25[dB]=-20[dB]. Es valor sedenota comunmente como C/I. Esta cifra, en WCDMA, es mucho menor que en casos comoGSM, justamente debido al spreading y al despreading.

101

Page 114: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

Figure 3.3. Principle of the CDMA correlation receiver

!"#$%&!"#$%&

!"#$%&!"#$%&

!"#$%&

!"#$%&

!"#$%&

!"#$%&

!"#$%&!"#$%&

!"#$%&!"#$%&

EUROPAEUROPA

Señal deseada

Señal otro usuario

Señal deseada esparcida

Código Spreading

Datos después de despreading

Datos después de integración

Otra señal esparcida

Después de despreading

Después de integración

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 fısicosque degradan la senal original, como reflexion, difraccion, scattering, etc.. Estos fenomenosproducen la absorcion y perdida de energıa, y la llamada propagacion multitrayectoria. Estaultima tiene dos efectos importantes.

La energıa de la senal pude llegar en instantes de tiempo diferentes y claramentedistingibles. La energıa que llega es “esparcida” en un cierto perfil de delay de mul-titrayectorias. Este delay puede variar entre 1 a 2 [µs] en areas suburbanas, hasta20[µs] en areas montanosas. Cada chip tiene una duracion de 0.26[µs]. Luego, si lascomponentes multitrayectorias llegan a un tiempo mayor a este, se puede combinarcoherentemente para obtener diversidad multitrayectoria. Este delay de 0.26[µs] sepuede obtener si al menos se tiene una diferencia de caminos de λ = c

f =78 [m], conf = 3,84 [Mcps]. Esta diversidad multicamino es la que proporciona WCDMA graciasa sus 5[MHz] (con un B.W. mayor, λ >> 78 [m], lo que es poco razonable).

El otro efecto tiene relacion con las senales cuyos caminos tienen similar longitud,cuyos tiempos de llegada sin virtualmente iguales. Este fenomeno produce la can-celacion de la senal, que se conoce como fast fading, y que se produce cuando el movilse mueve a traves de distancias cortas comparadas con la longitud de onda de laportadora. Esto se puede entender como la suma de varios fasores ponderados quedescriben el desplazamiento de fase (modulo λ) y atenuacion a lo largo del camino enun cierto instante de tiempo.

102

Page 115: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

La energıa de la senal recibida en un movil, debido al fenomeno anterior, normalmentees bien modelada estadısticamente mediante una distribucion de Rayleigh. El proble-ma de fast fading provoca errores en la recepcion de bits. Para solucionarlo, WCDMAimplementa las siguientes medidas:

1. La energıa dispersa por el delay, es combinada usando Rake fingers (receptorescorrelacionados), designados en las posiciones de delay en donde una llega unaporcion significativa de energıa.

2. Rapido control de potencia, y la diversidad inherente que agrega el receptor Rake,ayudan a mitigar el problema del fading.

3. Fuerte codificacion de control de error, interleaving y redundancia son implemen-tados para agregar diversidad de tiempo, con el objetivo de agregar diversidadde tiempo para ayudar a la recepcion y a recuperar la senal a traves del fade.

A.1.4. Control de Potencia

El rapido y ajustado control de potencia es quizas la caracterıstica mas importantede WCDMA. Este ocurre tanto en el uplink como en el downlink, aunque la motivacion delprimero es la mas importante.

En el uplink, debido a que los moviles operan a la misma frecuencia y solo difiere ensus respectivos codigos spreading, ocurre el llamado problema cerca-lejos de CDMA. Estese produce cuando las perdidas de potencia debido al Path-loss, de un movil que esta maslejos de la BS que otro, hace que la misma reciba mayor potencia del movil mas cercano, loque podrıa llegar a bloquear al resto que se ubica en la celda. Es por esto que la estrategiaoptima es recibir la misma potencia de todos los moviles. Este control, de lazo cerrado, sehace en funcion de la SIR (Razon Senal 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; sila relacion es en sentido contrario, se le ordena subir. Este proceso se realiza a una tasa de1.5 [kHz]. Este control opera mas rapido que la tasa a la que ocurre el Path Loss, y aunmas 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 bajaso 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 seencuentra 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 mayorpotencia debido a que los metodos de redundancia e interleaving no estan funcionando.

103

Page 116: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

!"#$%&

!"#$%& !"#$%& !"#$%&

!"#$%&

!"#$%&

DATOS

Tasa de bit Tasa de chip Tasa de chip

Código de

canalización

Código 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 delnodo-B o Estacion Base), y que basicamente controla y modifica el SIR usado como set point,ya que este varıa en el tiempo al variar las condiciones de multitrayectorias y velocidad delmovil, modificando el valor necesario para un determinado BLER (Block error rate) de unservicio.

A.1.5. Modulacion y Codigos Spreading y Scrambling

Adicional al proceso de Spreading, existe el proceso de Scrambling, que consiste enun patron de alteracion del orden de la secuencia y cuyo principal objetivo es separar loscanales entre elos terminales y las BS. Es importante destacar que este proceso no alterala tasa de chips ni el ancho de banda de la senal. La funcion especıfica del Scramblingdependera 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 comose aprecia en la figura A.5. Un spreading factor SF, como ya se dijo, se refiere a la cantidadde bits de la palabra de codigo, existiendo N codigos posibles con SF=N , donde N = 2k

con k ∈ N.

La modulacion en el uplink se basa principalmente en el esquema QPSK, en donde enel 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 identificar los canales de controlrespecto de los de datos; mientas los codigos de scrambling se utilizan para diferenciar eindividualizar a los usuarios.

En el downlink, la modulacion usada es QPSK de modo simple. Los codigos spreadingson usados para diferenciar a cada usuario, mientras que los codigos scrambling se utilizan

104

Page 117: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

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 definition 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 definition of the modulation and spreading methods. The

c1,1 = (1)

c2,1 = (1,1)

c4,1 = (1,1,1,1)

c4,2 = (1,1,−1,−1)

c4,3 = (1,−1,1,−1)

c4,4 = (1,−1,−1,1)

c2,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 identificar 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. Estenacio como una extension de WCDMA, con el objetivo de ser una tecnologıa orientada alintercambio de datos (paquetes), y que satisfaciera las creciente demanda de altas tasas debits o throughput. Para lograrlo, tomando como base los fundamentos de WCDMA, posee3 caracterısticas clave:

Adaptacion del enlace.

Rapido Scheduling y programacion.

Retransmicion en la capa fısica (HARQ).

Estas caracterısticas 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 Fısicos

La implementacion de HSDPA implica agregar 3 canales nuevos, uno de trafico dedatos en download (HS-DSCH), uno de control o senalizacion en en enlace de bajada (HS-SCCH), y uno de control o senalizacion en el enlace de subida (HS-DPCCH). Ademas, estosdeben estar funcionando en paralelo con el canal de trafico dedicado de WCDMA (DCH),ya que es imprecindible en el normal desempeno de HSDPA.

A continuacion se listan algunas de sus principales caracterısticas:

105

Page 118: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

actual implementation. For those interested in the historical reasons for DSCH use

please refer to [1] and the references therein for further details.

The FACH is 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 specific 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 fixed 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 fixed a spreading factor in the

downlink with fixed 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 reconfigure the code used for the DCH, but that is too slow to react to

changes in the traffic. 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 2Mbps 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

HS-SCCH

HS-DSCHHS-DPCCHDCH (DPCCH/DPDCH)Node B

Figure 4.1 Channels needed for HSDPA operation in Release 5.Figura A.6: Esquema de los canales fısicos relevantes en HSDPA

DCH

Perteneciente a Release 99’ (WCDMA).

Siempre debe coexistir en forma paralela a HSDPA.

Si hay trafico de PS (conmutacion de paquetes), sirve a lo mas como senalizacion.

Cuando existe trafico de conmutacion de circuitos, se envıa por este canal.

Transporta el trafico de datos en uplink de HSDPA.

Tiene un spreading factor fijo durante la conexion.

Codigo reconfigurable mediante senales 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 fijo.

Solo usa turbo codigos para control de error.

106

Page 119: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

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 fijo.

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 comocategorıa, Eb/No etc..

A.2.2. Adaptacion del enlace y throughput

La adaptacion del enlace y throughput es una de las caracterısticas mas importantesde HSDPA. Cada 2 [ms] decide el tipo de modulacion y la tasa de codigo a la cual se va atransmitir, en base al indicador CQI (Channel Quality Indicator). Este indicador entregaindicios acerca del estado de la calidad del enlace o canal; en la practica es un numero del 1 al31, el cual indica el largo del bloque que es posible decodificar con una probabilidad de exitodel 90 %. Un ejemplo de su funcionamiento se observa en la figura A.7. Una informacionimportante tambien es la que entrega el canal de control en cuanto a si el terminal soportao no la configuracion que se le desea entregar.

Con esta informacion, entonces, la tasa efectiva de datos que presenta un terminal enla capa fısica depende de los factores:

107

Page 120: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

0 20 40 60 80 100 120 140 160-2

024

6

8

10

121416

QPSK1/4

QPSK2/4

QPSK3/4

16QAM2/4

16QAM3/4

Inst

anta

neo

us

EsN

o [

dB

]

Inst

anta

neo

us

Es/

No

[dB

] !"#$%&!"#$%&!"#$%& !"#$%&!"#$%&

!"#$%&!"#$%&

!"#$%&!"#$%&

!"#$%&

!"#$%&

EUROPAEURO

EUROPA

C/I recibido por

UE

C/I varía con

desvanecimiento

Modo

adaptación

de enlace

BTS ajusta modo adaptación 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

Numero de codigos en uso.

Modulacion.

Tasa efectiva de codificacion (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 numero de codigos paralelos que soportan, lo que se traduce aque no todos los MS’s pueden acceder al mismo throughput. Es por ello que se clasifican en12 categorıas, cuyo detalle se puede ver en la tabla A.1.

108

Page 121: cf-perez_pa

APENDICE A. ANTECEDENTES TECNOLOGICOS

Categorıa Maximonumerode codigosparalelos porHS-DSCH

Intervalomınimointer-TTI

Bits detransportepor TTI

Tipo deARQ a tasamaxima

Maximotroughput

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: Caracterısticas de las categorıas de los terminales.

109

Page 122: cf-perez_pa

Apendice B

Codigos

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

Page 123: cf-perez_pa

APENDICE B. CODIGOS

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

Page 124: cf-perez_pa

APENDICE B. CODIGOS

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 numero 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

Page 125: cf-perez_pa

APENDICE B. CODIGOS

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

Page 126: cf-perez_pa

APENDICE B. CODIGOS

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

Page 127: cf-perez_pa

APENDICE B. CODIGOS

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

Page 128: cf-perez_pa

APENDICE B. CODIGOS

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

Page 129: cf-perez_pa

APENDICE B. CODIGOS

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

Page 130: cf-perez_pa

APENDICE B. CODIGOS

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

Page 131: cf-perez_pa

APENDICE B. CODIGOS

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

Page 132: cf-perez_pa

APENDICE B. CODIGOS

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

Page 133: cf-perez_pa

APENDICE B. CODIGOS

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 1’s

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

Page 134: cf-perez_pa

APENDICE B. CODIGOS

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 calculo 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

Page 135: cf-perez_pa

APENDICE B. CODIGOS

%%%%%%%%%%%%%%% 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+H1i,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 calculo 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

Page 136: cf-perez_pa

APENDICE B. CODIGOS

h=zeros(1,2); % Variable que guardara la suma de cada tap

h_eq=0; % h final entregado

for j=1:taps

h=h+H1i,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. Codigos Modificados

A continuacion se presentan las versiones modificadas de los codigos utilizadas tantopara el paquete CVX, como para el WIM2 Model. En el siguiente orden, se entregan loscodigos: 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

Page 137: cf-perez_pa

APENDICE B. CODIGOS

%

% 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