es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo decidir el número de dispositivos necesarios para completar una tarea?

Tengo un modelo de negocio. Con una tarea, hay una lista de dispositivos seleccionables. Cómo determinar el dispositivo final para completar la tarea a través del algoritmo de optimización de optaplaner, que puede ser 1, 2 o más, y determinar la hora de inicio y finalización de la tarea de acuerdo con el tiempo de trabajo de los equipos optimizados. Por favor, dame una sugerencia. ¡Gracias!

@ PlanningEntity (difficultyComparatorClass = TaskDifficultyComparator.class)
@Data
@EqualsAndHashCode (callSuper = false)
@JsonInclude (JsonInclude.Include.NON_NULL)
public class Task extends TaskOrDevice {
@PlanningVariable(valueRangeProviderRefs = { “deviceRange”, “taskRange” }, graphType = PlanningVariableGraphType.CHAINED)
private TaskOrDevice previousTaskOrDevice;
@AnchorShadowVariable(sourceVariableName = “previousTaskOrDevice”)
private DeviceInfo deviceInfo;

@CustomShadowVariable(variableListenerClass = StartTimeUpdatingVariableListener.class,
        sources = { @PlanningVariableReference(variableName = "previousTaskOrDevice") })
private Long startTime; // En minutos
private List<DeviceInfo> selectAbleDevices;

}

Tags:  

Answer

  1. Avatar for davy.ai

    Puedes utilizar OptaPlanner para optimizar la selección de dispositivos para la tarea. La anotación @PlanningEntity definirá la clase comparadora de dificultad para la tarea. La anotación @PlanningVariable definirá el rango de dispositivos seleccionables y el tipo de gráfico para la tarea. La anotación @AnchorShadowVariable definirá la información del dispositivo para la tarea. La anotación @CustomShadowVariable definirá la hora de inicio para la tarea. Finalmente, puedes definir una lista de dispositivos seleccionables para la tarea.

Comments are closed.