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 isactiveper 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
- Manage Data: Perform CRUD operations on Locations, Resources, Tasks, Operations, and Assignments.
- Track Operations Times: Handle various time representations and update task details, including imposing delays. Task updates create new versions, preserving history.
- Assignments: Assign or reassign operation to resources.
- Detect Conflicts: Identify situations where an assigned conflicting (overlapping) with another based on their expected time windows.
- Resolve Conflicts: Offer mechanisms to resolve individual scheduling conflicts through AI.
- Optimize Globally: Offer global optimization of the schedule using various solvers to minimize conflicts and reassignments while optimizing for rules.
- 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. - Real-time Updates: Delivers real-time notifications about changes to Assignments and Operations via WebSockets to subscribed clients.
- Virtual State Management: Allows temporary modifications to the schedule (virtual assignments) for "what-if" scenarios or agent-driven planning before potentially persisting changes.