95
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIER ´ IA, CIENCIAS F ´ ISICAS Y MATEM ´ ATICA CARRERA DE INGENIER ´ IA MATEM ´ ATICA APLICACI ´ ON DE LA PROGRAMACI ´ ON LINEAL PARA PROBLEMAS DE ASIGNACI ´ ON. TRABAJO DE GRADUACI ´ ON PREVIO LA OBTENCI ´ ON DEL T ´ ITULO DE INGENIERA MATEM ´ ATICA AUTOR: PATRICIA CAROLINA CANDO MOLINA TUTOR: MAT. JUAN CARLOS GARC ´ IA NAVAS, MSC. QUITO - 24 DE ABRIL 2017

UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERIA,CIENCIAS FISICAS Y MATEMATICA

CARRERA DE INGENIERIA MATEMATICA

APLICACION DE LA PROGRAMACION LINEALPARA PROBLEMAS DE ASIGNACION.

TRABAJO DE GRADUACION PREVIO LA OBTENCION DEL TITULODE INGENIERA MATEMATICA

AUTOR: PATRICIA CAROLINA CANDO MOLINA

TUTOR: MAT. JUAN CARLOS GARCIA NAVAS,MSC.

QUITO - 24 DE ABRIL2017

Page 2: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

ii

Page 3: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

iii

Page 4: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Urkund Analysis Result Analysed Document: 20170223 Patricia Cando.pdf (D26372425)Submitted: 2017-03-13 20:29:00 Submitted By: [email protected] Significance: 3 %

Sources included in the report:

Chavi Gupta12.pdf (D22204074) 20115022006-SRINIVASAN R TS.pdf (D21434897) http://www.mate.unlp.edu.ar/practicas/66_13_0804200912835.pdf https://www.uam.es/personal_pdi/ciencias/fchamizo/posgrado/masterzumalacarregui.pdf

Instances where selected sources appear:

7

U R K N DU

iv

Page 5: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

v

Page 6: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

vi

Page 7: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Dedicatoria

A mi madre por sus ensenanzas, valor para enfrentar la vida y apoyo

incondicional en cada paso.

A mis hermanos por creer en mı siempre.

Rosa Molina

Santiago y Henry Cando.

vii

Page 8: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Agradecimiento

A Dios por ser el motor que me ha impulsado a seguir adelante.

Agradezco a mi familia y a Esteban por motivarme a cumplir mis metas.

Finalmente, a quienes fueron de gran ayuda para realizar este trabajo

Mat. Enrique Balseca

Mat. Juan Carlos Garcıa, Msc.

viii

Page 9: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

CONTENIDO

Dedicatoria VII

Agradecimiento VIII

Resumen XI

Abstract XII

Introduccion 1

Descripcion del problema 1

1. Fundamentos teoricos 5

1.. Espacio vectorial Rn . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.. Espacio vectorial de matrices . . . . . . . . . . . . . 6

1.2.. Fundamentos algebraicos . . . . . . . . . . . . . . . . 7

2.. Teorıa de conjuntos convexos en Rn . . . . . . . . . . . . . 8

2.1.. Conjuntos convexos y funciones convexas. . . . . . 8

2.2.. Conjuntos poliedros y conos convexos. . . . . . . . 13

2.3.. Puntos extremos y direcciones extremas. . . . . . . 14

2.4.. Teorema de Farkas. . . . . . . . . . . . . . . . . . . . 16

3.. Programacion lineal . . . . . . . . . . . . . . . . . . . . . . . 18

3.1.. Soluciones basicas factibles. . . . . . . . . . . . . . . 22

3.2.. Mejoramiento de una solucion basica factible. . . 30

3.3.. Formato tableau del Metodo Simplex. . . . . . . . 33

3.4.. Condiciones de Kuhn-Tucker para las

restricciones de desigualdades. . . . . . . . . . . . . 34

ix

Page 10: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

4.. Dualidad y sensibilidad . . . . . . . . . . . . . . . . . . . . 35

4.1.. Relaciones primal-dual. . . . . . . . . . . . . . . . . . 37

4.2.. Interpretacion economica del dual. . . . . . . . . . . 39

4.3.. Analisis de sensibilidad. . . . . . . . . . . . . . . . . 40

4.4.. Analisis parametrico. . . . . . . . . . . . . . . . . . . 43

5.. El problema de asignacion . . . . . . . . . . . . . . . . . . . 45

2. Metodologıa 47

1.. Formulacion del modelo general . . . . . . . . . . . . . . . 47

1.1.. Variables de decision. . . . . . . . . . . . . . . . . . . 48

1.2.. Formulacion matematica de las restricciones. . . . 48

1.3.. Funcion objetivo . . . . . . . . . . . . . . . . . . . . . 49

2.. Modelo particular . . . . . . . . . . . . . . . . . . . . . . . . 49

2.1.. Recoleccion de datos. . . . . . . . . . . . . . . . . . . 49

3.. Formulacion verbal y matematica del modelo . . . . . . . 52

3.1.. Modelo docente-materia . . . . . . . . . . . . . . . . 52

3.2.. Modelo materia-sala y hora. . . . . . . . . . . . . . . 53

3.3.. Funcion objetivo . . . . . . . . . . . . . . . . . . . . . 54

3. Implementacion 55

1.. Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2.. Relaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.. Casos Crıticos . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.. Ejemplo Lindo . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4. Conclusiones y recomendaciones 70

Bibliografıa 71

Anexos 73

Anexos 73

x

Page 11: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

RESUMEN

APLICACION DE LA PROGRAMACION LINEAL PARA

PROBLEMAS DE ASIGNACION

Autor: Patricia Carolina Cando Molina

Tutor: Juan Carlos Garcıa Navas, Msc.

La asignacion de horarios en el presente trabajo sera tratado como un

problema de programacion lineal, donde se deben respetar las condiciones y

requerimientos que existen entre las variables que intervienen en el problema.

Para la obtencion de una solucion optima se utilizo la herramienta LINDO 6.1

y se realizo un analisis de sensibilidad que permite encontrar un rango en el

que dicha solucion siga siendo valida.

PALABRAS CLAVE: ANALISIS DE SENSIBILIDAD / ASIGNACION

DE HORARIOS / PROBLEMA DE ASIGNACION / PROGRAMACION

LINEAL / RESTRICCIONES DEBILES Y FUERTES / SOLUCION

OPTIMA.

xi

Page 12: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

ABSTRACT

IMPLEMENTATION OF LINEAR PROGRAMMING FOR

ASSIGNMENT PROBLEMS

Author: Patricia Carolina Cando Molina

Tutor: Juan Carlos Garcıa Navas, Msc.

In this paper, the assignment of timetables will be treated as a problem of

linear programming, where certain conditions and requirements of the existing

variables must be met. In order to obtain an optimum solution, it was used

LINDO 6.1, and it was carried out a sensitivity analysis that allows to find a

range in which said solution is still valid.

KEYWORDS: SENSITIVITY ANALYSIS / ASSIGNMENT OF

TIMETABLES / ASSIGNMENT PROBLEM / LINEAR PROGRAMMING

/ WEAK AND STRONG RESTRICTIONS / OPTIMUM SOLUTION.

xii

Page 13: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Introduccion

La programacion horaria se puede considerar un problema de asignacion

de recursos a tareas. Instituciones como: colegios, escuelas, universidades,

hospitales, entre otros. se ven afectados por factores como el entorno y las

caracterısticas propias que la determinan.

Este tipo de problemas han sido propuestos y resueltos en una gran variedad

de trabajos usando diferentes metodos. El trabajo presentado a continuacion

estudia la problematica en la escuela de matematicas de una Institucion de

Educacion Superior1 y el metodo descrito en las paginas siguientes consiste en la

formulacion de un modelo matematico y una funcion objetivo a maximizar, para

lo cual se busca dar un fundamento teorico en el Capıtulo 1, donde se desarrollan

definiciones, teoremas, demostraciones relacionadas con la programacion lineal

y el problema de asignacion, seguido se plantea en el Capıtulo 2 un modelo

general y particular para la asignacion de horarios, se describe los recursos

humanos, materiales, requerimientos y condiciones impuestas por la escuela,

de manera verbal y matematica.

En el Capıtulo 3, se presenta el procedimiento que sigue para la asignacion de un

docente a las materias a dictar y horarios de disponibilidad, la implementacion

del modelo en una herramienta computacional, resultados y organizacion de la

informacion obtenida. Se presenta en este capıtulo tambien casos crıticos, como

que existan mas salas que materias y mas materias que salas a asignar.

En el Capıtulo 4, se observan una serie de recomendaciones y conclusiones para

el desarrollo de un trabajo futuro. Para finalizar, en Anexos se presenta una

guıa para el uso de la herramienta del administrador.

1La informacion de la Institucion de Educacion Superior se conservaran de maneraanonima.

1

Page 14: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Descripcion del problema

Problematica general

En cada perıodo de clases las instituciones de educacion se enfrentan al

problema de asignar horarios, salones para sus estudiantes y las materias que

se dictan.

Con el objeto de analizar, realizar y promover la investigacion y solucion

de horarios automatizados, en Europa se formo el grupo WATT (Working

group on Automated Timetabling) luego de la primera conferencia internacional

“Practice and Theory of Automated Timetabling” en 1995 (PATAT’95); el grado

de dificultad de estos problemas radica en las restricciones que existen para cada

modelo.

Entre las tecnicas de resolucion para este tipo de problemas se

evidencian: programacion lineal, programacion lineal entera [[22],[1]], Simulated

Annealing(enfriamiento simulado) [18], algoritmos geneticos [11], algoritmos

evolutivos [6], Busqueda Tabu [19], entre otros metodos. Luego de multiples

investigaciones y uso de diferentes tecnicas, se determina que la programacion

lineal es la mas adecuada para resolver el problema de asignacion de horarios,

ademas de, ser la mas tradicional.

La programacion lineal se adapta a multiples tipos de la actividad humana.

Las primeras investigaciones de operaciones comenzaron a inicio de la Segunda

Guerra Mundial. Debido a los esfuerzos belicos existıa una necesidad urgente

de asignar recursos como energıa, armamento y cualquier tipo de suministro

escaso en las distintas operaciones y actividades militares, en la forma mas

eficiente. En junio de 1947 un equipo de la Fuerza Aerea de Estados Unidos

denominado SCOOP (Scientific Computation of Optimum Programs) inicio con

la formulacion, analisis y solucion del problema lineal dando como resultado a

1

Page 15: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

fines de verano de ese mismo ano el metodo Simplex desarrollado por George

B. Dantzig. Enseguida, el interes por la programacion lineal crece entre las

instituciones, expertos y no expertos, cientıficos.

En el ano 1951 T. C. Koopmans en el libro “ Activity Analisys of Production

and Allocation: Proceeding of a conference” recoge los trabajos presentados en

la conferencia de 1949 por George B. Dantzig.

Luego de la publicacion del Metodo Simplex se recibieron cuantiosos aportes

para fundamentar y desarrollar la programacion lineal. Otras herramientas que

se desarrollaron entre 1950 y 1960 fueron la programacion entera, programacion

dinamica, teorıa de inventarios, metodo de transporte y teorıa de colas.

La programacion lineal maximiza o minimiza funciones lineales sujetas a una

serie de restricciones tambien lineales y sus fundamentos basicos se basan en la

teorıa de los espacios vectoriales. A pesar de ser muy restrictiva por la condicion

de linealidad se cuenta con modelos generales y herramientas informaticas que

ayudan a su resolucion.

Entre los problemas clasicos de la programacion lineal esta el problema de

asignacion el cual es un caso especial del problema de transporte(formulado

formalmente en 1941 [13]).

El problema de asignacion surge en la busqueda de la mejor asignacion de

un conjunto de personas a un conjunto de trabajos; los trabajadores reciben

una puntuacion de acuerdo a los puestos de trabajo, lo cual permite o no

la asignacion al puesto y donde a cada elemento del primer conjunto le

corresponde un solo elemento del segundo conjunto. Se realizan una serie

de trabajos independientes del problema de asignacion en terminos de la

programacion lineal y las ventajas de su desarrollo computacional usando el

problema dual lineal de Flood, J. Robinson, Votaw, and Orden, Dantzig, von

Neumann entre otros [14], antes de presentar en 1955 Harold W. Kuhn el

algoritmo basado en la teorıa de grafos que utiliza la dualidad del programa

lineal, el mismo que se fundamento en los trabajos de dos matematicos hungaros

Konig and Egervary [9] y de allı se deriva su nombre Metodo Hungaro.

Existen varios metodos de resolver el problema de asignacion: el

2

Page 16: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Metodo Simplex, Algoritmo de Transporte, Ramificacion y Acotacion

(Branch-and-Bound)[5], Metodo del Simplex Dual, Metodo Hungaro, entre

