MIT OpenCourseWare


1.00 Introducción a la informática y a la resolución de problemas de ingeniería. Primavera 2002

Página principal
¿Qué es OCW?
Ayuda
Feedback
Preguntas frecuentes
Glosario
 
 
Página principal del curso
Programa
Calendario
  Material de clase
  Clases de repaso
Trabajos
  Exámenes
  Avisos
  Lecturas obligatorias
  Otras fuentes

   MIT

   
 

Boletín de problemas 1

Fecha de entrega: viernes 15 de febrero de 2002

Problema 1 [10%]

Envíe un correo electrónico al profesor adjunto de su tutorial con la información que se especifica a continuación. Puede añadir otros datos que considere interesantes para el profesor. 

  • Nombre
  • Nombre de usuario de Athena
  • Número de curso y año
  • Experiencia en informática, sobre todo en otros lenguajes de programación
  • Lo que quiere aprender de este curso

Problema 2 [20%]

Escriba una aplicación que solicite al usuario la introducción de tres enteros positivos como longitudes de tres segmentos de línea, y determine si forman un triángulo perpendicular. Lea las entradas utilizando un JOptionPane como se muestra en las páginas 69-71 del texto. No es necesario comprobar la validez de los datos en la entrada; asuma que el usuario introduce correctamente los números enteros positivos. [Consejo: imagine que a, b, c son los tres lados de un triángulo perpendicular y que c es mayor que a y b. Deben cumplir que a2 + b2 = c2]

Problema 3: diseño del servicio de autobús Logan Express [70%]

Introducción

En este ejercicio pondrá en marcha una versión simplificada del modelo utilizado por la Massachusetts Port Authority para diseñar y planificar el servicio de autobús Logan Express.  El modelo responde a las siglas Fracas (Fare and Route Analysis Computer Aided System) y ha sido creado por uno de nosotros (Kocur) para la planificación de las rutas de transporte público general.  Propone estructuras de ruta óptimas, frecuencia del servicio y tarifas para lograr un conjunto de usuarios, objetivos de déficit y de beneficio del usuario.

Las tareas que deberá realizar su programa son:

  1. Definir un conjunto de parámetros para utilizar en el modelo
  2. Leer un reducido número de entradas del usuario para definir la realización del análisis.
  3. Efectuar una serie de cálculos intermedios
  4. Calcular el modelo de servicio óptimo (rutas, frecuencias, tarifas)
  5. Calcular estadísticas de los rendimientos producidos (número de usuarios, costes, ingresos, etc.)
  6. Mostrar resultados

Comentarios generales sobre el trabajo:

  1. No es necesario que compruebe la validez de los datos para los cálculos, lo cual se haría en un programa para producción, pero no en esta tarea.
  2. Todas las variables de punto flotantes deben ser de tipo double.
  3. Las ecuaciones de este trabajo son una simplificación del modelo real, por tanto, a veces las aproximaciones serán evidentes.
  4. Puede escribir toda la tarea en un único método main(). Si tiene experiencia previa como programador y conoce los métodos (funciones), es mejor dividir el programa en varios métodos.

El servicio de autobús Logan Express funciona desde los estacionamientos que hay a unas 20 millas del aeropuerto de Logan, y tiene 3 rutas (sur, oeste y norte de Boston). Se realizó este análisis para establecer su número y las tarifas y la frecuencia del servicio.

Trabajo

1. Parámetros definidos al inicio del programa.

Defina las siguientes variables al principio de su programa principal. Todas son constantes excepto x, b e y, que se leerán como variables de entrada (véase la siguiente sección). No tiene que declarar las constantes ‘final’.  Se dan como ejemplo los valores típicos de x, b e y.

Nombre de la variable

Valor

Definición

Unidades

Title

Boston

Título del análisis

 

a

2

Duración media del viaje

Días

L1

20

Límite interior del área de servicio

Millas

L2

40

Límite exterior del área de servicio

Millas

W

81

Circunferencia del área en el límite exterior

Millas

p

0.021

Densidad del viaje

Viajes/mi2/día

j

0.25

Velocidad de acceso (local) en automóvil

Millas/minuto

b

(0)

Variación del tiempo de viaje en autobús

Minutos

k

0.4

Ratio espera/intervalo

 

c

130

Coste de funcionamiento del autobús

Céntimos/minuto

T

1050

Duración de la jornada

Minutos

x

(0)

Variación del coste de aparcamiento en el aeropuerto

Céntimos

s

47

Capacidad del autobús

Pasajeros

v

0.5

Velocidad del autobús

Millas/minuto

m

0.8

Fracción de viajes en la dirección de mayor tránsito

 

a0

0.68

Cuota de mercado de referencia del autobús si da el mismo servicio que el automóvil

 

a2

0.0125

Coeficiente de espera del autobús

 

a3

