tengo un problema de programación donde las nuevas ofertas de trabajo (conjuntos de tareas cuya ejecución está conectado de forma secuencial) llegan cada pocos segundos o menos.
Cada trabajo requiere algunos recursos que se asignen a intervalos conocidos.
Por ejemplo:
Trabajo j1
es un conjunto de tareas para las que reservar recursos {r1, r2, r3}
en un patrón de programación conocido: serProgramación algoritmo
r1:[t0 .. t1=t0+td1],
r2:[t2=t1+td2+i2 .. t3=t2+td3]
- t0 el tiempo de inicio de la ejecución
- TD1 es la longitud de la asignación de recursos para r1
- t1 siendo el tiempo de finalización de la asignación de recursos para r1
- i1 es la longitud de el perioido de espera entre r1, r2, etc.
En el ejemplo, se está programado un nuevo trabajo J2 justo después de la ejecución J1 ha comenzado. La hora de inicio más temprana para j2 es t1. Un trabajo puede tardar unos minutos de la ejecución de la mayoría de los cuales consiste en espera.
que tienen un planificador que se ve en la tabla de reserva actual y decide que es el momento temprana posible para empezar un nuevo trabajo con tiempos de asignación fija y períodos de espera y hace las reservas en consecuencia.
(Pero en realidad, el período de espera en realidad no necesita ser reparado, pero dentro de un porcentaje (tal vez 5%) y puede haber alternativas al uso de recursos, por ejemplo, si se reserva el recurso r3.1, luego 3.2 se puede usar como tal para lograr lo mismo.)
Sin embargo, si se requiere el planificador (sí, se sugiere) para poder ajustar dinámicamente todas las asignaciones de programación cuando llega un nuevo trabajo para maximizar la trabajo total realizado (en un día) aprovechando el hecho de que los tiempos de espera no tienen que ser exactamente como se da y la posibilidad de ejecución en paralelo con algunos duplicados resrouce (3.1/3.2), entonces estaría mirando a una completamente diferente esquema de programación (que mi enfoque actual de inicio tan pronto como sea posible).
- ¿Qué esquema de programación llamarías entonces?
- Cualquier sugerencia acerca de acercarse a la (nueva) problema?