otros. El problema de asignacion se utiliza para resolver diversas situaciones,

por ejemplo la asignacion de horarios.

La programacion horaria o Timetabling se relaciona con la distribucion de una

serie recursos humanos, de tiempo y espacio, de tal manera que se respeten

condiciones y requerimientos que existan entre ellas. Los requerimiento o

condiciones se clasifican en restricciones duras las cuales se deben cumplir

obligatoriamente y blandas que no son obligatorias pero se deben cumplir en

la manera de lo posible [15].

En el problema de asignacion de horarios educativos, tenemos una clasificacion

en tres grandes tipos [21]:

Horarios de clases para escuelas (School Timetabling).

Horarios de clases para instituciones de educacion superior o

universidades (Course Timetabling).

Horarios de evaluaciones y examenes (Examination Timetabling).

Formulacion del problema

Generacion de horarios de clases semestral en la escuela de matematicas de una

Institucion de Educacion Superior.

Limitaciones

La automatizacion del modelo general.

Justificacion

Evidenciando la problematica actual de la escuela de matematicas al momento

de realizar la programacion horaria semestral se busca dar una solucion optima

3

Page 17: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

que satisfaga los requerimientos y condiciones impuestos. Actualmente, la

escuela cuenta con un metodo de asignacion manual que suele ser demoroso

y su solucion puede estar sujeta a fallas e incumplimiento de los requerimientos

basicos. En este trabajo se propone hacer uso de un modelo de programacion

lineal que cumpla con los requerimientos solicitados y minimice el tiempo de

asignacion de los horarios de clases.

Objetivos

Objetivo general.

Aplicar la programacion lineal en la asignacion docentes a materias y sesiones

de clases en una Institucion de Educacion Superior en la escuela de matematicas

en el semestre 2016-2017.

Objetivos especıficos.

Elaborar un esquema teorico-practico a partir de los datos proporcionados

por la escuela de matematicas.

Facilitar la busqueda de una solucion factible en la asignacion de docentes,

materias y horas.

Disminuir el tiempo requerido para la realizacion de la planificacion

horaria.

4

Page 18: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

CAPITULO 1

Fundamentos teoricos

En el capıtulo que se presenta a continuacion se detallan los fundamentos

teoricos, del presente trabajo, tal como se enuncia:

En primer lugar, el espacio vectorial Rn y algunas propiedades, en lo sucesivo

se desarrollaran los conceptos en este espacio. En la teorıa de convexos se

expondran teoremas que brindan importantes resultados teoricos.

En un segundo bloque se expone cuestiones sobre la programacion lineal desde

sus principios basicos, teoremas que la caracterizan, relaciones con el dual,

mejoramiento de soluciones, entre otros.

Finalmente, se estudia cuestiones sobre los analisis de sensibilidad, parametrico

y la definicion del problema de asignacion.

1. Espacio vectorial Rn

Sea n un numero natural, se define:

Rn = {(x1, x2, ..., xn); xi ∈ R, i = 1, ..., n}, (1.1)

es decir, Rn es el conjunto de elementos x = (x1, x2, ..., xn), donde cada xi ∈ R,

i = 1, ..., n; a estos elementos se los denominada n-uplas ordenadas.

Se definen sobre este conjunto:

Igualdad: Sean x, y ∈ Rn, entonces x = y ⇐⇒ xi = yi, i = 1, ..., n.

Suma: Sean x, y ∈ Rn, entonces x+ y = (x1 + y1, ..., xn + yn).

Multiplicacion por un numero real: Sean a ∈ R, x, y ∈ Rn, entonces

5

Page 19: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

ax = (ax1, ..., axn).

Propiedades

1. Conmutativa: Sean x, y ∈ Rn:

x+ y = y + x.

2. Asociativa: Sean x, y, z ∈ Rn:

(x+ y) + z = x+ (y + z).

3. Elemento neutro, es la n−upla (0, ..., 0)

4. Inverso aditivo: Sea x ∈ Rn, entonces su elemento inverso es −x.

1.1. Espacio vectorial de matrices

Sean m, n numeros naturales. Una matriz mxn sobre un cuerpo R, es una tabla

ordenada de valores aij ∈ R, i = 1, ...,m, j = 1, ..., n de la forma:

a11 a12 ... a1n

a21 a22 ... a2n...

.... . .

...

am1 am2 ... amn

Al conjunto de todas las matrices reales mxn se denota por Mmxn(R) y se

define como:

Mmxn(R) = {A = (aij)mxn; aij ∈ R i = 1 , ..., m, j = 1 , ..., n.}

Las operaciones en Mmxn(R):

1. Igualdad: Sean A = (aij)mxn, B = (bij)mxn ∈Mmxn(R),

A = B ⇐⇒ aij = bij, i=1, ..., m, j=1, ..., n.

6

Page 20: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

2. El producto de un escalar k por la matriz A = (aij)mxn, escrito kA es:

kA = k(aij)mxn = (kaij)mxn

3. Sean A = (aij)mxn, B = (bij)mxn ∈Mmxn(R),

A+B = (aij)mxn + (bij)mxn = (aij + bij)mxn.

Teorema 1. [16]) Para las matrices arbitrarias A, B, C ∈ Mmxn[R] y

escalares cualesquiera k1, k2 ∈ R,

i) (A+B) +C = A+ (B +C).

ii) A+ 0 = 0 +A = A.

iii) A+ (−A) = 0.

iv) A+B = B +A.

v) k1 (A+B)=k1 A+k1B.

vi) (k1 + k2)A=k1A+k2A.

vii) (k1k2)A=k1(k2A).

viii) 1· A = A y 0A=0.

1.2. Fundamentos algebraicos

1. Sea x = (x1, x2, ..., xn).

• Se dice que x ≥ 0 si y solo si xi ≥ 0 para todo i = 1, ..., n.

• Se dice que x > 0 si y solo si xi > 0 para todo i = 1, ..., n.

2. Equivalencias para las desigualdades:

• Ax ≤ b ⇐⇒ −Ax ≥ −b.

• Ax ≥ b ⇐⇒ −Ax ≤ −b.

7

Page 21: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

3. Una desigualdad puede transformarse en una igualdad si anadimos una

variable xh ≥ 0, llamada variable de holgura:

• Si a la desigualdad∑n

i=1 ajixi ≤ bj, se le anade la variable de

holgura con signo positivo. Se obtiene:∑ni=1(ajixi + xhj) = bj, xhj ≥ 0,

para i = 1, ..., n y j = 1, ..., m.

• Si a la desigualdad∑n

i=1 ajixi ≥ bj, se le anade la variable de

holgura con signo negativo. Se obtiene:∑ni=1(ajixi − xhj) = bj , xhj ≥ 0,

para i = 1, ..., n y j = 1, ..., m.

4. La ecuacion de la forma∑n

i=1 ajixi = bj, se puede transformar en dos

desigualdades:

n∑i=1

ajixi ≥ bj,

n∑i=1

ajixi ≤ bj.

5. Una variable xi, i = 1, ..., n no-condicionada es aquella que puede tomar

cualquier valor negativo, cero y positivo.

Se representa por xi = x′i − x′′i , donde x′i ≥ 0 y x′′i ≥ 0.

6. Maximo de f(x) es igual al mınimo −f(x).

Mınimo de f(x) es igual al maximo −f(x).

2. Teorıa de conjuntos convexos en Rn

2.1. Conjuntos convexos y funciones convexas.

Definicion 1. Un conjunto C ⊆ Rn es convexo si para todo x, y ∈ C y

0 ≤ λ ≤ 1 se cumple:

λx + (1− λ)y ∈ C. (1.2)

8

Page 22: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Definicion 2. (Combinacion lineal convexa) Un punto x ∈ Rn tal que:

x =n∑i=1

λixi

λi ≥ 0

n∑i=1

λi = 1.

(1.3)

es una combinacion lineal convexa no-negativa de n puntos de Rn.

Observe que (1.2) cumple con la definicion anterior, entonces es una

combinacion lineal convexa no-negativa.

Interpretacion geometrica

Geometricamente significa que el segmento entre x1 y x2 pertenece al conjunto.

Figura 1.1: Ilustracion de conjuntos convexos

Definicion 3. (Casco convexo) Sea C ⊆ Rn (no necesariamente convexo)

se denomina casco convexo de C denotado por H(C) a la coleccion de todas las

combinaciones lineales convexas de C.

Observacion 1. Sea C ⊆ Rn cualquiera entonces H(C) es un conjunto

convexo.

Sea C ⊆ Rn un conjunto convexo si y solo si H(C)=C.

Definicion 4. (Politopos) Un politopo en Rn es el casco convexo de un

numero finitos de puntos x1, x2,..., xk+1. Si los vectores x2−x1, x3−x1,...,

xk+1 − x1 son linealmente independientes, entonces H(x1,x2, ..., xk+1) es

llamado simplex de vertices x1, x2,..., xk+1.

9

Page 23: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 1.2: Ejemplos de casco convexo

Figura 1.3: Ejemplos de un politopo y un simplex.

Teorema 2. (Teorema Caratheodory [3]) Sea C un conjunto arbitrario de

Rn. Si x ∈ H(C), x ∈ H(x1,x2, ..., xn+1), donde xi ∈ C para i = 1, ..., n+1.

En otras palabras, x puede representarse como:

x =n+1∑i=1

λixi

n+1∑i=1

λi = 1

λi ≥ 0, i = 1, ..., n+ 1

xi ∈ C, i = 1, ..., n+ 1.

(1.4)

10

Page 24: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Demostracion. Sea x ∈ H(C) se tiene

x =k∑i=1

λixi

k∑i=1

λi = 1

λi ≥ 0, i = 1, ..., k

xi ∈ C, i = 1, ..., k.

Si k ≤ n+ 1 el resultado ya se tiene.

Si k > n + 1. Sin perdida de generalidad, se supone λi 6= 0 para i = 1, ..., k

pues si se tiene λi = 0 para algun i, x serıa combinacion convexa de k − 1

vectores; es decir, se escoge la combinacion convexa de k vectores lo menor

posible.

Ademas, los k − 1 vectores x2 − x1, x3 − x1, ..., xk − x1 son linealmente

dependientes (pues la dimension del espacio es n y k − 1 > n), luego existen

escalares µ1, µ2, ..., µk no todos ceros tales que∑k

i=2 µi(xi − x1).

Sea µ1 = −∑k

i=2 µi.

Luego,∑k

i=1 µixi = 0 y∑k

i=1 µi = 0 no todos ceros.

Note que al menos algun µi > 0. Entonces

x =k∑i=1

λixi + 0 =k∑i=1

λixi − αk∑i=1

µixi =k∑i=1

(λi − αµi)xi,

para todo α real.

Ahora se elige α como sigue:

α = mın1≤i≤k

{λiµi

;µi > 0

}=λjµj

> 0,

para algun j = 1, ..., k.

Observe, si µi ≤ 0 entonces λi − αµi > 0, y si µi > 0 entoncesλiµi≥ λjµj

= α y

por tanto, λi−αµi ≥ 0 para todo i = 1, ..., k. En particular, λj −αµj = 0 por

definicion de α.

Ası, x =∑k

i=1(λi − αµi)xi donde λi − αµi ≥ 0 y∑k

i=1(λi − αµi) = 1, para

11

Page 25: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

i = 1, ..., k.

Es decir, x es combinacion convexa de a lo mas k−1 vectores pues el coeficiente

j -esimo es nulo.

Repitiendo el argumento hasta que x sea representado como una combinacion

convexa de n+ 1 puntos en C. Bazaraa, Sherali y Shetty (2006).

Definicion 5. (Hiperplano) Un hiperplano H en Rn es un conjunto:

H = {x ∈ Rn; px = k : k ∈ R, p ∈ Rn} (1.5)

p usualmente se denomina el vector normal de H.

Proposicion 1. El hiperplano H es un conjunto convexo.

Definicion 6. (Semiespacios) Asociados a un hiperplano H, existen dos

semiespacios:

H− = {x ∈ Rn; px ≤ k : k ∈ R, p ∈ Rn}. (1.6)

H+ = {x ∈ Rn; px ≥ k : k ∈ R, p ∈ Rn}. (1.7)

Propiedades

1. H−⋂H+ = H.

2. H−⋃H+ = Rn.

Proposicion 2. Los semiplanos H− y H+ asociados al hiperplano H son

conjuntos convexos.

Observacion 2. El conjunto solucion del sistema de las desigualdades

lineales

S = {x ∈ Rn; Ax ≤ b : A ∈ Rmxn, b ∈ Rm},

es convexo.

El conjunto solucion del sistema de desigualdades lineales

S = {x ∈ Rn; Ax ≥ b : A ∈ Rmxn, b ∈ Rm},

es un conjunto convexo.

12

