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
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
Drag and drop the Network Optimizer task onto the stage.
Connect the Network Optimizer task to the task which contains the data for the optimization model.
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.
Configure the options as described in the table below.
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:
|
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:
First we import the dataset with an Import from Excel File task.
Use the Take a look function to analyze the imported data.
We then add a Network Optimizer task to define the network configuration.
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:
| |
In the Basic tab configure the following options:
Leave the other options with their default values | |
In the Edges tab configure the following options:
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:
|