Skip to content

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 ​

wp: Cut width of product p, in a common length unit.

dp: Product demand. Demo3's count-based demand uses roll-count semantics. Length or unit-weight configurations require the corresponding demand-contribution conversion.

2. Materials ​

Lm: Usable cutting width of material m. The full framework can include dimension ranges and processing properties; generation selects applicable values.

3. Cutting Plans ​

m(j): Material used by plan j.

npj: Nonnegative integer number of pieces of product p in plan j.

apj: Plan j's contribution to product p's demand. For this example's count-based products without length or unit weight, apj=npj.

3. Variables ​

1. Decision Variables ​

The material data contract documented here declares no master decision variables. Plan usage xj belongs to produce; product yield qp is derived from xj.

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 ​

uses(j,m): Plan j uses material m.

contains(j,p): Plan j contains product p.

feasible(j): Plan j satisfies material dimensions and configured processing rules.

dynamic(p): Product p has a length rule requiring separate treatment.

5. Sets ​

P: Products; M: materials.

J: Candidate plans satisfying material and processing rules; Jt⊆J: plans inserted before master solve t.

Pj={p∈P:npj>0}: Products included in plan j.

Pdynamic: Products with optional length rules.

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.

Wj=∑p∈Pwpnpj,j∈J.

2. Remaining Width per Plan ​

Description: For the count-based example, remaining width is usable material width minus the plan's used width.

rj=Lm(j)−Wj,j∈J.

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.

apj=npj,p∈P, j∈J(this example’s count configuration).

7. Assertions ​

Valid inputs have positive widths and nonnegative demand. Plan piece counts are nonnegative integers:

∀p∈P:wp>0∧dp≥0,∀p∈P, j∈J:npj∈Z≥0.

Under the no-extra-loss convention in Section 6, feasible plans satisfy:

∀j:feasible(j)⇒rj≥0.

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.

∑p∈Pwpnpj≤Lm(j),j∈J.

This is a single-plan data and generation-feasibility condition, not an additional master row owned here. Produce registers qp≥dp separately for each product. This page neither aggregates unrelated product demands nor invents stock limits from the material context's name.

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 ​

AlgorithmReferenced InDescription
Cutting-plan generationSections 4, 5, 8Searches plans satisfying material and processing rules
Demand-contribution conversionSections 2, 6Converts count, length, or weight into the demand unit
Plan-property calculationSection 6Computes used and remaining width

Kotlin material-context source; Kotlin/Rust example entry points.

11. Ubiquitous Language ​

TermSymbolDefinition
Product widthwpTransverse cutting dimension
DemanddpProduct requirement in the selected demand unit
Plan piece countnpjPieces of a product in one use of a plan
Demand contributionapjContribution of one plan use to product demand
Remaining widthrjUnused width in one plan

12. Design Decisions ​

DecisionAlternativeRationale
Separate plan coefficients from usage variablesPut global production into plan propertiesKeeps coefficients independent of the master solution
State demand units explicitlyAlways treat contribution as piece countLength and weight configurations require conversion
Assign demand rows to produceBuild another production model in materialGives variables and constraints a single owner

13. Change Log ​

VersionChangeReason
1.1Aligned bilingual material contracts and plan coefficientsRemoved incorrect cross-product demand sums and mixed variables