Page 26: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Definicion 7. Sea C ⊆ Rn un convexo no vacıo. La funcion f : C −→ R es

convexa, si para cualquier x, y ∈ C y para cada λ ∈ [0, 1],

f(λx+ (1− λ)y) ≤ λf(x) + (1− λ)f(y). (1.8)

La funcion f es llamada estrictamente convexa si la ecuacion 1.8 es una

inecuacion estricta, con λ ∈ (0, 1). La funcion f : C −→ R es llamada concava

(estrictamente concava) sobre C si−f es convexa (estrictamente convexa) sobre

C.

Figura 1.4: Funcion convexa.

2.2. Conjuntos poliedros y conos convexos.

Definicion 8. (Conjunto poliedro) Un conjunto poliedro es una interseccion

finita de semiespacios y puede ser representado como un conjunto de la forma

P = {x ∈ Rn; Ax ≤ b} con A ∈Mmxn(R) y b ∈ Rm.

Observacion 3. 1. P ′ = {x ∈ Rn; Ax ≥ b} con A ∈Mmxn(R) y b ∈ Rm

es un poliedro.

2. P ′ = {x ∈ Rn; Ax = b, x ≥ 0} con A ∈ Mmxn(R) y b ∈ Rm es un

poliedro.

3. Todo poliedro es un conjunto convexo.

Definicion 9. (Cono) Sea C un conjunto cualquiera de Rn es un cono convexo

con vertice cero si para todo x ∈ C y λ ≥ 0 se tiene que λx ∈ C.

13

Page 27: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Si en la definicion anterior C es un conjunto convexo, C se denomina cono

convexo.

Figura 1.5: Ejemplos de cono convexo y no convexo.

2.3. Puntos extremos y direcciones extremas.

Definicion 10. (Punto extremo) Sea C un conjunto convexo de Rn se

denomina punto extremo de C sino puede expresarse como una combinacion

lineal convexa no negativa de dos puntos distintos del conjunto convexo. Es

decir, sean x1 y x2 en C tal que x = αx1 + (1−α)x2 para algun α, 0 < α < 1

entonces x = x1 = x2.

Sea C el politopo generado por {(00

),(11

),(13

),(−2

3

),(−1

2

)}:

El conjunto de puntos extremos de C, {(00

),(11

),(13

),(−2

3

)}.

El casco convexo de C,

H(C) =

x ∈ R2 :

1 −1

0 1

1 0

−3

2−1

x ≤

0

3

1

0

Definicion 11. (Direcciones) Sea C un conjunto convexo de Rn, se dice

que el vector d 6= 0 es una direccion de C si {x0 + λd; λ ≥ 0, ∀x0 ∈ C}

tambien pertenece al conjunto.

Dos direcciones d1 y d2 de C son llamados distintos si d1 6= αd2 para cualquier

14

Page 28: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 1.6: Conjunto de puntos extremos de C.

α > 0.

Definicion 12. (Direcciones extremas) Una direccion d es una direccion

extrema en un conjunto convexo C de Rn sino se puede expresar de la forma

d = λ1d1 + λ2d2 con λ1, λ2 > 0 y donde d1, d2 direcciones distintas.

Figura 1.7: Ejemplo de direcciones extremas.

Proposicion 3. Sea C un conjunto convexo no vacıo en Rn,

C =

Ax = b

x ≥ 0,(1.9)

entonces d es un vector direccion en C si y solo si d 6= 0, Ad = 0 y d ≥ 0.

Similarmente, se obtiene el resultado si se reemplaza Ax = b por Ax ≥ b

(Ax ≤ b) y Ad = 0 por Ad ≥ 0 (Ad ≤ 0).

15

Page 29: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

2.4. Teorema de Farkas.

Teorema 3. (Teorema Hahn-Banach [3]) Sea C un conjunto cerrado

convexo no vacıo en Rn y y 6∈ C. Entonces existe un vector no cero p y un

escalar α tal que

py > α

px ≤ α, ∀x ∈ C.(1.10)

Figura 1.8: H es el hiperplano separador entre C e y.

Teorema 4. (Teorema de Farkas [3]) Sea A una matriz mxn y c un

n-vector. Entonces exactamente uno de los siguientes sistemas tiene solucion:

Sistema 1: Ax ≤ 0 y cx > 0 para algun x ∈ Rn.

Sistema 2: ATy=c y y ≥ 0 para algun y ∈ Rm.

Demostracion. Suponga que el Sistema 2 tiene una solucion; es decir, existe

y ≥ 0 tal que ATy=c. Se demostrara que el Sistema 2 no tiene solucion.

Sea x tal que Ax ≤ 0. Entonces cx = yTAx ≤ 0 por lo tanto el Sistema 1 no

tiene solucion.

Ahora, suponga que el Sistema 2 no tiene solucion, se demostrara que el Sistema

1 tiene solucion.

Defina el conjunto S = {x;x = ATy, y ≥ 0}. Note que S es un conjunto

convexo cerrado y que c 6∈ S pues el Sistema 2 no tiene solucion. Por el

Teorema 3, existe un vector p ∈ Rn y un escalar α tal que pc > α y px ≤ α

para todo x ∈ S.

Debido a que, 0 ∈ S, entonces α ≥ 0 y ası pc > 0. Tambien

16

Page 30: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

α ≥ px = p(ATy) = (ATy)Tp = yTAp, para todo y ≥ 0.

Puesto que, y ≥ 0 se puede hacer arbitrariamente grande, la ultima desigualdad

implica que Ap ≤ 0.

Por tanto, se construyo un vector p ∈ Rn tal que Ap ≤ 0 y pc > 0. Ası, el

Sistema 1 tiene una solucion, y la prueba esta completa. Bazaraa, Sherali y

Shetty (2006).

Interpretacion geometrica.

a) Denote la ith fila de A por ai, i=1,...,m. Si se considera el Sistema 1, en

el cual Ax ≤ 0 esto implica que aix ≤ 0 para todo i. Es decir, el angulo

entre x y cada fila del vector ai es mas grande que o igual a 90◦. Entonces

cx < 0 requiere que el angulo entre x y c menor que 90◦. Ademas, el Sistema

1 tiene una solucion si la interseccion del cono {x : Ax ≤ 0} y el semiespacio

{x : cx > 0} no es vacıo. La figura 1.9 muestra un caso donde el Sistema 1

tiene una solucion, con cualquier x en el area sombreada como una solucion

del Sistema 1.

b) El vector c es una combinacion lineal positiva de las columnas ai, figura

Figura 1.9: Sistema 1 tiene solucion.

1.10. Bazaraa y Jarvis(1977).

Los siguientes resultados son aplicaciones de los teoremas 3 y 4:

17

Page 31: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 1.10: Sistema 2 tiene solucion.

Corolario 1. [3] Sea A una matriz mxn y c un n-vector. Entonces exactamente

uno de los siguientes sistemas tiene solucion:

Sistema 1: Ax ≤ 0, cx > 0 y x ≥ 0 para algun y ∈ Rn.

Sistema 2: AT y = c y y ≥ 0 para algun y ∈ Rm.

Corolario 2. [3] Sea A una matriz mxn, B una matriz lxn y c un n-vector.

Entonces exactamente uno de los siguientes sistemas tiene solucion:

Sistema 1: Ax ≤ 0, Bx = 0 y cx > 0 para algun y ∈ Rn.

Sistema 2: ATy+BTz=c y y ≥ 0 para algun y ∈ Rm y z ∈ Rl.

Teorema 5. (Teorema de Gordan [3]) Sea A una matriz mxn. Entonces,

exactamente uno de los siguientes sistemas tiene solucion:

Sistema 1: Ax < 0 para algun x ∈ Rn.

Sistema 2: ATp=0, p ≥ 0, p 6= 0 para algun p ∈ Rm.

3. Programacion lineal

Es un modelo matematico disenado para resolver y analizar problemas lineales

de decision con restricciones lineales con el fin de determinar la forma

mas optima de usar los recursos disponibles, en sistemas de produccion. La

18

Page 32: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

representacion general del problema de programacion lineal (PL) que optimiza:

z = f(x) = cx (1.11)

sujeto a Ax R b (1.12)

x ≥ 0, (1.13)

donde A = (aji) ∈Mmxn(R), b=(bj) ∈ Rm, x = (xi) y c = (ci) ∈ Rn.

La funcion lineal (1.11), se denomina funcion objetivo. Los vectores c

y x se les denomina vector de precios (costos unitarios) y el vector

de produccion (variable de decision), respectivamente. Las desigualdades

(o igualdades) (1.12) se denominan restricciones, el vector b se denomina

vector de disponibilidad y la matriz A se denominan matriz de

coeficientes tecnologicos. La condicion en (1.13) se conoce como condicion

de no-negatividad.

La palabra optimizar puede significar maximizar o minimizar.

Matricialmente el problema se escribe:

Optimizar

z = (c1 c2 · · · cn)

x1

x2...

xn

(1.14)

sujeto a a11 a12 · · · a1na21 a22 · · · a2n· · · · · · · · · · · ·

am1 am2 · · · amn

x1

x2...

xn

R

b1

b2...

bm

(1.15)

x1

x2...

xn

0

0...

0

(1.16)

19

Page 33: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Otra forma de escribirlo es:

Optimizar

z =n∑i=1

cixi (1.17)

sujeto a

n∑i=1

ajixi R bj, j = 1, ..., m (1.18)

xi ≥ 0, i = 1, ..., n. (1.19)

Todas estas formas son equivalentes. Un vector x que satisface (1.12) y (1.13)

se denomina solucion factible. La region factible o espacio factible

esta constituido por todos las soluciones factibles.

Forma canonica y forma estandar

Un problema de PL se dice estandar si:

La funcion objetivo z se puede maximizar o minimizar.

Las restricciones son de igualdad.

Los elementos del vector b son no-negativos.

Todas las variables son no-negativas.

Optimizar

z = cx

sujeto a Ax = b

x ≥ 0,

donde A = (aji) ∈Mmxn(R), b = (bj) ∈ Rm, x = (xi) y c = (ci) ∈ Rn.

Un problema de PL se dice canonico si:

La funcion objetivo z, puede ser maximizar o minimizar.

Las restricciones son desigualdad de tipo ≤ (≥).

Todas las variables son no-negativas.

20

Page 34: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Optimizar

z = cx

sujeto a Ax(≤)≥ b

x ≥ 0.

donde A = (aji) ∈Mmxn(R), b = (bj) ∈ Rm, x = (xi) y c = (ci) ∈ Rn.

Condicion algebraica

Si la matriz A ∈ Mmxn(R) cumple con m < n y filas linealmente

independientes se dice que tiene el rango completo.

Si el rango de A ∈ Mmxn(R) es menor a m se dice que es un problema

degenerado.

Hipotesis de programacion lineal

Proporcionalidad. Las variables de decision, contribuyen directamente al

costo y las restricciones.

Aditividad. Se puede valorar la funcion objetivo sumando las

contribuciones que hacen cada uno de los terminos que intervienen y que

la contribucion total para una restriccion es la suma de las contribuciones

y actividades individuales.

Divisibilidad. Las variables de decision toman como valores numeros

reales, si ademas se adjunta las restricciones de no negatividad, significa

que variables de decision pueden tomar valores positivos o al menos igual

a cero.

Certidumbre. Los parametros aji, ci, bj para i = 1, ..., n y j = 1, ..., m se

mantienen constantes, es decir, no interviene una funcion de probabilidad

para obtenerlos.

21

Page 35: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

3.1. Soluciones basicas factibles.

Definicion 13. (Soluciones basicas factibles) Sea el sistema

Ax = b

x ≥ 0,

donde A ∈Mmxn(R), b un m-vector y supongase que el rango de A es m.

Consideremos una descomposicion de la matriz A de la forma [B,N ], donde

B ∈ Mmxm(R) es inversible y N ∈ Mmx(n−m)(R). El vector x =

xB

xN

se

denomina solucion basica del sistema si

xB = B−1b

xN = 0y si ademas, xB ≥ 0

entonces x =

xB

0

se llama solucion basica factible del sistema.

En la definicion anterior la matriz B se conoce como matriz basica, la matriz

N como matriz no-basicas y a los vectores xB, xN se los denominada vector

de variables basicas y vector de variables no-basicas, respectivamente.

Una solucion basica factible x =

xB

0

se denomina no-degenerada si xB >

0, caso contrario si alguna componente de xB es cero la solucion se dice que es

basica factible degenerada.

Caracterizacion de puntos extremos y direcciones extremas para

conjuntos poliedros

Teorema 6. (Caracterizacion de puntos extremos [2]) Sea

P = {x;Ax = b, x ≥ 0},

donde A ∈ Mmxn(R) es de rango m y b ∈ Rm. Un punto es una solucion

basica factible si y solo si es un punto extremo.

