How kiruban-raj/robot-work-allocation-system works
The product is a terminal robot-allocation application. A user supplies active and optional standby inventory plus one or more work-hour requests; the CLI selects a strategy, produces allocations, and can report multi-client utilization. The shared bounded-knapsack solver underpins the single-request strategies and standby top-up, while multi-client allocation dispatches requests in priority order and continues after individual failures. The graph follows documented capabilities where CLI excerpts are incomplete; uncertain internal calls are omitted.
Main entry points: cli.py CLI workflow · standby.py Standby top-up · strategies.py Levels 1 and 2 · solver.py Cover solver
Components 10
Terminal interface
- Program entry
main.py - CLI workflow
robot_allocation/cli.py
Allocation strategies
- Levels 1 and 2
robot_allocation/strategies.py - Standby top-up
robot_allocation/standby.py
Batch and reporting
- Level 4 batch
robot_allocation/multiclient.py - Utilization summary
robot_allocation/summary.py
Shared engine
- Allocation domain
robot_allocation/domain.py - User errors
robot_allocation/errors.py - Cover solver
robot_allocation/solver.py
Other components
- Operator
Connections 13
- Operator → Program entry: runs
- Program entry → CLI workflow: starts
- CLI workflow → Levels 1 and 2: allocates
- CLI workflow → Standby top-up: requests top-up
- CLI workflow → Level 4 batch: dispatches batch
- CLI workflow → Utilization summary: builds report
- Levels 1 and 2 → Cover solver: searches cover
- Standby top-up → Levels 1 and 2: uses active strategy
- Standby top-up → Cover solver: covers deficit
- Level 4 batch → Standby top-up: allocates each request
- Cover solver → Allocation domain: reads inventory
- Utilization summary → Allocation domain: reads allocations
- CLI workflow → User errors: handles failures