Multiple Compartments (Transportation Optimization)

The Multiple Compartments (MC) feature allows a single transportation asset (e.g., truck, trailer) to be divided into independent compartments, each with its own capacity and compatibility constraints. This enables Hopper to produce more accurate, feasible, and operationally realistic transportation plans.

📝 Note: This article covers an advanced Hopper feature. If you are new to Hopper, review the Getting Started with Hopper guide first.

Quick Start

Get up and running in 4 steps:

  1. Define compartments - in the Compartment Configurations table, add one row per compartment. Give all rows of one configuration the same Compartment Configuration Name.
  2. Link to asset - in the Transportation Assets table, set the Compartment Configuration Name field to your configuration name.
  3. Run Hopper - Hopper now automatically enforces per-compartment capacity and compatibility rules.
  4. Review output - check the Compartment Name column in the Transportation Optimization Shipment Summary output to see which compartment each shipment is assigned to.
⚠️ Important

Every asset that omits the Compartment Configuration Name field is still modeled as a single undivided pool. Only assets with a linked configuration are switched to compartment-level validation.

When to Use Multiple Compartments

Use this feature when one or more of your transportation assets have physically separate sections that must be loaded independently. Common examples:

  • Tankers with separate liquid chambers (e.g., different fuel grades)
  • Multi-temperature trucks with frozen, chilled, and ambient zones
  • Segmented trailers where sections have different weight or volume limits

Without Multiple Compartments, Hopper checks only that the total shipment fits the total asset capacity. This can produce plans that look valid in the optimizer but cannot be executed operationally because individual compartments are overloaded or contain incompatible products.

Diagram comparing Hopper capability before and after adding the Multiple Compartments feature

How to configure Multiple Compartments

Three changes have been made to Hopper's data model: one new input table, one new field on an existing input table, and one new field on an existing output table.

Input: Compartment Configurations Table (new)

This table defines the structure and rules of the compartments that make up each configuration. Add one row per compartment; rows with the same Compartment Configuration Name form a single configuration.

Compartment Configurations table with a two-compartment "MultiTemp" example
💡 Tip

When multiple capacity fields (Quantity, Volume, Weight) are populated, Hopper enforces all of them simultaneously. A shipment is only assigned to a compartment if it fits within every constraint.
📝 Note

Allowed Product Name accepts four value types: (1) blank — any product allowed; (2) a single product name — only that product; (3) a group name — only members of that group; (4) a named filter — only products matching the filter criteria.

Input Field: Compartment Configuration Name Field (Transportation Assets Table)

A new Compartment Configuration Name field has been added to the Transportation Assets table. Populate it with the name of a configuration defined in the Compartment Configurations table to enable compartment-level modeling for that asset.

Transportation Assets table showing one asset linked to the "MultiTemp" configuration

Effect on Hopper's solver:

  • Without a value (blank): Hopper uses single-capacity validation (total shipment <= total asset capacity).
  • With a value: Hopper switches to compartment-level assignment and validates each compartment's constraints individually.
💡 Tip

To compare single-compartment vs. multi-compartment results for the same asset, use one of these approaches:

1) Scenario items approach: add 1 record for the asset in the Transportation Assets table and set its Configuration Name to the multi-compartment configuration to be used. Then setup a scenario for the single-compartment run with an item that blanks the Configuration Name field (action: configurationname = '').

2) Dual-asset approach: add two records for the same physical asset under different names in the Transportation Assets table — one with the configuration name populated, one with it blank. Change the value of the Status field (Include/Exclude) to activate one at a time via scenario items.

Output: Compartment Name Field (Transportation Shipment Summary Table)

The Transportation Optimization Shipment Summary output table now includes a Compartment Name column. For any shipment transported on a multi-compartment asset, this column shows which compartment it was assigned to.

📝 Note

Compartment Name is blank for shipments on assets that do not use a compartment configuration (i.e., single-compartment assets).

This field enables:

  • Operational validation - confirm physical loading assignments before execution
  • Warehouse and loading-dock planning - sequence picking by compartment
  • Compliance checks - verify product segregation rules are respected
