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
Drag 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 | 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:
|
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 |
---|---|
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 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:
|