UTNianos

Versión completa: [Aporte] Final I.O 3/12/19 - Zanetti/Grispino
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
thumbup3thumbup3thumbup3thumbup3thumbup3
Phiiliip077 , que tal?

Te arrobo aca porque vi que has respondido a varios algunas consultas de estos ejercicios y quizas en una de esas te acordas algo. Yo curse con Grispino y estoy por dar el final hoy, los ejercicios de Modelizacion de nuestra guia y finales suelen ser bastante distintos a los de Carlevari por lo que vi (no hay ninguno que tenga nada con "Variables Binarias" (se que son por leer otros resueltos de otros docentes, nosotros ni lo vimos eso).

Este ejercicio es de Zanetti, puede ser que se necesite utilizar Variables Binarias aca? (el ejercicio 1 de la imagen). Porque me confunde fuertemente como hacer para asignar determinadas personas a un turno completo cuando cada "periodo del turno" tiene diferentes requerimientos minimos.

Si tenes idea y te acordas de algo te agradezco la ayuda!

Gracias
chrisgel15 Buenas como andas? Te explico como lo entiendo yo (Seguro no me acuerde las cosas técnicas pero me doy una idea):

Es para usar variables binarias y es muy similar a un ejercicio con Cajeros que hicimos con Carlevari.

Para este ejercicio sabes lo siguiente:
  • Todos los empleados trabajan 8 horas
  • La cantidad de empleados que necesitas que haya en cada franja horaria
  • Las franjas horarias son de 2 hs, por lo que cada turno va a abarcar 4 franjas horarias (Menos la de 12:00 a 6:00)
  • Vas a tener que totalizar tanto por columna como por fila. (Columna = Cantidad de empleados por turno, Fila = Agentes por franja horaria)

En mi opinión se podría hacer lo siguiente:

Xi : Cantidad de empleados que entran a trabajar a las i. => De esta forma podes saber el turno y calcular el costo.

T1) X6
T2) X8
T3) X12
T4) X4
T5) X10

(Creo que no hace falta escribirlos pero es para dar la idea)

Xij : Cantidad de empleados que trabajan entre las i y las j. => De esta forma, podes totalizar para saber la cantidad en cada franja y cumplir el requisito de los agentes minimos.

X6-8 >= 48
X8-10 >= 79
X10-12 >= 65
X12-2 >= 87
X2-4 >= 64
X4-6 >= 73
X6-8 >= 82
X8-10 >= 43
X10-12 >= 52
X12-6 >= 15

Entonces tu función para minimizar es: Z = 170*X6 + 160*X8 + 175*X12 + 180*X4 + 195*X10 (Minimizar)

Observación: Puede ser que no esté 100% acertado, pero no vas a poder encontrar una forma de reutilizar las Xij para calcular los turnos. El tema es que se superponen, entonces no me sirve decir:

T1) X6-8 + X8-10 + X10-12 + X12-2

Porque se superpone con la gente del T2.


Espero haberte ayudado, saludos y suerte!
Phiiliip077

Gracias por la respuesta y mas teniendo en cuenta la hora que es!!! Entiendo como lo planteaste pero te consulto que te parece el planteo que se me ocurrio a mi (sin utilizar variable binaria). Simplemente plantee todas las restricciones por turno...-no se en que cambia la utilizacion de la variable binaria sinceramente-

x1, x2, x3, x4, x5 representan los turnos.

x1 >= 48
x1 + x2 >= 79
x1 + x2 >= 65
x1 + x2 + x3 >= 87
x2 + x3 >= 64
x3 + x4 >= 73
x3 + x4 >= 82
x4 >= 43
x4 + x5 >= 52
x5 >= 15

Asi como esta lo meti a resolver y me dio un resultado coherente.

Con la Z estamos de acuerdo y coincido plenamente.
Buenas, lo de la variable binaria obvialo, fue un error cuando redacte.

El tema con lo q planteas es que estas tratando a los turnos como si fueran franjas horarias.

Un turno esta compuesto de una o más franjas horarias, pero a su vez hay franjas horarias que se comparten en los turnos.

Si vos decis que x1 + x2 >= 65 están diciendo q la cantidad de empleados que trabajan de 6 a 12 más los que trabajan de 8 a 16 tienen que ser 65 y eso no lo pide el enunciado.

Necesitas si o si discriminar por franja horaria para hacer las restricciones y después diferenciar por horario de ingreso para que no se superpongan los turnos.