Demostracion. (⇐=) Suponga que la matriz A se puede descomponer en

[B,N ] con x =(B−1b

0

)y B−1b ≥ 0. Se demostrara x es un punto extremo.

22

Page 36: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Note que, Ax = [B,N ](xB

xN

)= BxB +NxN = BB−1b +N0 = b y x ≥ 0

por lo tanto, x ∈ P .

Sean x1 =(x11

x12

), x2 =

(x21

x22

)∈ P y para algun λ ∈ (0, 1) tal que

x = λx1 + (1− λ)x2(B−1b

0

)= λ

(x11

x12

)+ (1− λ)

(x21

x22

)λx11 + (1− λ)x21 = B−1b (1)

λx12 + (1− λ)x22 = 0. (2)

De la ecuacion (2) se sigue que x12 = 0, x22 = 0 puesto que, x1 ≥ 0, x2 ≥ 0.

Ademas, Ax1 = Bx11 = b y Ax2 = Bx21 = b entonces x11 = B−1b y

x21 = B−1b, por lo tanto, x1 = x2 = x. Ası, se concluye x punto extremo.

(=⇒) Suponga x es punto extremo, se demostrara que es una solucion basica

factible. Sin perdida de generalidad, se supone que

x =

x1...

xk

0...

0

,

con xj > 0 para j=1,..., k, k ≤ m.

Denote la columna k−esima de A por ak. Note que

Ax = b⇐⇒∑k

i=1 xiai = b.

Las columnas a1, ...,ak son linealmente independientes, pues suponga que

a1, ..., ak son linealmente dependientes, entonces existen λ1, ..., λk no todos

23

Page 37: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

ceros tal que∑k

i=1 λiai = 0. Sea

λ =

λ1...

λk

0...

0

.

Construya los siguientes vectores x1,x2 ≥ 0 con α > 0

x1 = x+ αλ,

x2 = x− αλ.

Luego, x =1

2x1 +

1

2x2.

Note, Ax1 =∑k

i=1(xi + αλi)ai =∑k

i=1 xiai + α∑k

i=1 λiai = Ax = b. y de

manera similar Ax2 = b. Ası, x1, x2 ∈ P . Ademas, x 6= x1, x1 6= x2 y

x2 6= x, lo cual es contradiccion con el hecho que x es un punto extremo. Por

tanto, a1, ..., ak son linealmente independientes y m − k columnas fuera de

las ultimas columnas n − k pueden ser elegidos de tal manera que, junto con

las primeras k columnas, formen un conjunto maximal de vectores linealmente

independiente.

Defina B = [a1, ..., am] invertible y N = [am+1, ..., an]. Ası, A puede

escribirse de la forma [B,N ] se tiene las siguientes equivalencias

Ax = b⇐⇒∑n

i=1 xiai = b⇐⇒∑m

i=1 xiai +∑n

i=m+1 xiai = b (*).

Si se denota x =(xB

xN

), donde

xB =

x1...

xm

≥ 0, xN =

xm+1

...

xn

=

0...

0

.

24

Page 38: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Entonces la ecuacion (*) se escribe:

BxB +NxN = b,

BxB = b,

xB = B−1b.

Bazaraa, Sherali y Shetty (2006).

Corolario 3. El numero de puntos extremos de P es finito.

Teorema 7. (Existencia de puntos extremos [3]) Sea

P = {x;Ax = b,x ≥ 0},

no vacıo, donde A ∈ Mmxn(R) es de rango m y b ∈ Rm. Entonces P tiene al

menos un punto extremo.

Demostracion. Sin perdida de generalidad, suponga que el rango de la matriz

A es m y

x =

x1...

xk

0...

0

,

con xj > 0 para j = 1, ..., k, k ≤ m.

Denote la columna k−esima de A por ak. Si a1, ..,ak son linealmente

independientes entonces x es una solucion basica factible.

Suponga que x no es una solucion basica factible luego a1, ..,ak son linealmente

dependientes, es decir, existen λ1, ..., λk no todos ceros con al menos un λj > 0,

tal que∑k

i=1 λiai = 0.

Considere el vector x′, cuya componente j−esima es

x′j =

xj − αλj, para j = 1, ..., k,

0, para j = k + 1, ..., n,

25

Page 39: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

donde α = mın1≤j≤k

{xjλj, λj > 0

}=xiλi> 0.

Si λj ≤ 0 entonces x′j > 0 para j = 1, ..., k.

Si λj > 0, por definicion de α se tiene que α =xiλi≤ xjλj

y entonces x′j ≥ 0,

pues x′j = xj − αλj = xj −xiλiλj ≥ xj −

xjλjλj = 0 para j = 1, ..., k.

Ası, x′ ≥ 0 con como maximo hay k-1 componentes positivas, es decir, la

componente x′i = 0 y

Ax′ =∑n

i=1 x′iai =

∑ni=1(xi − αλi)ai =

∑ni=1 xiai − α

∑ni=1 λiai = b.

Ası, se construyo un punto factible x′ con al menos k − 1 componentes. Si las

columnas correspondientes a estas componentes son linealmente independientes

entonces x′ es una solucion basica factible. En caso contrario, se sigue con

el procedimiento hasta encontrar una solucion basica factible. Bazaraa y

Jarvis(1977).

Teorema 8. (Caracterizacion de direcciones extremas [3]) Sea

P = {x; Ax = b, x ≥ 0},

no vacıo donde A ∈ Mmxn(R) es de rango m y b ∈ Rm. Una direccion d

es direccion extrema de P si y solo si la matriz A se puede descomponer en

[B,N], tal que B−1aj ≤ 0 para alguna columna aj de N y d es multiplo de

d =(−B−1aj

ej

), donde ej es un n − m vector de ceros excepto de un 1 en la

posicion j.

Demostracion. (⇐=) Se demostrara d es direccion extrema.

Puesto que, B−1aj ≤ 0 para alguna columna aj de N se tiene que d ≥ 0 y

Ad = [B,N ](−B−1aj

ej

)= −BB−1aj +Nej = −aj + aj = 0

Por la Proposicion 3. d es direccion de P . La direccion d es extrema, caso

contrario suponga que d no es direccion extrema, luego existen d1 y d2

direcciones en P distintas, tal que d = λ1d1 +λ2d2, para λ1, λ2 > 0. Entonces,

d1, d2 deberıan ser escritos de la forma:

26

Page 40: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

d1 =(d11

α1ej

), d2 =

(d21

α2ej

)para algun α1, α2 > 0. Puesto que, d1, d2 son direcciones de P por la

Proposicion 3. Ad1 = Ad2 = 0. Luego,

[B,N ](d11

α1ej

)= Bd11 + α1Nej = Bd11 + α1aj = 0 =⇒ d11 = −α1B

−1aj ,

[B,N ](d21

α2ej

)= Bd21 + α2Nej = Bd21 + α2aj = 0 =⇒ d21 = −α2B

−1aj ,

por tanto, d1 = d2 = d, que es la definicion de direccion extrema. Ademas,

como d es multiplo positivo de d, esta tambien es una direccion extrema.

(=⇒)Sea d una direccion extrema de P . Sin perdida de generalidad, suponga

que

d =

d1...

dk

0...

dj...

0

,

con di > 0 para i = 1, ..., k e i = j.

Denote la columna k−esima de A por ak. Las columnas a1, ..,ak son

linealmente independientes. Por contradiccion, suponga que a1, ..,ak son

linealmente dependientes, entonces existen λ1, ..., λk no todos ceros tal que∑ki=1 λiai = 0. Sea

λ =

λ1...

λk

0...

0

.

Construya los siguientes vectores d1,d2 con α > 0 suficientemente pequeno tal

27

Page 41: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

que

d1 = d+ αλ,

d2 = d− αλ

son no negativas. Note que

Ad1 = Ad+ αAλ = 0 + α∑k

i=1 λiai = 0

y de manera similar Ad2 = 0. Observe que de lo anterior y de la Proposicion 3

d1, d2 son direcciones de P . Ademas, d1, d2 son direcciones distintas (α > 0 y

λ 6= 0) tal que d =1

2d1 +

1

2d2 lo cual es una contradiccion; pues d es direccion

extrema.

Por tanto, a1, ..., ak son linealmente independientes. Claramente k ≤ m(rango

de A es m) entonces deben existir m − k vectores de entre el conjunto de los

vectores {ai; i = k + 1, ..., n, i 6= j} los cuales junto a a1, ..., ak formen un

conjunto de m-vectores linealmente independiente.

Defina, sin perdida de generalidad, B = [a1, ..., am] invertible. Ası

0 = Ad = [B,N ]d = Bd∗ + ajdj,

donde d∗ es un vector con las m primeras componentes de d.

Ademas, d∗ = −djB−1aj y por tanto el vector d es de la forma d=dj(−B−1aj

ej

).

Note que d ≥ 0 y dj > 0, B−1aj ≤ 0, y la prueba esta completa. Bazaraa,

Sherali y Shetty(2006).

Corolario 4. El numero de direcciones extremas de P es finita.

Teorema 9. (Teorema de Representacion [3]) Sea

P = {x; Ax = b, x ≥ 0},

no vacıo, donde A ∈ Mmxn(R) es de rango m y b ∈ Rm. Sean x1, ..., xk

puntos extremos de P y d1, ..., dl direcciones extremas de P. Entonces x ∈ P

28

Page 42: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

si y solo si x se puede escribir como

x =k∑i=1

λixi +l∑

i=1

µidi

k∑i=1

λi = 1 (1.20)

λi ≥ 0 i = 1, ..., k (1.21)

µi ≥ 0 i = 1, ..., l. (1.22)

Corolario 5. (Existencia de direcciones extremas [3]) Sea

P = {x ∈ Rn : Ax = b,x ≥ 0}

no vacıo, donde A ∈Mmxn(R) es de rango m. Entonces P tiene al menos una

direccion extrema si y solo si este no es acotado.

Demostracion. (=⇒) Sea d una direccion extrema en P , se demostrara P no

acotado. Puesto que d es direccion entonces

{x0 + λd;λ ≥ 0,x0 ∈ C}

pertenece a P . Note que este conjunto es de cardinalidad infinita por el valor

de λ ≥ 0,

lımλ→∞‖x0 + λd‖ =∞

por lo tanto C no puede ser acotado, pues contiene un conjunto no acotado.

(⇐=) Suponga que P no es acotado y no posee direcciones. Entonces, no

posee direcciones extremas tampoco, usando el Teorema 9, todo punto x ∈ P

puede escribirse de la forma x =∑k

i=1 λixi para algunos λi ≥ 0, i = 1, ..., k,∑ki=1 λi = 1.

Por la desigualdad triangular

‖x‖ = ‖∑k

i=1 λixi‖ ≤∑k

i=1 λi‖xi‖ ≤∑k

i=1‖xi‖ <∞,

para cualquier x ∈ P . Lo que contradice P no acotado y se concluye la

29

Page 43: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

demostracion. Bazaraa, Sherali y Shetty(2006).

Considere el siguiente problema de PL

mın z = cx

sujeto a Ax = b

x ≥ 0,

donde A ∈Mmxn(R), b ∈ Rm y x, c ∈ Rn.

Se cumplen los siguientes teoremas:

Teorema 10. [2] La coleccion de puntos extremos correspondientes a la

coleccion de soluciones basicas factibles, y ambos son no vacıas, siempre que la

region factible sea no vacıa.

Teorema 11. [2] Suponiendo que la region es no vacıa, una solucion optima

finita existe si y solo si cdj ≥ 0 para j = 1, 2, ..., l, donde d1, ..., dl son las

direcciones extremas de la region factible. De otro modo, la solucion optima es

no acotada.

Teorema 12. [2] Si una solucion optima existe, entonces un punto extremo

optimo(o equivalentemente una solucion basica factible) existe.

3.2. Mejoramiento de una solucion basica factible.

Suponga A ∈ Mmxn(R) de rango m, el conjunto region factible no vacıo y

consideremos el siguiente problema de PL

mın z = cx

sujeto a Ax = b

x ≥ 0,

donde b ∈ Rm y x, c ∈ Rn.

Supongase que el problema anterior de PL tiene una solucion basica factible(B−1b

0

), dondeA se puede descomponer de la forma [B,N ] y de manera similar

30

Page 44: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

c = (cB, cN ). El valor de la funcion objetivo es

z0 = c

(B−1b

0

)= (cB, cN )

(B−1b

0

)= cBB

−1b. (1.23)

Ahora, sea x =(xB

xN

)una solucion factible arbitraria, se tiene que

b = Ax = [B,N ]

(xB

xN

)= BxB +NxN ,

xB = B−1b−B−1NxN , (1.24)

xB, xN ≥ 0. (1.25)

El valor de la funcion objetivo para este vector es

z = cx = (cB, cN )

(xB

xN

)= cBxB + cNxN