0.005

Coeficiente de tiempo de desplazamiento del autobús

 

a4

0.0001

Coeficiente de la tarifa del autobús

 

a5

0.01

Coeficiente de tiempo del acceso en automóvil

 

y

(2)

Peso objetivo

 

El esquema del servicio es:

Las definiciones de las variables son: 

Título del análisis. Nombre del área que se va a analizar. Se trata de una cadena.

Duración del viaje. Promedio del número de días que el automóvil se deja en el aparcamiento.

Límite interior del área de servicio. El punto más lejano desde el que los pasajeros utilizan el servicio Logan Express; más cercano a Logan que al aparcamiento. (Véase el esquema, variable L1)

Límite exterior del área de servicio. Punto en el cual los viajes de pasajeros a Logan descienden a un nivel muy bajo; la densidad se aproxima a cero. (Véase el esquema, variable L2)

Circunferencia del área en el límite exterior. Define la anchura del sector (Véase el esquema, W).

Densidad del viaje.  Número de viajes por milla cuadrada de ida y vuelta a Logan. Se trata de un parámetro para una distribución que presenta una alta densidad cerca del aeropuerto y disminuye a medida que aumenta la distancia a Logan.

Velocidad de acceso en automóvil. Velocidad del viaje en automóvil para pasajeros que conducen desde sus hogares hasta el aparcamiento de Logan Express.

Variación del tiempo de viaje en autobús. Si los autobuses de Logan Express utilizan un carril reservado o tienen un tratamiento preferente, el tiempo de viaje se reducirá. Los tiempos más rápidos se introducen como un número positivo.

Ratio espera/intervalo. Tiempo de espera medio del pasajero expresado como una fracción del intervalo de autobuses (minutos entre autobuses). Los pasajeros conocen el horario, por lo que este parámetro suele ser menor de 0.5.

Coste de funcionamiento del autobús. Lo que le cuesta a Massport explotar un autobús, en céntimos/minuto, incluidos gastos generales y de mano de obra.

Duración de la jornada. Duración de una jornada de servicio del Logan Express, por lo general de 5am a 11pm. En minutos.

Variación del coste de aparcamiento en el aeropuerto. Si sube la tarifa del aparcamiento del aeropuerto de Logan, aumentará el número de viajeros del Logan Express. Los incrementos en el coste del aparcamiento se introducen como números positivos.

Capacidad del autobús. Número máximo de pasajeros que caben en el autobús. Por lo general, el número de asientos del autobús.

Velocidad del autobús. Velocidad media del autobús desde el aparcamiento del Logan Express hasta el aeropuerto de Logan en millas/minuto.

Fracción de viajes en la dirección de mayor tránsito. Durante los periodos de mayor tránsito, las circulación de los autobuses está desequilibrada. La circulación de mayor tránsito es la de llegada a Logan por la mañana y la de salida por la tarde. Se utiliza para calcular la capacidad necesaria del autobús.

Cuota de mercado de referencia del autobús.  Si el autobús y el vehículo privado dan el mismo servicio (en cierto sentido), esto nos da la cuota de mercado del autobús.  Para fijarla, se llevan a cabo algunos análisis estadísticos, ya que los vehículos privados no tienen tiempo de espera y el público no percibe los costes de explotación del automóvil de la misma forma que una tarifa de autobús.  La cuota de mercado real del autobús se calcula a partir de una ecuación; véase más abajo.

Coeficiente de tiempo de espera.  En el modelo de cuota de mercado se utilizan todos los coeficientes. A medida que disminuye el tiempo de espera de los pasajeros, aumenta la cuota de mercado del autobús. Este coeficiente lineal, calculado estadísticamente, pronostica el efecto. Véase la ecuación de cuota de mercado más abajo.

Coeficiente de tiempo de desplazamiento del autobús. A medida que disminuye, este coeficiente pronostica el aumento en la cuota de mercado del autobús.

Coeficiente de la tarifa del autobús. Cuando la tarifa del autobús varía , arriba o abajo, este coeficiente prevé el aumento o la disminución del número de viajeros en el autobús.

Coeficiente de tiempo de acceso en automóvil. Según lo lejos que se encuentre un pasajero del aparcamiento del Logan Express, este coeficiente pronostica la disminución de la cuota de mercado en función de la distancia desde el aparcamiento. Utiliza la distancia perpendicular recorrida (véase “a” en el esquema: esto supone distancia recorrida ‘perdida’). El tiempo de acceso en automóvil se mide en minutos; el tiempo medio de acceso se calcula partiendo de la geometria y el coeficiente se aplica a dicho tiempo.

Peso objetivo. Se utiliza para compensar los objetivos de déficit frente a los objetivos del número de viajeros. A medida que aumenta el peso objetivo, el número de viajeros y el déficil disminuye.  Cuando disminuye, el número de viajeros y el déficil aumenta. Debe ser estrictamente mayor que 1 y puede aumentar sin límite.

