Repository navigation
Interface Configurations
Before choosing a pattern, establish the planning time granularity, distinguish global changes from resource-specific changes, and decide whether aggregate quantities or exact timing must be controlled. The patterns can be combined. Tables below show only relevant fields; complete records follow the field reference.
For illustration, divide a day into 24 hourly units, each with scale=3600. The table groups adjacent hours for readability; actual data has one record per hour.
| Arrangement | Example normal operating periods | Remaining periods |
|---|---|---|
| One eight-hour shift | 08:00–12:00 and 13:00–17:00 | Use status=0 for a global shutdown |
| Two eight-hour shifts | 00:00–08:00 and 08:00–16:00 | Closed from 16:00–24:00 |
| Continuous production | 00:00–24:00 | Record equipment-specific downtime separately |
| Weekday production | Apply the selected shifts Monday through Friday | Weekends are closed or explicitly optional |
These hours are illustrative. Map actual breaks, handovers, overnight shifts and weekly calendars. If machine A works one shift and B works two, the shared time axis should cover both. Record A's local closure through its capacity.used, rather than shutting down the global calendar.
status=-1 can express overtime awaiting a decision. Before a run that requires a fixed calendar, confirm the optional periods being used and retain the reason.
For two hours of maintenance within an aggregated eight-hour period:
| Table | Relevant values |
|---|---|
time_unit |
id=1, offset=0, scale=28800, status=1 |
capacity |
workcenter=11, time_unit=1, used=0.25 |
Six hours remain. Three hours of maintenance changes used to 0.375 and leaves five hours. If an existing two-hour task overlaps two-hour maintenance by one hour, total unavailability is three hours, not four.
To prohibit processing specifically from 10:00–12:00, mark those resource-hour records fully unavailable, or use a scheduling configuration with explicit downtime windows. An aggregate 25% loss does not reveal whether downtime occurs at the start, middle or end of a shift.
An operation can have two process_adaptor records pointing to machines 11 and 13. Output per cycle, duration, batch size and priority may differ. Preserve the alternatives in the data and let the selected capability's resource-choice policy process them.
If the machines share one tool, represent the tool as work center 20:
| shared_resource.binding | shared_resource.to |
|---|---|
| 20 | 11 |
| 20 | 13 |
Record its availability separately as capacity(workcenter=20, time_unit=1, used=0.5). Two machines each available for eight hours do not create sixteen simultaneous hours of tool availability. Whether the tool is held continuously and how much each piece occupies it must match the selected capability configuration.
A mold produces two A pieces, two B pieces and one C piece per cycle. The corresponding adaptor records share a joint-processing group. Ten cycles produce 20, 20 and 10 pieces.
Against demand of 18, 20 and 12, the differences are two surplus A pieces, no B difference and two missing C pieces. Running two more cycles depends on the trade-off between extra A/B inventory and C shortage. Count a shared cycle once when calculating resource occupancy; apply the declared material-consumption basis without duplicating shared processing time.
Suppose the source reports cumulative availability of 80 and 120 pieces, while the input chain sums period increments:
| Period | Source cumulative quantity | Readiness increment written | Cumulative quantity used |
|---|---|---|---|
| 1 | 80 | 80 | 80 |
| 2 | 120 | 40 | 120 |
Writing 80 and 120 and then summing them incorrectly creates 200 available pieces. If the second record is remaining stock instead, account for consumption, commitments and holds before conversion. Subtracting two stock snapshots is insufficient.
For a material hold or cancelled delivery, rebuild the future availability curve and apply the agreed handling of reductions. This course's nonnegative-increment example does not accept unexplained negative records.
Opening stock is 20 pieces, the stock range is 20–100, and issues are 80 followed by 40:
| Checkpoint | Cumulative issues | Cumulative production minimum | Cumulative production maximum |
|---|---|---|---|
| End of period 1 | 80 | 80 | 160 |
| End of period 2 | 120 | 120 | 200 |
Write each pair as the product's bounds at that point. They are cumulative checkpoints: adding 80 and 120 does not give the second-period minimum. Issues occurring before production receipts may require finer time representation.
A process consumes 0.2 liters of coating per piece, but the current ingredient.number field is integer-valued. Use milliliters consistently: write 200 per piece, and convert supply, inventory and result descriptions to the same unit. Forty liters becomes 40,000 milliliters, enough for 200 pieces.
Record the source unit, target unit, conversion factor and rounding policy. Do not rely on SQLite's permissive storage to preserve decimals in integer columns throughout loading and solving.
Document the business condition, interface records, expected calculation, model adoption and result check. Verify a small example by hand before scaling the dataset. The worked example provides structure checks and an actual data-layer loading procedure.
Product Home | DecisioWorks v1.4.0 | English / 中文
- What Is DecisioWorks / DecisioWorks 是什么
- Scenarios and Pain Points / 适用场景与痛点
- Quick Start / 快速开始
- Documentation Map / 文档地图
- Research and Commercial Editions / 研究版与商业版
- Whitepapers / 白皮书
-
Learning Center / 学习中心: 8 topics / 8 个专题
- Design Principles and Differentiation / 设计原则与差异化
- Architecture Overview / 总体架构
- Component Responsibilities / 组件职责
- Standard Actions and Orchestration / 标准动作与能力编排
- Objectives and Rule Control / 目标与规则控制
- Controlled Solving and Engine Adapters / 受控求解与模型适配
- Results, Evidence, and Feedback / 结果、证据与反馈
- Developer Guide Index / 开发手册索引
- Data Objects and Fields / 数据对象与字段
- Actions, Recipes, and Execution / 动作、配方与执行
- Runtime Status, Errors, and Limits / 运行状态、错误与限制