= cB(B−1b−B−1NxN ) + cNxN

= cBB−1b+ (cN − cBB−1N )xN

= z0 − (cBB−1N − cN )xN

= z0 −∑j∈R

(cBB−1aj − cj)xj,

donde R es el conjunto de ındices de las variables no basicas. Si se denota

zj = cBB−1aj , ∀j ∈ R, se tiene

z = z0 −∑j∈R

(zj − cj)xj, (1.26)

es claro que el valor de funcion objetivo decrecera si zj − cj > 0, en este caso

sera mas ventajoso fijar cada variable no basica xj en cero, excepto una variable

no basica xk tal que max{zj − cj > 0, j ∈ R} = zk − ck y el nuevo valor de la

funcion objetivo z es

z = z0 − (zk − ck)xk. (1.27)

31

Page 45: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Reescribiendo la ecuacion (1.24), se observa que cuando crece la variable no

basica la variable basica decrece

xB = B−1b−B−1akxk.

Denote yk = B−1ak y b = B−1b

xB = b− ykxk. (1.28)

Ahora se hallara el valor maximo que puede alcanzar xk. Denote por xBi, bi,

yik a la coordenada i-esima del vector xB, b y yk, respectivamente.

1. Para los valores yik negativos, entonces xBicontinua siendo no negativa

y crece de acuerdo a cuanto crezca xk. En este caso el valor de la funcion

objetivo no es acotado.

2. Para los valores yik > 0, se puede ir incrementando xk hasta que el primer

xBise anule; para que conserve la condicion de no negatividad. Es decir,

xk = mın1≤i≤m

{biyik

; yik > 0

}(1.29)

Si supone que el mınimo se alcanza en la posicion r-esima xk =bryrk

. En

el caso no-degenerado br > 0, se sigue que xk > 0 y se observa de la

ecuacion 1.27 z < z0, lo cual mejora la funcion objetivo. En particular,

xBr = br −bryrk

yrk = 0, en tal caso la variable xk entra a la base y xbr

sale. Note que las columnas aB1 , aB2 ,..., aBr−1, ak, aBr+1

,..., aBm son

linealmente independientes ya que yrk 6= 0.

Tomado del libro de Bazaraa y Jarvis(1977).

32

Page 46: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Interpretacion de las entradas y salidas de la base (economica).

Interpretacion de zk − ck.

Los valores zk − ck se denominan costes reducidos, estos miden el cambio que

se produce en el valor de la funcion objetivo cuando se aumenta unitariamente

el valor de las variables no-basicas. Por tanto:

1) Si zk − ck > 0, el costo de aumentar en una unidad xk es ck. En la

ecuacion 1.27 se observa que si aumentamos en una unidad xk, el valor

de la funcion objetivo decrece en zk − ck y como consecuencia se obtiene

una mejorıa.

2) Si zk − ck < 0, al aumentar el valor xk en 1.27 el valor de la funcion

objetivo no mejora.

3) Si zk − ck = 0 el valor de la funcion objetivo no varıa.

Supongase, en particular que xk = xBt la variable basica t-esima, ademas se

tiene ck = cBt y ak = aBt . Entonces zk = cBB−1ak = cBB

−1aBt , observe

B−1aBt es un vector unitario en la t-esima posicion. Por tanto, zk = cBt , es

decir zk − cBt = cBt − cBt = 0.

Tomado del libro de Bazaraa y Jarvis(1977).

3.3. Formato tableau del Metodo Simplex.

Suponga que se inicializa con una base xB correspondiente a un punto extremo

inicial. La funcion objetivo y restricciones se pueden escribir como:

z − cx = z − cBxB − cNxN = 0, (1.30)

Ax = BxB −NxN = b. (1.31)

De la ecuacion (1.31), xB = B−1b −B−1NxN y reemplazando en (1.30) se

obtiene z − cBb+ (cBB−1N − cN )xN = 0, donde b = B−1b.

Las operaciones anteriores pueden organizarse en la tabla 1.1, la cual se

33

Page 47: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

denomina tableau. Se le conoce como el vector de costos reducidos al vector

cN − cBB−1N .

La tableau 1.1 contiene la informacion necesaria para iniciar el metodo simplex.

z xB xN LD

z 1 0 cBB−1N − cN cBb

xB 0 I B−1N b

Tabla 1.1: Tableau inicial.

1. Si cBB−1N − cN ≤ 0, el punto extremo actual es el optimo y se termina

el proceso; caso contrario, seleccionar una variable no basica con valor

positivo cBB−1aj − cj en la fila de la funcion objetivo.

2. Si B−1aj ≤ 0, el problema es no acotado y el proceso termina, de otro

modo yj = B−1aj 6≤ 0, determine el ındice r como sigue

mın1≤i≤m

{biyij

; yij > 0

}=

bryrj≥ 0, (1.32)

donde yij y bi son las componentes ith de yj y b, respectivamente.

Actualizar la tableau y pivotear sobre yrk. Actualizar las variables basicas

y no basicas donde xk entra a la base y bBr sale de la base, se vuelve al

paso 1.

3.4. Condiciones de Kuhn-Tucker para las restricciones de

desigualdades.

Teorema 13. [2] El punto x ∈ Rn es el optimo del siguiente problema de

programacion lineal

mın z = cx

sujeto a Ax = b

x ≥ 0,

34

Page 48: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

donde A ∈Mmxn(R), b ∈ Rm y c ∈ Rn, si y solo si existen vectores y ∈ Rm,

v ∈ Rn tal que:

Ax ≥ b, x ≥ 0, (factibilidad del problema primal)

c−ATy − v = 0, y ≥ 0, v ≥ 0, (factibilidad del problema dual)

(Ax− b)Ty = 0, vx = 0. (holguras complementarias)

4. Dualidad y sensibilidad

La teorıa de dualidad asegura que asociado a cada problema de PL se

tiene otro problema de PL llamado problema dual (PD), con el cual

conserva propiedades y relaciones importantes. El problema lineal original se

denominado problema primal (PP).

A continuacion algunas relaciones entre el problema primal y el problema dual:

Si el problema primal es de maximizacion, su correspondiente problema

dual es de minimizacion. De manera, analoga si el problema primal es

de minimizacion, su correspondiente problema dual es un problema de

maximizacion.

El numero de variables en el problema dual es el mismo numero de

restricciones en el problema primal.

El numero de restricciones en el problema dual es el mismo numero de

variables en el problema primal.

Los coeficientes de costo del problema primal son los terminos

independientes en las restricciones del problema dual.

Los terminos independientes en las restricciones del programa primal son

los coeficientes de costo del problema dual.

La matriz del problema dual es la transpuesta de la matriz del problema

primal.

35

Page 49: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

La tabla 1.2 resume la relacion del problema primal con el dual, respecto

al signo de las variables y el sentido de las restricciones.

PROBLEMA DE MINIMIZACION PROBLEMA DE MAXIMIZACION

Restricciones Variables≥ ≥0= irrestricta≤ ≤0

Variables Restricciones≥0 ≤

irrestricta =≤0 ≥

Tabla 1.2: Tabla de Tucker.

Lema 1. [2]El dual del dual es el primal. 1

Demostracion. Considere el programa lineal dual dado de la forma:

(PD) max bTy

sujeto a ATy ≤ c

y ≥ 0,

transformando este problema, aplicando los fundamentos algebraicos, se tiene:

mın−bTy

sujeto a −ATy ≥ −c

y ≥ 0.

El problema dual asociado al problema anterior esta dado por:

max−cTx

sujeto a −Ax ≤ −b

x ≥ 0,

1Por notacion y evitar confusiones en el (PP) y (PD), se colocara “T” en el vector decostos para representar su transpuesta.

36

Page 50: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

que a su vez es equivalente a:

(PP ) mın cTx

sujeto a Ax ≥ b

x ≥ 0,

que es el programa primal del programa dual PD.

4.1. Relaciones primal-dual.

La definicion del programa lineal dual que se uso, utiliza la relacion entre los

programas lineal dual y primal.

Relacion entre los valores objetivos.

Lema 2. [2] El valor de la funcion objetivo, para cualquier solucion factible

del problema de minimizacion, es siempre mayor o igual que el valor de la

funcion objetivo para cualquier solucion factible del problema de maximizacion.

En particular, el valor objetivo de cualquier solucion factible del problema

de minimizacion da una cota superior del objetivo optimo del problema de

maximizacion. Analogamente, el valor objetivo de cualquier solucion factible del

problema de maximizacion es una cota inferior del objetivo optimo del problema

de maximizacion.

Demostracion. Considere el siguiente problema lineal primal:

mın cTx

sujeto a Ax ≥ b

x ≥ 0,

37

Page 51: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

y el siguiente su programa dual asociado:

max bTy

sujeto a ATy ≤ c

y ≥ 0.

Sean x0, y0 soluciones factibles del programa primal y dual, respectivamente;

se tiene Ax0 ≥ b, x0 ≥ 0, ATy0 ≤ c y y0 ≥ 0.

Si se multiplica Ax0 ≥ b por y0T ≥ 0 y (ATy0)T ≤ cT por x0 ≥ 0, se obtiene:

y0TAx0 ≥ yT

0 b =⇒ (Ax0)Ty0 ≥ bTy0,

(ATy0)Tx0 ≤ cTx0 =⇒ (Ax0)Ty0 ≤ cTx0.

Por tanto,

cTx0 ≥ (Ax0)Ty0 ≥ bTy0.

Tomado del libro de Bazaraa y Jarvis(1977).

Corolario 6. [2] Si x0 y y0 son soluciones factibles para el problema dual y

primal tal que cTx0 = bTy0, entonces x0 y y0 son soluciones optimas de sus

respectivos problemas.

Corolario 7. [2] Si cualquier problema tiene un valor objetivo no acotado,

entonces el otro problema no posee solucion factible.

Lema 3. [2] Si uno de los problemas posee una solucion optima, entonces ambos

poseen soluciones optimas y los dos valores objetivos optimos son iguales.

La prueba de este lema se obtiene a partir de las condiciones de optimalidad

de Kuhn-Tucker.

Teorema 14. (Teorema fundamental de dualidad [2]) Con respecto a

los problemas de programacion lineal primario y dual, exactamente una de las

siguientes proposiciones es cierta.

1. Ambos problemas tienen soluciones optimas x∗ y y∗, con cTx∗ = bTy∗.

38

Page 52: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

2. Uno de los dos problemas tiene valor objetivo no acotado, en cuyo caso

el otro problema debe ser no factible.

3. Ambos problemas son no factibles.

Considerese, al referirse a optimo significa optimo finito, y no acotado significa

tener optimo no acotado. Del Teorema anterior podemos decir:

PP optimo ⇐⇒ PD optimo.

PP no acotado =⇒ PD no factible.

PD no acotado =⇒ PP no factible.

PP no factible =⇒ PD no acotado o no factible.

PD no factible =⇒ PP no acotado o no factible.

Teorema 15. (Teorema debil de holgura complementaria [2]) Si x∗

y y∗ son puntos optimos cualesquiera de los problemas primario (PP) y

dual(PD), respectivamente.

(PP ) mın cTx (PD) max bTy

sujeto a Ax ≥ b sujeto a ATy ≤ c

x ≥ 0. y ≥ 0.

Entonces, (c−ATy∗)Tx∗ = 0 y (Ax∗ − b)Ty∗ = 0.

4.2. Interpretacion economica del dual.

Considere el siguiente problema primal y su problema dual asociado:

(PP ) mın cTx (PD) max bTy

sujeto a Ax ≥ b sujeto a ATy ≤ c

x ≥ 0. y ≥ 0.

39

Page 53: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Considere B es la base optima, x∗ =(B−1b

0

)una solucion optima del PP y y∗

solucion optima del PD. Sea cTB el vector de costos basicos, entonces:

z∗ = cTBB−1b = bTy∗

(pues x∗ y y∗ son soluciones optimas), de lo cual se sigue

∂z∗

∂b= cBB

−1 = y∗.

La variable dual y∗i puede interpretarse como la razon de cambio de la funcion

objetivo cuando el termino i-esimo del vector independiente del PP es sometido

a pequenos cambios. Una interpretacion de esto puede ser, y∗i indica la cantidad

maxima que se esta dispuesto a pagar por aumentar la cantidad del i-esimo

recurso (vector independiente). Se suele referir a y∗ como un vector de

precios sombra para el vector del lado derecho.

4.3. Analisis de sensibilidad.

En el analisis de sensibilidad se busca determinar en que rango la variacion de

los parametros afecta el comportamiento en la solucion optima.

Considere el siguiente problema lineal

mın cx

sujeto a Ax = b (1.33)

x ≥ 0.

Algunos de las variaciones en el problema pueden ser:

Variacion en el vector de costos c.

Variacion en el vector del lado derecho b.

