Skip to content

Map Location Policy

Define the permitted footprint and fixed operating costs for one planning period. Each row references a location already present in the scenario. Wire this node into Create Scenario alongside Map Locations, then run Network Optimization.

When to use this

  • A site must stay open or closed in the network design
  • The optimizer should decide whether an optional site is worth its fixed operating cost

What you need

One row per site, its mode, and an explicit nonnegative fixed operating cost. Use the scenario currency and the same planning period as demand and variable costs. Zero means free. The cost is required, so this node refuses a row that leaves it blank; Network Optimization also refuses a negative or non-finite cost.

Field mapping

Fields are matched by name unless you set them. When the workflow runs, every field you have not set a column for is matched against the headers listed below, case-insensitively and ignoring spaces around the header, and a space inside your header reads as an underscore, so Site Name matches site_name. Setting a column for one field fixes that field only; the others keep following your file's headers, so a renamed column is still found. A required field that no column supplies — no header matched, or you set none or one your table lacks — is reported once, with the headers your table does have.

Set mappings in the node's panel. Connect an upstream table and select the mapping node. A field matched by name is marked Matched by name; pick a column to set it yourself, and Match by name puts it back. Match all by name clears every field you set. Required fields without a match are marked in the panel.

Reshape rows in a Script first. A mapping node only says which column is which field. To drop rows, recode values, or split or combine columns, connect a Script node before it and map the columns the Script returns.

Field Type Required Example What it is Auto-detected headers
Location text Yes Warehouse A Site identifier, matching a location in this scenario. location, location_id
Mode text Yes consider Use exactly include, consider, or exclude (lowercase). include forces open, consider lets the optimizer decide, exclude forces closed. Network Optimization checks this choice when it runs; Create Scenario does not validate it. mode, location_mode
Fixed Operating Cost number Yes 100000.0 Nonnegative fixed operating cost for the scenario planning period in its currency. Paid once when open, even with zero activity. Enter zero explicitly for a free site. Must be greater than or equal to 0. fixed_operating_cost, fixed_cost

How it works

Mode Site status Fixed operating cost
include Must remain open, even if unused Paid once
consider Optimizer chooses open or closed Paid once when open
exclude Closed; no transport, sourcing, fulfillment or production Zero

An open site need not carry volume. Minimum throughput is a separate business constraint. One opening decision covers every product and activity at the site. A location without a policy keeps its availability and has no modeled fixed charge. Excluding a demand location does not delete its demand: full service may become infeasible; with partial service allowed the demand remains unserved.

Use avoidable operating costs. One-time investment, closure costs and changes between periods are outside this model. Per-unit fees belong on Map Handling Policy. The optimizer writes one location-state row per location-policy row, with the decision and incurred cost. Sites without a policy have no modeled site decision. Site fixed costs are reported separately and are not allocated by Cost to Serve.

For optional sites the optimizer derives activation bounds from the network's capacities and constraints. If activity is unbounded, add physical capacities on lanes, supply, production or throughput; the run names the site it cannot bound.

Workflow wiring

flowchart LR
    n1["Import Data (locations.csv)"] --> n2["Map Locations"]
    n3["Import Data (products.csv)"] --> n4["Map Products"]
    n5["Import Data (lanes.csv)"] --> n6["Map Lanes"]
    n7["Import Data (supply.csv)"] --> n8["Map Supply Policy"]
    n9["Import Data (demand.csv)"] --> n10["Map Demand Policy"]
    n11["Import Data (sites.csv)"] --> n12["Map Location Policy"]
    n2 & n4 & n6 & n8 & n10 & n12 --> n13["Create Scenario"]
    n13 --> n14["Network Optimization"]
    n14 --> n15["Create Scenario (optimized)"]

Common mistakes

  • Using Include for Mode. Change it to include in the mapped data; see the Mode row above for the accepted choices.
  • Treating successful scenario creation as a valid Mode check. See the Mode row above for when this choice is checked.

Messages this node can show

The table this node makes is checked again with the rest of the scenario when Create Scenario assembles it: see messages about the scenario.

A run gives this node 5 minutes. A node that takes longer stops with Time limit reached.

Like every node, it can also stop on the checks before a run and the run's limits.