Material context model
1. Overview
The material context supplies product demand, material dimensions, and cutting-plan data. Produce consumes these data and owns master plan-usage variables. This page does not declare a separate product-production variable family.
1. Dependent Contexts
Input adapters and configuration supply products, materials, and cutting rules. Cutting-plan generation constructs feasible plans from them.
2. Concepts / Entities
1. Products
2. Materials
3. Cutting Plans
3. Variables
1. Decision Variables
The material data contract documented here declares no master decision variables. Plan usage
2. Auxiliary Variables
Piece counts and remaining width are known data when a plan becomes a master column, not independent auxiliary master variables. Pricing may search these values while generating the plan.
4. Predicates
5. Sets
6. Intermediate Values
1. Used Width per Plan
Description: Used width depends on piece counts within one plan, not total product output from the whole master.
2. Remaining Width per Plan
Description: For the count-based example, remaining width is usable material width minus the plan's used width.
If processing introduces additional losses or a different width convention, use coefficients computed for that configuration rather than blindly applying this no-extra-loss formula.
3. Demand Contribution
Description: This example satisfies demand by piece count. Other demand units, such as length or weight, require conversion.
7. Assertions
Valid inputs have positive widths and nonnegative demand. Plan piece counts are nonnegative integers:
Under the no-extra-loss convention in Section 6, feasible plans satisfy:
8. Constraints
1. Material Width Feasibility [材料宽度可行性]
Description: A candidate plan must fit its material. Configured generation rules additionally check knife counts, lengths, and other processing restrictions.
This is a single-plan data and generation-feasibility condition, not an additional master row owned here. Produce registers
9. Objective Function (if applicable)
The material data contract has no independent master objective. It supplies demand-contribution, material-usage, and remaining-width coefficients for produce and optional loss-objective pipelines.
10. Algorithm References
| Algorithm | Referenced In | Description |
|---|---|---|
| Cutting-plan generation | Sections 4, 5, 8 | Searches plans satisfying material and processing rules |
| Demand-contribution conversion | Sections 2, 6 | Converts count, length, or weight into the demand unit |
| Plan-property calculation | Section 6 | Computes used and remaining width |
Kotlin material-context source; Kotlin/Rust example entry points.
11. Ubiquitous Language
| Term | Symbol | Definition |
|---|---|---|
| Product width | Transverse cutting dimension | |
| Demand | Product requirement in the selected demand unit | |
| Plan piece count | Pieces of a product in one use of a plan | |
| Demand contribution | Contribution of one plan use to product demand | |
| Remaining width | Unused width in one plan |
12. Design Decisions
| Decision | Alternative | Rationale |
|---|---|---|
| Separate plan coefficients from usage variables | Put global production into plan properties | Keeps coefficients independent of the master solution |
| State demand units explicitly | Always treat contribution as piece count | Length and weight configurations require conversion |
| Assign demand rows to produce | Build another production model in material | Gives variables and constraints a single owner |
13. Change Log
| Version | Change | Reason |
|---|---|---|
| 1.1 | Aligned bilingual material contracts and plan coefficients | Removed incorrect cross-product demand sums and mixed variables |