Variacion en la matriz de restricciones A.

Introduccion de una nueva actividad.

40

Page 54: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Introduccion de una nueva restriccion.

Variacion en el vector de costos c

Considere una solucion optima de 1.33 y suponga que se modifica el vector

de costos en un(o mas) coeficiente ck por uno c′k. Esta modificacion puede

ocasionar perdida de factibilidad dual.

Considere los siguientes casos:

Caso I: Variacion del coeficiente en la funcion objetivo de una variable no basica.

Sea xk una variable no basica. Note que, zj = cBB−1aj no varıa, ∀j y

zk − ck ≤ 0, pues el punto actual es el optimo.

Reemplazando ck por c′k, se tiene zk − c′k = (zk − ck) + (ck − c′k), si es

positivo se continua con el metodo de simplex modificando ck por c′k en

la ultima tableau, caso contrario la solucion dada sigue siendo la optima

para el nuevo problema.

Caso II: Variacion del coeficiente en la funcion objetivo de una variable basica.

Si xk es una variable basica, por ejemplo xk ≡ xBt y reemplazando cBt

por c′Bt. Si el nuevo valor de zj es z′j, entonces

z′j − cj = c′BB−1aj − cj = c′Byj − cj

= cByj − cj + (0, 0, ..., c′Bt− cBt , 0, ..., 0)yj

= (zj − cj) + (c′Bt− cBt)ytj,∀j. (1.34)

En particular, si j = k entonces zk − ck = 0 y ytk = 1 (mırese la

interpretacion de las entrada y salida de la base), lo cual implica en la

ecuacion (1.34) que z′k − c′k = 0. Por tanto, se puede actualizar el reglon

de costos sumando el reglon original de costo y el reglon t actual de la

tableau final por el producto del cambio neto en el costo de xBt ≡ xk.

Entonces se actualiza de z′k − ck a z′k − c′k = 0, en el proceso se obtiene

41

Page 55: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

un nuevo valor objetivo

c′BB−1b = cBB

−1b+ (c′Bt− cBt)B

−1b

= cBB−1b+ (c′Bt

− cBt)bt.

Variacion en el vector del lado derecho b

Suponga que se cambia de vector b a b′ entonces se reemplaza B−1b por

B−1b′ y la optimalidad se puede ver afectada en el nuevo vector pues alguna

componente podrıa ser negativa. Se tiene los siguientes casos:

Si B−1b′ ≥ 0, la solucion actual aun es optima y los valores de las

variables basicas son B−1b y el valor objetivo cBB−1b′.

Si B−1b′ � 0, se aplica el algoritmo Simplex dual pues los costos

reducidos no han sufrido variacion y entonces la tableau final presenta

una solucion no factible (PP) y dual factible.

Variacion en la matriz de restricciones A

En este caso se tiene dos posibilidades que la columna que cambie sea no basica

o no basica.

Caso I Variacion en vectores de actividades para columnas no basicas.

Suponga que se cambia la columna aj por a′j, entonces se tiene B−1a′j y

z′j − cj = cBB−1a′j − cj.

• Si z′j − cj ≤ 0, la solucion anterior es la optima.

• Si z′j − cj es positivo, se actualiza la columna j en la tableau,

introduciendo la variable xj no basica y se continua con el metodo

simplex.

Caso II Variacion en vectores de actividades para columnas basicas.

Suponga que se cambia la columna aj por a′j. Este cambio puede afectar

considerablemente al problema pues el conjunto actual de vectores basicos

puede no formar una base.

Supongase que se enumera de 1 a m las columnas basicas y que se cambia

42

Page 56: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

en la columna basica j, aj por a′j. Sea B−1 la base inversa actual y

calculemos y′j = B−1a′j , entonces se tiene las siguientes posibilidades:

• Si y′jj = 0, el conjunto de vectores actual no es linealmente

independiente.

• Si y′jj 6= 0, se considera a este valor como pivote y se puede

reemplazar la columna j, la cual es comunmente un vector unitario

por y′j . La base presente continua siendo base, si la factibilidad

primal o dual no fuera posible, se recurre a algunas tecnicas primal

o dual de variables artificiales para su resolucion

Introduccion de una nueva actividad

Supongase que se desea anadir una nueva actividad xn+1 con costo cn+1 y

considere la columna de consumo an+1 para la produccion. La variable xn+1

puede no afectar a la optimalidad del problema y en cuyo caso es una variable

no basica, caso contrario debe ingresar a la base.

Introduccion de una nueva restriccion

Suponga se quiere anadir una nueva restriccion al problema (1.33). Para el

optimo del nuevo problema se tiene lo siguiente:

Si el optimo actual satisface la nueva restriccion, entonces tambien es

optimo del nuevo problema.

Si el optimo actual no satisface la nueva restriccion, se puede usar el

metodo dual simplex para encontrar el nuevo optimo.

Tomado del libro de Bazaraa y Jarvis(1977).

4.4. Analisis parametrico.

En el analisis parametrico se hallan soluciones optimas a lo largo de una

direccion fija en una clase de problemas perturbados en el vector objetivo o en

el vector del lado derecho. En este trabajo se analizara solo la parametrizacion

del vector de costos.

43

Page 57: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Perturbacion del vector de costos

Considere el siguiente problema lineal

mın z = cx

sujeto a Ax = b

x ≥ 0.

Supongase B una base optima y considere el problema perturbado

mın z = cx+ λc′x

sujeto a Ax = b (1.35)

x ≥ 0, λ ≥ 0.

Descomponiendo A en [B,N ], c en (cB, cN ) y c′ en (c′B, c′N ), aplicando esta

descomposicion en el problema (1.35)

z − cx− λc′x = z − (cB + λc′B)xB − (cN + λc′N )xN = 0 (1.36)

Ax = BxB +NxN = b (1.37)

Actualizando la tableau y denotando z′j = c′BB−1aj = cByj .

De la ecuacion (1.37) xB = B−1b−B−1NxN , esto en la ecuacion (1.36)

z − (cB + λc′B)xB − (cN + λc′N )xN = 0

z − (cB + λc′B)(B−1b−B−1NxN )− (cN + λc′N )xN = 0

z + cBB−1NxN − cNxN + λc′BB

−1NxN − λc′NxN = cBB−1b+ λc′BB

−1b

z +∑j∈R

[(zj − cj) + λ(z′j − c′j)]xj = cBb+ λc′Bb

y

xB +∑j∈R

yjxj = b,

44

Page 58: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

donde R es el conjunto de ındices asociados a las variable no basicas.

Si λ = 0 el problema coincide con el problema original y su solucion basica

factible optima se mantiene.

Interesa mantener la optimalidad si se mueve la direccion c′. Sea

S = {j; z′j − c′j > 0}

1. Si S = ∅, entonces para todo λ ≥ 0 la solucion actual es la optima.

2. Caso contrario, calcule

λ = mınj∈S

{−(zj − cj)z′j − c′j

}=−(zk − ck)z′k − c′k

• Sea λi = λ.

• Para λ ∈ [λi, λi](iteramos desde i=1, empezando con el intervalo

[0, λ1], ası sucesivamente) la solucion actual es optima y su valor

objetivo este dado por cBb+ λc′Bb.

• Para λ ∈ [λi, λi] se reemplaza (zj − cj) + λ(z′j − c′j) en los precios

sombra de la tableau de simplex.

• Para λ = λi, xk se introduce en la base.

• Luego se actualiza la tableau con el nuevo valor de λ.

• Se vuelve al paso 1.

Tomado del libro de Bazaraa y Jarvis(1977).

5. El problema de asignacion

El problema de asignacion es uno de los problemas de estructura particular que

se expresa con la ayuda de la teorıa de grafos. Es una variacion del problema

del problema de transporte que consiste en asignar m orıgenes a m destinos.

El modelo matematico para el problema de asignacion usa variables de decision

45

Page 59: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

binaria:

xij =

1, si se asigna i para realizar la actividad j ,

0, caso contrario.

para todo i = 1, ...m y j = 1, ...,m.

Si z es el coste total que deseamos minimizar el problema de asignacion es

mın z =m∑i=1

m∑j=1

cij xij

sujeto a

m∑j=1

xij = 1, i = 1, ...,m

m∑i=1

xij = 1, j = 1, ...,m

xij = {0, 1}, para toda i y j.

46

Page 60: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

CAPITULO 2

Metodologıa

En este capıtulo se presenta el modelo general definido para semestres fijos,

entendiendose como tal el periodo lectivo 2016-2017, se han trabajado con las

restricciones debiles y fuertes para presentar el horario de docentes con los

requerimientos de la institucion.

1. Formulacion del modelo general

Parametros

a=numero de materias de las areas de matematicas que se dictan por semestre

en cada carrera.

d=numero de docentes.

m=numero de materias.

r=numero de salas.

z=numero de horas de clases en el dıa.

Indices

En la tabla siguiente se encuentra los ındices relacionados con las variables que

se consideraran al plantear el modelo del problema.

Tabla 2.1: Indices

Indice Significado

i ındice de docente

j ındice de materia

k ındice de hora de clase

l ındice de sala

47

Page 61: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

1.1. Variables de decision.

Las variables de decision son binarias:

xijkl =

1, si se asigna el docente i para dictar la materia j,

en la sala l a la hora de clase k.

0, caso contrario.

para todo i ∈ {1, ..., d}, j ∈ {1, ...,m}, k ∈ {1, ..., z}, l ∈ {1, ..., r}.

1.2. Formulacion matematica de las restricciones.

1. Las materias de un mismo semestre no se deben dictar en la misma hora

k de clases.r∑l=1

m∑j=1

d∑i=1

xijkl ≤ 1, k ∈ {1, 2, ..., z}.

2. Cada docente i se le debe asignar una materia j, una sala l en una hora

de clases k.

r∑l=1

m∑j=1

xijkl ≤ 1, i ∈ {1, 2, ..., d}, k ∈ {1, 2, ..., z}.

3. A cada materia j se le asigna a lo mas un sala l en una hora de clases k.

r∑l=1

d∑i=1

xijkl ≤ 1, j ∈ {1, 2, ...,m}, k ∈ {1, 2, ..., z}.

4. A cada sala l se le asigna a lo mas un materia j en una hora de clases k.

m∑j=1

d∑i=1

xijkl ≤ 1, k ∈ {1, 2, ..., z}, l ∈ {1, 2, ..., r}.

48

Page 62: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

5. Cada materia j tienen un numero de horas semanales Ej.

r∑l=1

z∑k=1

d∑i=1

xijkl = Ej, j ∈ {1, 2, ...,m}.

6. Cada docente i tienen carga horaria Di semanal.

r∑l=1

z∑k=1

m∑j=1

xijkl = Di, i ∈ {1, 2, ..., d}.

1.3. Funcion objetivo

Maximizar la asignacion de los docentes a una determinada materia y horario

de clases, donde la materia tiene asignada una determinada sala.

max z =r∑l=1

z∑k=1

m∑j=1

d∑i=1

cijklxijkl

2. Modelo particular

2.1. Recoleccion de datos.

Se abordara el problema de asignacion de horarios en el caso particular de un

campus de la escuela de matematica de una Institucion de Educacion Superior.

La escuela de matematica se hace cargo de las areas de calculo y algebra,

estadıstica, fısica, geometrıa y matematica.

Cada semestre se lleva a cabo la programacion horaria en la escuela de

matematicas tomando en cuenta las materias que se dictan (algunas se dictan

de manera comun entre las carreras), docentes y su disponibilidad horaria,

horas de clase por carrera, numero y capacidad (o recursos especıficos) de la

sala (aulas, laboratorios y talleres). La programacion horaria se realiza dentro

de un marco de 5 dıas y 7 sesiones diarias(horas clase diarias). El numero de

materias de las areas de matematicas que se dictan por semestre en cada carrera

49

Page 63: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

oscilan de 0 a 2.

Figura 2.1: Codificacion del dıa y la hora de clase.

La escuela de matematicas se encarga de 35 materias con un promedio de 242

paralelos por semestre. En el campus que se realizara la planificacion horaria

se dictan 23 materias. Las materias tienen una codificacion asignada por la

institucion y escuela; se dictan en un rango de 2 a 6 horas semanales.

Figura 2.2: Numero de materias y paralelos.

50

Page 64: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Las salas disponibles del campus son 2 laboratorios, 17 aulas.

Figura 2.3: Informacion salas.

La escuela de matematicas cuenta con 16 docentes que seleccionan la franja

horaria de acuerdo a su disponibilidad y pueden dictar de 2 a 18 horas de

clases semanales. El personal academico se divide en dos clases de acuerdo a

la cantidad de horas semanales que dedican al trabajo, 40 tiempo completo y

menos de 20 tiempo parcial. La escuela cuenta con una nomina de 6 docentes

