Last updated

Augmented Operations Management - Developer Quick Start Guide

Welcome to the Augmented Operations Management project! This guide provides a brief overview to help you get started.

1. Application Goals

This application manages and optimizes the assignment of Operations to Resources. Key goals include:

  • Efficiently scheduling operations while minimizing conflicts (double-booking).
  • Handling time uncertainty using statistical distributions.
  • Resolving scheduling conflicts using both heuristic search and optimization (MILP).
  • Providing an interactive experience through an AI assistant.

2. Core Concepts & Domain Mapping

The code uses generic so it can be applied to several concepts (airports, ports, train stations, logictics companies):

  • Location: A physical area.
  • Resource: An assignable asset within a Location. Resources have ordering and tags.
  • Task: A single event with time data. Includes planned, expected (with uncertainty: mean, sigma, skew), and actual times. Tasks are versioned.
  • Operation: A process linking an inbound and outbound task. Contains metadata.
  • Assignment: Links an Operation to a Resource. Only one is active per Operation.
  • VirtualState: Represents the user's current view/session state, holding temporary assignment changes, time window focus, and context for the AI and tools.
  • Changes here are not automatically saved to the database.. Please contact your account manager for more background on Virtual State and how this proprietary technology works.

3. Key Functionality Walkthrough

  1. Manage Data: Perform CRUD operations on Locations, Resources, Tasks, Operations, and Assignments.
  2. Track Operations Times: Handle various time representations and update task details, including imposing delays. Task updates create new versions, preserving history.
  3. Assignments: Assign or reassign operation to resources.
  4. Detect Conflicts: Identify situations where an assigned conflicting (overlapping) with another based on their expected time windows.
  5. Resolve Conflicts: Offer mechanisms to resolve individual scheduling conflicts through AI.
  6. Optimize Globally: Offer global optimization of the schedule using various solvers to minimize conflicts and reassignments while optimizing for rules.
  7. AI Assistance: Interact with an AI agent (via the /agent/ endpoint) using natural language to query the schedule, identify conflicts, request moves, or trigger conflict resolution processes. The agent utilizes specialized tools to interact with the system's state.
  8. Real-time Updates: Delivers real-time notifications about changes to Assignments and Operations via WebSockets to subscribed clients.
  9. Virtual State Management: Allows temporary modifications to the schedule (virtual assignments) for "what-if" scenarios or agent-driven planning before potentially persisting changes.