Repositorio de la Universidad de Zaragoza – Zaguan http://zaguan.unizar.es Trabajo Fin de Grado Aplicación informática para la composición de trenes militares Autor C.A.C. D. David Perea López Director/es Prof. Dña. Silvia Guillén Lambea Cte. D. Jose Manuel Burgos Fernández Centro Universitario de la Defensa-Academia General Militar 2016
Aplicación informática para la composición de trenes militares i En agradecimiento especial a los Oficiales, Suboficiales y Tropa de la Compañía de Ferrocarriles y del Centro de Control de Movimientos por Ferrocarril del Regimiento de Pontoneros y Especialidades Nº12 por su ofrecimiento y ayuda a la hora de realizar este trabajo.
Aplicación informática para la composición de trenes militares ii
Aplicación informática para la composición de trenes militares iii RESUMEN El transporte militar por ferrocarril es todo transporte de personal o material perteneciente al Ministerio de Defensa que se lleva a cabo por vía férrea. La planificación del transporte militar por ferrocarril es un laborioso trabajo, cuyo objetivo es economizar los medios y cumplir con las limitaciones impuestas por la naturaleza del transporte. El órgano encargado de realizar dicha planificación es el Centro de Control de Movimientos por Ferrocarril (CCMR). En esa línea, el presente Trabajo de Fin de Grado tiene como objetivo facilitar la tarea de la elaboración de composiciones ferroviarias mediante el desarrollo de una aplicación informática de uso sencillo que obtenga una composición óptima al introducir los datos necesarios. Se han estudiado varios lenguajes de programación, de los cuales ha sido elegido Visual Basic para desarrollar la aplicación informática, llamada AutoCompo. La aplicación ha sido comprobada con casos reales y ha sido validada a través de un cuestionario de satisfacción, obteniendo resultados satisfactorios. ABSTRACT The military transport by rail is all transport of personnel or materiel under the Ministry of Defence carried out by rail. The planning of military transport by rail is a laborious task, whose objective is to economize the means and to meet the limitations imposed by the nature of the transport. The organism responsible for carrying out such planning is the CCMR. In that vein, this Final Project Degree aims to facilitate the task of the elaboration of railway compositions by developing a computer application easy to use that will be able to obtain an optimum composition just by introducting the necessary data. Several programming languages have been studied, from which Visual Basic has been chosen to develop the computer application, called AutoCompo. The application has been verified with real cases and has been validated through a satisfaction questionnaire, obtaining satisfactory results.
Aplicación informática para la composición de trenes militares iv
Aplicación informática para la composición de trenes militares v LISTA DE ABREVIATURAS ADIF: Administrador de Infraestructuras Ferroviarias. CCMR: Centro de Control de Movimientos por Ferrocarril. DIFUNLOG: División de Funciones Logísticas. DITRA: División de Transportes. ET: Ejército de Tierra. MALE: Mando de Apoyo Logístico. MINISDEF: Ministerio de Defensa. OTAN: Organización del Tratado del Atlántico Norte. PHP: Pre Hypertext Processor PT: Petición de Transporte. RENFE: Red Nacional de Ferrocarriles Españoles. RPEI: Regimiento de Pontoneros y Especialidades de Ingenieros. TN: Territorio Nacional. VBA: Visual Basic.
Aplicación informática para la composición de trenes militares vi
Aplicación informática para la composición de trenes militares vii ÍNDICE RESUMEN ............................................................................................................................................. iii LISTA DE ABREVIATURAS ....................................................................................................................... v 1. Introducción .................................................................................................................................. 1 1.1. Motivación y ámbito de aplicación ............................................................................................. 1 1.2. Objetivos y alcance ..................................................................................................................... 2 1.3. Metodología de trabajo .............................................................................................................. 2 2. Transporte militar por ferrocarril .................................................................................................. 3 2.1. Consideraciones generales .......................................................................................................... 3 2.2. Capacidades en la estructura del Ejército de Tierra .................................................................... 5 2.2.1. Infraestructura ................................................................................................................... 5 2.2.2. Compañía de Ferrocarriles ................................................................................................. 5 2.2.3. Centro de Control de Movimientos por Ferrocarril ........................................................... 7 2.3. Confección de composiciones ferroviarias .................................................................................. 8 3. Cargamento ................................................................................................................................... 9 3.1. Consideraciones generales .......................................................................................................... 9 3.2. Estudio del cargamento .............................................................................................................. 9 3.3. Particularidades del material .................................................................................................... 10 3.3.1. Plataformas disponibles ................................................................................................... 10 3.3.2. Vehículos sin restricciones de circulación ........................................................................ 11 3.3.3. Vehículos con restricciones de circulación ....................................................................... 12 3.3.4. Vagones de viajeros ......................................................................................................... 13 3.3.5. Contenedores ................................................................................................................... 13 3.3.6. Mercancías peligrosas ...................................................................................................... 13 3.3.7. Material diverso ............................................................................................................... 14 3.4. Problemas comunes .................................................................................................................. 15 4. Estudio y elección del lenguaje de programación ........................................................................ 16 4.1. PHP ............................................................................................................................................ 16 4.2. Visual Basic ............................................................................................................................... 17 4.3. Pascal y variantes ...................................................................................................................... 17 4.4. Elección del lenguaje de programación .................................................................................... 18 5. Desarrollo de la aplicación ........................................................................................................... 18 5.1. Definición de requisitos ............................................................................................................. 19
Aplicación informática para la composición de trenes militares 6 (RPEI 12) y es fruto de la disolución del antiguo Regimiento de Ferrocarriles nº13 ubicado en Zaragoza. La Cía. de Ferrocarriles (Figura 4) se encarga de la conservación de la infraestructura ferroviaria militar y el mantenimiento del material rodante propiedad del Ministerio de Defensa además de ser empleada en la ejecución de los transportes militares por ferrocarril. Figura 4: Organigrama actual de la Cía. de Ferrocarriles. Elaboración propia. Entre sus otros cometidos se encuentran: Construir, rehabilitar o mantener la infraestructura ferroviaria necesaria para la constitución de líneas ferroviarias o de terminales terrestres. Gestionar una terminal de ferrocarriles mediante un destacamento desplegado en Zona de Operaciones. Apoyar la operación de líneas de ferrocarril, incluyendo el embarque y desembarque de los recursos y formación de trenes, así como el enlace con autoridades ferroviarias en tránsito. Embarque y desembarque con muelles testeros móviles reglamentarios tipo «TRASNSFER». Estos muelles posibilitan el embarque / desembarque de trenes sin necesidad de playas de embarque. Garantizar la seguridad del material embarcado sobre plataformas ferroviarias y la circulación de trenes. Formar y conducir trenes militares mixtos (personal y material). Aunque en TN solo se permite circular al personal del ET con los tractores de maniobra “HENSCHEL” (Figura 5) por el interior de las estaciones militares [4].
Aplicación informática para la composición de trenes militares 7 Figura 5: Tractor de maniobra “HENSCHEL”. Fuente: el autor. 2.2.3. Centro de Control de Movimientos por Ferrocarril El CCMR es el órgano de dirección encargado de coordinar los transportes por ferrocarril que realizan las distintas Unidades, encargándose de la planificación y seguimiento de los movimientos y actuando de intermediarios entre RENFE y las Unidades transportadas. Se encuentra ubicado físicamente en dependencias del RPEI 12 y tras la última reorganización del MALE, pasó de depender del DITRA a ser una dependencia funcional del DIFUNLOG, tal como se puede observar en el Anexo A, donde están marcados los últimos cambios realizados. El CCMR se articula en dos áreas: Transporte y Seguimiento. La implicación de estas áreas en el proceso de transporte tiene carácter sucesivo; primero el área de transporte efectúa el planeamiento del mismo desde que recibe de DIFUNLOG la Petición de Transporte (PT) hasta que RENFE proporciona el programa de transporte, después el área de seguimiento empieza a actuar desde que se recibe el programa de transporte hasta la confección del informe de finalización del transporte. Ambas áreas están subordinadas al Jefe del CCMR, responsable del proceso de transporte tanto en planeamiento como en ejecución [3]. Dentro de todo este proceso, se pueden relacionar los siguientes cometidos correspondientes al área de transporte del CCMR: Verificación de la posibilidad de transporte por ferrocarril de todos los medios incluidos en la PT. Asesorar a la Unidades a transportar, en procedimientos de asegurar (amarrar) los vehículos o materiales a transportar y, en su caso, gestionar la entrega de material de amarre del que es depositario el RPEI 12. Confeccionar los cuadros de composición de los trenes resultantes de una PT (incluye los contactos directos de coordinación de horarios de embarque con la Unidad y RENFE, de la salida/llegada y distribución del material en los trenes). Remisión a RENFE del Cuadro de Composición confeccionado. Coordinar con RENFE la consignación y posicionamiento del material remolcado necesario para la ejecución del transporte.
Aplicación informática para la composición de trenes militares 8 Recabar de RENFE el correspondiente programa de transporte y prescripciones técnicas. Se pueden relacionar los siguientes cometidos correspondientes al área de seguimiento del CCMR: Facturación telemática. Proporcionar al personal de circulación, embarque y acompañamiento la documentación requerida y las plantillas para centrar o descentrar vehículos. Impartir las instrucciones particulares y de coordinación, establecidas con la Unidad a transportar y con RENFE, al personal de circulación, embarque y acompañamiento. Operar los sistemas informáticos de seguimiento de RENFE (SACIM). Establecer y mantener contacto con el personal de circulación, embarque y acompañamiento destacado para la ejecución del transporte, desde el inicio de las operaciones de embarque hasta la finalización de las operaciones de desembarque. Poner en conocimiento de RENFE las incidencias ocurridas en la ejecución del transporte para su más pronta resolución. Recopilar toda la documentación generada en el proceso de transporte y redactar los informes de transporte una vez finalizado el mismo. 2.3. Confección de composiciones ferroviarias El procedimiento que se lleva a cabo en el CCMR para la confección de una composición ferroviaria es el siguiente [2]: 1. La Unidad solicitante del transporte enviará a la DIFUNLOG una Petición de Transporte (PT) con el material que desea embarcar. 2. La DIFUNLOG remite a la Sección de Transportes (por ferrocarril se encarga el CCMR, ver Anexo A), la PT formulada por la Unidad a razón de crear el Cuadro de Composición. Para la composición de dichos Cuadros se tendrán en cuenta las restricciones de la línea, tanto en tonelaje como en longitudes máximas. 3. Los Cuadros de Composición confeccionados se remitirán a RENFE para ser revisados. 4. RENFE devolverá los Cuadros de Composición a la Sección de Transportes adjuntando los Cuadros de Marcha y las Prescripciones Técnicas de los correspondientes trenes. 5. La Sección de Transportes enviará toda la documentación correspondiente de los trenes a transportar a la DIFUNLOG y las respectivas Unidades fijando una hora de embarque adecuada a todos los organismos implicados. 6. Finalizado el transporte se confeccionará el Informe del Tren Militar.
Aplicación informática para la composición de trenes militares 9 3. Cargamento 3.1. Consideraciones generales El CCMR se encarga de hacer las composiciones ferroviarias y rellenar los distintos Cuadros de Composición que puedan formarse de un transporte militar por ferrocarril. Para ello, el personal del CCMR realiza una laboriosa tarea de forma manual en la que se distribuye el cargamento por las distintas plataformas hasta completar las necesidades de transporte. La distribución del cargamento está sometida a numerosas restricciones provenientes de las plataformas utilizadas, del trayecto elegido o de la propia naturaleza del cargamento. El material militar más común transportado por ferrocarril son los vehículos de ruedas o cadenas, aunque también se pueden transportar contenedores, mercancías peligrosas, material diverso en vagones J o tolvas cargadas con material a granel. Como norma general, el transporte de material por ferrocarril está sometido a la Instrucción General Nº66 [5] que define la normativa de cargamento. Específicamente, el transporte militar por ferrocarril, debido a sus características particulares, tiene que cumplir también el Comunicado Nº6 de la Instrucción General Nº66 [6], que trata de las prescripciones para el transporte de vehículos militares de ruedas y cadenas, además de la Consigna Serie C Nº41 [7] que define las normas para el transporte de vehículos militares de características especiales. 3.2. Estudio del cargamento Para el transporte en Territorio Nacional (TN) y aplicando el Convenio MINISDEFRENFE en vigor [4], las Unidades deberán realizar las fichas de gálibo de aquel material que no se encuentre en los listados siguientes: Listado de vehículos militares con excesos estudiados por ADIF y que están incluidos en la Consigna C-41. Listados de vehículos sin excesos ya estudiados por Renfe. En los listados se indican los vehículos que ya están estudiados, debiendo realizarse las mediciones correspondientes de cualquier vehículo que no se encuentre entre ellos. Se deben destacar aquellos elementos que sobresalgan de la línea general del vehículo y que presenta dificultad para su desmontaje o éste no se pueda realizar. Cuando se reciba la información del material a transportar, se podrá iniciar el estudio de dicho material, indicando aquel que sea transportado bajo Consigna C-41 (exceso de gálibo) y sobre todo, el nuevo material del que sí que habrá que realizar un estudio completo, confeccionando nuevas fichas (Anexo D), que una vez cumplimentadas serán remitidas a ADIF para su estudio y aprobación. La recepción del Cuadro de Composición en Renfe tendrá que ser como mínimo 20 días hábiles antes de la fecha solicitada para la salida del tren si es necesario realizar estudio de transporte para algún vehículo y de 15 días hábiles si no es necesario realizar dicho estudio. El Cuadro de Composición podrá sufrir pequeñas variaciones en la carga a transportar hasta 7 días hábiles antes de la salida del tren.
Aplicación informática para la composición de trenes militares 10 3.3. Particularidades del material 3.3.1. Plataformas disponibles Las plataformas son el material rodante ferroviario donde se carga material para ser transportado. Existen diferentes modelos con distintos usos: Plataformas de carga: Son las más utilizadas en el transporte militar por ferrocarril ya que permiten cargar vehículos combinándolos de forma diferente. Vagones tipo J: Se utilizan para transportar material diverso en su interior. Tolvas: Se utilizan para transportar material a granel. Coches de viajeros: Se utiliza para transportar el personal de escolta y auxiliares de los vehículos en los trenes mixtos (personal y material). Las plataformas más comunes utilizadas en el transporte militar por ferrocarril son las siguientes: PMM-E: Con superficie metálica, 11,26 m de longitud y 57,5 t de capacidad (Figura 6). PMM-ER: Con superficie metálica, 11,26 m de longitud y 68,9 t de capacidad. M-1: Con superficie de madera, 12,5 m de longitud y 27 t de capacidad. MM-2: Con superficie de madera, 18,5 m de longitud y 55 t de capacidad (Figura 7). Figura 6: Plataforma PMM-E. Fuente: MT5-007 [1]. Figura 7: Plataforma MM-2. Fuente: Catálogo de Vagones [12].
Aplicación informática para la composición de trenes militares 11 Como norma general, los medios de cadenas son transportados en plataformas con superficie metálica y los medios de ruedas son transportados en plataformas con superficie de madera. Las plataformas PMM-E y PMM-ER en propiedad del MINISDEF tienen superficie metálica, por lo tanto es necesario alquilar plataformas con superficie de madera a RENFE cuando se quiere transportar medios de ruedas. Sin embargo existen excepciones de vehículos de ruedas que han sido aprobados para ser transportados en plataformas metálicas, así como también se puede realizar un estudio expreso para el transporte de medios de ruedas en plataformas metálicas para un determinado transporte o para vehículos sin ficha de gálibo con la autorización de la Comisión de Prescripciones de Cargamento y Transportes Excepcionales [4]. La explotación de los medios en propiedad del MINISDEF es un objetivo que se ha manifestado en la ejecutiva del ET para evitar que las plataformas caigan en desuso y rentabilizar el coste del mantenimiento especial que tienen. Además, las tarifas pactadas en el Convenio MINISDEF-RENFE Operadora facturan con un mayor importe el uso de plataformas alquiladas, por lo que el uso de las plataformas propiedad del MINISDEF implica un ahorro en el transporte ejecutado. 3.3.2. Vehículos sin restricciones de circulación Los vehículos sin restricciones de circulación están sometidos a la normativa de cargamento de la Instrucción General Nº 66 (IG-66), en la que se define una serie de indicaciones para vehículos de ruedas y cadenas y se adjuntan las fichas de cargamento y colocación de amarres y calzos en los vehículos sobre plataformas [5]. Además también están sometidos a las prescripciones para el transporte de vehículos militares de ruedas y cadenas del Comunicado Nº 6 de la IG-66 descritas por la Comisión de Prescripciones de Cargamento y Transportes Excepcionales [6]. Los vehículos, dependiendo de su naturaleza, como por ejemplo, vehículo de ruedas, vehículo de cadenas, vehículos con ruedas gemelas, remolques aislados o remolques enganchados, deben ir asegurados sobre las plataformas de distinta forma [5] [6]. Para la sujeción se utiliza de la forma descrita en la normativa anterior los siguientes elementos: Calzos: Se colocan detrás o delante de una rueda para inmovilizarla (Figura 8). Rastreles: Se colocan en los laterales de la rueda (Figura 8). Amarres: Sujetan la carga a la plataforma (Figura 9).
Aplicación informática para la composición de trenes militares 12 Figura 8: Colocación de calzos y rastreles. Fuente: Comunicado nº6 IG-66 [6]. Figura 9: Colocación de amarres. Fuente: Comunicado nº6 IG-66 [6]. 3.3.3. Vehículos con restricciones de circulación Los vehículos con restricciones de circulación están sometidos a las normas para el transporte de vehículos militares de características excepcionales de la Consigna C Nº 41 (CC41) [7]. Los vehículos incluidos en esta consigna superan de forma excepcional algunos de los parámetros a tener en cuenta en el transporte como por ejemplo el tonelaje del CC LEOPARDO 2E, aunque generalmente es el gálibo del vehículo el que presenta problemas para la circulación de los vehículos por determinados trayectos, para que sean cargados en las distintas plataformas o para que deban ser descentrados [7]. Los vehículos a los que se aplican la CC41 están incluidos en el Apéndice 2 de la CC41, en la que se relaciona a cada vehículo con la plataforma apta para su transporte, así como también la relación de apéndices que afectan al vehículo.
Aplicación informática para la composición de trenes militares 13 El Apéndice 3 Condiciones Generales de Transporte y el Apéndice 4 Condiciones Particulares de Transporte definen el acondicionamiento y sujeción de los vehículos a las plataformas, como por ejemplo el descentre del vehículo en la plataforma, el amarre de partes móviles o el desmontaje de antenas o retrovisores. El Apéndice 5 Prescripciones Generales de Circulación y el Apéndice 6 Prescripciones Particulares de Circulación definen una serie de normas para la circulación de los trenes en determinadas trayectos cuando transportan alguno de estos vehículos, como por ejemplo la velocidad máxima, paso de estaciones o circulación con corte de tensión o protección dieléctrica para evitar el arco voltaico con la catenaria. Debido a que los vehículos contenidos en la CC41 son frecuentes en los transportes militares por ferrocarril, ADIF ha hecho un estudio de las restricciones del material militar y la capacidad de la infraestructura ferroviaria para elaborar una lista de itinerarios autorizados que forma el Apéndice 1 de la CC41. 3.3.4. Vagones de viajeros Normalmente en TN, el personal de la Unidad se transporta por carretera. El personal de escolta y el necesario para completar su capacidad acompaña al tren en coche de viajeros, incluyendo en todo caso a los conductores del material automóvil [1]. 3.3.5. Contenedores Se pueden transportar contenedores de 20 o 40 pies así como cajas móviles en trenes comerciales [4]. Los contenedores podrán ir cargados en plataformas habilitadas para ello como por ejemplo la plataforma MQ (Figura 10) o en las plataformas militares PMM-E o PMM-ER debidamente asegurados con amarres y con la autorización de la Comisión de Prescripciones de Cargamento y Transportes Excepcionales. Figura 10: Plataforma MQ. Fuente: Catálogo de Vagones [12]. 3.3.6. Mercancías peligrosas En el transporte de mercancías peligrosas, se deberá cumplir y observar todos los requerimientos que sean de aplicación por la normativa vigente en el momento del transporte, tanto por su naturaleza como por el medio de transporte empleado. Las
Aplicación informática para la composición de trenes militares 14 mercancías peligrosas de clase 1 y 7 serán objeto de tratamiento técnico comercial particularizado por parte de RENFE [4]. Los vehículos con explosivos y munición se sitúan siempre a continuación de los que lleven viajeros. Entre un vagón con viajeros y otro con materias explosivas deben situarse al menos dos vagones aislantes, preferentemente metálicos, vacíos o cargados con materias inertes o difícilmente inflamables. Así mismo deben tener al menos cuatro vagones entre la máquina y los que contengan explosivos [1]. 3.3.7. Material diverso Se puede utilizar Vagones tipo J (Figura 11) para el transporte de material diverso en su interior con la aplicación de la normativa vigente en el momento del transporte, tanto por la naturaleza del material como por el medio de transporte empleado. Así mismo, el material a granel puede ser transportado en tolvas (Figura 12) en trenes comerciales. Figura 11: Vagón tipo J. Fuente: Catálogo de Vagones [12]. Figura 12: Tolva. Fuente: Catálogo de Vagones [12].
Aplicación informática para la composición de trenes militares 15 3.4. Problemas comunes En el planeamiento del transporte, la distribución manual de vehículos por las plataformas es un trabajo laborioso, aunque la experiencia del personal del CCMR y unas tablas de posibles combinaciones del cargamento ayudan en su realización. Esta tarea es realizada varias veces de forma distinta con el objetivo de conseguir una composición ferroviaria lo más económica y corta posible. Es necesario hacer una composición óptima en coste, y para ello se utilizan las tarifas pactadas en el Convenio MINISDEF-RENFE (Figura 13). La facturación se realiza por tonelada y kilómetro recorrido, siendo el total de kilómetros de cada itinerario el definido en el convenio [4]. Las tarifas discriminan con distinto coste, de menor a mayor coste, entre blindados con un peso mayor de 15 t, blindados con un peso menor de 15 t y el resto del material. A su vez, el uso de plataformas militares tiene un coste menor que el alquiler de plataformas a RENFE. Para la facturación de la carga sólo se tiene en cuenta su tonelaje sin incluir el peso de la plataforma, siendo la facturación mínima de 10 t por plataforma y aplicando la tarifa correspondiente. Figura 13: Tarifas. Fuente: Convenio MINISDEF-RENFE Operadora [4]. Por otro lado, también es necesario hacer una composición óptima en longitud ya que el Cuadro de Composición será supervisado por RENFE, y si detecta alguna modificación para acortarlo la exigirá debido a que la reducción del tonelaje total del tren le supondrá un ahorro en el consumo energético durante el transporte. Uno de los problemas más comunes aparece cuando se van a cargar muchos vehículos o remolques ligeros, que por lo general pesan menos de 3 t. Para ahorrar en la facturación, se intenta buscar una combinación de vehículos ligeros y una distribución de remolques enganchados o no enganchados que sume un peso total de
Aplicación informática para la composición de trenes militares 22 Figura 16: Diagrama de clases. Elaboración propia. La estructura de datos está formada por un conjunto de matrices y tipos definidos de datos. Su estructura interna es la siguiente: Vehículo: nombre, longitud, peso, plataforma 1, plataforma 2, plataforma 3, plataforma 4 y cantidad. Los campos relativos a plataformas indican en qué modelo de plataforma puede ir transportado el vehículo y al mismo tiempo define el orden de preferencia de la plataforma elegida para ser cargado. Vehículos: está formado principalmente por la matriz vehículos(), cuyos componentes son del tipo Vehículo, y nveh, que representa el índice del último componente de la matriz. Los datos nl, pt y longitud son usados con la clase Compara para la optimización de la carga de la plataforma (su uso se puede observar en el apartado 5.2.3). Compara: está formado por la matriz vehículos(), cuyos componentes son del tipo Vehículos, y ncomp, que representa el índice del último componente de la matriz. Esta estructura se ha diseñado para hacer una comparación entre cuatro conjuntos distintos de vehículos que aspiran a ser cargados en una misma plataforma (su uso se puede observar en el apartado 5.2.3). Plataforma: modelo, longitud entre topes, longitud interior, peso, capacidad de carga y número de referencia. Plataformas: está formado por la matriz plataformas(), cuyos componentes son del tipo Plataforma, y nplat, que representa el índice del último componente de la matriz. Trayecto: nombre, longitud básica, longitud condicionada y la matriz capacidad() que contiene las capacidades de las locomotoras que van a ser usadas para transportar cada tren que se forme.
Aplicación informática para la composición de trenes militares 23 PlataformaC: nombre, modelo, longitud disponible, peso disponible, longitud entre topes, peso, carga, peso total, número de referencia y vhc. Estos datos definen una plataforma cargada con vehículos. En el campo nombre se almacenan los nombres de los vehículos que van cargados, en el campo carga se almacena el peso de los vehículos que van cargados y el campo vhc es el número de vehículos que van cargados en la plataforma. Longitud disponible y peso disponible son restricciones que excluyen los vehículos que superen esa longitud o ese peso. Tren: está formado principalmente por la matriz plataformasC(), cuyos componentes son del tipo PlataformaC, y npc, que representa el índice del último componente de la matriz y el número de plataformas cargadas en un tren. Longitud y peso son restricciones que son usadas para finalizar la carga de un tren cuando éste supera la longitud máxima o la capacidad de la locomotora respectivamente. Trenes: está formado por la matriz trenes(), cuyos componentes son del tipo Tren, y ntren, que representa el índice del último componente de la matriz y el número de trenes cargados. 5.2.2. Algoritmo de optimización Se ha realizado un diagrama de proceso (Figura 17) que detalla a alto nivel los pasos que sigue el algoritmo. Tras la introducción de los datos, el algoritmo cargará la estructura de datos declarada con la información relativa a los vehículos introducidos, el trayecto elegido y los tipos de plataformas disponibles para el transporte. El algoritmo procesará los datos (bucle de la Figura 17) y obtendrá como resultado una serie de trenes formados por un conjunto de plataformas cargadas. Cuando el algoritmo llegue a su fin, el resultado será grabado en tantos Cuadros de Composición como trenes se hayan formado y la estructura de datos dejará de estar declarada.
Aplicación informática para la composición de trenes militares 24 Figura 17: Diagrama de proceso del algoritmo. Elaboración propia. 5.3. Diseño del programa En este apartado se realizan los algoritmos necesarios para el cumplimiento de los requisitos del usuario, previa elección del lenguaje de programación adecuado. El resultado de la codificación en lenguaje VBA se puede observar en el Anexo E. A continuación se diseñará detalladamente el algoritmo de optimización con todos los procedimientos y subprocesos. El algoritmo seguirá los siguientes pasos:
Aplicación informática para la composición de trenes militares 25 1. Declarará la estructura de datos y almacenará en ella los datos grabados en la hoja Datos. 1.1. Almacenará los datos relativos a los vehículos elegidos para el transporte. 1.2. Almacenará los datos relativos al trayecto. 1.3. Almacenará los datos relativos a las plataformas utilizadas para el transporte. 2. Ordenará la lista de vehículos de mayor peso a menor peso. 3. Iniciará la composición. 3.1. Inicializará la estructura de datos Trenes. 3.2. Añadirá un tren nuevo y lo preparará para comenzar la carga de plataformas. 4. Iniciará un bucle mientras queden vehículos por cargar. 4.1. Cargará una misma plataforma de cuatro maneras distintas. 4.1.1. Inicializará los datos de la plataforma a cargar. 4.1.1.1. El modelo de la plataforma será la primera preferencia del primer vehículo de la lista. 4.1.1.2. Cargará los demás datos de la plataforma relativos al modelo. 4.1.2. Cargará la plataforma con vehículos siguiendo las especificaciones descritas en el primer método de carga de plataformas (más detalle en el Anexo E). 4.1.2.1. Declarará unas variables temporales correspondientes a la plataforma a cargar y a la lista de vehículos que quedan por cargar. Así mismo declarará una variable local que contendrá la lista de vehículos elegidos para ser cargados en la plataforma. 4.1.2.2. Inicializará las variables anteriores. 4.1.2.3. Realizará repetidas veces una búsqueda entre los vehículos que quedan por cargar que cumplan las restricciones de la plataforma que va a ser cargada. La búsqueda será realizada según sea definida en el primer método, unas veces empezando por los vehículos más pesados de la lista de vehículos y otras empezando por los más ligeros. 4.1.2.4. Los vehículos elegidos para ser cargados según en el primer método serán añadidos al primer elemento del tipo de datos estructurado Compara. 4.1.3. Mismo proceso que el paso 4.1.2 pero siguiendo el segundo método de carga (más detalle en el Anexo E). 4.1.4. Mismo proceso que el paso 4.1.2 pero siguiendo el tercer método de carga (más detalle en el Anexo E). 4.1.5. Mismo proceso que el paso 4.1.2 pero siguiendo el cuarto método de carga (más detalle en el Anexo E). 4.2. Comparará los cuatro elementos guardados en la estructura Compara y elegirá la más óptima según unos criterios definidos. 4.2.1. Calculará el peso total, longitud total y número de vehículos ligeros para cada uno de los elementos de la estructura Compara. 4.2.2. Si el peso total de todos los vehículos del elemento es inferior a 10 toneladas, el elemento elegido es el de mayor peso. 4.2.3. Si el peso total de todos los vehículos del elemento es superior a 10 toneladas, el elemento elegido es el de mayor número de vehículos ligeros. En caso de empate, el elemento elegido es el de mayor longitud. 4.3. Cargará el tren con la plataforma cargada.
Aplicación informática para la composición de trenes militares 26 4.3.1. Eliminará la lista de vehículos que se van a cargar de la lista de vehículos que quedan por cargar. 4.3.2. Cargará los vehículos elegidos en la plataforma a cargar. 4.4. Comprobará las restricciones del tren. 4.4.1. Si la longitud del tren supera la longitud máxima o el peso del tren supera la capacidad máxima de la locomotora, iniciará un nuevo tren. 4.4.2. Cargará la última plataforma del tren anterior en el nuevo tren. 4.4.3. Descargará la última plataforma del tren anterior. 4.5. Si el número de trenes obtenido supera al número de locomotoras introducido, saldrá del bucle y notificará del error con un mensaje. 5. Grabará la información de los trenes obtenidos en tantos Cuadros de Composición como trenes se hayan formado. 5.4. Interfaz gráfica La aplicación denominada AutoCompo ha sido diseñada usando el entorno gráfico de Microsoft Excel, a través del lenguaje de programación Visual Basic, que implementa los algoritmos necesarios para la formación de la composición ferroviaria. Este entorno gráfico permite que la aplicación pueda ser usada de una forma fácil e intuitiva, tener una interfaz de aspecto agradable y tener un formato conocido por el personal del CCMR. Se ha redactado un manual de usuario para facilitar el uso de la aplicación que puede ser consultado en el Anexo F. El usuario podrá interactuar con la aplicación a través de una interfaz integrada en el entorno de Microsoft Excel. En la figura 18 se puede observar el aspecto de la hoja inicial y las distintas hojas disponibles. Figura 18: Interfaz de la aplicación AutoCompo. Fuente: el autor. El personal del CCMR podrá gestionar fácilmente los vehículos y los trayectos accediendo a las hojas correspondientes y realizando los cambios oportunos. Para ello se han habilitado dos hojas de Excel; una para almacenar la información relativa a los
Aplicación informática para la composición de trenes militares 27 trayectos disponibles (Trayectos) y otra que contiene los datos necesarios de los vehículos que pueden ser transportados por ferrocarril (Vehículos). El personal del CCMR podrá introducir los datos contenidos en la PT a través de un intuitivo formulario creado con los controles que ofrece Visual Basic. El aspecto del formulario se puede observar en la figura 19. Figura 19: Formulario. Fuente: el autor. El formulario está compuesto por los siguientes elementos: ComboBox: Trayecto, Vehículo y Remolque. Es un cuadro con una lista desplegable donde se puede seleccionar los datos que se encuentran en las hojas Trayectos y Vehículos. TextBox: Es una caja de texto que almacena temporalmente la información del trayecto y del vehículo que el usuario a elegido. Además permite su modificación para la elaboración en curso sin que se altere su estado original. ListBox: Es una matriz de datos que almacena todos los vehículos que se van añadiendo a la lista. Al pulsar dos veces sobre un elemento lo elimina. Buttons: Grabar Datos, Añadir a lista, Borrar lista y Borrar Hoja de Datos. Son botones que al pulsarlos realizan una tarea determinada. Para más detalle de los controles empleados en su diseño y el funcionamiento del formulario cuando responde a ciertos eventos se puede consultar el manual de usuario en el Anexo F. Se ha elaborado un diagrama de actividades que detalla el proceso de introducción de datos a través del formulario. El diagrama se puede observar en la figura 20.
Aplicación informática para la composición de trenes militares 28 Figura 20: Diagrama de actividades de la introducción de datos. Elaboración propia. El resultado de este proceso es la grabación de los datos introducidos en la hoja Datos de la aplicación. Cada vez que se llame al algoritmo, éste obtendrá de la hoja Datos la información necesaria para realizar los cálculos de la composición ferroviaria. Además, en caso de no obtener el resultado esperado, se podrán realizar modificaciones directamente sobre los datos introducidos para obtener un resultado mejor tal como se explica en el manual de usuario (Anexo F). 6. Validación de la aplicación En este apartado se procede a la validación de la aplicación, comprobando su correcto funcionamiento y el cumplimiento de los requerimientos. Para ello se ha realizado un cuestionario de satisfacción (Anexo G) destinado a los usuarios. La aplicación ha sido sometida a un periodo de prueba y su funcionamiento ha sido corregido en la versión AutoCompo v0.0 que ha sido entregada al personal del CCMR. 6.1. Comparación de resultados Se ha elegido una PT de un transporte ya realizado con el Cuadro de Composición obtenido manualmente por el personal del CCMR. Después, se ha usado la aplicación siguiendo los pasos descritos en el manual de usuario (Anexo F) para obtener un
Aplicación informática para la composición de trenes militares 29 Cuadro de Composición como resultado. Se han comparado los dos Cuadros de Composición para verificar que la aplicación es capaz de grabar los datos introducidos, procesarlos correctamente y obtener como resultado un correcto Cuadro de Composición optimizando los recursos. La PT utilizada corresponde a un transporte ejecutado en Marzo de 2016 en la que material del BICC III/61 fue transportado por ferrocarril desde la base militar de El Goloso (Madrid) hasta el CENAD San Gregorio (Zaragoza). La información resumida de la PT puede observarse en la figura 21. El Cuadro de Composición elaborado por el personal del CCMR puede observarse resumidamente en la figura 22. Figura 21: Petición de Transporte. Fuente: el autor. Figura 22: Cuadro de Composición obtenido manualmente. Fuente: el autor.
Aplicación informática para la composición de trenes militares 30 La información contenida en la PT necesaria para ser introducida a través del formulario de la aplicación es: Trayecto: El Goloso-San Gregorio. La capacidad de la locomotora elegida deberá ser superior a 1.400t (doble tracción) para obtener un solo tren. 1º Vehículo: 14 unidades del CC LEOPARDO 2E. 2º Vehículo: 4 unidades del VCI/C PIZARRO. El Cuadro de Composición obtenido con la aplicación AutoCompo se puede observar en la figura 23. Figura 23: Cuadro de Composición obtenido con Autocompo. Fuente: el autor. Comparando el resultado manual con el obtenido con la aplicación se pueden sacar las siguientes conclusiones: La introducción de datos ha tomado un tiempo de aproximadamente un minuto y el tiempo de cálculo de la composición ha sido inferior a un segundo. El resultado obtenido es un Cuadro de Composición que mantiene el formato oficial y contiene la información relativa al transporte. La información que queda por completar es rellenada manualmente por el personal del CCMR. La distribución de vehículos por plataformas y la distribución de plataformas en el tren es idéntica. Así mismo, se han obtenido los mismos resultados relativos a la tara, carga, peso total, longitud total y número de plataformas usadas. Con estos resultados se puede concluir que la aplicación ha realizado un cálculo óptimo de la composición ferroviaria. También es cierto que esta composición no presenta una gran dificultad para distribuir los vehículos de forma óptima ya que la dificultad aparece cuando hay una superior variedad de vehículos y una gran cantidad de vehículos ligeros.
Aplicación informática para la composición de trenes militares 31 Para casos donde no se obtiene un resultado óptimo en el primer cálculo, se puede recalcular una nueva composición cambiando los datos necesarios o directamente hacer modificaciones manualmente en la composición calculada. Se han realizado pruebas adicionales para casos de mayor complejidad, uno de ellos se puede observar en el ejemplo del manual de usuario (Anexo F). 6.2. Cuestionario de satisfacción Se ha realizado un cuestionario de satisfacción (Anexo G) formado por 21 cuestiones agrupadas en 6 apartados principales para valorar el diseño de la aplicación, su funcionamiento y su utilidad para el CCMR. Las cuestiones se valoran en una escala de 1 a 10. El cuestionario ha sido respondido anónimamente por las cuatro personas destinadas en el CCMR haciendo uso de la aplicación. Los resultados de las 21 cuestiones se pueden observar en la figura 24 y la valoración de los diferentes apartados evaluados se puede observar en la figura 25. Además de las valoraciones de cada apartado, en el cuestionario hay un recuadro por apartado para que los encuestados puedan hacer comentarios. Figura 24: Gráfica de la valoración de las cuestiones. Elaboración propia. Persona A Persona B Persona C Persona D Nota media Desviación típica 8,10 8,38 9,05 7,90 8,36 0,50 0,0 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2,0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 0 1 2 3 4 5 6 7 8 9 10 Valoración de las cuestiones Nota media Desviación típica
Aplicación informática para la composición de trenes militares 38
Aplicación informática para la composición de trenes militares 39 BIBLIOGRAFÍA [1] MT5-007. Manual Técnico. Transporte por ferrocarril. Dirección de Servicios Técnicos del Ejército, diciembre de 2000. [2] IT 09/02. Instrucción Técnica. Procedimiento operativo sobre transportes en trenes especiales militares. Dirección de Transportes, junio de 2002. [3] NAI 2403/09. Seguimiento y control de trenes militares. Regimiento de Pontoneros y Especialidades de Ingenieros nº12, julio de 2009. [4] Convenio MINISDEF-RENFE Operadora 2017-20. [5] Instrucción General nº 66. Normativa de cargamento. RENFE, febrero de 2004. [6] Comunicado nº6 de la Instrucción General nº 66. Prescripciones para el transporte de vehículos militares de ruedas y cadenas. ADIF, junio de 2006. [7] Consigna Serie C nº 41. Normas para el transporte de vehículos militares de características excepcionales. ADIF, septiembre de 2012. [8] Programación en PHP a través de ejemplos. Manuel Palomo Duarte. Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Cádiz. Cádiz. [9] Aprenda Visual Basic 6.0 como si estuviera en primero. Javier García de Jalón. Escuela Superior de Ingenieros Industriales. San Sebastián, agosto de 1999. [10] La programación en lenguaje Pascal. Centro de cálculo de la Universidad de Zaragoza. Zaragoza, 1988. [11] Declaración sobre la red. ADIF. 2015. [12] Catálogo de Vagones. RENFE. Noviembre de 2015.
Aplicación informática para la composición de trenes militares 40
Aplicación informática para la composición de trenes militares 41 ANEXO A: ORGANIGRAMA DEL MALE
Aplicación informática para la composición de trenes militares 42
Aplicación informática para la composición de trenes militares 43 ANEXO B: PETICIÓN DE TRANSPORTE
Aplicación informática para la composición de trenes militares 44
Aplicación informática para la composición de trenes militares 45 ANEXO C: CUADRO DE COMPOSICIÓN
Aplicación informática para la composición de trenes militares 46
Aplicación informática para la composición de trenes militares 47 ANEXO D: FICHA DE GÁLIBO
Aplicación informática para la composición de trenes militares 54 Loop 'Graba la fecha indicando el inicio del primer vehículo introducido Datos.Cells(fila, 9) = Me.txt_fecha 'Graba toda la lista de vehículos en la hoja Datos empezando por la primera fila libre For i = 0 To Me.ListBox1.ListCount - 1 Datos.Cells(fila, 1) = Me.ListBox1.List(i, 0) Datos.Cells(fila, 2) = Me.ListBox1.List(i, 1) Datos.Cells(fila, 3) = Me.ListBox1.List(i, 2) Datos.Cells(fila, 4) = Me.ListBox1.List(i, 3) Datos.Cells(fila, 5) = Me.ListBox1.List(i, 4) Datos.Cells(fila, 6) = Me.ListBox1.List(i, 5) Datos.Cells(fila, 7) = Me.ListBox1.List(i, 6) Datos.Cells(fila, 8) = Me.ListBox1.List(i, 7) fila = fila + 1 Next i 'Cuenta el número de elementos que hay en el contenedor de datos de las plataformas fila = 3 Do While Plataformas.Cells(fila, 2) <> "" fila = fila + 1 Loop 'Graba las plataformas que se van a usar en la hoja Datos j = 1 For i = 3 To fila - 1 If Plataformas.Cells(i, 12) = "s" Then 'Filtra las plataformas que se van a usar j = j + 1 Datos.Cells(j, 18) = Plataformas.Cells(i, 2) Datos.Cells(j, 19) = Plataformas.Cells(i, 6) Datos.Cells(j, 20) = Plataformas.Cells(i, 7) Datos.Cells(j, 21) = Plataformas.Cells(i, 5) Datos.Cells(j, 22) = Plataformas.Cells(i, 11) Datos.Cells(j, 23) = Plataformas.Cells(i, 1) End If Next i 'Aparece un mensaje de confirmación MsgBox "Datos grabados" fin: End Sub 'Cuando ocurre el evento definido como pulsar el botón del objeto CB_BorrarDatos, borra todos los datos que se encuentren en la hoja Datos Private Sub CB_BorrarDatos_Click() Worksheets("Datos").Activate 'Activa la hoja Datos 'Aparece un mensaje para confirmar el borrado de datos nombre = MsgBox("Se va a proceder a borrar los datos (S/N)", vbYesNo) 'Si la espuesta en sí, borra los datos
Aplicación informática para la composición de trenes militares 55 Select Case nombre Case vbYes fila = 2 Do While Datos.Cells(fila, 1) <> "" fila = fila + 1 Loop If fila > 2 Then fila = fila + 5 For i = fila To 2 Step -1 Rows(i).Delete Next i End If MsgBox "Datos borrados" End Select End Sub 'Cuando ocurre el evento definido como pulsar dos veces un elemento del objeto ListBox1, borra el elemento pulsado Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'Aparece un mensaje para confirmar el borrado del elemento nombre = MsgBox("¿Desea eliminar el elemento " & Me.ListBox1.ListIndex & "?", vbYesNo) 'Si la espuesta en sí, borra el elemento Select Case nombre Case vbYes Me.ListBox1.RemoveItem (Me.ListBox1.ListIndex) End Select End Sub 'Inicializa los componentes del formulario Private Sub UserForm_Initialize() Me.txt_fecha = Format(Date, "long date") 'Graba la fecha 'Cuenta el número de elementos que hay en el contenedor de datos de los trayectos fila = 3 Do While Tray.Cells(fila, 2) <> "" fila = fila + 1 Loop 'Añade a combo_trayecto los trayectos de la hoja Tray For i = 3 To fila - 1 Me.combo_trayecto.AddItem Tray.Cells(i, 2) Next i 'Cuenta el número de elementos que hay en el contenedor de datos de los vehiculos fila = 2 Do While VH.Cells(fila, 3) <> "" fila = fila + 1 Loop
Aplicación informática para la composición de trenes militares 56 'Añade a combo_vehiculo los vehiculos de la hoja VH For i = 2 To fila - 1 Me.combo_vehiculo.AddItem VH.Cells(i, 3) Next i 'Cuenta el número de elementos que hay en el contenedor de datos de los vehiculos fila = 2 Do While VH.Cells(fila, 3) <> "" fila = fila + 1 Loop 'Añade a combo_remolque los remolques de la hoja VH For i = 2 To fila - 1 If VH.Cells(i, 10) = "s" Then 'Filtra los vehículos que son remolques Me.combo_remolque.AddItem VH.Cells(i, 3) End If Next i End Sub 'CÓDIGO DEL ALGORITMO Option Explicit 'Declaración de la estructura de datos Public Type Tvehiculo nombre As String longitud As Long peso As Long plat1 As String plat2 As String plat3 As String plat4 As String cant As Integer End Type Public Type Tvehiculos nveh As Integer vehiculos(1 To 40) As Tvehiculo nl As Integer pt As Long longitud As Long End Type Public Type Tcompara ncomp As Integer vehiculos(1 To 4) As Tvehiculos End Type Public Type Tplataforma modelo As String longTop As Long longInt As Long
Aplicación informática para la composición de trenes militares 57 peso As Long cap As Long ref As Integer End Type Public Type Tplataformas nplat As Integer Plataformas(1 To 6) As Tplataforma End Type Public Type Ttrayecto nombre As String longBas As Long longCond As Long capacidad(1 To 10) As Long End Type Public Type TplataformaC nombre As String modelo As String longDisp As Long pesoDisp As Long longTop As Long peso As Long carga As Long pesoTot As Long ref As Integer vhc As Integer End Type Public Type Ttren npc As Integer plataformasC(1 To 50) As TplataformaC longitud As Long peso As Long End Type Public Type Ttrenes ntren As Integer trenes(1 To 10) As Ttren End Type 'Declaración de las variables globales Public Pvehiculos As Tvehiculos, Pvheleg As Tvehiculos, Pplataformas As Tplataformas, Ptrayecto As Ttrayecto, Ptrenes As Ttrenes, Pcompara As Tcompara 'Procedimiento principal del algoritmo Sub Alg() 'Carga los datos grabados en la hoja Datos Call cargarDatos(Pvehiculos, Ptrayecto, Pplataformas) 'Ordena los vehículos por peso Call ordenarPeso(Pvehiculos) 'Inicializa la estructura de datos de los trenes Ptrenes.ntren = 0 Call iniciarTren(Ptrenes, Ptrayecto)
Aplicación informática para la composición de trenes militares 58 'Declara un bucle mientras queden vehículos por cargar en los trenes While Pvehiculos.nveh > 0 'Carga una misma plataforma de varias maneras diferentes Call cargarPlataforma(Pplataformas, Pvehiculos, Ptrenes, Pcompara) 'Compara las distintas maneras y elige la más óptima Call comparar(Pcompara, Pvheleg) 'Carga los vehículos elegidos Call cargar(Pvehiculos, Pvheleg, Ptrenes) 'Comprueba las restricciones de longitud y peso del tren Call comprobarTren(Ptrayecto, Ptrenes) 'Si el algoritmo obtiene más trenes que locomotoras se han introducido, detiene el proceso y avisa con un mensaje If Ptrayecto.capacidad(Ptrenes.ntren) = 0 Then With Ptrenes .trenes(.ntren).plataformasC(.trenes(.ntren).npc).nombre = "ERROR, se necesitan más locomotoras" GoTo fin End With End If Wend fin: 'Graba el resultado en los Cuadros de Composición necesarios Call grabarHojas(Ptrenes) End Sub 'Procedimiento que almacena en la estructura de datos declarada los datos grabados en la hoja Datos Sub cargarDatos(vehiculos As Tvehiculos, trayecto As Ttrayecto, Plataformas As Tplataformas) 'Declaración de variables locales Dim i As Integer 'Almacena los datos relativos a los vehículos i = 2 vehiculos.nveh = 0 While Datos.Cells(i, 1) <> "" If Datos.Cells(i, 8).Value > 0 Then vehiculos.nveh = vehiculos.nveh + 1 vehiculos.vehiculos(vehiculos.nveh).nombre = Datos.Cells(i, 1).Value vehiculos.vehiculos(vehiculos.nveh).longitud = Datos.Cells(i, 2).Value vehiculos.vehiculos(vehiculos.nveh).peso = Datos.Cells(i, 3).Value vehiculos.vehiculos(vehiculos.nveh).plat1 = Datos.Cells(i, 4).Value vehiculos.vehiculos(vehiculos.nveh).plat2 = Datos.Cells(i, 5).Value vehiculos.vehiculos(vehiculos.nveh).plat3 = Datos.Cells(i, 6).Value vehiculos.vehiculos(vehiculos.nveh).plat4 = Datos.Cells(i, 7).Value vehiculos.vehiculos(vehiculos.nveh).cant = Datos.Cells(i, 8).Value
Aplicación informática para la composición de trenes militares 59 End If i = i + 1 Wend 'Almacena los datos relativos al trayecto trayecto.nombre = Datos.Cells(2, 10).Value trayecto.longBas = Datos.Cells(2, 11).Value trayecto.longCond = Datos.Cells(2, 12).Value trayecto.capacidad(1) = Datos.Cells(2, 13).Value trayecto.capacidad(2) = Datos.Cells(2, 14).Value trayecto.capacidad(3) = Datos.Cells(2, 15).Value trayecto.capacidad(4) = Datos.Cells(2, 16).Value trayecto.capacidad(5) = Datos.Cells(2, 17).Value trayecto.capacidad(6) = Datos.Cells(3, 13).Value trayecto.capacidad(7) = Datos.Cells(3, 14).Value trayecto.capacidad(8) = Datos.Cells(3, 15).Value trayecto.capacidad(9) = Datos.Cells(3, 16).Value trayecto.capacidad(10) = Datos.Cells(3, 17).Value 'Almacena los datos relativos a los modelos de plataformas usadas i = 2 Plataformas.nplat = 0 While Datos.Cells(i, 18) <> "" Plataformas.nplat = Plataformas.nplat + 1 Plataformas.Plataformas(Plataformas.nplat).modelo = Datos.Cells(i, 18).Value Plataformas.Plataformas(Plataformas.nplat).longTop = Datos.Cells(i, 19).Value Plataformas.Plataformas(Plataformas.nplat).longInt = Datos.Cells(i, 20).Value Plataformas.Plataformas(Plataformas.nplat).peso = Datos.Cells(i, 21).Value Plataformas.Plataformas(Plataformas.nplat).cap = Datos.Cells(i, 22).Value Plataformas.Plataformas(Plataformas.nplat).ref = Datos.Cells(i, 23).Value i = i + 1 Wend End Sub 'Procedimiento que ordena los vehículos de mayor a menor peso Sub ordenarPeso(vehiculos As Tvehiculos) Dim i As Integer, j As Integer, aux As Tvehiculo For i = 2 To vehiculos.nveh aux = vehiculos.vehiculos(i) j = i While (j > 1) If vehiculos.vehiculos(j - 1).peso < aux.peso Then vehiculos.vehiculos(j) = vehiculos.vehiculos(j - 1) vehiculos.vehiculos(j - 1) = aux End If j = j - 1 Wend Next End Sub
Aplicación informática para la composición de trenes militares 60 'Procedimiento que inicializa los datos de un tren nuevo Sub iniciarTren(trenes As Ttrenes, trayecto As Ttrayecto) trenes.ntren = trenes.ntren + 1 With trenes.trenes(trenes.ntren) .longitud = 46000 .peso = 52000 .npc = 0 'Para composición con locomotora en doble tracción If trayecto.capacidad(trenes.ntren) > 1200000 Then .longitud = .longitud + 20000 End If End With End Sub 'Procedimiento que carga una misma plataforma de varias maneras distintas Sub cargarPlataforma(Plataformas As Tplataformas, vehiculos As Tvehiculos, trenes As Ttrenes, compara As Tcompara) Dim modelo As String, platCaux As TplataformaC 'El primer vehículo en la lista define el modelo de la plataforma que va a ser cargada If vehiculos.vehiculos(1).plat1 <> "" Then modelo = vehiculos.vehiculos(1).plat1 ElseIf vehiculos.vehiculos(1).plat2 <> "" Then modelo = vehiculos.vehiculos(1).plat2 ElseIf vehiculos.vehiculos(1).plat3 <> "" Then modelo = vehiculos.vehiculos(1).plat3 ElseIf vehiculos.vehiculos(1).plat4 <> "" Then modelo = vehiculos.vehiculos(1).plat4 End If 'Inicializa la plataforma elegida Call iniciarPlat(Plataformas, trenes, modelo) 'Se trabaja con un dato auxiliar que contiene la información de la plataforma a cargar platCaux = trenes.trenes(trenes.ntren).plataformasC(trenes.trenes(trenes.ntren).n pc) 'Se carga la plataforma de 4 maneras distintas compara.ncomp = 4 compara.vehiculos(1) = metodo1(vehiculos, platCaux) compara.vehiculos(2) = metodo2(vehiculos, platCaux) compara.vehiculos(3) = metodo3(vehiculos, platCaux) compara.vehiculos(4) = metodo4(vehiculos, platCaux) End Sub 'Procedimiento que inicializa los datos de una nueva plataforma que va a ser cargada Sub iniciarPlat(Plataformas As Tplataformas, trenes As Ttrenes, modelo As String) With trenes.trenes(trenes.ntren)
Aplicación informática para la composición de trenes militares 61 .npc = .npc + 1 .plataformasC(.npc).nombre = "" .plataformasC(.npc).modelo = modelo .plataformasC(.npc).longDisp = Plataformas.Plataformas(buscarPlat(Plataformas, modelo)).longInt .plataformasC(.npc).pesoDisp = Plataformas.Plataformas(buscarPlat(Plataformas, modelo)).cap .plataformasC(.npc).longTop = Plataformas.Plataformas(buscarPlat(Plataformas, modelo)).longTop .plataformasC(.npc).peso = Plataformas.Plataformas(buscarPlat(Plataformas, modelo)).peso .plataformasC(.npc).ref = Plataformas.Plataformas(buscarPlat(Plataformas, modelo)).ref .plataformasC(.npc).vhc = 0 .plataformasC(.npc).carga = 0 End With End Sub 'Función que busca una plataforma por su modelo y devuelve su índice en la lista de plataformas Function buscarPlat(Plataformas As Tplataformas, modelo As String) As Integer Dim i As Integer, encontrado As Boolean i = 1 encontrado = False While Not encontrado And i <= Plataformas.nplat If Plataformas.Plataformas(i).modelo = modelo Then encontrado = True Else i = i + 1 End If Wend buscarPlat = i End Function 'Función que elige, con el primer criterio definido, una serie de vehículos para ser cargados en la plataforma elegida Function metodo1(vehiculos As Tvehiculos, platCaux As TplataformaC) As Tvehiculos 'Declaración de variables locales y temporales para ser usadas en este procedimiento Dim vehiculosTemp As Tvehiculos, platCTemp As TplataformaC, vehiculosC As Tvehiculos 'Inicialización de las variables temporales vehiculosTemp = vehiculos platCTemp = platCaux 'Inicialización de la lista de vehículos a cargar en la plataforma vehiculosC.nveh = 0 'Elige los vehículos a cargar por el principio o final de la lista según el orden definido Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC)
Aplicación informática para la composición de trenes militares 62 Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) metodo1 = vehiculosC End Function 'Función que elige, con el segundo criterio definido, una serie de vehículos para ser cargados en la plataforma elegida Function metodo2(vehiculos As Tvehiculos, platCaux As TplataformaC) As Tvehiculos 'Declaración de variables locales y temporales para ser usadas en este procedimiento Dim vehiculosTemp As Tvehiculos, platCTemp As TplataformaC, vehiculosC As Tvehiculos 'Inicialización de las variables temporales vehiculosTemp = vehiculos platCTemp = platCaux 'Inicialización de la lista de vehículos a cargar en la plataforma vehiculosC.nveh = 0 'Elige los vehículos a cargar por el principio o final de la lista según el orden definido Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) metodo2 = vehiculosC End Function 'Función que elige, con el tercer criterio definido, una serie de vehículos para ser cargados en la plataforma elegida Function metodo3(vehiculos As Tvehiculos, platCaux As TplataformaC) As Tvehiculos 'Declaración de variables locales y temporales para ser usadas en este procedimiento Dim vehiculosTemp As Tvehiculos, platCTemp As TplataformaC, vehiculosC As Tvehiculos 'Inicialización de las variables temporales vehiculosTemp = vehiculos platCTemp = platCaux 'Inicialización de la lista de vehículos a cargar en la plataforma vehiculosC.nveh = 0 'Elige los vehículos a cargar por el principio o final de la lista según el orden definido Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC)
Aplicación informática para la composición de trenes militares 63 Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) metodo3 = vehiculosC End Function 'Función que elige, con el cuarto criterio definido, una serie de vehículos para ser cargados en la plataforma elegida Function metodo4(vehiculos As Tvehiculos, platCaux As TplataformaC) As Tvehiculos 'Declaración de variables locales y temporales para ser usadas en este procedimiento Dim vehiculosTemp As Tvehiculos, platCTemp As TplataformaC, vehiculosC As Tvehiculos 'Inicialización de las variables temporales vehiculosTemp = vehiculos platCTemp = platCaux 'Inicialización de la lista de vehículos a cargar en la plataforma vehiculosC.nveh = 0 'Elige los vehículos a cargar por el principio o final de la lista según el orden definido Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAr(vehiculosTemp, platCTemp, vehiculosC) Call busquedaAb(vehiculosTemp, platCTemp, vehiculosC) metodo4 = vehiculosC End Function 'Procedimiento que busca un vehículo apropiado para la plataforma empezando por el principio de la lista Sub busquedaAr(vehiculosTemp As Tvehiculos, platCTemp As TplataformaC, vehiculosC As Tvehiculos) Dim i As Integer, encontrado As Boolean 'Busca un vehículo i = 1 encontrado = False While Not encontrado And i <= vehiculosTemp.nveh If (platCTemp.modelo = vehiculosTemp.vehiculos(i).plat1 Or _ platCTemp.modelo = vehiculosTemp.vehiculos(i).plat2 Or _ platCTemp.modelo = vehiculosTemp.vehiculos(i).plat3 Or _ platCTemp.modelo = vehiculosTemp.vehiculos(i).plat4) And _ platCTemp.longDisp > vehiculosTemp.vehiculos(i).longitud + 250 And _ platCTemp.pesoDisp > vehiculosTemp.vehiculos(i).peso Then encontrado = True Else i = i + 1
Aplicación informática para la composición de trenes militares 70
Aplicación informática para la composición de trenes militares 71 ANEXO F: MANUAL DE USUARIO Manual de usuario de la aplicación AutoCompo v0.0 Realizado por David Perea López Para uso interno en el Centro de Control de Movimientos por Ferrocarril
Aplicación informática para la composición de trenes militares 72
Manual de usuario de la aplicación AutoCompo v0.0 1 ÍNDICE 1. INTRODUCCIÓN A AUTOCOMPO V 0.0........................................................................................... 2 1.1. INICIO ............................................................................................................................................ 2 1.2. HOJA AUTO .................................................................................................................................... 3 1.3. HOJA DATOS ................................................................................................................................... 3 1.4. HOJA TRAYECTOS ............................................................................................................................. 3 1.5. HOJA VEHÍCULOS ............................................................................................................................. 4 2. MANUAL DE USO ........................................................................................................................... 4 2.1. ELEMENTOS DEL FORMULARIO ............................................................................................................ 4 2.2. EJEMPLO DE USO ............................................................................................................................. 5 3. OPTIMIZACIÓN DEL RESULTADO ................................................................................................. 10 3.1. ALGORITMO DE OPTIMIZACIÓN ......................................................................................................... 10 3.2. MEJORA DEL RESULTADO ................................................................................................................. 11 4. LIMITACIONES DE LA APLICACIÓN ............................................................................................... 12 4.1. INSTRUCCIONES BÁSICAS DE USO ....................................................................................................... 12 4.2. POSIBLES ERRORES ......................................................................................................................... 12 4.3. LIMITACIONES DE DISEÑO ................................................................................................................ 12 5. AMPLIACIÓN DEL SOFTWARE ...................................................................................................... 13 5.1. MODIFICACIONES: NIVEL USUARIO ..................................................................................................... 13 5.1.1. Añadir o gestionar trayectos ............................................................................................ 13 5.1.2. Añadir o gestionar vehículos ............................................................................................ 13 5.2. MODIFICACIONES: NIVEL DESARROLLADOR .......................................................................................... 14 5.2.1. Explorador de proyectos ................................................................................................... 14 5.2.2. Modificación del código ................................................................................................... 14 5.2.3. Hoja Plataformas ............................................................................................................. 15 5.2.4. Hoja Cuadro ...................................................................................................................... 15
Manual de usuario de la aplicación AutoCompo v0.0 2 1 Introducción a AutoCompo v 0.0 AutoCompo en una aplicación integrada en el entorno gráfico de Microsoft Excel que utiliza el lenguaje de programación Visual Basic. Con esta aplicación podrá realizar Cuadros de Composición introduciendo los datos de una Petición de Transporte (PT) en un tiempo muy reducido. Las ventajas de usar este entorno son: Utilizar hojas Excel como contenedor de datos. Usar formularios sencillos para interactuar con el usuario. Implementar código VBA para procesar los datos de entrada. Ampliar las utilidades añadiendo macros a la aplicación. Interfaz familiar con la gran mayoría de usuarios. Facilidad para ampliar las bases de datos. 1.1 Inicio Al ejecutar la aplicación se abre la siguiente ventana: Se pueden observar las siguientes hojas: La hoja Auto se inicia al abrir la aplicación y contiene dos botones. La hoja Datos almacena los datos que van a ser usados en el transporte. La hoja Trayectos contiene la información de todos los trayectos aprobados por ADIF para el transporte militar por ferrocarril. La hoja Vehículos contiene la información de todos los vehículos aprobados por ADIF para el transporte militar por ferrocarril.
Manual de usuario de la aplicación AutoCompo v0.0 3 La hoja Auto está bloqueada por seguridad. Además, hay dos hojas que se encuentran ocultas (Cuadro y Plataformas) para evitar su modificación y alterar el funcionamiento de la aplicación. Su acceso y modificación está explicado en el apartado 5.2. 1.2 Hoja Auto La hoja Auto contiene los dos botones principales de la aplicación: El botón Introducir Datos abre una ventana de formulario con la que se introducen los datos. El botón Iniciar Composición inicia el algoritmo y crea los Cuadros de Composición necesarios 1.3 Hoja Datos La hoja de Datos se estructura de la siguiente manera: En esta hoja se grabarán los siguientes datos introducidos: Vehículos: Vehículo, Longitud total, Peso total, Plataforma 1, Plataforma 2, Plataforma 3, Plataforma 4 y Cantidad. Fecha. Trayecto: Trayecto, Básica, Condicional, Cap 1 y 6, Cap 2 y 7, Cap 3 y 8, Cap 4 y 9 y Cap 5 y 10. Plataformas: Modelo, Longitud Topes, Longitud interior, Peso, Carga máxima y Ref. Su estructura no puede ser modificada aunque puede modificarse la información contenida en el proceso de elaboración de la composición ferroviaria. Se recomienda borrar los datos una vez elaborado satisfactoriamente el Cuadro de Composición. Para ello existe una función que se explica en el apartado 2.2. 1.4 Hoja Trayectos La hoja de Trayectos se estructura de la siguiente manera: En esta hoja se almacena la información de todos los trayectos aprobados por ADIF para el transporte militar por ferrocarril. Su estructura no puede ser modificada aunque puede modificarse la información contenida y añadir nuevos trayectos.
Manual de usuario de la aplicación AutoCompo v0.0 4 1.5 Hoja Vehículos La hoja de Vehículos se estructura de la siguiente manera: En esta hoja se almacena la información de todos los vehículos aprobados por ADIF para el transporte militar por ferrocarril. Su estructura no puede ser modificada aunque puede modificarse la información contenida y añadir nuevos vehículos. 2 Manual de uso A continuación se explica los elementos principales del formulario usado para la introducción de datos y se realiza un ejemplo para su mejor comprensión. 2.1 Elementos del formulario Al pulsar el botón Introducir Datos en la hoja Auto se abre el siguiente formulario: El formulario está compuesto por los siguientes elementos: ComboBox: Trayecto, Vehículo y Remolque. Es un cuadro con una lista desplegable donde se puede seleccionar los datos que se encuentran en las hojas Trayectos y Vehículos. TextBox: Es una caja de texto que almacena temporalmente la información del trayecto y del vehículo que el usuario a elegido. Además permite su modificación para la elaboración en curso sin que se altere su estado original.
Manual de usuario de la aplicación AutoCompo v0.0 5 ListBox: Es una matriz de datos que almacena todos los vehículos que se van añadiendo a la lista. Al pulsar dos veces sobre un elemento lo elimina. Buttons: Grabar Datos, Añadir a lista, Borrar lista y Borrar Hoja de Datos. Son botones que al pulsarlos realizan una tarea determinada. 2.2 Ejemplo de uso La realización de este ejemplo resolverá las necesidades de una PT y obtendrá como resultado un Cuadro de Composición. La información de la PT es la siguiente: Seguir los siguientes pasos para obtener el Cuadro de Composición: 1. Abrir la aplicación AutoCompo y pulsar el botón Introducir Datos en la hoja Auto. 2. Elegir en el desplegable el trayecto Badajoz-San Gregorio. NOTA: Se pueden modificar las capacidades de las locomotoras dependiendo de la disponibilidad de RENFE. Tiene que haber al menos tantas locomotoras como trenes se vayan a obtener. Se recomienda ordenarlas de mayor a menor capacidad. Si está autorizado el trasporte con longitud máxima condicional se escribe 0 en longitud básica. 3. Elegir en la lista desplegable el primer vehículo de la PT (C.C. LEOPARDO 2E), revisar que no falta ningún dato e introducir la cantidad.
Manual de usuario de la aplicación AutoCompo v0.0 6 4. Pulsar el botón Añadir a lista y el formulario queda de esta forma: 5. Repetir los dos últimos pasos para el siguiente vehículo y la lista queda de esta forma: Los siguientes vehículos son un camión y un remolque. Se pueden cargar separadamente añadiendo cada uno individualmente desde el desplegable Vehículo. También se pueden cargar unidos eligiendo el camión en Vehículo y el remolque en Remolque. 6. Añadir el vehículo y el remolque e introducir la cantidad. 7. Pulsar el botón Añadir a lista y los datos del vehículo y del remolque se combinan. 8. Repetir los pasos para el siguiente vehículo (TOA M-113 A-2 PP). Se obtiene el siguiente mensaje:
Manual de usuario de la aplicación AutoCompo v0.0 7 La longitud y el peso del vehículo no se han cargado en la hoja Vehículos. La solución es introducir los datos manualmente en el TextBox correspondiente. 9. Pulsar el botón Añadir a lista cuando estén todos los datos rellenos. 10. Repetir el proceso con los vehículos restantes. La lista de vehículos queda de esta forma: 11. Revisar los datos y detectar posibles errores. NOTA: Se puede eliminar cualquier elemento de la lista pulsado dos veces sobre él. También se puede eliminar toda la lista pulsando el botón Borrar Lista. 12. Comprobar que la hoja Datos está vacía y no contiene datos de un ejercicio anterior. NOTA: Si hubiera datos de otro ejercicio se pueden eliminar pulsando el botón Borrar Hoja de Datos. 13. Para finalizar, pulsar el botón Grabar Datos y cerrar el formulario. NOTA: Si se cierra el formulario sin pulsar el botón Grabar Datos no se guarda ninguna información. La hoja Datos queda de la siguiente forma: Vehículos
Manual de usuario de la aplicación AutoCompo v0.0 14 Plat 1...4: Plataformas donde el vehículo puede ser cargado, en orden de prioridad. Tiene que mantener el mismo formato que en la hoja Plataformas. Remolque: si es o no (s es sí y n es no) un remolque. Los que tengan una “s” aparecerán en el ComboBox de remolques. Una vez introducidos nuevos vehículos, se pueden ordenar alfabéticamente pulsando en la hoja Vehículos el botón Ordenar por nombre. 5.2 Modificaciones: nivel desarrollador El usuario, con unos conocimientos de programación, puede modificar el código bajo su responsabilidad. Se recomienda hacer una copia de seguridad antes de modificar el código. Para acceder a las funciones de desarrollador hay que seguir los siguientes pasos: Archivo Opciones Personalizar cinta de opciones Pestañas principales marcar la opción Desarrollador Aceptar Con esta función activada se pueden realizar dos acciones principalmente: Macros: las macros son acciones que se graban en forma de código y se pueden asignar a un evento determinado, como por ejemplo pulsar un botón. Un ejemplo de lo que se puede crear con esta función es el botón Ordenar por nombre. Visual Basic: con esta función el usuario accede al código de la aplicación y puede realizar cambios en la configuración avanzada del proyecto. 5.2.1 Explorador de proyectos Al pulsar Visual Basic se abre el Explorador de proyectos. Se puede distinguir varias carpetas: Microsoft Excel Objetos: son las distintas hojas del libro. Formularios: se encuentra el formulario usado para la introducción de datos. Está formado por un objeto principal (formulario) que contiene a su vez otros objetos. Además también tiene un código de programación para indicar las acciones a realizar cuando ocurre un evento. Módulos: es código de programación que realiza ciertas acciones. ALGORITMO es el código dividido en procedimientos (Sub) usado en la elaboración de la composición ferroviaria. Macros contiene las macros grabadas en el libro. NOTA: Para visualizar los objetos ocultos active la Ventana de propiedades. Para visualizar la hoja Cuadro y la hoja Plataformas seleccione la propiedad Visible y cámbiela a -1 xlSheetVisible. 5.2.2 Modificación del código Para modificar la limitación del número de elementos pulse Ver código de ALGORITMO. De esta forma se incrementa la capacidad del número de elementos de la lista de vehículos de 40 a 50 elementos.
Manual de usuario de la aplicación AutoCompo v0.0 15 Para modificar las siguientes consideraciones vaya al procedimiento indicado y sustituya los valores por los que desee: El algoritmo considera que cuando la capacidad de una locomotora es superior a 1.200.000 Kg se trata de doble tracción. (Sub iniciarTren) El algoritmo considera como vehículo ligero los que no pesan más de 3.000 Kg. (Function sumanl) La distancia mínima entre vehículos en una misma plataforma es de 25 cm. (Sub busquedaAr y Sub busquedaAb) 5.2.3 Hoja Plataformas La hoja Plataformas tiene la estructura siguiente: Las unidades empleadas deben ser mm y Kg. En la columna A se define el número identificador y en la columna L se indica si va a ser usada o no (s es sí y n es no) para la elaboración del Cuadro de Composición (máximo 6). 5.2.4 Hoja Cuadro La hoja Cuadro contiene el modelo vacío del Cuadro de Composición. Para futuros proyectos de ampliación de funcionalidades en la aplicación póngase en contacto con el desarrollador a través del correo:
[email protected] Autor: David Perea López Zaragoza, 2016.
Manual de usuario de la aplicación AutoCompo v0.0 16
Aplicación informática para la composición de trenes militares 89 ANEXO G: CUESTIONARIO DE SATISFACCIÓN CUESTIONARIO DE SATISFACCIÓN DE LA APLICACIÓN AUTOCOMPO El siguiente cuestionario está destinado al personal del Centro de Control de Movimiento por Ferrocarril del RPEI 12. Este cuestionario tiene como fin evaluar la calidad de la aplicación AutoCompo. Por ello, agradezco que sea sincero, piense las respuestas, siga los pasos y responda a las preguntas con libertad. Califique con su criterio personal cada aspecto evaluado en una escala numérica de 1 a 10, resaltando la respuesta elegida, siendo 10 la respuesta más positiva. Sus respuestas podrán ser publicadas en el Trabajo de Fin de Grado que tiene como objetivo el desarrollo de esta aplicación. Su realización es voluntaria, aunque agradezco sinceramente su participación. Es anónimo, por lo que no tendrá que proporcionar sus datos personales. Se pide a la persona más caracterizada del CCMR que reparta tantas copias como sean necesarias. Por favor, use la aplicación durante 5 minutos y familiarícese con el entorno gráfico sin haber leído previamente el Manual de usuario. 1. ¿Le ha parecido que tiene un diseño intuitivo? 1 2 3 4 5 6 7 8 9 10 2. ¿Se ha familiarizado cómodamente con el entorno gráfico? 1 2 3 4 5 6 7 8 9 10 3. ¿Ha conseguido, en los 5 minutos, trabajar con la aplicación satisfactoriamente? 1 2 3 4 5 6 7 8 9 10 4. ¿Le parece el formato adecuado? Si tiene alguna proposición para mejorarlo indíquelo. 1 2 3 4 5 6 7 8 9 10 Por favor, lea el apartado 2.2. Ejemplo de uso del Manual de usuario. Después elija al azar una PT (Petición de Transporte) con su Cuadro de Composición correspondiente del histórico del CCMR y siga los pasos del manual para cargar los datos de la PT en la aplicación. 5. Valore el diseño de formulario de introducción de datos. 1 2 3 4 5 6 7 8 9 10 6. ¿Le ha resultado sencilla la introducción de datos? 1 2 3 4 5 6 7 8 9 10
Aplicación informática para la composición de trenes militares 90 7. Valore el tiempo empleado en la introducción de datos. 1 2 3 4 5 6 7 8 9 10 8. ¿Ha tenido algún problema con la introducción de datos? En caso afirmativo, ¿la aplicación le ha avisado o ha conseguido solucionar el problema? 1 2 3 4 5 6 7 8 9 10 Compruebe los datos introducidos y pulse el botón “Iniciar composición”. 9. Valore el tiempo empleado por el algoritmo para calcular la composición. 1 2 3 4 5 6 7 8 9 10 10. Valore el formato del Cuadro de Composición que se ha obtenido como resultado. 1 2 3 4 5 6 7 8 9 10 11. Valore la similitud de la composición del resultado con la del caso real. 1 2 3 4 5 6 7 8 9 10 12. ¿Ha habido algún error en tiempo de ejecución? En caso afirmativo, ¿le ha resultado fácil encontrar la causa del error? 1 2 3 4 5 6 7 8 9 10 Por favor, lea el apartado de 3. Optimización del resultado y haga las modificaciones necesarias en los datos hasta obtener el resultado más óptimo o más parecido al caso real. 13. ¿Le parecen sencillas las modificaciones sobre los datos originales? 1 2 3 4 5 6 7 8 9 10 14. ¿Ha conseguido controlar el funcionamiento del programa para llega al resultado óptimo? 1 2 3 4 5 6 7 8 9 10 15. Valore el tiempo total empleado hasta obtener el Cuadro de Composición definitivo. 1 2 3 4 5 6 7 8 9 10
Aplicación informática para la composición de trenes militares 91 Por favor, lea el apartado 5.1. Modificaciones: nivel usuario. Después siga los pasos para añadir datos nuevos a la aplicación. También haga una prueba gestionando los datos (revisar, modificar, eliminar…). 16. Valore la implementación de esta función en la aplicación. 1 2 3 4 5 6 7 8 9 10 17. ¿Le ha parecido sencillo añadir nuevos datos? 1 2 3 4 5 6 7 8 9 10 18. ¿Le resulta cómodo gestionar los datos? 1 2 3 4 5 6 7 8 9 10 Por favor, lea el apartado 4. Limitaciones de la aplicación del Manual de usuario. 19. ¿Le parece que la aplicación es capaz de satisfacer sus necesidades? 1 2 3 4 5 6 7 8 9 10 20. ¿Le resultan molestas las instrucciones de uso de la aplicación para evitar errores? 1 2 3 4 5 6 7 8 9 10 21. ¿Modificaría alguna limitación de diseño? En caso afirmativo indíquelo. Recuerde que se pueden realizar las modificaciones tal como se explica en el apartado 5.2. Modificaciones: nivel desarrollador. 1 2 3 4 5 6 7 8 9 10 Ha finalizado el cuestionario, muchas gracias por su colaboración. A continuación puede proponer alguna sugerencia o hacer comentarios sobre su experiencia.