aps-agent/shared/schemas/scheduling_problem.schema.json

61 lines
2.2 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "aps://shared/scheduling_problem",
"title": "SchedulingProblem",
"description": "中性排产问题 DTO:外部算法 skill 入参,不含内部 flex*/world 表结构。",
"type": "object",
"required": ["problemId", "startTime", "orders", "routings", "resources"],
"properties": {
"schemaVersion": { "type": "string", "default": "1.1", "description": "契约版本(M-D 契约版本化)" },
"problemId": { "type": "string" },
"track": { "type": "string", "enum": ["flex", "fixed"], "default": "flex" },
"startTime": { "type": "string", "description": "排产起点 YYYY-MM-DD HH:MM" },
"horizonHours": { "type": "number", "default": 168 },
"orders": {
"type": "array",
"items": {
"type": "object",
"required": ["orderId", "productCode"],
"properties": {
"orderId": { "type": "string" },
"productCode": { "type": "string" },
"quantity": { "type": "number", "default": 1 },
"dueDate": { "type": ["string", "null"] },
"priority": { "type": "integer", "default": 5 }
}
}
},
"routings": {
"type": "array",
"items": {
"type": "object",
"required": ["productCode", "seq", "operationCode"],
"properties": {
"productCode": { "type": "string" },
"seq": { "type": "integer" },
"operationCode": { "type": "string" },
"operationName": { "type": "string" },
"stdTimePerUnit": { "type": "number", "default": 1 },
"requireMold": { "type": "boolean", "default": false }
}
}
},
"resources": {
"type": "array",
"items": {
"type": "object",
"required": ["code"],
"properties": {
"code": { "type": "string" },
"name": { "type": "string" },
"capabilities": { "type": "array", "items": { "type": "string" } },
"zone": { "type": ["string", "null"] }
}
}
},
"objectives": { "type": "object", "additionalProperties": { "type": "number" } },
"constraints": { "type": "object", "additionalProperties": { "type": "boolean" } },
"meta": { "type": "object" }
}
}