Using Network Optimizer to Solve Optimization Problems

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

  • a Rulex process has been created.

  • the required datasets have been imported into the process.

  • the data used for the model has been well prepared.

  • a single unified dataset for each Network Optimizer task has been created by merging all the datasets imported into the process.

  • 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 tabs

The following additional tabs are provided:

  • Documentation tab where you can document your task,

  • Parametric options tab where you can configure process variables instead of fixed values. Parametric equivalents are expressed in italics in this page (PO).

  • 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 and drop 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

PO

Description

Basic options

Source attributes

srcnames

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

destnames

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)

srcqtyname

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

Destination quantities (negative values)

destqtyname

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

Append results

append

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

addaux

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

Deployment policy

fulldeploy

Select the required deploy policy from the following possibilities:

  • Move all the available quantities, whereby all the available source material will be moved.

  • Move only if requested quantity 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.

Edges options

Attribute for transport cost

weightname

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

maxloadname

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

roundname

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

wholemove

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

Nodes options



Fixed cost associated to shipping from a source

sourceweight

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 

destweight

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

costname

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

Attribute specifying fair share weight to be applied to destinations

fairname

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. 

Example

The example process uses an inventory assignment scenario (inventory_assignment.xls)

The dataset file for this scenario can be found in the Datasets folder in your Rulex installation.

The following steps were performed:

  1. First we import the dataset with an Import from Excel File task.

  2. Use the Take a look function to analyze the imported data.

  3. We then add a Network Optimizer task to define the network configuration.

  4. Use the Take a look function to check the results.

Procedure

Screenshot

Once we have imported the inventory_assignment dataset, and computed the task, right-click it and select Take a look to analyze the data we have 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 nodes descriptive variables > Src

  • Destination nodes descriptive variables  > Dest

  • Source nodes quantiles (positive values) Src_qty

  • Destination nodes quantiles (negative values) > Dest_qty

  • Deploy policy > Always move all the available supply

  • Merge results with original data > selected

Leave the other options with their default values

In the Edges tab configure the following options:

  • Variable for maximum quantity to move > Max Load

  • Variable 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 the task and select Take a look to analyze the results.

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).