Shipment Node for Refinery Shipment Planning

       Shipment planning node is a Petroleum Refining Library for AnyLogic component for simulating production planning in refinery digital twins. Shipment planning node executes refinery shipment plans and monitors shipment plan execution.

       Throughout a refinery, there are designated points where the quantity of transferred product must be measured against a production plan. These points are most commonly located at finished product dispatch, but they can also be used for intermediate product transfers, blending operations, pipeline deliveries, or any other planned material transfer. Shipment planning node represents these accounting points in a refinery digital twin. It continuously measures the transferred quantity, compares it with the active shipment plan, and records plan execution. Shipment plans can be loaded automatically from a planning database or entered manually for standalone simulation scenarios.

       Unlike storage tanks and loading racks Shipment planning node does not model physical operations. Instead, it executes production plans by shipment plan monitoring transferred material, applying configurable completion rules, and recording plan fulfillment.
Shipment planning node bridges refinery planning systems and physical process simulation

Key Features

       Production Plan Execution – executes daily and monthly shipment plans by continuously comparing the transferred product quantity with the planned target.
       Database-Driven Planning – automatically loads shipment plans from external databases or accepts plans defined directly within the simulation model.
       Single-Product Accounting – each Shipment planning node is dedicated to a single product, providing accurate transfer accounting and plan execution.
       Flexible Execution Strategies – supports multiple shipment algorithms, including immediate transfer, uniform distribution, and daily scheduled execution.
       Working Calendar Support – restricts material transfers to configurable operating days and shipment scheduling.
       Configurable Completion Policies – stops material transfer when the plan is completed or allows controlled overfulfillment when required.
       Automatic Plan Monitoring – continuously tracks execution progress and records shipment statistics throughout the planning period.
       Digital Twin Integration – connects refinery planning systems with material flow simulation for realistic production planning and operational analysis.

Shipment Plan Configuration

       Shipment planning node supports two methods for defining shipment plans, selected by the useUserDefinedPumpingPlan (Label: Use user-defined pumping plan) parameter. When enabled, the shipment quantity is entered manually using the userDefinedPumpingPlan (Label: Pumping plan (t)) parameter. This mode is intended for standalone simulation models.
When disabled, shipment plans are loaded automatically from the project database. Each record specifies the product, planning period, planned quantity, and additional configuration parameters.

Shipment Execution Strategy

       The shipmentScheduleType (Label: Shipment algorithm) parameter defines how Shipment planning node executes the shipment plan.

Working Hours Restriction

       The restrictShipmentToWorkHours (Label: Shipment only in working hours) parameter determines whether shipments are limited to the configured working schedule. When enabled, shipments are performed only during working hours configured in the built-in Constants class (SHIPMENT_START_HOUR and SHIPMENT_END_HOUR) and are automatically suspended on weekends and holidays.

Built-in Constants

       Shipment planning node uses several constants from the built-in Constants class to control shipment scheduling. These values apply to all Shipment Nodes in the simulation model and can be adjusted to match refinery operating practices.
       Assume the following configuration:
self.constants = self.new Constants()
    .builder()
    .SAFETY_DAYS(1)
    .SHIPMENT_START_HOUR(8)
    .SHIPMENT_END_HOUR(20)
    .build();
       With this configuration the Monthly (Evenly with Reserve) algorithm reserves the last day of the month as a safety buffer to compensate for possible shipment delays. When Restrict Shipment to Work Hours is enabled, shipments are allowed only between 08:00 and 20:00 on working days. Shipment execution is automatically suspended outside these hours and on weekends and holidays.

Integration with AnyLogic simulation and other Petroleum Refining Library components

       Shipment planning node integrates with other Petroleum Refining Library components to connect production planning with refinery process simulation. It receives shipment requirements used by accumulative tank farm to maintain the inventory necessary for production plan execution, accounts for products dispatched through Loading Rack. This architecture enables end-to-end simulation of product movement from storage to final shipment while keeping production planning independent of the physical process model.

Typical Applications

Shipment planning node can be used at any location where material transfers must be executed according to a production plan rather than physical process constraints.
Typical applications include:
  • Finished Product Shipments – Monitoring daily and monthly shipment plans for refinery products.
  • Intermediate Product Transfers – Tracking planned material movements between process units.
  • Production Plan Monitoring – Comparing planned and actual transferred quantities throughout the simulation.
Because Shipment planning node is independent of the physical process, the same component can be used anywhere a planned product transfer must be measured and controlled.

Example Model: ShipmentNode Simulation in AnyLogic

FAQ

1 Can one Shipment Node manage multiple products?
No. Each Shipment planning node is permanently associated with a single product and executes shipment plans only for that product. Separate Shipment Nodes should be used for different products.

2 Does Shipment Node regulate flow rate?
No. Shipment planning node does not control the transfer rate. It monitors the transferred quantity and executes the configured shipment plan while the flow rate is determined by the surrounding process model.

3 Is Shipment Node the same as a Loading Rack?
No. Loading Rack simulates physical loading operations such as railcars, trucks, or marine terminals. Shipment planning node executes shipment planning and records material transfers without modeling loading logistics.

4 Can shipment plans be loaded from external systems?
Yes. Shipment plans can be loaded automatically from a planning database or defined manually within the simulation model.

5 What happens when a shipment plan is completed?
Depending on the configured completion policy, Shipment planning node either stops further transfer or continues operation when plan overfulfillment is allowed.

6 Why does each Shipment Node handle only one product?
Shipment plans are product-specific. Each Shipment planning node is permanently associated with a single product and retrieves plans only for that product. If multiple products share the same pipeline, the flow should be separated before entering individual Shipment Nodes.