Using Network Optimizer to solve Optimization Problems

Not available in Factory Lite license.

The Network Optimizer balances a workload distributed over a network.

A typical example is distributing stock in a logistics problems such as an inventory assignment.

The output of the task is:

  • the amount of material moved.

  • the amount of material remaining in the source location.

  • the amount of material now in the target location.


Prerequisites

  • you must have created a flow;

  • the required datasets must have been imported into the flow;

  • the data must have been well prepared;

  • a single unified dataset must have been created by merging all the imported datasets;

  • the input file must have the following structure:

    • one or more columns which define the source, which will be used as Variables for source nodes.

    • one or more columns which define the destination, which will be used as Variables for destination nodes.

    • one column which defines the initial available quantity of the source, which will be used as the Variable for source quantities.

    • one column which defines the quantity required by the destination, which will be used as the Variable for destination quantities. It is expressed as a negative value, as it represents the missing quantity.

Additional tab:

  • Results tabs, where you can see the output of the task computation. For an explanation on the results provided, see the example below.


Procedure

  1. Drag the Network Optimizer task onto the stage.

  2. Connect the Network Optimizer task to the task which contains the data for the optimization model.

  3. Double click the Network Optimizer task. The left-hand pane displays a list of all the available attributes in the dataset, which can be ordered and searched as required.

  4. Configure the options as described in the table below.

  5. Save and compute the task. 

Network Optimizer options

Parameter Name

Description

Basic options

Source attributes

Drag and drop from the Available attributes list all the attributes that define the source. Instead of manually dragging and dropping attributes, they can be defined via a filtered list.

Destination attributes

Drag and drop from the Available attributes list all the attributes that define the destination. Instead of manually dragging and dropping attributes, they can be defined via a filtered list.

Source quantities (positive values)

Select the attribute that defines the initial quantity in the source.

Destination quantities (negative values)

Select the attribute that defines the quantity required by the destination, expressed as a negative value.

Append results

If selected, the results of this computation will be appended to the dataset, otherwise they replace the results of previous computations.

Merge results with original data

If selected, results of the computation are merged with the original data, by adding outcome columns.

Deployment policy

Select the required deploy policy from the following possibilities:

  • Move quantities even if request is not fulfilled, whereby all the available source material will be moved.

  • Move quantities only if request is fulfilled, whereby material will be sent to a destination only if its requirements are met. Otherwise nothing will be sent.

  • Fair share among destinations, whereby all the available source material will be shared between destinations, according to the proportions defined in the Attribute specifying fair share weight to be applied to destinations option, in the Nodes tab.

  • Do not exceed request, whereby the source material to be sent will be less or equal to the quantities specified in the Destination quantities parameter. The request won’t be exceeded in any case, even if an Attribute for rounding value has been specified in the Edges tab.

Edges options

Attribute for transport cost

Select the attribute that defines the cost of moving a unit of material from the source to the destination.

Attribute for maximum quantity to move

Select the attribute that defines the maximum total number of units that can be moved between the source and destination at a time.

Attribute for rounding value

Select the attribute that defines the minimum number of units that can be moved at a time. For example, three items may be required, but the items may only be available in blocks of ten.

Transport cost is independent from moved quantity

If selected, the cost of transport does not change with the quantity sent.

Nodes options


Fixed cost associated to shipping from a source

Specify the inherent cost of shipping from a source as a mathematical weight to be applied in calculating the best solution.

Fixed cost associated to each unfulfilled destination 

Specify the inherent cost of not fulfilling the requirements of a destination as a weight to be applied in calculating the best solution.

Attribute specifying cost per item for unfulfilled destinations

Select the attribute that defines the cost per unit of not satisfying destination requirements.

Attribute specifying fair share weight to be applied to destinations

Select the attribute that defines the proportional quantity of material that will be sent to the specific destination, if the Fair share among destinations option is selected. 

Specific use cases focus - two or more rows with the same source and a different destination

If there are two rows in the Source parameter which have the same values, but the two corresponding values are different from each other in the attribute associated with the Destination parameter, the Network Optimizer task considers both quantities associated with the different destinations, as it considers the maximum value among them as a value of source availability.

Consequently, the different availability quantities can be then considered for different destinations, but they will refer to a common reference quantity.


Example

The following example uses the Inventory Assignment dataset.

Description

Screenshot

  • After having imported the dataset, right click on the import task and select Take a look to check the dataset has been correctly imported.

The dataset contains 6 rows, where each row corresponds to a source - destination link.

Each source may have multiple destinations, and each destination may have multiple sources. There is a separate row for each possible combination. However, the quantities (Src_qty, and Dest_qty) must always be the same for each source and destination.

The Max Load value, on the other hand, can vary as it depends on the specific source - destination combination.

The Data Manager task displays the available dataset for:

  • 3 sources (SRC-AA, SRC-BB and SRC-CC) and

  • 3 destinations (DEST-XX, DEST-YY and DEST-ZZ).

In the Basic tab configure the following options:

  • Source attributes > Src

  • Destination attributes  > Dest

  • Source nodes quantiles (positive values) Src_qty

  • Destination nodes quantiles (negative values) > Dest_qty

  • Deploy policy > Move all the available quantities

  • Merge results with original data > selected

Leave the other options with their default values.

In the Edges tab configure the following options:

  • Attribute for maximum quantity to move > Max Load

  • Attribute for rounding value > Rounding

Leave the other options with their default values

In the Nodes tab leave the options with their default values.

Save and compute the task.

Right-click on the Network Optimizer task and select Take a Look to see the results. Alternatively, you can link a Data Manager to the task.

The results can be commented as follows: 

  • An amount of material corresponding to 9 has been moved from source SRC-AA to destination DEST-XX: it is a multiple of the Rounding value (3) and does not exceed the Max Load (10). The amount of material remaining in the source is 31 (i.e. 45-9, plus a quantity of 5 that has been moved to DEST-YY as shown in row 2). 

  • An amount of material corresponding to 9 has been moved from source SRC-BB to destination DEST-YY: it is a multiple of the Rounding value (3) and does not exceed the Max Load (11). The amount of material remaining in the source is 12 (i.e. 21-9). 

  • No material has been moved from SRC-CC to destination DEST-XX, as its requirements were fulfilled by SRC-AA: whereas a quantity of 20 was moved to DEST-YY (a multiple of the Rounding value (4) and respecting the Max Load (20), and a quantity of 10 was moved to DEST-ZZ (a multiple of the Rounding value (2) and respecting the Max Load (10). The amount of material remaining in the source SRC-CC is 38 (i.e. 68-30 (20 for DEST-YY, and 10 for DEST-ZZ).