Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsReservas y capacidad
Dispositivo

Configurar parámetros del optimizador

Ajusta una configuración de optimización existente para que Marea Gran Via o Grupo Marea Demo usen los parámetros operativos correctos en reservas, conservando las claves desconocidas del JSON original y bloqueando el guardado si no existe permiso `optimization:manage`.

En este artículo

Este artículo explica cómo revisar y editar una configuración de optimización desde la pestaña `Reservas > Optimizador`, sin tratar las plantillas de sistema como editables.

El formulario organiza el JSON `settings` en secciones operativas: servicio, buffers, solver, desdobles, riesgo, saturación, opciones avanzadas y alternativas. Al guardar, Antylogic reconstruye el objeto completo y mantiene las claves desconocidas del valor original.

Antes de empezar

  • Tener sesión iniciada con una organización seleccionada; para Marea Gran Via también debe estar seleccionada la ubicación.
  • Contar con `optimization:view` para abrir configuraciones y con `optimization:manage` para modificarlas.
  • Trabajar sobre una configuración propia del ámbito activo. Las plantillas de sistema y configuraciones heredadas se pueden consultar o copiar, pero no actualizar directamente.
  • Tener claro qué perfil operativo se quiere ajustar, por ejemplo una configuración conservadora para el servicio de comidas de Marea Gran Via.

Instrucciones

  1. 1.

    Abre Reservas > Optimizador

    Entra en la ubicación y abre la pestaña `Reservas > Optimizador`. La tabla `Configuraciones de optimización` muestra los perfiles disponibles para el ámbito actual.

  2. 2.

    Selecciona una configuración editable

    Abre una fila propia de la ubicación u organización. Si la configuración es de sistema, heredada o pertenece a otro ámbito, la pantalla puede mostrarse en consulta, pero no permite guardar cambios.

  3. 3.

    Revisa los datos generales

    Comprueba `Nombre`, `Descripción` y `Predeterminada`. Usa un nombre reconocible para operaciones y marca `Predeterminada` sólo si este perfil debe aplicarse automáticamente a nuevas optimizaciones del mismo ámbito.

  4. 4.

    Ajusta servicio y buffers

    Define el tamaño de franja en `Servicio` y selecciona en `Buffers` una política `Constante`, `Piecewise` o `Affine`. Al cambiar la política, el formulario muestra sólo los campos que corresponden a esa opción.

  5. 5.

    Configura objetivo, desdobles, riesgo y saturación

    Revisa tiempo máximo del solver, workers, duración estándar, bloqueo de reservas asignadas, modo de desdoble, penalizaciones de riesgo y capacidad de cocina. Algunos campos aparecen u ocultan según el modo elegido.

  6. 6.

    Completa opciones avanzadas y alternativas

    Usa `Opcional` para limitar candidatos, pesos y filtros previos al solver. Usa `Alternativas` para controlar cuántas soluciones secundarias se exploran y si se prueban variantes de pesos.

  7. 7.

    Guarda los cambios

    Pulsa `Guardar` cuando haya cambios. La pantalla recorta nombre y descripción, exige nombre, construye `settings` completo, preserva claves desconocidas y actualiza la configuración en el mismo ámbito.

  8. 8.

    Gestiona modo lectura o errores

    Si falta contexto, el formulario no consulta la API. Si el usuario sólo tiene vista o llega con `readOnly=true`, los campos quedan bloqueados. Si falla el guardado, la pantalla permanece abierta y muestra el error resuelto por la API.

Validaciones y límites

  • `selectedOrgId` es obligatorio; en el flujo de ubicación también debe existir `selectedLocationId`.
  • Sin `optimization:manage`, la edición queda bloqueada en la UI y el backend rechaza el `PUT`.
  • No se puede editar una configuración `is_system`, heredada o perteneciente a otro ámbito.
  • `name` se recorta con `trim()` y es obligatorio en frontend y backend.
  • `buffer_policy`, `mode_label`, `risk_aggregation` y `saturation_aggregation` se limitan a los valores admitidos por el formulario.
  • Los campos numéricos se parsean como números; los enteros se redondean y los valores opcionales vacíos se envían como `null` cuando aplica.
  • `kitchen_capacity_list` acepta JSON array o CSV; los valores no parseables se descartan.
  • Los campos de hora se normalizan a `HH:MM` y se validan entre `00:00` y `23:59`.
  • `start_time` y `end_time` no se editan desde esta pantalla; el runtime los deriva de la ocurrencia del servicio.
  • Si una configuración usada por servicios materializados cambia, Antylogic conserva una snapshot histórica para que las ocurrencias pasadas sigan apuntando al estado anterior.

Resultado esperado

La configuración queda actualizada dentro del mismo ámbito de organización o ubicación, la lista y el detalle se refrescan, la UI muestra `Configuración actualizada` y las futuras optimizaciones usan el perfil revisado cuando corresponda.

Artículos relacionados