2. Lectura de entradas

Lea x y b utilizando un JOptionPane tal y como se muestra en las páginas 69-71 del libro de texto.  No es necesario que compruebe la validez de las entradas x y b.

Lea el mínimo y el máximo de y para detallar la correlación entre número de viajeros y déficit.  Utilice como valores de prueba 1.1 y 2.1. Imagine que y aumenta 0.1 cada vez que se ejecuta el análisis; sin duda, necesitará una variable para almecenar el incremento. No es necesario comprobar la validez de las entradas.

3. Cálculos intermedios.

Tras definir e inicializar las constantes y los valores de entrada, realice los siguientes cálculos. No hace falta que derive o estudie estos cálculos (en caso de interés, al final mostramos una referencia a un documento). Téngase en cuenta que A0 es diferente que a0

a1= a0 + a4x/2 + a3b                                 [Couta de mercado revisada del autobús debido al tiempo, aparcamiento]

v= (L1+5)/(L1+5-bv)                               [Velocidad del autobús revisada debido a la variación de horario del bus]

A0= (4 L2(L23 – L13) – 3 (L24 – L14)) / (6 L2(L22 – L12) – 4 (L23 – L13))

L0= 6L2s / (pa4m[3 L2(L22 – L12) – 2 (L23 – L13)])

B0= 3L2L1 [4 L2(L23 – L13) – 3 (L24 – L14)] / [3 L2(L22 – L12) – 2 (L23 – L13)] 2

C0= L2 L1 [3 L2(L22 – L12) – 2 (L23 – L13)] / [4 L2(L23 – L13) – 3 (L24 – L14)] 2

E0= ca4a5(2y-1) / (2jk2vpa22a1y)

F0= 768ca4j2ka2(2y-1) / (vpa1a52y)

G0= (y-1) / [(2y-1)a4]

Más abajo se dan valores de ejemplo de estos valores intermedios a modo de ayuda para la realización de pruebas y el depurado.

A0= 27.5

L0= 209821.4

B0= 4.125

C0= 0.000008

E0= 1092.4

F0= 3277.3

G0= 3333.3

Observe que E0, F0 y G0 son funciones de la variable y, la cual variará entre el yMin y el yMax que leyó como entrada en el paso 2 anterior.  Tendrá que comenzar un bucle en este punto para el cálculo de estos tres valores intermedios y de los modelos de servicio óptimo del paso 4 siguiente que dependen de E0, F0, G0 e y.

4. Modelo de servicio óptimo

Una vez finalizados los cálculos intermedios, es el mometo de hallar el modelo de servicio óptimo.

  • Hay dos grupos de resultados. El primero se calcula sin límite de capacidad en el número de viajeros del autobús.  Estos análisis pueden utilizarse para determinar el tamaño óptimo del autobús.
  • El segundo grupo de resultados se calcula utilizando la capacidad real del autobús. Si la capacidad del autobús no supone una restricción en la explotacion (si la ocupación del autobús es menor que su capacidad), estos resultados serán los mismos que los del primer grupo.

Los resultados son:

Intervalo (h). El tiempo óptimo entre autobuses, en minutos, en cada ruta.

Espacio entre rutas (g). El espacio óptimo entre rutas, en radianes.

Número de rutas (n). El número de rutas, que se deriva simplemente al tomar el ángulo del área de servicio en radianes (véase en esquema precedente) y dividiéndolo por el espacio de la ruta. En este análisis simplificado no será una cifra exácta. (Se requiere un análisis más sofisticado para generar un número entero).

Tarifa del autobús (f). Es la tarifa óptima. (En la práctica se redondearía a un número más exacto; nosotros no nos molestamos).

Factor de carga del autobús (q).  Es la fracción de la capacidad del autobús empleada en la dirección de mayor tránsito; está entre 0.0 y 1.0 y se calcula dividiendo el número de viajeros por la capacidad del autobús.

Si la capacidad del autobús no es un límite:

h= (3E0B0)1/3

g= (3F0C0)1/3

n= 2W/(g L2)

f= G0 (a1 – a2kh – a5gA0/(4j))

q= gh (a1 – a2kh – a4f – a5gA0/(4j)) / (a4L0)

Si q > 1.0, entonces la capacidad del autobús es una limitación, y el servicio óptimo viene dado por:

hq= h q-1/2

gq= g q-1/2

nq= 2W/(gq L2)

fq= (1/a4) (a1 – a2khq – a5gqA0/(4j)) – L0/ (gqhq)

Vuelva a calcular el factor de carga q con la misma ecuación de antes. Debería ser 1.0, pero puede existir algún error de aproximación.