tiempo parcial y 10 a tiempo completo. Los docentes de tiempo parcial imparten

de 2 a 10 y los de tiempo completo de 16 a 18 horas de clases.

Figura 2.4: Carga horaria mınima, maxima y numero de docentes por tiempo

de dedicacion .

51

Page 65: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

3. Formulacion verbal y matematica del modelo

Se genera dos modelos de optimizacion que funcionan secuencialmente para

resolver el problema general.

3.1. Modelo docente-materia

El siguiente modelo asigna a un docente el paralelo de una materia ademas, se

controla la carga horaria de cada docente y el numero de horas semanales que

se dicta una materia.

Variables de decision.

Las variables de decision son binarias:

xij =

1, si se asigna el docente i para dictar la materia j en un determinado paralelo,

0, caso contrario.

para todo i ∈ {1, ..., 16}, j ∈ {1, ..., 23}.

En la asignacion de horarios de la escuela de matematicas se debe cumplir con

las restricciones fuertes y debiles impuestas.

Restricciones fuertes.

A cada docente i se le debe asignar una materia j

23∑j=1

xij ≤ 1, i ∈ {1, 2, ..., 16}.

No se debe sobrepasar, ni disminuir las horas en que una materia es

dictada.16∑i=1

xij = Ej, j ∈ {1, 2, ..., 23}.

Ej=numero de horas semanales que se dicta la materia j.

52

Page 66: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Respetar la carga horaria de cada docente.

23∑j=1

Hjxij = Di, i ∈ {1, 2, ..., 16}.

Hj=horas semanales que se dicta las materia j.

Di=numero de horas semanales que dicta clases el docente i, segun su

categorıa.

Tiempo parcial Di ∈ {2, ..., 10},

Tiempo completo Di ∈ {16, 18}.

Para asignar una materia a un docente se debe tener en cuenta su formacion

academica pues determina la funcion objetivo del problema en este modelo.

Funcion objetivo

Minimizar la asignacion de los docentes a una materia en un determinado

paralelo.

mın z =23∑j=1

16∑i=1

cijxij

3.2. Modelo materia-sala y hora.

El modelo asigna una sesion de clases, una sala a una materia.

Variables de decision.

Las variables de decision son binarias:

xjkl =

1, si se asigna una hora de clases k en una sala l para

dictar la materia j.

0, caso contrario.

para todo j ∈ {1, ..., 23}, k ∈ {1, ..., 7} y l ∈ {1, ..., 19}.

53

Page 67: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Requerimientos de la escuela de matematicas.

No se debe producir choques horarios entre materias del mismo nivel

(semestre).19∑l=1

23∑j=1

xjkl ≤ 1, k ∈ {1, 2, ..., 7}.

A cada materia j se le debe asignar una sala l en una sesion k.

19∑l=1

xjkl ≤ 1, j ∈ {1, 2, ..., 23}, k ∈ {1, 2, ..., 7}.

Una sala no puede ser designado a dos o mas materias en una hora de

clases.23∑j=1

xjkl ≤ 1, k ∈ {1, 2, ..., 7}, l ∈ {1, 2, ..., 19}.

3.3. Funcion objetivo

Minimizar la preferencia de los docentes (ya que en el modelo anterior se

asigno un docentes a materias) con respecto a las sesiones k de clases diarias.

mın z =19∑l=1

7∑k=1

23∑j=1

cjklxjkl

La suma de la optimizacion de todas las funciones objetivos da como resultado

la optimizacion de la funcion general por el principio de optimizacion de

Bellman. 1

1An optimal policy has the property that whatever the initial state and initial decisionsare, the remaining decisions must constitute an optimal policy with regard to the stateresulting from the first decisions.(Richard Bellman, 1954). Una polıtica optima es la masventajosa secuencia de decisiones de acuerdo con un criterio predefinido.

54

Page 68: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

CAPITULO 3

Implementacion

Para realizar la implementacion del modelo matematico se realizo una

aplicacion de escritorio, para lo cual se utilizo las siguientes herramientas

informaticas:

• MATLAB: Software matematico lanzado al mercado en 1984, la

ultima version en el mercado es R2017a y se encuentra disponible para

diferentes plataformas de hardware. Permite analizar y procesamiento

de datos, desarrollar algoritmos, visualizacion y representacion de

graficos o crear modelos, ademas de contar con su propio lenguaje

de programacion. Matlab puede ser descargado de su pagina oficial

MathWorks, www.mathworks.com/products/matlab.html.

• MySQL: Sistema de administracion de base de datos, con licencia

comercial o libre(para codigo abierto). Puede ser usado en cualquier

plataforma informatica, la ultima version disponible es 5.7.19 que se

encuentra para su descarga en la pagina, dev.mysql.com/.

• NetBeans IDE: Herramienta de programacion que permite escritura,

depuracion, complicacion y ejecucion de programas; con licencia

libre(codigo abierto) y gratuita, ejecutable en diversas plataformas. Sirve

para realizar aplicaciones de escritorio, moviles, web Java y HTML5 con

HTML. La version Netbeans IDE 8.2 se encuentra disponible en la pagina,

netbeans.org.

Para realizar un ejemplo se utilizo Classic LINDO version 6.1. un producto

de LINDO Systems, que es un programa de uso sencillo que permite resolver

problemas de programacion lineal, entera, no lineal, estocastica y global;

55

Page 69: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

se encuentra en descarga libre como version de prueba en la pagina oficial

www.lindo.com.

1. Tablas

Los datos que se usan en el modelo se almacenan en las siguientes tablas:

• Tabla de Career: Contiene la informacion de las carreras que estan en

el campus seleccionado de la escuela de matematicas: codigo, nombre y

numero de semestres.

Figura 3.1: Tabla Career en MySQL.

Figura 3.2: Datos de la tabla Career.

• Tabla Day: Incluye una clave primaria idDay, el nombre del dıa de la

semana, nameDay y statusDay para mostrar los dıas laborables con la

letra A y no laborables I.

Figura 3.3: Tabla Day en MySQL.

56

Page 70: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 3.4: Datos de la tabla Day.

• Tabla Hour: Indica la duracion, hora de inicio y finalizacion de

cada sesion de clases con los campos duration, sinceHour y untilHour,

respectivamente.

Figura 3.5: Tabla Hour en MySQL.

Figura 3.6: Datos de la tabla Hour.

• Tabla Capacity: Esta tabla contiene el numero de docentes segun su

tiempo de dedicacion con sus respectivas horas maximo y mınimo que

emplea para dictar clases.

57

Page 71: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 3.7: Tabla Capacity en MySQL.

Figura 3.8: Datos en la tabla Capacity.

• Tabla TimePreference: Presenta los campos sinceHour, untilHour y

type que son los horarios que se puede elegir un docente para dictar su

clase segun su tiempo de dedicacion.

Figura 3.9: Tabla TimePreference en MySQL.

La escuela tiene cuatro horarios disponibles para los docentes segun su

tiempo de dedicacion como se observa en el cuadro siguiente:

Figura 3.10: Datos en la tabla TimePreference.

58

Page 72: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

• Tabla ClassRoom: Detalla los parametros codigo, capacidad y tipo

de salones de clase identificados como capacityClasroom, typeClassRoom,

codClassRoom, respectivamente.

Figura 3.11: Tabla ClassRoom en MySQL.

Figura 3.12: Datos de la tabla ClassRoom.

• Tabla Matter: Esta comprendida del nombre, numero de horas

semanales, numero de paralelos y semestre en que se dicta la materia.

Figura 3.13: Tabla Matter en MySQL.

59

Page 73: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 3.14: Datos de la tabla Matter.

• Tabla Teacher: Almacena la identificacion, nombre y preferencia horaria

del docente.

Figura 3.15: Tabla Teacher en MySQL.

Figura 3.16: Datos de la tabla Teacher.

• Tabla Academictraining: Lista los tıtulos academicos y el nivel de

educacion de los docentes.

60

Page 74: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 3.17: Tabla AcademicTrainning en MySQL.

Figura 3.18: Datos de la tabla AcademicTraining.

• Tabla ScoreAcademicTraining: Puesto que la asignacion se hara de

acuerdo a una puntuacion, se coloca esta tabla en la que se evaluara los

tıtulos de los docentes con respecto a las areas que tiene la escuela.

Figura 3.19: Tabla ScoreAcademicTraining en MySQL.

• Tabla Parallel: Incluye el codigo asignado al paralelo que se identifica

como idParallel, junto a la capacidad y el semestre que pertenece el

mismo.

61

Page 75: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 3.20: Tabla Parallel en MySQL.

• Tabla Area: Esta tabla contienen la clave primaria, nombre y codigo de

area.

Figura 3.21: Tabla Area en MySQL.

Figura 3.22: Datos de la tabla Area.

• Tabla Timetable: Esta tabla detalla la informacion de cada sesion de

clases: paralelo, dıa, hora, el numero de salas, la materia y nombre del

docente.

Figura 3.23: Tabla Timetable en MySql.

62

Page 76: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

• Tabla MatterTeacher: Contiene el puntaje de un profesor para dictar

una materia, scoreMatterTeacher.

Figura 3.24: Tabla MatterTeacher en MySql.

2. Relaciones

El modelo relacional de las tablas de la seccion anterior, se muestra en la

siguiente imagen:

Figura 3.25: Relaciones entre las tablas.

63

Page 77: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Procedimiento General para la asignacion

Los siguientes pasos han sido implementados en la herramienta Netbeans y la

asignacion realizadas en Matlab.

1. Calificar a los docentes: Puesto que, es un problema de minimizacion

se puntuara al docente adecuado con el menor valor posible. El docente

se califica para dictar una materia en un paralelo segun, su formacion

academica. Se puntua de 0 a 3 la formacion academica.

2. Resultados del modelo: Se obtiene la asignacion simultanea del

docente a la materia, paralelo.

Observacion 4. En el caso en que un docente ya haya cumplido con su

carga horaria, en las siguientes calificaciones con respecto a la materia a

dictar se colocara la puntuacion 0.

3. Asignacion de materia a sesiones de clases: Se puntua como en el

item 1 tomando en cuenta los horarios de preferencia de los docentes para

dictar clases.

3. Casos Crıticos

1. Si hay mas materias que salas, en una hora determinada del dıa no se

puede realizar la asignacion completa, el programa mostrara el siguiente

mensaje:

Figura 3.26: Mensaje de salas.

Si hay mas materias que profesores, no se puede realizar la asignacion

completa, el programa mostrara el siguiente mensaje:

64

Page 78: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 3.27: Mensaje de materias.

2. Si hay mas salas que materias, en una hora determinada del dıa, cualquier

asignacion en la que no se crucen las salas es factible.

4. Ejemplo Lindo

Para ejemplificar el procedimiento de la asignacion de horarios se utiliza el caso

del docente X211. Se realizan los siguientes pasos:

1. Calificar a los docentes: El docente se califica para dictar una materia

en un paralelo segun, su formacion academica. Se puntua de 0 a 7 la

formacion academica.

Por ejemplo: La materia Estadıstica con codigo E100 2 de la area 2,

tiene 3 paralelos y el docente X21 a tiempo completo, con formacion en

matematicas y al cual se le asigna una preferencia para impartir clases

en el horario de la manana.

Observacion 5. Los items 1., 2. y 3. inician con las materias del area

de estadıstica, pues son las que requieren de una formacion academica de

acuerdo a los contenidos.

2. Implementar el modelo: Desarrollar el modelo para implementar en

la herramienta LINDO 6.1.

1Debido a que los datos esta relacionados a nombres reales de docentes de la InstitucionSuperior, se colocara en su lugar la letra X seguido de un numero relacionado con lanumeracion de docente.

2En la Escuela de Matematicas se tiene mayor preferencia por usar los codigos de lasmaterias que su nombre

65

Page 79: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 3.28: Modelo de la materia E100 en LINDO.

3. Resultados del modelo: Se obtiene la asignacion simultanea del

docente a la materia y al paralelo correspondiente. Generando el reporte

de LINDO se observa que, bajo la columna variable se encuentra el codigo

del docente seguido de un subındice que indica el paralelo. Si un docente es

asignado al paralelo de una materia en la columna value se puntua 1; caso

contrario 0. Siguiendo con el ejemplo anterior para la materia E100, se

asignan los paralelos 1, 2 y 3 a los docente X21, X1, X47; respectivamente.

Figura 3.29: Asignacion de los paralelos de la materia E100.

66

Page 80: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

4. En este punto se asignan todas las materias que un docente dictara de

clases, en que paralelos y sedes, sin exceder el numero de horas permitidas

de catedra. En la siguiente figura se puede observar la asignacion de las

materias, paralelos(con hora de clase), sedes y numero de horas total

asignada al docente X21.

Figura 3.30: Asignacion de las materias, paralelos, sede y horas al docente X21.

