Examen 2014, preguntas y respuestas PDF

Title Examen 2014, preguntas y respuestas
Course Organización de la Producción
Institution Universitat Politècnica de Catalunya
Pages 5
File Size 203.3 KB
File Type PDF
Total Downloads 146
Total Views 282

Summary

Nombre:_______________________________________ Grupo:______ Nota:______En un rascacielos de oficinas que dispone de 80 pisos, quieren renovarse los ascensoresque permiten a los trabajadores acceder fácilmente a todos los pisos. El modelo deascensor que ha aprobado la empresa constructora tiene una c...


Description

Nombre:_______________________________________ Grupo:______ Nota:______ En un rascacielos de oficinas que dispone de 80 pisos, quieren renovarse los ascensores que permiten a los trabajadores acceder fácilmente a todos los pisos. El modelo de ascensor que ha aprobado la empresa constructora tiene una capacidad de 40 personas y solo puede hacer un máximo de 20 paradas (sin contar la planta baja). Para facilitar el problema, se puede suponer que, empezando por la planta baja, existen 7 tramos a los que se puede asignar un ascensor (0-20;10-30;20-40;30-50;40-60;50-70;60-80), por lo tanto, todos los ascensores paran en la planta 0, pero luego suben directamente a su tramo correspondiente. Además, se dispone de información sobre cuántas personas bajan en cada planta en un viaje medio de ascensor. Para tomar racionalmente la decisión sobre cuántos ascensores deben instalarse en cada tramo, se pretende crear un modelo matemático que permita minimizar el número de ascensores total a instalar. La declaración de los datos del problema incluye los siguientes datos: int NumPlantas = ...; //Número de plantas en el edificio range Plantas=1..NumPlantas; //Rango de las plantas int numTramos = ...; //Número de tramos en que se divide el edificio range Tramos=1..numTramos; //Rango de los tramos int Capacidad = ...; //la capacidad de cada ascensor

1.# Defina el vector de datos que da la información sobre cuánta gente baja en cada planta en un viaje medio, tal y como se indicaría en el archivo .mod (se le podría llamar vector Demanda) (1 punto)

2. Para este problema, es posible que se requiera una matriz que relacione las plantas y los tramos. Explique brevemente porque y defínala (sólo cómo la definiría en el modelo, no es necesario que dé valores ejemplo) (1 punto).

3. Defina la/s variable/s de decisión necesaria/s y describa brevemente qué significa/n (1 punto).

4. Exprese la función objetivo de este problema (1 punto).

5. En la solución final, ningún ascensor puede superar su capacidad y los ascensores que cubran cada planta deben cubrir su demanda (cantidad de personas que bajarán en esa planta en un viaje medio). Exprese esta/s restricción/es (1 punto).

6. Una vez implementado el modelo, lo ejecutamos en el programa OPL Studio, y la primera línea útil del archivo de soluciones es: solution (optimal) with objective 10

¿Qué significa este resultado? (1 punto)

7. En la segunda línea útil, aparece esta matriz. InstaloAscensor = [2 0 3 1 1 2 1];

Interprete el significado de este resultado. (1 punto)

Ahora le interesa tratar un problema de secuenciación de piezas en una máquina, como los que ha visto en la parte de Taller Mecánico de esta asignatura, en que dispone de la siguiente información: -# Una lista de las piezas que va a tratar (la lista puede entenderse como una cadena de caracteres) llamada Piezas. -# Las duraciones que se requieren para procesar cada pieza, en un vector llamado Duraciones. -# La fecha de entrega de cada pieza, almacenada en un vector llamado Entregas. -# Un número llamado Horizonte, que representa el instante máximo de finalización de las piezas. 8. Declare todos estos datos, como los encontraría en el fichero del modelo .mod

Para resolver el problema que indique en qué orden se deben procesar las piezas para minimizar el retraso total, ha decidido declarar una variable booleana que indique cuándo sale de la máquina cada pieza, colocando un 1 en la posición [i, t] si la pieza i sale de la máquina en el instante t. Esta variable se declara como sigue: dvar boolean Finalización[Piezas][1..Horizonte];