Transportation Shipment Summary table showing the populated Compartment Name field

Example: Single Compartment vs. Multiple Compartments

The following example runs two scenarios with the same "MK Artic Multi Temp" asset to illustrate the difference:

  • Scenario A - Single Compartment: The asset has one pool with a maximum of 80 units total.
  • Scenario B - Two Compartments (MultiTemp): The same asset uses the MultiTemp configuration - two compartments of 40 units each, one restricted to AMBIENT product and one to CHILLED product.

Both scenarios have other single-compartment assets available. In each scenario, the MK Artic Multi Temp asset is used for one route. The charts below show how much of each product is on board at each stop along that route (stops are ordered by route sequence on the x-axis; the asset is loaded at Milton Keynes and Chelmsford depots and delivers to the CZ locations).

Scenario A (single compartment, 80 units total): CHILLED exceeds 40 units on two segments, but total never exceeds 80 units
Scenario B (two compartments, 40 units each): neither product exceeds its 40-unit compartment limit at any point

Key observations:

  • Scenario A allows CHILLED to exceed 40 units on two segments - this would be physically impossible if those zones are separate compartments, meaning the plan cannot be executed as generated.
  • Scenario B respects both compartment limits throughout the entire route.
  • Scenario A delivers more product (150 vs. 109 units) to more customers (14 vs. 11) on this route - but only because it is ignoring real physical constraints.
⚠️ Important

Higher throughput in Scenario A is not a benefit — it reflects an infeasible plan. Scenario B costs more and delivers less on this route because it models reality accurately. The higher cost is expected and correct.

Summary

Multiple Compartments moves Hopper from aggregate capacity modeling to granular compartment-level modeling. This means:

  • Each shipment is assigned to a specific compartment, not just a total pool
  • Capacity, weight, volume, and product-compatibility rules are enforced per compartment
  • Output plans reflect operational reality and can be executed without manual adjustment

Questions? Contact the Optilogic support team at support@optilogic.com.

The Multiple Compartments (MC) feature allows a single transportation asset (e.g., truck, trailer) to be divided into independent compartments, each with its own capacity and compatibility constraints. This enables Hopper to produce more accurate, feasible, and operationally realistic transportation plans.

📝 Note: This article covers an advanced Hopper feature. If you are new to Hopper, review the Getting Started with Hopper guide first.

Quick Start

Get up and running in 4 steps:

  1. Define compartments - in the Compartment Configurations table, add one row per compartment. Give all rows of one configuration the same Compartment Configuration Name.
  2. Link to asset - in the Transportation Assets table, set the Compartment Configuration Name field to your configuration name.
  3. Run Hopper - Hopper now automatically enforces per-compartment capacity and compatibility rules.
  4. Review output - check the Compartment Name column in the Transportation Optimization Shipment Summary output to see which compartment each shipment is assigned to.
⚠️ Important

Every asset that omits the Compartment Configuration Name field is still modeled as a single undivided pool. Only assets with a linked configuration are switched to compartment-level validation.

When to Use Multiple Compartments

Use this feature when one or more of your transportation assets have physically separate sections that must be loaded independently. Common examples:

  • Tankers with separate liquid chambers (e.g., different fuel grades)
  • Multi-temperature trucks with frozen, chilled, and ambient zones
  • Segmented trailers where sections have different weight or volume limits

Without Multiple Compartments, Hopper checks only that the total shipment fits the total asset capacity. This can produce plans that look valid in the optimizer but cannot be executed operationally because individual compartments are overloaded or contain incompatible products.

Diagram comparing Hopper capability before and after adding the Multiple Compartments feature

How to configure Multiple Compartments

Three changes have been made to Hopper's data model: one new input table, one new field on an existing input table, and one new field on an existing output table.

Input: Compartment Configurations Table (new)

This table defines the structure and rules of the compartments that make up each configuration. Add one row per compartment; rows with the same Compartment Configuration Name form a single configuration.

Compartment Configurations table with a two-compartment "MultiTemp" example
💡 Tip

