Completar Proyecto De Programación Java - Secuencia


Cancelado
Descripción:
Ya existe una base del programa desarrollado en Java que es capaz de cargar un archivo plano dentro de sí, (un archivo plano como el que adjunto) para darle tratamiento, la idea es crear un sistema de secuencias y hace falta que el programa haga lo siguiente:

*1. Lectura de un archivo plano.*
>
> El archivo plano es igual al que envió adjunto, puede variar en cuanto a la cantidad de "jobs" pueden ser desde 32 hasta 250, pero la secuencia y el orden del archivo siempre va a ser el mismo.
>
> Este archivo trae los job, la cantidad de módulos en los que se puede ejecutar, que tiempo dura en cada modulo, puede ser un solo modulo o varios, cuantos recursos serán utilizados, cuales son sus predecesores (las actividades que deben hacerse antes de iniciar esta), cual es el peso de cada actividad y la información debe guardarse como atributos para que sea mas fácil llamarlos.
>
> Existen dos tipos de recursos los renovables y los no renovables. la diferencia entre estos es que los renovables una vez que se termine el Job en el horizonte de tiempo determinado van a volver a estar disponibles, mientras que los no renovables no vuelven a estar disponibles y se van a ir restando.
>
> Cada trabajo tiene predecesores, actividades que deben finalizar para poder iniciar esta actividad, el archivo debe identificar que actividades pueden iniciar basándose en sus predecesoras y en el total de recursos que este disponible en cada instante.
>
> *2. Formación de la primera secuencia.*
>
> Una vez toda la información este guardada, el programa debe buscar los Jobs que puedan iniciar, mirando los recursos que se tengan y los predecesores, por ejemplo pueden iniciar las actividades numero 1-5-7-9 porque no tienen predecesores y tienen los recursos totales en el primer momento, luego de identificarlas el programa debe hacer un aleatorio entre 0-100% en el ejemplo nos va a dar 75% así que vamos a seleccionar el 75% de las actividades que tenemos posibilidad de hacer, teniendo en cuenta ese porcentaje va a hacer otro aleatorio y va a seleccionar el 75% de las actividades, en el ejemplo eligió la 1-7-9. Entre estas actividades va a iniciar la secuencia y para saber cual escoger se debe hacer nuevamente un aleatorio entre 1-3 para seleccionar uno de los métodos de selección que pueden ser:
>
> 1. El Job de menor duración.
> 2. El Job con el mayor numero de sucesores.
> 3. El Job con el menor peso. (este peso es un peso que se le da a cada actividad por importancia, por ahora se puede pasar por alto)
>
> luego del aleatorio en el ejemplo dio el 2 así que debe seleccionar la actividad con menor numero de sucesores la cual sera la 7, y así inicia la secuencia con la primera actividad en el tiempo 1, el programa debe ver si es posible iniciar otra actividad en el mismo tiempo, dependiendo de los recursos disponibles, si no es posible tiene que ir pasando de tiempo en tiempo hasta que se termine la actividad y se tengan los recursos suficientes para hacer una nueva, y volver a hacer el mismo proceso.

En resumen, el programa debe leer el archivo plano y a partir de ahí, comenzar a hacer pasos según las condiciones indicadas.

Categoría: IT & Programación
Subcategoría: Aplicaciones de escritorio
¿Cuál es el alcance del proyecto?: Cambio mediano
Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo las especificaciones
Experiencia en este tipo de proyectos: Si (He administrado este tipo de proyectos anteriormente)
Disponibilidad requerida: Según se necesite
Plataformas requeridas: Windows

Archivos adjuntos:

Abierto

Presupuesto

4

Propuestas

8

Freelancers interesados

Publicado: Hace 10 meses

Plazo: 5 días

Crea tu propio proyecto

¿Buscas un freelancer para realizar un proyecto similar? Crea tu propio proyecto y recibirás ofertas de los mejores freelancers.


Otros proyectos de este cliente

Para ver más detalles del cliente

Ingresa a Workana

Freelancers que ya aplicaron para este trabajo

AndyCr. Nacido en Venezuela con mas de 10 años de experiencia en ingenieria. Ha recibido el titulo de Ingeniero Electrónico con honores en la UNEFA en el año 2007 y reconocimientos por lograr la automatización de procesos in... + detalles

Saul P. Un gusto saludarlos, soy profesional en el área de Tecnología de la Información, con más de 7 de experiencia en desarrollo web, aplicaciones empresariales, desarrollo middleware, análisis y diseño de base de datos, so... + detalles

Edgar R. Programador Apasionado, me encanta mi trabajo y sobre todo aprender todos los dias algo nuevo. Me gusta aceptar nuevos retos, sobre todo aquellos para los que no estoy preparado porque me obligan a crecer personalmente. + detalles

Leonardo P. Soy un desarrollador de software con 7 años de experiencia en web, aplicaciones back-end y font-end, asi como en el diseño y desarrollo de aplicaciones de escritorio y móviles. He trabajado en importantes empresas lig... + detalles