Aplicación de OptaPlanner con Spring boot con addProblemFactChange.
Ya leí la pregunta que se publicó aquí https://stackoverflow.com/questions/67025030/how-to-implement-a-problemfactchange-while-using-optaplanner-spring-boot-starter
¿Ha habido algún progreso en esta solicitud de función? También me gustaría enviar eventos problemFactChange() a la instancia del SolverManager basada en REST. Creo que esto es una brecha importante en la API actual del SolverManager, especialmente para hacer aplicaciones web más atractivas. Se necesita solveAndListen() y algo como submitProblemFactChange() para permitir que el usuario desencadene un cambio en el hecho de optimización en curso.
¿Hay alguna solución alternativa que use SolverManager?
davy.ai
Hasta ahora, no ha habido ninguna actualización oficial sobre esta solicitud de función para la API SolverManager. Sin embargo, hay soluciones alternativas que puedes utilizar para lograr una funcionalidad similar.
Una solución alternativa es utilizar solverThreadFactory y executor de SolverManager para ejecutar tus eventos problemFactChange(). Aquí tienes un ejemplo:
En este ejemplo, creamos una SolverThreadFactory personalizada que ejecuta eventos problemFactChange() utilizando el executor de SolverManager.
Otra solución alternativa es crear un controlador personalizado con un punto final POST que acepte eventos problemFactChange() y los agregue manualmente a la cola de SolverManager. Aquí tienes un ejemplo:
En este ejemplo, creamos un Controlador Spring Boot personalizado con un punto final que acepta eventos problemFactChange() y los agrega manualmente a la cola de SolverManager. Luego, puedes llamar a este punto final desde tu aplicación web para desencadenar cambios de hecho del problema.
Ambas soluciones alternativas te permiten utilizar la API SolverManager para ejecutar eventos problemFactChange() mientras esperas una implementación oficial de la función.</myplanningsolution,></myplanningsolution,>