Skip to content

Soft security context model ​

1. Overview ​

Manages soft safety constraints including empty loading division, main deck door empty preference, and ballast weight advice — constraints that improve safety but can be relaxed if needed.

1. Dependent Contexts ​

  1. Aircraft
  2. Stowage

2. Concepts / Entities ​

1. Divide Empty Loading ​

Ensures empty positions are divided rather than clustered for structural safety.

positions : Position list.

load : Load data.


3. Variables ​

1. Decision Variables ​

This context reuses decision variables from the stowage context and does not define independent decision variables.

2. Auxiliary Variables ​

This context does not define independent auxiliary variables.


4. Predicates ​

The business-level relation distributedEmptyPositions(J) names the divide-empty preference. In the Demo2 pipeline, that preference is realized by three source intermediate expressions and three separate soft objective inputs over adjacent position pairs; the relation itself is not a registered solver constraint.


5. Sets ​

This context does not own independent sets. It uses I for cargo items, J for stowage positions, A⊆J×J for adjacent position pairs, JemptyHated⊆J for positions marked EmptyHated, and Jbeside⊆J for positions beside a main-deck door.


6. Intermediate Values ​

The source DivideEmptyLoading model registers three index-aligned intermediate expressions for each (j,k)∈A:

  1. emptyBetweenCargo[p], written ejkbc, describes non-empty cargo at the first position against total cargo at the second.
  2. emptyCargoBetweenCargo[p], written ejkcb, describes empty cargo at the first position against non-empty cargo at the second.
  3. emptyBetweenEmptyCargo[p], written ejkbb, describes empty cargo at the first position against total cargo at the second.

For positions whose load is decided dynamically, the source IfFunction branches are represented by:

ejkbc=If(Ljnonempty−(Lkall+1)+τ),ejkcb=If(Ljempty+Lknonempty−2+τ),ejkbb=If(Ljempty−(Lkall+1)+τ).

Here τ denotes the nonzero comparison offset used by the source IfFunction. Fixed-range branches in the source can instead collapse an expression to zero, a load amount, or another constant; these intermediates are model expressions, not additional solver constraints.


7. Assertions ​

This context does not define independent assertions.


8. Constraints ​

This section names the context's soft limits. In the Demo2 pipeline, the four entries below contribute objective terms; they are not s.t. rows. The displayed expressions use source-layer symbols and do not assert a new aggregate objective.

1. Empty Hated Limit ​

[CN]: 空载厌恶限制

Description: The pipeline registers a soft objective term for positions marked EmptyHated; its exact source-aligned expression, including the position coefficient and full-load expression, is given in Section 9.

2. Main Deck Door Empty Limit ​

[CN]: 主甲板舱门空载限制

Description: The pipeline minimizes stowage assignments beside main-deck doors (B757/B767), rather than imposing an empty_j = 1 row; the exact source-aligned expression is given in Section 9.

3. Divide Empty Loading Limit ​

[CN]: 空载分离限制

Description: The pipeline registers three separate soft objective inputs over adjacent pairs. distributedEmptyPositions(J) is only the business-level name for this preference, not an s.t. constraint; the three source-aligned expressions are given in Section 9.

4. Advice Ballast Weight Limit ​

[CN]: 建议压舱物重量限制

Description: The pipeline adds a one-sided threshold-slack objective only when an advice value exists; the negative-deviation semantics and exact source-aligned expression are given in Section 9, with no hard lower-bound s.t. row asserted here.


9. Objective Function (if applicable) ​

The context contributes the following separate soft objective inputs. Their activation and any higher-level aggregation belong to the selected mode pipeline; this page does not invent a single generic penalty-sum expression, and none of these entries is a hard s.t. row.

1. Empty Hated ​

min∑j∈JemptyHatedcj(1−loadjfull)

Here cj is the position coefficient and loadjfull is the source full-load expression.

2. Main Deck Door Empty ​

min∑i∈I∑j∈Jbesidecistowageij

Here Jbeside is the set of positions whose door ubiety is Beside.

3. Divide Empty Loading ​

min∑(j,k)∈Acjkbcejkbc,min∑(j,k)∈Acjkcbejkcb,min∑(j,k)∈Acjkbbejkbb.

These are three separate source objective inputs, with the coefficient and intermediate families defined in Section 6.

4. Advice Ballast Weight ​

mincballastsballast−,sballast−≥0

The term is added only when an advice value exists; sballast− is the one-sided slack for falling below the advice threshold.


10. Algorithm References ​

This context does not define an independent algorithm reference.


11. Ubiquitous Language ​

TermSymbolDefinition
Divide Empty LoadingDivideEmptyLoadingDistributed empty positions
Empty HatedEmptyHatedSoft penalty for empty positions
Main Deck Door EmptyMainDeckDoorEmptySoft penalty for stowage beside main-deck doors
Advice Ballast WeightAdviceBallastWeightAdvisory ballast weight value

12. Design Decisions ​

DecisionAlternativesRationale
Constraint typeHard vs SoftSoft constraints allow relaxation when needed

13. Change Log ​

No context-specific change entries are recorded on this page.