En este punto, ya se ha hallado el número de viajeros, las rutas y las tarifas óptimas, y se ha calculado el factor de carga del autobús.

5. Estadísticas de rendimiento

Ahora calculamos las estadísticas de rendimiento, como el número de viajeros, ingresos, costes, etc. Las medidas son:

Cuota de mercado del autobús (Share). Cuota del autobús correspondiente al total de viajes de pasajeros desde al área de servicio a Logan, ida y vuelta.

Número de viajeros del autobús (Riders). Número de viajeros en ambas direcciones, diario.

Ingresos del autobús (Revenue). Producto del número de viajeros y la tarifa del autobús.

Coste del autobús (Cost). Coste de la explotación diaria del autobús.

Déficit. Coste del autobús menos los ingresos.

Número de autobuses necesarios (NumBus). Mínimo necesario para cumplir con el horario. Redondee los valores fraccionarios.

Las ecuaciones son las siguientes: utilice el valor limitado o ilimitado de las variables de servicio, según corresponda:

Share= (a1 – a2kh – a4f – a5gA0/(4j))

Riders= WTs (Share) / (L2a4mL0)

Revenue= f (Riders)/ 100

Cost= 4W(L1+5)cT / (100ghvL2)

Deficit= Cost – Revenue

NumBus= 100 (Cost)/ (cT)     Redondee al siguiente número entero; utilice Math.ceil().

6. Resultados

Su programa debería producir los siguientes resultados.  Las cifras son sólo un ejemplo; no son los números reales que el programa va a calcular.  Utilice int variables para el número de viajeros, el déficit, el intervalo, la tarifa, y la carga por autobús de modo que se impriman de forma compacta.  Emplee variables de la clase double para el peso objetivo (y), el número de rutas, la cuota de mercado y el número de autobuses.  (Conviene que los autobuses sean un valor integral)  Utilice Math.round() de forma creativa para alinear las columnas de las variables double (por ejemplo, redondee el valor, dividido por 1000, para obtener 3 decimales). Las columnas quedarían del siguiente modo:

Título: Boston  <utilice la variable Título en su programa>

Riders Deficit Hdwy  Fare  Rtes  Share Buses  Obj wgt

1000    22000   30   400  4.117  0.241  22.0  1.1

etc.

Cuando el programa haya producido estos resultados, muestre un JOptionPanel para invitar al usuario a realizar otro análisis. Si dice “yes” o “y” (lo que usted decida poner), indique al usuario que opte por x, b, minimum y y maximum y y vuelva a ejecutar el análisis. Recuerde utilizar el método equals() (vea la página 65 de su libro de texto). Cuando el programa esté finalizado, recuerde llamar a System.exit(0).

7. Fase de prueba

  • Compruebe que los resultados son razonables; deberían ser parecidos a los ejemplos dados en la tarea.
  • Ejecute el programa cambiando entre los parámetros b y x. Asegúrese de que los resultados varían en la dirección apropiada cuando cambie los parámetros. Observe que los cambios son relativamente pequeños.
  • Cambie algunos pocos parámetros cuyo efecto pueda anticipar, y compruebe que el modelo responde correctamente.

Referencia: Kocur, G. y C. Hendrickson, Design of Local Bus Service with Demand Equilibration, Transportation Science, Vol. 16, No. 2, 1982.

Entrega del trabajo

Requisitos de entrega

  • Problema 1: solamente por correo electrónico. No es necesario entregar una copia en papel.
  • Problemas 2 y 3: copia en papel y copia electrónica de TODOS los códigos fuente (todos los archivos con la extensión .java).
  • Incluya en TODOS los archivos que presente su nombre, el nombre de usuario, la sección, el nombre del profesor ayudante, el número de trabajo y una relación de las personas con las que haya comentado el boletín de problemas. 
  • NO entregue copias electrónicas o en papel de código compilado (archivos .class).

Sanciones

  • Por pérdida de copia en papel: -10% de la puntuación del boletín de problemas.
  • Por pérdida de copia electrónica: -30% de la puntuación del boletín de problemas.
  • Por entrega fuera del plazo: -20% de la puntuación del boletín de problemas si es un día de retraso. Por más de un día de retraso = NO SE PUNTUARÁ.

Massachusetts Institute of Technology © 2003 MIT | Información Jurídica | Privacidad
Todo uso del sitio de MIT OpenCourseWare y sus materiales de curso queda sujeto a las condiciones y términos de uso detallados
en la sección sobre Información Jurídica
Copyright © 2003 Portal Universia S.A. Todos los derechos reservados
(Avda. de Cantabria s/n - Edif. Arrecife, planta 00.28660 Boadilla del Monte) - Madrid. España.
Contacta con nosotros: Usuarios | Empresas-Instituciones-Medios comunicación
Código Ético | Aviso Legal | Política de confidencialidad | Quiénes somos: Sala de Prensa