y una variable que indica el retraso de cada pieza: dvar int+ Retrasos[Piezas];

9. Escriba la función objetivo del problema (minimizar los retrasos). (1 punto)

10. Escriba la restricción que calcule el retraso para cada pieza. (1 punto)

Examen de laboratori 1. Defina el vector de datos que da la información sobre cuánta gente baja en cada planta en un viaje medio, tal y como se indicaría en el archivo .mod (se le podría llamar vector Demanda) (1 punto) int Demanda[Plantas]=...; 2. Para este problema, es posible que se requiera una matriz que relacione las plantas y los tramos. Explique brevemente porque y defínala (sólo cómo la definiría en el modelo, no es necesario que dé valores ejemplo) (1 punto). Necesitamos una matriz booleana que nos diga para cada planta si un tramo la cubre o no. Esto será una matriz de dos dimensiones, Plantas y Tramos, con un 1 en la posición i, j si el tramo j incluye la planta i y 0 si no. int Cubre[Plantas][Tramos]=...; (se declara int porque en los datos no permite boolean, pero poner boolean era correcto)

3. Defina la/s variable/s de decisión necesaria/s y describa brevemente qué significa/n (1 punto). dvar int+ InstaloAscensor[Tramos];

4. Exprese la función objetivo de este problema (1 punto). minimize sum(j in Tramos) InstaloAscensor[j]; 5. En la solución final, ningún ascensor puede superar su capacidad y los ascensores que cubran cada planta deben cubrir su demanda (cantidad de personas que bajarán en esa planta en un viaje medio). Exprese esta/s restricción/es (1 punto). forall (i in Plantas) { sum(j in Tramos)(InstaloAscensor[j]*Cubre[i][j]*Capacidad)>=Demanda[i]; } 6. Una vez implementado el modelo, lo ejecutamos en el programa OPL Studio, y la primera línea útil del archivo de soluciones es: solution (optimal) with objective 10 ¿Qué significa este resultado? (1 punto) Que en la solución óptima del problema se instalan 10 ascensores.

7. En la segunda línea útil, aparece esta matriz. InstaloAscensor = [2 0 3 1 1 2 1]; Interprete el significado de este resultado. (1 punto) Esto indica el valor de las variables de decisión en la solución óptima del problema. En este caso: instalar 2 ascensores en el tramo 1, 0 en el tramo 2, 3 en el tramo 3, y así sucesivamente.

Ahora le interesa tratar un problema de secuenciación de piezas en una máquina, como los que ha visto en la parte de Taller Mecánico de esta asignatura, en que dispone de la siguiente información: - Una lista de las piezas que va a tratar (la lista puede entenderse como una cadena de caracteres) llamada Piezas. - Las duraciones que se requieren para procesar cada pieza, en un vector llamado Duraciones. - La fecha de entrega de cada pieza, almacenada en un vector llamado Entregas. - Un número llamado Horizonte, que representa el instante máximo de finalización de las piezas. 8. Declare todos estos datos, como los encontraría en el fichero del modelo .mod {string} Piezas=...; int Duraciones[Piezas] =...; int Entregas[Piezas]=...; int Horizonte=...; Para resolver el problema que indique en qué orden se deben procesar las piezas para minimizar el retraso total, ha decidido declarar una variable booleana que indique cuándo sale de la máquina cada pieza, colocando un 1 en la posición [i, t] si la pieza i sale de la máquina en el instante t. Esta variable se declara como sigue: dvar boolean Finalización[Piezas][1..Horizonte];

y una variable que indica el retraso de cada pieza: dvar int+ Retrasos[Piezas];

9. Escriba la función objetivo del problema (minimizar los retrasos). (1 punto) minimize sum(i in Piezas) Retrasos[i]; 10. Escriba la restricción que calcule el retraso para cada pieza. (1 punto) forall (i in Piezas) { Retrasos[i]>=(sum(j Entrega[i]; }

in

1..Horizonte)

j*Finalizacion[i][j])-...


Similar Free PDFs