When multiple capacity fields (Quantity, Volume, Weight) are populated, Hopper enforces all of them simultaneously. A shipment is only assigned to a compartment if it fits within every constraint.
📝 Note

Allowed Product Name accepts four value types: (1) blank — any product allowed; (2) a single product name — only that product; (3) a group name — only members of that group; (4) a named filter — only products matching the filter criteria.

Input Field: Compartment Configuration Name Field (Transportation Assets Table)

A new Compartment Configuration Name field has been added to the Transportation Assets table. Populate it with the name of a configuration defined in the Compartment Configurations table to enable compartment-level modeling for that asset.

Transportation Assets table showing one asset linked to the "MultiTemp" configuration

Effect on Hopper's solver:

  • Without a value (blank): Hopper uses single-capacity validation (total shipment <= total asset capacity).
  • With a value: Hopper switches to compartment-level assignment and validates each compartment's constraints individually.
💡 Tip

To compare single-compartment vs. multi-compartment results for the same asset, use one of these approaches:

1) Scenario items approach: add 1 record for the asset in the Transportation Assets table and set its Configuration Name to the multi-compartment configuration to be used. Then setup a scenario for the single-compartment run with an item that blanks the Configuration Name field (action: configurationname = '').

2) Dual-asset approach: add two records for the same physical asset under different names in the Transportation Assets table — one with the configuration name populated, one with it blank. Change the value of the Status field (Include/Exclude) to activate one at a time via scenario items.

Output: Compartment Name Field (Transportation Shipment Summary Table)

The Transportation Optimization Shipment Summary output table now includes a Compartment Name column. For any shipment transported on a multi-compartment asset, this column shows which compartment it was assigned to.

📝 Note

Compartment Name is blank for shipments on assets that do not use a compartment configuration (i.e., single-compartment assets).

This field enables:

  • Operational validation - confirm physical loading assignments before execution
  • Warehouse and loading-dock planning - sequence picking by compartment
  • Compliance checks - verify product segregation rules are respected
Transportation Shipment Summary table showing the populated Compartment Name field

Example: Single Compartment vs. Multiple Compartments

The following example runs two scenarios with the same "MK Artic Multi Temp" asset to illustrate the difference:

  • Scenario A - Single Compartment: The asset has one pool with a maximum of 80 units total.
  • Scenario B - Two Compartments (MultiTemp): The same asset uses the MultiTemp configuration - two compartments of 40 units each, one restricted to AMBIENT product and one to CHILLED product.

Both scenarios have other single-compartment assets available. In each scenario, the MK Artic Multi Temp asset is used for one route. The charts below show how much of each product is on board at each stop along that route (stops are ordered by route sequence on the x-axis; the asset is loaded at Milton Keynes and Chelmsford depots and delivers to the CZ locations).

Scenario A (single compartment, 80 units total): CHILLED exceeds 40 units on two segments, but total never exceeds 80 units
Scenario B (two compartments, 40 units each): neither product exceeds its 40-unit compartment limit at any point

Key observations:

  • Scenario A allows CHILLED to exceed 40 units on two segments - this would be physically impossible if those zones are separate compartments, meaning the plan cannot be executed as generated.
  • Scenario B respects both compartment limits throughout the entire route.
  • Scenario A delivers more product (150 vs. 109 units) to more customers (14 vs. 11) on this route - but only because it is ignoring real physical constraints.
⚠️ Important

Higher throughput in Scenario A is not a benefit — it reflects an infeasible plan. Scenario B costs more and delivers less on this route because it models reality accurately. The higher cost is expected and correct.

Summary

Multiple Compartments moves Hopper from aggregate capacity modeling to granular compartment-level modeling. This means:

  • Each shipment is assigned to a specific compartment, not just a total pool
  • Capacity, weight, volume, and product-compatibility rules are enforced per compartment
  • Output plans reflect operational reality and can be executed without manual adjustment

Questions? Contact the Optilogic support team at support@optilogic.com.

Have More Questions?

Contact Support

Get in touch

Contact Sales

Get in touch

Visit Frogger Pond Community

Visit our Community