Beruflich Dokumente
Kultur Dokumente
Presentado por:
MARITZA CAICEDO Cd.: 1353912
WILSON LONDOO Cd.: 1353903
ESTEFANIA PALMA Cd.: 1353792
Presentado a:
JAVIER IVAN HERNANDEZ MONTOYA
4
4
VARIABLES:
FUNCIN OBJETIVO:
RESTRICCIONES:
4
4
4
5
5
6
7
7
VARIABLES:
PARMETROS:
FUNCIN OBJETIVO:
RESTRICCIONES:
7
7
7
7
8
10
10
13
15
PARTE II:
16
16
VARIABLES:
FUNCIN OBJETIVO:
RESTRICCIONES:
16
17
17
18
19
21
26
26
27
RANGO DE OPTIMALIDAD
RANGO DE FACTIBILIDAD
SOLUCION GRAFICA
36
37
37
ANALISIS Y CONCLUSIONES
38
Personas
atendidas
por hr.
30
22
18
27
20
19
21
26
29
24
Horas del
da
8:00:00 a.
m.
9:00:00 a.
m.
10:00:00
a. m.
11:00:00
a. m.
12:00:00
p. m.
1:00:00 p.
m.
2:00:00 p.
m.
3:00:00 p.
m.
4:00:00 p.
m.
5:00:00 p.
m.
6:00:00 p.
m.
7:00:00 p.
m.
Caja anterior
PAR
IMPAR
IMPAR
PAR
PAR
IMPAR
PAR
PAR
PAR
IMPAR
Flujo
de
perso
nas
15
21
35
45
37
23
26
34
38
45
50
55
Funcin objetivo:
3
( Minimizar ) Z= x j
j=1
Restricciones:
x 1+ x 2 + x 3 10
Obvias
x j 0
SOLUCION DEL MODELO POR WINQSB
option solution_precision 0;
option omit_zero_rows 1;
display X;
option omit_zero_cols 1;
option display_precision 6;
option display_round 1;
# CONJUNTOS PRINCIPALES
set TURNOS:= 1 2 3;
# COMANDO DE SOLUCIN:
solve;
# COMANDOS
RESULTADOS:
DE
IMPRESIN
printf
"\n\n*************************************\n";
DE
#CONJUNTOS PRINCIPALES
set TURNOS; # Cantidad de turnos indexado
por j
#VARIABLES DE DECISIN
subject to restriccion2:
(X[1]+X[2])
# (Cajeros/turno)
>=4;
#FUNCIN OBJETIVO
minimize cantidad_cajeros:
subject to restriccion3:
#(cajeros)
(X[3])
>=1;
# cantidad de cajeros
#RESTRICCIONES
subject to restriccion4:
(X[2]+X[3])
subject to restriccion1:
(X[1])
>=6;
subject to restriccion5:
(X[1]+X[2]+X[3])
>=1;
<=1
Coni=1,2 10 y j=1,2,3.
Parmetros:
Oi Cantidad promedio de personas que atiende cada cajero por hora
x j Cantidad de cajeros en el turno j .
(La variable anterior se convierteahora en un parametro)
Funcin objetivo:
10
10
10
i=1
i=1
i=1
Cij=x j j
i=1
10
10
i=1
i=1
10
10
i=1
i=1
C ij 1 i
j=1
10
Lmite de cajeros:
3
C ij=7
i=1 j=1
Obvias
8
Cij ( 0,1)
SOLUCION DEL MODELO POR WINQSB
10
11
#
COMANDOS
EN
AMPL
CORRESPONDIENTES AL PROBLEMA
DE LA ASIGNACION DE CAJEROS
POR TURNOS
# COMANDOS DE INICIALIZACIN DE
CONDICIONES:
set TURNOS:= 1 2 3;
# PARMETROS
# Cantidad promedio de personas que
atiende cada cajero i por persona
# (personas/cajero)
option show_stats 1;
param O:=
option solution_precision 0;
1 30
option omit_zero_rows 1;
2 22
option omit_zero_cols 1;
3 18
option display_precision 6;
4 27
option display_round 1;
5 20
6 19
# COMANDO DE SOLUCIN:
7 21
solve;
8 26
# COMANDOS DE IMPRESIN DE
RESULTADOS:
9 29
printf
"\n\n*************************************\n";
10 24;
# (cajeros/turno)
printf
"*************************************\n\n";
param H13:=
1 180
2 132
3 108
4 162
5 120
6 114
7 126
8 156
9 174
10 144;
12
param H2:=
maximize clientes_atendidos:
1 240
2 176
3 144
4 216
5 160
# RESTRICCIONES
6 152
7 168
subject to restriccion1:
8 208
9 232
subject to restriccion2:
10 192;
#
MODELO
EN
AMPL
CORRESPONDIENTE AL PROBLEMA
DE ASIGNACION DE CAJEROS POR
TURNO
subject to restriccion3:
# CONJUNTOS PRINCIPALES
subject to restriccion4:
# PARMETROS
subject to restriccion5:
+sum{i
in
(3*(O[i]*C[i,2]))>=117;
subject to restriccion6:
# VARIABLES DE DECISIN
# 0 de lo contrario
# FUNCIN OBJETIVO
CAJEROS}
subject to restriccion7:
+sum{i
in
(5*(O[i]*C[i,3]))>=222;
CAJEROS}
13
subject to restriccion8:
subject to restriccion14:
subject to restriccion9:
subject to restriccion15:
subject to restriccion10:
subject to restriccion16:
subject to restriccion11:
subject to restriccion17:
subject to restriccion12:
#limite de cajeros:
sum{j in TURNOS}(C[5,j])<=1;
subject to restriccion18:
subject to restriccion13:
sum{i in
(C[i,j])=7;
CAJEROS,j
in
TURNOS}
Personas
atendidas
por hr.
30
22
18
27
Puntos
20
de
19
asignaci
21
n
5
26
7
29
9
24
6
8
9
8
6
5
7
Rang
o
0
8
12
3
10
11
9
4
1
6
Caja
anterio
r
PAR
IMPAR
IMPAR
PAR
PAR
IMPAR
PAR
PAR
PAR
IMPAR
14
Rang
o
Valor
a
resta
r
12
11
10
9
8
6
4
3
1
0
-1
-2
-3
-4
-5
4
8
5
0
5
4
8
6
4
7
9
5
6
4
4
8
5
7
5
4
8
6
6
7
9
7
6
6
4
8
5
7
5
4
8
6
6
7
9
7
6
6
4
8
5
7
5
4
8
15
ANALISIS Y CONCLUSIONES
La primera parte del problema muestra cual es la cantidad mnima de cajeros con
la que el supermercado puede operar y la segunda parte escoge del total de
cajeros, aquellos que maximicen el flujo de atencin de clientes, para al final
asignar una caja a cada cajero dependiendo de ciertas condiciones. Teniendo en
cuenta que el supermercado tiene en su nmina 10 empleados, y la primera parte
determina que el mnimo de operacin es de 7 cajeros, de los 3 cajeros que
quedan inoficiosos se recomienda asignar dos en labores de surtidor y el otro se
tomara el da libre, as se evita despedir empleados y reubicarlos en otras labores
tambin importantes adems de que existe la posibilidad de poder brindar un da
de descanso a cada uno.
Para la asignacin mnima de cajeros en cada turno existen dos posibilidades para
un total de 7 cajeros, en realidad no hay un argumento de peso que permita
escoger una de las dos soluciones, la solucin mostrada en WinQSB se escogi
debido a que tiene una distribucin ms equitativa de entrada de cajeros en cada
turno.
Como se pudo observar en la segunda parte del ejercicio, la asignacin de cajeros
para ese da de trabajo se puede hacer de dos formas diferentes, simplemente
cambiando los turnos, como las dos soluciones son ptimas, la escogencia de una
sobre la otra puede estar sujeta a cuestiones personales de cada cajero.
16
PARTE II:
FORMULACION DEL MODELO DE PROGRAMACION LINEAL
Variables:
Y 1 :Cantidad de veces que se devuelve el familiar 1
Y 2 :Cantidad de veces que se desplaza el familiar 2
Y 3 :Cantidad de veces que se desplaza el familiar 3
Y 4 :Cantidad de vecesque se desplaza el familiar 4
Y 5 :Cantidad de veces que se desplaza el familiar 5
Funcin objetivo:
Mnt=Y 1 +3 Y 2 +6 Y 3 +8 Y 4 +12 Y 5 +3 X 12+ 6 X 13 +8 X 14 +12 X 15 + 6 X 23 +8 X 24 +12 X 25 +8 X 34 +12 X 35+ 12 X 45
Restricciones:
Todos los familiares deben pasar al otro lado del puente
X 12 + X 13 + X 14 + X 15Y 1=1
X 12 + X 23 + X 24 + X 25Y 2=1
X 13 + X 23 + X 34 + X 35Y 3=1
X 14 + X 24+ X 34 + X 45Y 4=1
X 15 + X 25 + X 32 + X 45Y 5=1
18
La linterna debe estar 4 veces en el lugar del origen para que todos puedan pasar
y llevarla al lugar de destino
X 12 + X 13 + X 14 + X 15+ X 23+ X 24+ X 25 + X 34 + X 35 + X 45=4
Podra omitirse la restriccin de ser menor a 30 segundos la capacidad del tiempo
de la linterna pues como es de minimizar la funcin tender a ser lo ms
reducido posible
Y 1+ 3Y 2+ 6Y 3+ 8Y 4 +12Y 5 +3 X 12+6 X 13+8 X 14+ 12 X 15 +6 X 23+8 X 24+ 12 X 25+8 X 34+12 X 35 +12 X 45 30
SOLUCION DEL MODELO POR WINQSB
19
20
21
option solution_precision 0;
option omit_zero_rows 1;
option omit_zero_cols 1;
option display_precision 6;
#CONJUNTOS PRINCIPALES
option display_round 1;
solve;
# COMANDOS
RESULTADOS:
DE
IMPRESIN
DE
printf
"\n\n*************************************\n";
printf "RESULTADOS DEL PROBLEMA DE
LA TRAVESIA DEL PUENTE\n";
printf "*************************************\n\n";
printf "\nRESULTADO DE LA FUNCION
OBJETIVO = \t%9.1f", tiempo_llegada;
22
+sum{i in LLEGADAP1}(X[i,3])
-(Y[3])=1;
# (Segundos/persona)
subject to restriccion4:
#VARIABLES DE DECISIN
sum{j in LLEGADAP2}(X[4,j])
+sum{i in LLEGADAP1}(X[i,4])
-(Y[4])=1;
subject to restriccion5:
# (Veces/personas)
+sum{i in LLEGADAP1}(X[i,5])
-(Y[5])=1;
# (Veces/persona)
#FUNCIN OBJETIVO
subject to restriccion6:
minimize tiempo_llegada:
#(segundos)
sum{i in LLEGADAP1, j in LLEGADAP2}
(velocidadll_es[i,j]*X[i,j])
# tiempo de llegada de un par de personas
# CONJUNTOS PRINCIPALES
set VUELTA:= 1 2 3 4 5;
#RESTRICCIONES
set LLEGADAP1:= 1 2 3 4 5;
set LLEGADAP2:= 1 2 3 4 5;
subject to restriccion1:
sum{j in LLEGADAP2}(X[1,j])
+sum{i in LLEGADAP1}(X[i,1])
-(Y[1])=1;
subject to restriccion2:
sum{j in LLEGADAP2}(X[2,j])
+sum{i in LLEGADAP1}(X[i,2])
-(Y[2])=1;
subject to restriccion3:
sum{j in LLEGADAP2}(X[3,j])
# PARMETROS
# Velocidad con la que camina el personaje i
# (segundos/persona)
param velocidadv_es:=
11
23
36
48
5 12;
# Velocidad con la que pasa el personaje i
junto al personaje j
23
# (Segundos/personas)
param velocidadll_es: 1
1
100 3
12
100 6
12
5 :=
100 8
12
12
12
12
100 12
12
100
24
Arroja la misma informacin final que arroj WINQSB, informacin que deca que
el familiar 2 se va junto al familiar 1 dos veces, que la persona 3 se va con la 1, y
que las personas 4 y 5 se van juntas; y finalmente que la persona 1 se devuelve
dos veces y la persona 2 se devuelve solo una vez
Yi
X ij
con las
devuelven solas al lugar de origen. Las variables son de tipo entera, inicialmente
se haba pensado en variables binarias, pero era difcil expresar la cantidad de
veces que la variable llegaba al final del puente y las que volvan al lugar de
origen. En cuanto, a las restricciones se tuvo en cuenta que cada uno de los
integrantes de la familia deba llegar al final del puente por eso fue necesario
igualar la ecuacin a 1, tambin se tuvo en cuenta que debe ser menor a 30
segundos la travesa porque sin linterna no hay posibilidad de continuar y una de
las restricciones que influye ms es que cada vez que un par de personas se
vayan juntas deben irse con la linterna por eso las variables X ij las igualamos a
4
ULTIMOS TABLEROS:
SOLUCION DEL MODELO POR WINQSB (RUTA MAS CORTA DESDE LOS
CENTROS DE DISTRIBUCION A TODOS LOS CLIENTES)
b)
S
LU
IO
O
C
N
Z actual =107.680
COSTOS REDUCIDOS:
Z Actual =93.010
COSTOS REDUCIDOS:
En
la
RANGO DE OPTIMALIDAD
RANGO DE FACTIBILIDAD
SOLUCION GRAFICA
ANALISIS Y CONCLUSIONES
Para resolver el problema de la programacin de la distribucin desde los 3
centros (A, D, F) a todas las ciudades demandantes incluida la A, se tienen dos
posibilidades para su resolucin, que finalmente nos llevara a la misma solucin
ptima, pero de pronto por el mtodo utilizado actualmente se logra reducir
algunas de operaciones.
En la tabla final del rango de factibilidad podemos observar que para este
problema de transporte la oferta permisible minima y demanda permisible maxima
son las mismas que establece el planteamiento del problema, porque se debe
cumplir el equilibrio de demanda oferta, incuidos los nodos de exceso.
En la matriz de costos que para este caso se convierte en una matriz de distancia,
solo estamos teniendo en cuenta la distribucin de la mercanca de forma que se
minimice la cantidad de km recorridos y se cumpla con la demanda de cada
ciudad de acuerdo a la oferta establecida, y como el problema nos plantea que el
medio de transporte a utilizar es el camin, y que tiene un costo de $65/km.und
entonces llegamos a la solucin ptima multiplicando este valor por la solucin
mostrada Zactual=93010 km.und y llegamos a que la solucin es $6045650.
Que se muestra tambin en winqsb si multiplicamos cada valor de la matriz
distancia por el valor de transportar que es $65/km.und como se muestra a
continuacin:
Solucin: