Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA,
CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA MATEMÁTICA
QUITO - 24 DE ABRIL
2017
ii
iii
URKUND
iv
v
vi
Dedicatoria
Rosa Molina
Santiago y Henry Cando.
vii
Agradecimiento
viii
CONTENIDO
Dedicatoria VII
Agradecimiento VIII
Resumen XI
Abstract XII
Introducción 1
1. Fundamentos teóricos 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.. Programación lineal . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.. Soluciones básicas factibles. . . . . . . . . . . . . . . 22
3.2.. Mejoramiento de una solución básica factible. . . 30
3.3.. Formato tableau del Método Simplex. . . . . . . . 33
3.4.. Condiciones de Kuhn-Tucker para las
restricciones de desigualdades. . . . . . . . . . . . . 34
ix
4.. Dualidad y sensibilidad . . . . . . . . . . . . . . . . . . . . 35
4.1.. Relaciones primal-dual. . . . . . . . . . . . . . . . . . 37
4.2.. Interpretación económica del dual. . . . . . . . . . . 39
4.3.. Análisis de sensibilidad. . . . . . . . . . . . . . . . . 40
4.4.. Análisis paramétrico. . . . . . . . . . . . . . . . . . . 43
5.. El problema de asignación . . . . . . . . . . . . . . . . . . . 45
2. Metodologı́a 47
1.. Formulación del modelo general . . . . . . . . . . . . . . . 47
1.1.. Variables de decisión. . . . . . . . . . . . . . . . . . . 48
1.2.. Formulación matemática de las restricciones. . . . 48
1.3.. Función objetivo . . . . . . . . . . . . . . . . . . . . . 49
2.. Modelo particular . . . . . . . . . . . . . . . . . . . . . . . . 49
2.1.. Recolección de datos. . . . . . . . . . . . . . . . . . . 49
3.. Formulación verbal y matemática del modelo . . . . . . . 52
3.1.. Modelo docente-materia . . . . . . . . . . . . . . . . 52
3.2.. Modelo materia-sala y hora. . . . . . . . . . . . . . . 53
3.3.. Función objetivo . . . . . . . . . . . . . . . . . . . . . 54
3. Implementación 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
RESUMEN
xi
ABSTRACT
xii
Introducción
1
La información de la Institución de Educación Superior se conservarán de manera
anónima.
1
Descripción del problema
Problemática general
1
fines de verano de ese mismo año el método Simplex desarrollado por George
B. Dantzig. Enseguida, el interés por la programación lineal crece entre las
instituciones, expertos y no expertos, cientı́ficos.
En el año 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 publicación del Método Simplex se recibieron cuantiosos aportes
para fundamentar y desarrollar la programación lineal. Otras herramientas que
se desarrollaron entre 1950 y 1960 fueron la programación entera, programación
dinámica, teorı́a de inventarios, método de transporte y teorı́a de colas.
La programación lineal maximiza o minimiza funciones lineales sujetas a una
serie de restricciones también lineales y sus fundamentos básicos se basan en la
teorı́a de los espacios vectoriales. A pesar de ser muy restrictiva por la condición
de linealidad se cuenta con modelos generales y herramientas informáticas que
ayudan a su resolución.
Entre los problemas clásicos de la programación lineal está el problema de
asignación el cual es un caso especial del problema de transporte(formulado
formalmente en 1941 [13]).
El problema de asignación surge en la búsqueda de la mejor asignación de
un conjunto de personas a un conjunto de trabajos; los trabajadores reciben
una puntuación de acuerdo a los puestos de trabajo, lo cual permite o no
la asignación 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 asignación en términos de la
programación 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 fundamentó en los trabajos de dos matemáticos húngaros
König and Egerváry [9] y de allı́ se deriva su nombre Método Húngaro.
Existen varios métodos de resolver el problema de asignación: el
2
Método Simplex, Algoritmo de Transporte, Ramificación y Acotación
(Branch-and-Bound )[5], Método del Simplex Dual, Método Húngaro, entre
otros. El problema de asignación se utiliza para resolver diversas situaciones,
por ejemplo la asignación de horarios.
La programación horaria o Timetabling se relaciona con la distribución 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 asignación de horarios educativos, tenemos una clasificación
en tres grandes tipos [21]:
Limitaciones
Justificación
3
que satisfaga los requerimientos y condiciones impuestos. Actualmente, la
escuela cuenta con un método de asignación manual que suele ser demoroso
y su solución puede estar sujeta a fallas e incumplimiento de los requerimientos
básicos. En este trabajo se propone hacer uso de un modelo de programación
lineal que cumpla con los requerimientos solicitados y minimice el tiempo de
asignación de los horarios de clases.
Objetivos
Objetivo general.
Objetivos especı́ficos.
4
CAPÍTULO 1
Fundamentos teóricos
1. Espacio vectorial Rn
5
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).
Sean m, n números 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:
6
2. El producto de un escalar k por la matriz A = (aij )mxn , escrito kA es:
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+k1 B.
viii) 1· A = A y 0A=0.
• Ax ≤ b ⇐⇒ −Ax ≥ −b.
• Ax ≥ b ⇐⇒ −Ax ≤ −b.
7
3. Una desigualdad puede transformarse en una igualdad si añadimos una
variable xh ≥ 0, llamada variable de holgura:
Pn
• Si a la desigualdad i=1 aji xi ≤ bj , se le añade la variable de
holgura con signo positivo. Se obtiene:
Pn
i=1 (aji xi + xhj ) = bj , xhj ≥ 0,
8
Definición 2. (Combinación lineal convexa) Un punto x ∈ Rn tal que:
n
X
x= λi xi
i=1
λi ≥ 0 (1.3)
n
X
λi = 1.
i=1
9
Figura 1.2: Ejemplos de casco convexo
n+1
X
x= λi xi
i=1
n+1
X
λi = 1 (1.4)
i=1
λi ≥ 0, i = 1, ..., n + 1
xi ∈ C, i = 1, ..., n + 1.
10
Demostración. Sea x ∈ H(C) se tiene
k
X
x= λi xi
i=1
k
X
λ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 pérdida de generalidad, se supone λi 6= 0 para i = 1, ..., k
pues si se tiene λi = 0 para algún i, x serı́a combinación convexa de k − 1
vectores; es decir, se escoge la combinación convexa de k vectores lo menor
posible.
Además, los k − 1 vectores x2 − x1 , x3 − x1 , ..., xk − x1 son linealmente
dependientes (pues la dimensión del espacio es n y k − 1 > n), luego existen
escalares µ1 , µ2 , ..., µk no todos ceros tales que ki=2 µi (xi − x1 ).
P
Sea µ1 = − ki=2 µi .
P
k
X k
X k
X k
X
x= λi x i + 0 = λi x i − α µi x i = (λi − αµi )xi ,
i=1 i=1 i=1 i=1
11
i = 1, ..., k.
Es decir, x es combinación convexa de a lo más k −1 vectores pues el coeficiente
j -ésimo es nulo.
Repitiendo el argumento hasta que x sea representado como una combinación
convexa de n + 1 puntos en C. Bazaraa, Sherali y Shetty (2006).
H = {x ∈ Rn ; px = k : k ∈ R, p ∈ Rn } (1.5)
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.
T
2. H − H + = Rn .
S
S = {x ∈ Rn ; Ax ≤ b : A ∈ Rmxn , b ∈ Rm },
es convexo.
S = {x ∈ Rn ; Ax ≥ b : A ∈ Rmxn , b ∈ Rm },
es un conjunto convexo.
12
Definición 7. Sea C ⊆ Rn un convexo no vacı́o. La función f : C −→ R es
convexa, si para cualquier x, y ∈ C y para cada λ ∈ [0, 1],
13
Si en la definición anterior C es un conjunto convexo, C se denomina cono
convexo.
El casco convexo de C,
1 −1 0
0 1
2
3
H(C) = x ∈ R : x ≤
1 0 1
3
− −1
0
2
14
Figura 1.6: Conjunto de puntos extremos de C.
α > 0.
Definición 12. (Direcciones extremas) Una dirección d es una dirección
extrema en un conjunto convexo C de Rn sino se puede expresar de la forma
d = λ1 d1 + λ2 d2 con λ1 , λ2 > 0 y donde d1 , d2 direcciones distintas.
15
2.4. Teorema de Farkas.
py > α
(1.10)
px ≤ α, ∀x ∈ C.
16
α ≥ px = p(AT y) = (AT y)T p = y T Ap, para todo y ≥ 0.
Interpretación geométrica.
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 ai x ≤ 0 para todo i. Es decir, el ángulo
entre x y cada fila del vector ai es más grande que o igual a 90◦ . Entonces
cx < 0 requiere que el ángulo entre x y c menor que 90◦ . Además, el Sistema
1 tiene una solución si la intersección 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 solución, con cualquier x en el área sombreada como una solución
del Sistema 1.
b) El vector c es una combinación lineal positiva de las columnas ai , figura
17
Figura 1.10: Sistema 2 tiene solución.
3. Programación lineal
18
representación general del problema de programación lineal (PL) que optimiza:
z = f (x) = cx (1.11)
sujeto a Ax R b (1.12)
x ≥ 0, (1.13)
sujeto a
a11 a12 · · · a1n x1 b1
a21 a22 · · · a2n x2 b2
R
. . (1.15)
· · · · · · · · · · · · .. ..
am1 am2 · · · amn xn bm
x 0
1
x2 0
≥ (1.16)
.. ..
. .
xn 0
19
Otra forma de escribirlo es:
Optimizar
n
X
z= ci x i (1.17)
i=1
sujeto a
n
X
aji xi R bj , j = 1, ..., m (1.18)
i=1
xi ≥ 0, i = 1, ..., n. (1.19)
Todas estas formas son equivalentes. Un vector x que satisface (1.12) y (1.13)
se denomina solución factible. La región factible o espacio factible
está constituido por todos las soluciones factibles.
Forma canónica y forma estándar
Un problema de PL se dice estándar si:
Optimizar
z = cx
sujeto a Ax = b
x ≥ 0,
20
Optimizar
z = cx
(≤)
sujeto a Ax ≥ b
x ≥ 0.
21
3.1. Soluciones básicas factibles.
Ax = b
x ≥ 0,
P = {x; Ax = b, x ≥ 0},
22
xB
= BxB + N xN = BB −1 b + N 0 = b y x ≥ 0
Note que, Ax = [B, N ] xN
por lo tanto, x ∈ P.
Sean x1 = xx11 x21
12
, x2 = x22
∈ P y para algún λ ∈ (0, 1) tal que
x = λx1 + (1 − λ)x2
−1
B b x11 x21
=λ + (1 − λ)
0 x12 x22
λx11 + (1 − λ)x21 = B −1 b (1)
λx
12 + (1 − λ)x22 = 0. (2)
Pk
Ax = b ⇐⇒ i=1 xi ai = b.
23
Pk
ceros tal que i=1 λi ai = 0. Sea
λ
1
..
.
λk
.
λ=
0
..
.
0
x1 = x + αλ,
x2 = x − αλ.
1 1
Luego, x = x1 + x2 .
2 P 2
Note, Ax1 = ki=1 (xi + αλi )ai = ki=1 xi ai + α ki=1 λi ai = Ax = b. y de
P P
Pn Pm Pn
Ax = b ⇐⇒ i=1 xi ai = b ⇐⇒ i=1 xi ai + i=m+1 xi ai = b (*).
xB
Si se denota x = xN
, donde
x x 0
1 m+1
. . .
xB = .. ≥ 0, xN = .. = .. .
xm xn 0
24
Entonces la ecuación (*) se escribe:
BxB + N xN = b,
BxB = b,
xB = B −1 b.
P = {x; Ax = b, x ≥ 0},
25
xj
x
donde α = mı́n1≤j≤k , λj > 0 = i > 0.
λj λi
0
Si λj ≤ 0 entonces xj > 0 para j = 1, ..., k.
xi xj
Si λj > 0, por definición de α se tiene que α = ≤ y entonces x0j ≥ 0,
λi λj
xi xj
pues x0j = xj − αλj = xj − λj ≥ xj − λj = 0 para j = 1, ..., k.
λi λj
0
Ası́, x ≥ 0 con como máximo hay k-1 componentes positivas, es decir, la
componente x0i = 0 y
Pn Pn Pn Pn
Ax0 = i=1 x0i ai = i=1 (xi − αλi )ai = i=1 xi ai − α i=1 λi ai = b.
P = {x; Ax = b, x ≥ 0},
posición j.
−B −1 aj
= −BB −1 aj + N ej = −aj + aj = 0
Ad = [B, N ] ej
26
d11 d21
d1 = α1 ej
, d2 = α2 e j
d11
= Bd11 + α1 N ej = Bd11 + α1 aj = 0 =⇒ d11 = −α1 B −1 aj ,
[B, N ] α1 e j
d21
= Bd21 + α2 N ej = Bd21 + α2 aj = 0 =⇒ d21 = −α2 B −1 aj ,
[B, N ] α2 e j
27
que
d1 = d + αλ,
d2 = d − αλ
Pk
Ad1 = Ad + αAλ = 0 + α i=1 λi ai = 0
0 = Ad = [B, N ]d = Bd∗ + aj dj ,
P = {x; Ax = b, x ≥ 0},
28
si y sólo si x se puede escribir como
k
X l
X
x= λi x i + µi di
i=1 i=1
k
X
λi = 1 (1.20)
i=1
λi ≥ 0 i = 1, ..., k (1.21)
µi ≥ 0 i = 1, ..., l. (1.22)
P = {x ∈ Rn : Ax = b, x ≥ 0}
{x0 + λd; λ ≥ 0, x0 ∈ C}
Pk Pk Pk
kxk = k i=1 λi x i k ≤ i=1 λi kxi k ≤ i=1 kxi k < ∞,
29
demostración. Bazaraa, Sherali y Shetty(2006).
mı́n z = cx
sujeto a Ax = b
x ≥ 0,
mı́n z = cx
sujeto a Ax = b
x ≥ 0,
donde b ∈ Rm y x, c ∈ Rn .
Supóngase que el problema anterior de PL tiene una solución básica factible
B −1 b
0
, donde A se puede descomponer de la forma [B, N ] y de manera similar
30
c = (cB , cN ). El valor de la función objetivo es
−1 −1
B b B b
z0 = c = (cB , cN ) = cB B −1 b. (1.23)
0 0
xB
Ahora, sea x = xN
una solución factible arbitraria, se tiene que
xB
b = Ax = [B, N ] = BxB + N xN ,
xN
xB = B −1 b − B −1 N xN , (1.24)
xB , xN ≥ 0. (1.25)
= cB (B −1 b − B −1 N xN ) + cN xN
= cB B −1 b + (cN − cB B −1 N )xN
= z0 − (cB B −1 N − cN )xN
X
= z0 − (cB B −1 aj − cj )xj ,
j∈R
X
z = z0 − (zj − cj )xj , (1.26)
j∈R
31
Reescribiendo la ecuación (1.24), se observa que cuando crece la variable no
básica la variable básica decrece
xB = B −1 b − B −1 ak xk .
Denote yk = B −1 ak y b = B −1 b
xB = b − yk xk . (1.28)
Ahora se hallará el valor máximo que puede alcanzar xk . Denote por xBi , bi ,
yik a la coordenada i-ésima del vector xB , b y yk , respectivamente.
1. Para los valores yik negativos, entonces xBi continua siendo no negativa
y crece de acuerdo a cuanto crezca xk . En este caso el valor de la función
objetivo no es acotado.
2. Para los valores yik > 0, se puede ir incrementando xk hasta que el primer
xBi se anule; para que conserve la condición de no negatividad. Es decir,
bi
xk = mı́n ; yi > 0 (1.29)
1≤i≤m y ik k
br
Si supone que el mı́nimo se alcanza en la posición r-ésima xk =. En
yrk
el caso no-degenerado br > 0, se sigue que xk > 0 y se observa de la
ecuación 1.27 z < z0 , lo cual mejora la función objetivo. En particular,
br
xBr = br − yr = 0, en tal caso la variable xk entra a la base y xbr
yrk k
sale. Note que las columnas aB1 , aB2 ,..., aBr−1 , ak , aBr+1 ,..., aBm son
linealmente independientes ya que yrk 6= 0.
32
Interpretación de las entradas y salidas de la base (económica).
Interpretación de zk − ck .
Los valores zk − ck se denominan costes reducidos, estos miden el cambio que
se produce en el valor de la función objetivo cuando se aumenta unitariamente
el valor de las variables no-básicas. Por tanto:
z − cx = z − cB xB − cN xN = 0, (1.30)
Ax = BxB − N xN = b. (1.31)
33
denomina tableau. Se le conoce como el vector de costos reducidos al vector
cN − cB B −1 N .
La tableau 1.1 contiene la información necesaria para iniciar el método simplex.
z xB xN LD
−1
z 1 0 cB B N − cN cB b
xB 0 I B −1 N b
bi br
mı́n ; yij > 0 = ≥ 0, (1.32)
1≤i≤m yij yrj
mı́n z = cx
sujeto a Ax = b
x ≥ 0,
34
donde A ∈ Mmxn (R), b ∈ Rm y c ∈ Rn , si y sólo si existen vectores y ∈ Rm ,
v ∈ Rn tal que:
4. Dualidad y sensibilidad
35
La tabla 1.2 resume la relación del problema primal con el dual, respecto
al signo de las variables y el sentido de las restricciones.
(P D) máx bT y
sujeto a AT y ≤ c
y ≥ 0,
mı́n −bT y
sujeto a −AT y ≥ −c
y ≥ 0.
máx −cT x
sujeto a −Ax ≤ −b
x ≥ 0,
1
Por notación y evitar confusiones en el (PP) y (PD), se colocará “T ” en el vector de
costos para representar su transpuesta.
36
que a su vez es equivalente a:
(P P ) mı́n cT x
sujeto a Ax ≥ b
x ≥ 0,
La definición del programa lineal dual que se usó, utiliza la relación entre los
programas lineal dual y primal.
Relación entre los valores objetivos.
Lema 2. [2] El valor de la función objetivo, para cualquier solución factible
del problema de minimización, es siempre mayor o igual que el valor de la
función objetivo para cualquier solución factible del problema de maximización.
En particular, el valor objetivo de cualquier solución factible del problema
de minimización da una cota superior del objetivo óptimo del problema de
maximización. Análogamente, el valor objetivo de cualquier solución factible del
problema de maximización es una cota inferior del objetivo óptimo del problema
de maximización.
mı́n cT x
sujeto a Ax ≥ b
x ≥ 0,
37
y el siguiente su programa dual asociado:
máx bT y
sujeto a AT y ≤ c
y ≥ 0.
Por tanto,
cT x0 ≥ (Ax0 )T y0 ≥ bT y0 .
38
2. Uno de los dos problemas tiene valor objetivo no acotado, en cuyo caso
el otro problema debe ser no factible.
PP óptimo ⇐⇒ PD óptimo.
PP no acotado =⇒ PD no factible.
PD no acotado =⇒ PP no factible.
(P P ) mı́n cT x (P D) máx bT y
sujeto a Ax ≥ b sujeto a AT y ≤ c
x ≥ 0. y ≥ 0.
(P P ) mı́n cT x (P D) máx bT y
sujeto a Ax ≥ b sujeto a AT y ≤ c
x ≥ 0. y ≥ 0.
39
B −1 b
Considere B es la base óptima, x∗ = una solución óptima del PP y y ∗
0
solución óptima del PD. Sea cTB el vector de costos básicos, entonces:
z ∗ = cTB B −1 b = bT y ∗
∂z ∗
= cB B −1 = y ∗ .
∂b
mı́n cx
sujeto a Ax = b (1.33)
x ≥ 0.
40
Introducción de una nueva restricción.
Caso II: Variación del coeficiente en la función objetivo de una variable básica.
Si xk es una variable básica, por ejemplo xk ≡ xBt y reemplazando cBt
por c0Bt . Si el nuevo valor de zj es zj0 , entonces
41
un nuevo valor objetivo
42
en la columna básica j, aj por a0j . Sea B −1 la base inversa actual y
calculemos yj0 = B −1 a0j , entonces se tiene las siguientes posibilidades:
0
• Si yjj = 0, el conjunto de vectores actual no es linealmente
independiente.
0
• Si yjj 6= 0, se considera a este valor como pivote y se puede
reemplazar la columna j, la cual es comúnmente un vector unitario
por yj0 . La base presente continua siendo base, si la factibilidad
primal o dual no fuera posible, se recurre a algunas técnicas primal
o dual de variables artificiales para su resolución
43
Perturbación del vector de costos
Considere el siguiente problema lineal
mı́n z = cx
sujeto a Ax = b
x ≥ 0.
mı́n z = cx + λc0 x
sujeto a Ax = b (1.35)
x ≥ 0, λ ≥ 0.
Ax = BxB + N xN = b (1.37)
X
xB + yj xj = b,
j∈R
44
donde R es el conjunto de ı́ndices asociados a las variable no básicas.
Si λ = 0 el problema coincide con el problema original y su solución básica
factible óptima se mantiene.
Interesa mantener la optimalidad si se mueve la dirección c0 . Sea
−(zj − cj )
−(zk − ck )
λ̂ = mı́n =
j∈S zj0 − c0j zk0 − c0k
• Sea λi = λ̂.
• Se vuelve al paso 1.
5. El problema de asignación
45
binaria:
1, si se asigna i para realizar la actividad j ,
xij =
0, caso contrario.
m X
X m
mı́n z = cij xij
i=1 j=1
sujeto a
m
X
xij = 1, i = 1, ..., m
j=1
Xm
xij = 1, j = 1, ..., m
i=1
46
CAPÍTULO 2
Metodologı́a
Parámetros
a=número de materias de las áreas de matemáticas que se dictan por semestre
en cada carrera.
d=número de docentes.
m=número de materias.
r=número de salas.
z=número de horas de clases en el dı́a.
Índices
En la tabla siguiente se encuentra los ı́ndices relacionados con las variables que
se considerarán al plantear el modelo del problema.
47
1.1. Variables de decisión.
para todo i ∈ {1, ..., d}, j ∈ {1, ..., m}, k ∈ {1, ..., z}, l ∈ {1, ..., r}.
2. Cada docente i se le debe asignar una materia j, una sala l en una hora
de clases k.
r X
X m
xijkl ≤ 1, i ∈ {1, 2, ..., d}, k ∈ {1, 2, ..., z}.
l=1 j=1
r X
X d
xijkl ≤ 1, j ∈ {1, 2, ..., m}, k ∈ {1, 2, ..., z}.
l=1 i=1
m X
X d
xijkl ≤ 1, k ∈ {1, 2, ..., z}, l ∈ {1, 2, ..., r}.
j=1 i=1
48
5. Cada materia j tienen un número de horas semanales Ej .
r X
X z X
d
xijkl = Ej , j ∈ {1, 2, ..., m}.
l=1 k=1 i=1
r X
X z X
m
xijkl = Di , i ∈ {1, 2, ..., d}.
l=1 k=1 j=1
r X
X z X
m X
d
máx z = cijkl xijkl
l=1 k=1 j=1 i=1
2. Modelo particular
49
oscilan de 0 a 2.
50
Las salas disponibles del campus son 2 laboratorios, 17 aulas.
Figura 2.4: Carga horaria mı́nima, máxima y número de docentes por tiempo
de dedicación .
51
3. Formulación verbal y matemática del modelo
Variables de decisión.
23
X
xij ≤ 1, i ∈ {1, 2, ..., 16}.
j=1
52
Respetar la carga horaria de cada docente.
23
X
Hj xij = Di , i ∈ {1, 2, ..., 16}.
j=1
Función objetivo
Variables de decisión.
para todo j ∈ {1, ..., 23}, k ∈ {1, ..., 7} y l ∈ {1, ..., 19}.
53
Requerimientos de la escuela de matemáticas.
19
X
xjkl ≤ 1, j ∈ {1, 2, ..., 23}, k ∈ {1, 2, ..., 7}.
l=1
Una sala no puede ser designado a dos o más materias en una hora de
clases.
23
X
xjkl ≤ 1, k ∈ {1, 2, ..., 7}, l ∈ {1, 2, ..., 19}.
j=1
19 X
X 7 X
23
mı́n z = cjkl xjkl
l=1 k=1 j=1
1
An optimal policy has the property that whatever the initial state and initial decisions
are, the remaining decisions must constitute an optimal policy with regard to the state
resulting from the first decisions.(Richard Bellman, 1954). Una polı́tica óptima es la más
ventajosa secuencia de decisiones de acuerdo con un criterio predefinido.
54
CAPÍTULO 3
Implementación
55
se encuentra en descarga libre como versión de prueba en la página oficial
www.lindo.com.
1. Tablas
• 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.
56
Figura 3.4: Datos de la tabla Day.
57
Figura 3.7: Tabla Capacity en MySQL.
58
• Tabla ClassRoom: Detalla los parámetros código, capacidad y tipo
de salones de clase identificados como capacityClasroom, typeClassRoom,
codClassRoom, respectivamente.
59
Figura 3.14: Datos de la tabla Matter.
60
Figura 3.17: Tabla AcademicTrainning en MySQL.
61
Figura 3.20: Tabla Parallel en MySQL.
62
• Tabla MatterTeacher: Contiene el puntaje de un profesor para dictar
una materia, scoreMatterTeacher.
2. Relaciones
63
Procedimiento General para la asignación
3. Casos Crı́ticos
1. Si hay más materias que salas, en una hora determinada del dı́a no se
puede realizar la asignación completa, el programa mostrará el siguiente
mensaje:
64
Figura 3.27: Mensaje de materias.
2. Si hay más salas que materias, en una hora determinada del dı́a, cualquier
asignación en la que no se crucen las salas es factible.
4. Ejemplo Lindo
65
Figura 3.28: Modelo de la materia E100 en LINDO.
66
4. En este punto se asignan todas las materias que un docente dictará de
clases, en que paralelos y sedes, sin exceder el número de horas permitidas
de cátedra. En la siguiente figura se puede observar la asignación de las
materias, paralelos(con hora de clase), sedes y número de horas total
asignada al docente X21 .
Figura 3.30: Asignación de las materias, paralelos, sede y horas al docente X21 .
67
142(capacidad 42 alumnos).
Análisis de sensibilidad
68
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 función objetivo se encuentra en la columna
current coef.
69
CAPÍTULO 4
Conclusiones y recomendaciones
Conclusiones
Recomendaciones
Realizar las mejoras necesarias para que el trabajo sea llevado a nivel
institucional.
70
BIBLIOGRAFÍA
71
[12] HEREDIA, M. (2014). Modelo de programación lineal entera para la
generación de horarios de clase en la universidad (Tesis Pregrado). Escuela
Politécnica Nacional, Quito, Ecuador.
[13] HITCHCOCK, F. L. (1941). The Distribution of a Product from Several
Sources 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). Restricciones
Blandas: Modelos y Algoritmos. Inteligencia Artificial. Revista
Iberoamericana de Inteligencia Artificial, 7 (20). Recuperado de
http://www.redalyc.org/articulo.oa?id=92572006
[16] LIPSCHUTZ, S. (1992). Álgebra Lineal (Segunda Ed.). Madrid, España:
McGRAW-HILL.
[17] MEYER, R. M. (1979). Essential Mathematics for Applied Fields. New
York, USA: Springer-Verlag.
[18] MORENO, P., SÁNCHEZ, J., GARCÍA, A. (2007). Aplicación de
técnicas de enfriamiento lento al problema de planificación de horarios.
Ciencia, Tecnologı́a y Medio Ambiente, V, 3-21. Recuperado de
https://dialnet.unirioja.es/servlet/articulo?codigo=2596432
[19] OLIVA, C., RAMÍREZ, G. (2013). Algoritmo de tipo búsqueda tabú para
un problema de programación de horarios universitarios vespertinos. Inge
Cuc, 9 (2), 58-65.
[20] PRAWDA, J. W. (2004). Métodos y Modelos de Investigación de
Operaciones (Vol. 1). México, D.F., México: Limusa.
[21] SHAERF, A. (1999). A Survey of Automated Timetabling. Artificial
Intelligence Review, 13 (2), 87–127.
[22] SRINIVASAN, S. (2011). Modeling the Homeschool timetabling
problem using Integer programming (Tesis Maestrı́a). Recuperado de
http://scholarscompass.vcu.edu/etd/2555/
[23] VANDERBEI, R. J. (2008). Linear Programming (Third ed.). New York,
USA: Springer.
72
Anexos
73
Anexo
Carrera
Salas
Áreas
Configuración Horaria
Asignaturas
Materias
Paralelos
74
Docentes
Profesores
Formación Académica
Horarios
Salir
GENERAL
Carrera
75
Cuenta con cuatro opciones:insertar, actualizar, eliminar y limpiar.
76
Figura 7: Mensaje de éxito al eliminar.
Salas
En esta ventana hay cuatro campos Id, código 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.
Área
Esta pestaña contiene tres campos código área, nombre área e
identificación(se coloca una letra que identifique al área). Al igual que en
el caso de las carrera se tiene cuatro botones insertar, actualizar, eliminar
y limpiar.
77
Figura 10: Ventana Área
Ventana Horas: Se calcula con los tres campos llenos las horas de
clases en un dı́a.
78
Figura 12: Ventana Horas
ASIGNATURAS
79
Figura 15: Ventana de Materias.
DOCENTES
80
Figura 18: Ventana Profesores.
HORARIO DOCENTE
Al seleccionar su nombre, el docente visualiza el horario que le
corresponde e implı́citamente, realiza un proceso de decodificación de
cada materia que imparte, por la familiaridad con que maneja los códigos,
generada en el manejo de syllabus.
81
Figura 20: Ventana que indica la asignación completa.
82