Одна логіка перевірки для кожного застосунку QDIP.
- 01Ситуація
- 02Альтернативи
- 03Оцінювання
- 04Ризик / невизначеність
- 05Рекомендація
- 06Докази
- 07Історія рішення
Розподіл робіт між підрядниками
Перегляньте ті самі роботи очима різних ролей, а потім дозвольте QDIP розподілити портфель з урахуванням договорів, потужності та різної продуктивності підрядників.
Виконання робіт. Підрядника призначає QDIP; ручного селектора немає.
Контекст сценарію
Планувальник має розподілити пакети робіт між підрядниками, не порушуючи eligibility, технічну допустимість, потужність і ліміти контрактного обсягу. Дешеві підрядники не можуть забрати всі роботи, тому QDIP береже дефіцитну потужність для робіт із найбільшою економічною перевагою.
Яке призначення підрядник/контракт слід використати для кожної одиниці робіт, щоб локально привабливий вибір не витратив дефіцитну портфельну потужність і не погіршив глобальний результат?
Сценарій перевіряє глобальний портфельний розподіл, provenance/constraint enforcement і вимірювану контрфактичну перевагу вартості над фактичним розподілом.
- • 100 одиниць розподілу
- • 4 підрядників; 8 контрактів
- • 6 довірених джерел input
- • allocation level: WORK_PACKAGE
- • constraint coverage: COMPLETE
- • decision time: 2026-10-01T00:00:00Z
- • Очікувана вартість виконання може бути невідомою для T&E; невідома вартість резервується, а не вважається штучно дешевою.
Робоча зона даних аналітика
Оберіть синтетичний сценарій, семантичний аналіз незнайомих бізнес-файлів або точний версійований шаблон для відтворюваності.
Розумний імпорт
CSV / XLSX / JSON аналізує спільна capability Decision Intake. Вона пропонує семантику, але не запускає оптимізатор без підтвердження.
Точний шаблон
Версійований JSON обходить semantic inference. Поки validation не пройдено, він не замінює активний input сценарію.
Словник даних
| Field | Meaning | Type / unit | Requirement |
|---|---|---|---|
| id | Stable scenario identifier | string | required |
| asOf | Snapshot time for contract/capacity state | ISO datetime | required |
| decisionAt | Decision time used for temporal validity checks | ISO datetime | required |
| allocationLevel | Atomic allocation unit level | enum | required |
| units[] | Work packages/orders with scope, demand, deadline and technical requirements | object[] | required |
| contractors[] | Eligible contractors, contracts, rates, execution profiles and capacity buckets | object[] | required |
| trustedAuthorities[] | Authoritative sources allowed to contribute decision inputs | object[] | required |
Вхідні дані за ролями
Демо розділяє ролі, що задають обсяг робіт, комерційні умови й операційну потужність, від ролі, яка отримує готове призначення підрядника.
Робоче місце планувальника
У view планувальника немає dropdown або іншого поля для ручного вибору підрядника.
| Робота | Тип робіт | Вікно виконання | Призначення підрядника |
|---|---|---|---|
| AU-001 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-04 | Очікує розподілу QDIP |
| AU-002 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-05 | Очікує розподілу QDIP |
| AU-003 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-06 | Очікує розподілу QDIP |
| AU-004 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-07 | Очікує розподілу QDIP |
| AU-005 | ROUTINE_TRIM · 2 tree | 2026-10-02 → 2026-10-08 | Очікує розподілу QDIP |
| AU-006 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-09 | Очікує розподілу QDIP |
| AU-007 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-10 | Очікує розподілу QDIP |
| AU-008 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-11 | Очікує розподілу QDIP |
| AU-009 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-12 | Очікує розподілу QDIP |
| AU-010 | ROUTINE_TRIM · 2 tree | 2026-10-02 → 2026-10-13 | Очікує розподілу QDIP |
| AU-011 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-14 | Очікує розподілу QDIP |
| AU-012 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-15 | Очікує розподілу QDIP |
| AU-013 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-16 | Очікує розподілу QDIP |
| AU-014 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-17 | Очікує розподілу QDIP |
| AU-015 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-18 | Очікує розподілу QDIP |
| AU-016 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-19 | Очікує розподілу QDIP |
| AU-017 | EMERGENCY_CLEARANCE · 1 job | 2026-10-02 → 2026-10-20 | Очікує розподілу QDIP |
| AU-018 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-21 | Очікує розподілу QDIP |
| AU-019 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-22 | Очікує розподілу QDIP |
| AU-020 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-23 | Очікує розподілу QDIP |
| AU-021 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-24 | Очікує розподілу QDIP |
| AU-022 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-25 | Очікує розподілу QDIP |
| AU-023 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-26 | Очікує розподілу QDIP |
| AU-024 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-03 | Очікує розподілу QDIP |
| AU-025 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-04 | Очікує розподілу QDIP |
| AU-026 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-05 | Очікує розподілу QDIP |
| AU-027 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-06 | Очікує розподілу QDIP |
| AU-028 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-07 | Очікує розподілу QDIP |
| AU-029 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-08 | Очікує розподілу QDIP |
| AU-030 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-09 | Очікує розподілу QDIP |
| AU-031 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-10 | Очікує розподілу QDIP |
| AU-032 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-11 | Очікує розподілу QDIP |
| AU-033 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-12 | Очікує розподілу QDIP |
| AU-034 | EMERGENCY_CLEARANCE · 1 job | 2026-10-02 → 2026-10-13 | Очікує розподілу QDIP |
| AU-035 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-14 | Очікує розподілу QDIP |
| AU-036 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-15 | Очікує розподілу QDIP |
| AU-037 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-16 | Очікує розподілу QDIP |
| AU-038 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-17 | Очікує розподілу QDIP |
| AU-039 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-18 | Очікує розподілу QDIP |
| AU-040 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-19 | Очікує розподілу QDIP |
| AU-041 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-20 | Очікує розподілу QDIP |
| AU-042 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-21 | Очікує розподілу QDIP |
| AU-043 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-22 | Очікує розподілу QDIP |
| AU-044 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-23 | Очікує розподілу QDIP |
| AU-045 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-24 | Очікує розподілу QDIP |
| AU-046 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-25 | Очікує розподілу QDIP |
| AU-047 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-26 | Очікує розподілу QDIP |
| AU-048 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-03 | Очікує розподілу QDIP |
| AU-049 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-04 | Очікує розподілу QDIP |
| AU-050 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-05 | Очікує розподілу QDIP |
| AU-051 | EMERGENCY_CLEARANCE · 1 job | 2026-10-02 → 2026-10-06 | Очікує розподілу QDIP |
| AU-052 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-07 | Очікує розподілу QDIP |
| AU-053 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-08 | Очікує розподілу QDIP |
| AU-054 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-09 | Очікує розподілу QDIP |
| AU-055 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-10 | Очікує розподілу QDIP |
| AU-056 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-11 | Очікує розподілу QDIP |
| AU-057 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-12 | Очікує розподілу QDIP |
| AU-058 | ROUTINE_TRIM · 5 tree | 2026-10-02 → 2026-10-13 | Очікує розподілу QDIP |
| AU-059 | ROUTINE_TRIM · 6 tree | 2026-10-02 → 2026-10-14 | Очікує розподілу QDIP |
| AU-060 | HAZARD_TREE_REMOVAL · 2 tree | 2026-10-02 → 2026-10-15 | Очікує розподілу QDIP |
| AU-061 | ROUTINE_TRIM · 3 tree | 2026-10-02 → 2026-10-16 | Очікує розподілу QDIP |
| AU-062 | ROUTINE_TRIM · 4 tree | 2026-10-02 → 2026-10-17 | Очікує розподілу QDIP |
| AU-063 | ROUTINE_TRIM · 5 tree | 2026-11-02 → 2026-11-18 | Очікує розподілу QDIP |
| AU-064 | ROUTINE_TRIM · 6 tree | 2026-11-02 → 2026-11-19 | Очікує розподілу QDIP |
| AU-065 | HAZARD_TREE_REMOVAL · 2 tree | 2026-11-02 → 2026-11-20 | Очікує розподілу QDIP |
| AU-066 | ROUTINE_TRIM · 3 tree | 2026-11-02 → 2026-11-21 | Очікує розподілу QDIP |
| AU-067 | ROUTINE_TRIM · 4 tree | 2026-11-02 → 2026-11-22 | Очікує розподілу QDIP |
| AU-068 | EMERGENCY_CLEARANCE · 1 job | 2026-11-02 → 2026-11-23 | Очікує розподілу QDIP |
| AU-069 | ROUTINE_TRIM · 6 tree | 2026-11-02 → 2026-11-24 | Очікує розподілу QDIP |
| AU-070 | HAZARD_TREE_REMOVAL · 2 tree | 2026-11-02 → 2026-11-25 | Очікує розподілу QDIP |
| AU-071 | ROUTINE_TRIM · 3 tree | 2026-11-02 → 2026-11-26 | Очікує розподілу QDIP |
| AU-072 | ROUTINE_TRIM · 4 tree | 2026-11-02 → 2026-11-03 | Очікує розподілу QDIP |
| AU-073 | ROUTINE_TRIM · 5 tree | 2026-11-02 → 2026-11-04 | Очікує розподілу QDIP |
| AU-074 | ROUTINE_TRIM · 6 tree | 2026-11-02 → 2026-11-05 | Очікує розподілу QDIP |
| AU-075 | HAZARD_TREE_REMOVAL · 2 tree | 2026-11-02 → 2026-11-06 | Очікує розподілу QDIP |
| AU-076 | ROUTINE_TRIM · 3 tree | 2026-11-02 → 2026-11-07 | Очікує розподілу QDIP |
| AU-077 | ROUTINE_TRIM · 4 tree | 2026-11-02 → 2026-11-08 | Очікує розподілу QDIP |
| AU-078 | ROUTINE_TRIM · 5 tree | 2026-11-02 → 2026-11-09 | Очікує розподілу QDIP |
| AU-079 | ROUTINE_TRIM · 6 tree | 2026-11-02 → 2026-11-10 | Очікує розподілу QDIP |
| AU-080 | HAZARD_TREE_REMOVAL · 2 tree | 2026-11-02 → 2026-11-11 | Очікує розподілу QDIP |
| AU-081 | ROUTINE_TRIM · 3 tree | 2026-11-02 → 2026-11-12 | Очікує розподілу QDIP |
| AU-082 | ROUTINE_TRIM · 4 tree | 2026-11-02 → 2026-11-13 | Очікує розподілу QDIP |
| AU-083 | ROUTINE_TRIM · 5 tree | 2026-11-02 → 2026-11-14 | Очікує розподілу QDIP |
| AU-084 | ROUTINE_TRIM · 6 tree | 2026-11-02 → 2026-11-15 | Очікує розподілу QDIP |
| AU-085 | EMERGENCY_CLEARANCE · 1 job | 2026-11-02 → 2026-11-16 | Очікує розподілу QDIP |
| AU-086 | ROUTINE_TRIM · 3 tree | 2026-11-02 → 2026-11-17 | Очікує розподілу QDIP |
| AU-087 | ROUTINE_TRIM · 4 tree | 2026-11-02 → 2026-11-18 | Очікує розподілу QDIP |
| AU-088 | ROUTINE_TRIM · 5 tree | 2026-11-02 → 2026-11-19 | Очікує розподілу QDIP |
| AU-089 | ROUTINE_TRIM · 6 tree | 2026-11-02 → 2026-11-20 | Очікує розподілу QDIP |
| AU-090 | HAZARD_TREE_REMOVAL · 2 tree | 2026-11-02 → 2026-11-21 | Очікує розподілу QDIP |
| AU-091 | ROUTINE_TRIM · 3 tree | 2026-11-02 → 2026-11-22 | Очікує розподілу QDIP |
| AU-092 | ROUTINE_TRIM · 4 tree | 2026-11-02 → 2026-11-23 | Очікує розподілу QDIP |
| AU-093 | ROUTINE_TRIM · 5 tree | 2026-11-02 → 2026-11-24 | Очікує розподілу QDIP |
| AU-094 | ROUTINE_TRIM · 6 tree | 2026-11-02 → 2026-11-25 | Очікує розподілу QDIP |
| AU-095 | HAZARD_TREE_REMOVAL · 2 tree | 2026-11-02 → 2026-11-26 | Очікує розподілу QDIP |
| AU-096 | ROUTINE_TRIM · 3 tree | 2026-11-02 → 2026-11-03 | Очікує розподілу QDIP |
| AU-097 | ROUTINE_TRIM · 4 tree | 2026-11-02 → 2026-11-04 | Очікує розподілу QDIP |
| AU-098 | ROUTINE_TRIM · 5 tree | 2026-11-02 → 2026-11-05 | Очікує розподілу QDIP |
| AU-099 | ROUTINE_TRIM · 6 tree | 2026-11-02 → 2026-11-06 | Очікує розподілу QDIP |
| AU-100 | HAZARD_TREE_REMOVAL · 2 tree | 2026-11-02 → 2026-11-07 | Очікує розподілу QDIP |