La restriccion del mínimo de agentes es para la franja horaria mientras que el dato del costo del empleado es para el turno.
Phiiliip077 que tal? Perdon por joder de nuevo.

Che me quedo una duda con lo ultimo que me dijiste, porque crei que mi planteo podia estar bien.

Si vos decis que x1 + x2 >= 65 están diciendo q la cantidad de empleados que trabajan de 6 a 12 más los que trabajan de 8 a 16 tienen que ser 65 y eso no lo pide el enunciado.

Eso que me decis esta claro. No lo pide el enunciado, pero yo lo deduje de la siguiente manera:

- La cantidad X1 y X2 son fijas (si yo selecciono 50 personas para el turno X1 y 60 personas para el turno X2, pues el turno 1 en todas sus franjas, tendra 50 personas). => Esto de arriba es clave para el razonamiento que hice, avisame si esta afirmacio es incorrecta de algun modo.
- La restriccion 3 me dice que la cantidad de personas en la franja de 10 a 12 del turno 1, mas la cantidad de personas en la franja de 10 a 12 del turno 2, tiene que ser mayor a 65. Esto yo lo exprese como "x1 + x2 >= 65".
- Para cumplir con "x1 + x2 >= 65" y sabiendo que x1 y x2 no pueden variar...implicitamente me estan diciendo que la cantidad de personas en todo el turno 1 + la cantidad de personas en todo el turno 2 deben ser mayor a 65.

Por ultimo, meti todas estas ecuaciones en una web y esta es la respuesta que me dio:

X* = (48; 31; 39; 43; 15)

El turno 1 es 48 (cumpliendo el requisito 1)
El turno 2 es 31 (y aca se cumple lo conversado: turno 1 + turno 2 = 79). Cumpliendo con la restriccion de 65 y con todas las restricciones de turno 1 y turno 2.
(13-10-2020 12:57)chrisgel15 escribió: [ -> ]Phiiliip077 que tal? Perdon por joder de nuevo.

Che me quedo una duda con lo ultimo que me dijiste, porque crei que mi planteo podia estar bien.

Si vos decis que x1 + x2 >= 65 están diciendo q la cantidad de empleados que trabajan de 6 a 12 más los que trabajan de 8 a 16 tienen que ser 65 y eso no lo pide el enunciado.

Eso que me decis esta claro. No lo pide el enunciado, pero yo lo deduje de la siguiente manera:

- La cantidad X1 y X2 son fijas (si yo selecciono 50 personas para el turno X1 y 60 personas para el turno X2, pues el turno 1 en todas sus franjas, tendra 50 personas). => Esto de arriba es clave para el razonamiento que hice, avisame si esta afirmacio es incorrecta de algun modo.
- La restriccion 3 me dice que la cantidad de personas en la franja de 10 a 12 del turno 1, mas la cantidad de personas en la franja de 10 a 12 del turno 2, tiene que ser mayor a 65. Esto yo lo exprese como "x1 + x2 >= 65".
- Para cumplir con "x1 + x2 >= 65" y sabiendo que x1 y x2 no pueden variar...implicitamente me estan diciendo que la cantidad de personas en todo el turno 1 + la cantidad de personas en todo el turno 2 deben ser mayor a 65.

Por ultimo, meti todas estas ecuaciones en una web y esta es la respuesta que me dio:

X* = (48; 31; 39; 43; 15)

El turno 1 es 48 (cumpliendo el requisito 1)
El turno 2 es 31 (y aca se cumple lo conversado: turno 1 + turno 2 = 79). Cumpliendo con la restricción de 65 y con todas las restricciones de turno 1 y turno 2.

Buenas, podría llegar a ser una opción, pero yo definiría dos variables entonces:

Xi: Cantidad de empleados en el turno i.

Xij: Totalizador: Cantidad de empleados que trabajan de i a j.

-X68 + X1 = 0
-X810 + X1 + X2 = 0
-X1012 + X1 + X2 = 0
-X122 + X1 + X2 + X3 = 0
... etc

Y ahora escribo las restricciones:

X68 >= 48
X810 >= 79
X1012 >= 65
X122 >= 87
... etc

La función queda: Z = 170*X1 + 160*X2 + 175*X3 + 180*X4 + 195*X5 (Minimizar)


Saludos!
Phiiliip077

Excelente, entendido!

Jamas vimos con Grispino lo de los totalizadores, por eso ni se me ocurrio utilizar algo por el estilo.

Mil gracias por la ayuda!!!
URLs de referencia