Observacion 6. En el caso en que un docente ya haya cumplido con su

carga horaria, en las siguientes calificaciones con respecto a la materia a

dictar se colocara la puntuacion 0.

5. Asignacion de aulas, laboratorios y talleres: A una materia se

le asigna un recurso, de acuerdo a su capacidad y las caracterısticas

especıficas (laboratorio o taller). A continuacion, el proceso de asignar

los recursos a los paralelos de las materias en cada sede:

a. Se asignan los recursos mas escasos: talleres con capacidad de 22-30

alumnos y laboratorios de 25-30.

b. Las aulas tienen capacidad de 20 a 55 alumnos, tomando en cuenta

esto, se asignan primero los paralelos con mayor numero de alumnos.

c. Revisar que no existan coches en las asignaciones.

Por ejemplo, la materia Algebra paralelo 02 y codigo A164-02, tiene un

cupo disponible de 42 estudiantes y 3 horas de clases semanales. Se le

asigna para los dıas lunes, miercoles y viernes a la doceava hora el aula

67

Page 81: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

142(capacidad 42 alumnos).

7. Generacion de los horarios de los docentes:En la figura siguiente

se muestra la salida de la informacion obtenida, que consta del codigo de

la materia, paralelo y sala con sede a dictarse:

Figura 3.31: Horario del docente X21.

Analisis de sensibilidad

Suponga que luego de haber realizado el proceso de asignacion se cambia alguna

calificacion a un docente entonces se desea conocer si esto afecta a la solucion

optima que se hallo, para ello en este trabajo se utilizo el analisis de sensibilidad.

El analisis de sensibilidad proporcionara un rango en el cual la solucion optima

se mantenga aunque el valor de la funcion cambie.

El programa LINDO entre sus opciones permite realizar un analisis de

68

Page 82: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

sensibilidad en los resultados. El intervalo de sensibilidad se muestra en

las columnas allowable increase y allowable decrease y el valor original del

coeficiente de la variable en la funcion objetivo se encuentra en la columna

current coef.

69

Page 83: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

CAPITULO 4

Conclusiones y recomendaciones

Conclusiones

A partir de los fundamentos teoricos de la programacion lineal, se tiene

una base solida, que sustenta el esquema teorico-practico desarrollado con

los datos mas significativos, obtenidos luego de un analisis previo.

Con el uso de la herramienta, se obtuvieron soluciones optimas,

relacionando la calificacion del docente y la materia a impartir.

Se asigno la mayor cantidad de docentes a materias a las que son mas

afines, lo cual ayuda a mejorar y mantener el nivel de educacion en la

escuela, esto cumpliendo la mayor cantidad de requerimientos impuestos.

La realizacion de una herramienta como la presentada ayuda a la

asignacion de horarios.

Se disminuye el uso de papel.

Recomendaciones

Realizar la resolucion del problema planteado en este trabajo con la

implementacion de otros algoritmos, por ejemplo, branch-and-bound,

Coloracion de Grafos, que ya se han utilizado para resolver este tipo de

problemas y que traen su propia complejidad computacional. Comparar

los resultados.

Realizar las mejoras necesarias para que el trabajo sea llevado a nivel

institucional.

70

Page 84: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

BIBLIOGRAFIA

[1] AIZAM, N. A., UVARAJA, V. (2015). Generic Model for TimetablingProblems by Integer Linear Programming Approach. International Journalof Mathematical, Computational, Physical, Electrical and ComputerEngineering, 9 (12), 701-708.

[2] BAZARAA, M. S., JARVIS, J. J. (1977). Linear Programming and Networkflows. New York, USA: Wiley & Sons.

[3] BAZARAA, M. S., SHERALI, H. D., SHETTY, C. M. (2006). NonlinearProgramming: Theory and Algorithms (Tercera ed.). Hoboken, New Jersey,USA: John Wiley & Sons.

[4] BENALCAZAR, H. (2013). Algebra Lineal y Aplicaciones. Quito, Ecuador.Serie de Matematica Universitaria.

[5] BURKE, E. K., MARECEK, J., PARKES, A.J., RUDOVA, H. (2012). Abranch-and-cut procedure for the Udine Course Timetabling problem. AnnOper Res, 194, 71-87. doi:10.1007/s10479-010-0828-5

[6] CABALLERO, J. (2008). Asignacion de Horarios de Clases Universitariasmediante Algoritmos Evolutivos (Tesis Maestrıa). Recuperado dehttp://manglar.uninorte.edu.co/handle/10584/80

[7] FAIGLE, U., KERN, W., STILL, G. (2002). Algorithmic Principlesof Mathematical Programming (Vol. 24). (S. Netherlands, Ed.).Springer-Science+Business Media, B.V.

[8] ESQUIVEL, L. (2014). Modelo Matematico para la programacion deun horario escolar con milti-localizacion de docentes (Tesis Maestrıa enIngenierıa- Enfasis en Ingenierıa Industrial). Universidad del Valle, Santiagode Cali.

[9] FRANK, A. (2005). On Kuhn’s Hungarian Method—A tribute fromHungary. Naval Research Logistics, 52, 2–5. doi:10.1002/nav.20056

[10] FUENTE, J. L. (1998). Tecnicas de calculo para Sistemas de Ecuaciones,Programacion Lineal y Programacion Entera (Segunda ed.). Barcelona,Espana: Reverte.

[11] GUERRA, M., PARDO, E., SALAS, R. (2013). Problema del SchoolTimetabling y algoritmos geneticos: una revision. Vınculos, 10 (2), 259-275.

71

Page 85: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

[12] HEREDIA, M. (2014). Modelo de programacion lineal entera para lageneracion de horarios de clase en la universidad (Tesis Pregrado). EscuelaPolitecnica Nacional, Quito, Ecuador.

[13] HITCHCOCK, F. L. (1941). The Distribution of a Product from SeveralSources to Numerous Localities. Journal of Mathematics and Physics, 20,224-230. doi: 10.1002/sapm1941201224

[14] KUHN, H. W. (1955). The Hungarian Method for the assignment problem.Naval Research Logistics, 2, 83–97. doi: 10.1002/nav.3800020109

[15] LARROSA, J., MESENGUER, P. (2003). RestriccionesBlandas: Modelos y Algoritmos. Inteligencia Artificial. RevistaIberoamericana de Inteligencia Artificial, 7 (20). Recuperado dehttp://www.redalyc.org/articulo.oa?id=92572006

[16] LIPSCHUTZ, S. (1992). Algebra Lineal(Segunda Ed.). Madrid, Espana:McGRAW-HILL.

[17] MEYER, R. M. (1979). Essential Mathematics for Applied Fields. NewYork, USA: Springer-Verlag.

[18] MORENO, P., SANCHEZ, J., GARCIA, A. (2007). Aplicacion detecnicas de enfriamiento lento al problema de planificacion de horarios.Ciencia, Tecnologıa y Medio Ambiente, V, 3-21. Recuperado dehttps://dialnet.unirioja.es/servlet/articulo?codigo=2596432

[19] OLIVA, C., RAMIREZ, G. (2013). Algoritmo de tipo busqueda tabu paraun problema de programacion de horarios universitarios vespertinos. IngeCuc, 9 (2), 58-65.

[20] PRAWDA, J. W. (2004). Metodos y Modelos de Investigacion deOperaciones (Vol. 1). Mexico, D.F., Mexico: Limusa.

[21] SHAERF, A. (1999). A Survey of Automated Timetabling. ArtificialIntelligence Review, 13 (2), 87–127.

[22] SRINIVASAN, S. (2011). Modeling the Homeschool timetablingproblem using Integer programming (Tesis Maestrıa). Recuperado dehttp://scholarscompass.vcu.edu/etd/2555/

[23] VANDERBEI, R. J. (2008). Linear Programming (Third ed.). New York,USA: Springer.

72

Page 86: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Anexos

73

Page 87: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Anexo

Instructivo de uso de la herramienta de trabajo del administrador

La elaboracion de este manual tiene como fin, explicar el funcionamiento de la

presentacion en pantalla de las soluciones optimas que han sido desarrolladas,

en cada reporte que nos despliega Matlab y que han sido trabajadas con

Netbeans. Se ha tomado en cuenta este programa, por su universalidad en el

manejo de las empresas y la adaptabilidad para usuarios como personal docente

y administrativo.

Ası, la base de datos ha sido almacenada en MySql y mostrara de una manera

amigable los resultados en las pantallas de Netbeans para ser usado por el

usuario.

Esquema de navegacion.

Para manejar el programa, se han creado, cinco ventanas en la pantalla

principal:

General

Carrera

Salas

Areas

Configuracion Horaria

Asignaturas

Materias

Paralelos

74

Page 88: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Docentes

Profesores

Formacion Academica

Horarios

Salir

A continuacion se presentara las distintas ventanas con sus funcionalidades.

Figura 1: Ventana de presentacion.

GENERAL

Figura 2: Ventana General.

Carrera

Figura 3: Ventana Carreras.

75

Page 89: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Cuenta con cuatro opciones:insertar, actualizar, eliminar y limpiar.

• Se ingresa el codigo, previamente establecido por la Institucion de

Educacion Superior, el nombre y el numero de semestres de la

carrera, clic en insertar ; en caso de no ingresar alguno de estos

campos tendremos el mensaje de la figura 4.

Figura 4: Mensaje de error.

• Se selecciona la carrera, se puede modificar su nombre y numero

de semestres, clic en actualizar si hemos guardado correctamente

tendremos el mensaje de la figura 6.

Figura 5: Actualizacion de datos de la carrera.

Figura 6: Mensaje de actualizacion.

• Se selecciona la carrera que se desea eliminar, clic eliminar, si se

ha eliminado con exito se tiene el mensaje de la figura 7; sino se

selecciona ninguna carrera para eliminar se observa el mensaje de la

figura 8.

76

Page 90: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 7: Mensaje de exito al eliminar.

Figura 8: Mensaje de error al eliminar.

• Al hacer clic en limpian todos los campos llenos en codigo carrera,

carrera y nro de semestres se borran.

Salas

En esta ventana hay cuatro campos Id, codigo de salas, capacidad y

tipo(en este caso se puede elegir entre aula y laboratorio). Al igual que en

el caso de las carrera se tiene cuatro botones insertar, actualizar, eliminar

y limpiar.

Figura 9: Ventana Sala

Area

Esta pestana contiene tres campos codigo area, nombre area e

identificacion(se coloca una letra que identifique al area). Al igual que en

el caso de las carrera se tiene cuatro botones insertar, actualizar, eliminar

y limpiar.

77

Page 91: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 10: Ventana Area

Configuracion Horaria Contiene cinco ventanas dıas, horas,

preferencia horaria y capacidad docencia.

Ventana Dıas: En esta ventana se coloca que dıas de la semana son los

que se dictan clases y se los asignara A de activo o I de inactivo. Cuenta

con botones: limpiar y actualizar, se puede actualizar solo los dıas habiles

de la semana.

Figura 11: Ventana Dıas

Ventana Horas: Se calcula con los tres campos llenos las horas de

clases en un dıa.

78

Page 92: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 12: Ventana Horas

Preferencias Horarias: Se ingresa, modifica, elimina una preferencia

horaria esta puede ser a tiempo parcial o completo.

Figura 13: Ventana de preferencias horarias.

ASIGNATURAS

Figura 14: Ventana de Asignaturas.

• Materias: Esta ventana se inserta, actualiza, elimina y limpia los

campos ingresados en la Materias. Carrera y area muestran opciones

desplegables para luego llenar los campos que se piden.

79

Page 93: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 15: Ventana de Materias.

• Paralelos: En la opcion de materias se ingreso el Nro. Paralelos, en

esta ventana se ingresa el cupo disponible y apareceran los paralelos

con el codigo, semestre y el nombre de la materia .

Figura 16: Ventana de Paralelos.

DOCENTES

Figura 17: Ventana Docentes.

• Ventana profesores: Aquı se ingresa el nombre del docente con un

codigo, tiempo de dedicacion y lista de preferencias. Al seleccionar

un elemento de la lista se tinturara verde.

80

Page 94: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 18: Ventana Profesores.

• Formacion academica: Aquı se ingresa los tıtulos de los docentes

de la lista profesores.

Figura 19: Ventana Formacion academica.

HORARIO DOCENTE

Al seleccionar su nombre, el docente visualiza el horario que le

corresponde e implıcitamente, realiza un proceso de decodificacion de

cada materia que imparte, por la familiaridad con que maneja los codigos,

generada en el manejo de syllabus.

81

Page 95: UNIVERSIDAD CENTRAL DEL ECUADOR · Este tipo de problemas han sido propuestos y resueltos en una gran variedad ... de manera verbal y matem atica. En el Cap tulo 3, ... Algoritmo

Figura 20: Ventana que indica la asignacion completa.

82