LogisticsLab 5.3 User Manual
LogisticsLab 5.3 User Manual
Version 5.3
February 2024
Manual
Mike Steglich and Dieter Feige†
In memory of my colleague and friend Dieter Feige
Mike Steglich
Table of contents
Table of contents 3
1 About LogisticsLab and Installation 4
2 LogisticsLab in a glance 4
2.1 Program interface 4
2.2 Menu entries 6
2.3 OpenStreetMap functions 7
2.4 File formats 13
3 TPP – Solving Transport Problems 14
3.1 Program interface 14
3.2 Entering the problem data 15
3.3 Optimisation and results 19
4 NWF – Solving Network Flow Problems 22
4.1 Program interface 22
4.2 Entering the problem data 22
4.3 Optimisation and results 25
5 TSP – Solving Traveling Salesman Problems 27
5.1 Program interface 27
5.2 Entering the problem data 28
5.3 Optimisation and results 30
6 TSP – Solving Chinese Postman Problems 32
6.1 Entering the problem data 32
6.2 Optimisation and results 35
7 VRP – Solving Vehicle Routing Problems 36
7.1 Program interface 37
7.2 Entering the problem data 37
7.3 Optimisation and results 40
8 DLP – Solving Warehouse Location Problems 42
8.1 Program interface 43
8.2 Entering the problem data 44
8.3 Optimisation and results 48
9 DLP – Solving Covering and Maximal Covering Location Problems 49
9.1 Entering the problem data 49
9.2 Optimisation and results 50
10 DLP – Solving p-Median and p-Centre Location Problems 52
10.1 Entering the problem data 52
10.2 Optimisation and results 52
11 CLP – Solving Continuous p-Median and p-Centre Problems 54
11.1 Program interface 55
11.2 Entering the problem data 55
11.3 Optimisation and results 59
12 Authors and contact 61
13 Sources 62
LogisticsLab 5.3 / Manual 4
2 LogisticsLab in a glance
There are two ways to display the network representation of the problem and the solution to the problem.
If geographical coordinates are used, an OpenStreetMap is shown in the network area. With a mouse over
on one of the nodes, a pop-up window appears with additional information.
The map switch in the upper left corner of the network area allows the user to switch to a simple map.
Optimisation:
• Create Distance Matrix
Opens a dialogue for generating a distance/time/cost matrix.
• Start Optimisation
Open an optimisation dialogue. After entering certain specifications, the optimisation run is start-
ed.
Print
• The results are displayed in the data area can be printed.
• The printable results are also displayed in the Print menu and can be started by selecting the ap-
propriate option.
The most important functions of the menu bar can also be reached via the toolbar (Figure 6).
pose and may be modified and distributed under the same licence. There is a very large community that is
constantly improving and expanding the map data. The use of the maps does not require any registration or
other collection of user data and is free of charge.
As shown in Figure 7, OpenStreetMap maps are integrated into the network area of the Logistics Lab inter-
face and can be zoomed in and out and rotated. The map is primarily used to visualise the network nodes
of a problem. Depending on the type of node, LogisticsLab adds problem-specific markers to these maps.
The left-hand map shows a transport problem with blue boxes for providers and red pins for customers.
The right-hand map shows a transhipment problem with supply nodes visualised by blue pins, tranship-
ment nodes with pins in ochre and demand nodes with red pins.
If a user moves the mouse over a marker, a pop-up window appears with additional information, as shown
in Figure 8 for the depot of a route planning problem.
In addition, the maps in LogisticsLab are used to visualise the solutions found by displaying the routes on
real roads, which can also be found using OpenStreetMap functionalities, on the map using blue connec-
tions. Individual routes or sections can be highlighted with the colour ochre. Figure 9 shows part of the
solution for a transhipment problem in LogisticsLab/NWF, where the route between a plant in Soria, Spain
and a transhipment hub in Frebuans, Frank has been highlighted.
LogisticsLab 5.3 / Manual 9
Once the coordinates have been successfully retrieved, they are automatically entered in the node list
(Figure 11) and the nodes are displayed on the map using the coordinates.
It is also possible to use the Search & Add button available in all parts of the programme for nodes to
search for a complete address and the associated geographical coordinates with an address fragment and
add it to the node list as a new node. For example, as shown in Figure 12 you can search for the entry for
the Jagdschloss in Groß Schönebeck in the state of Brandenburg. The address and the corresponding coor-
dinates are then added to the node list (see Figure 13).
tensively. Therefore, a separate OSRM server was set up for LogisticsLab, which is hosted by the Technical
University of Applied Sciences Wildau.
If all nodes are available in LogisticsLab with their geographical coordinates, the dialogue for determining
the distance or travel time matrix or, if applicable, the cost matrix based on this, can be opened as shown in
11 for LogisticsLab/VRP as an example. The generated matrices are then automatically inserted in the cor-
responding data areas (Figure 15Fehler! Verweisquelle konnte nicht gefunden werden.).
Figure 14: Dialogue for determining distances and travel times in LogisticsLab/VRP
Once all the data for a problem is available, including the distance or travel time or a cost matrix based on
this, the problem can be solved. To display the solution adequately on the map, LogisticsLab automatically
calls up the route functionality of the OSRM server involved to retrieve the routes on the real roads. These
are then displayed as shown in Figure 9 on the map and can be highlighted if necessary.
Entering nodes and edges by double-clicking on the map
As of version 5.3 it is possible to enter nodes in all LogisticsLab modules and edges in LogisticsLab/NWF and
LogisticsLab/TSP by just double-clicking on the map.
Nodes can be created by double-clicking when the corresponding tab is open in the data area. As can be
seen in Figure 16, after double-clicking, LogisticsLab asks whether a node should be created at this location.
If the answer is yes, LogisticsLab determines the geographical coordinates and, if possible, the address of
the node using the integrated OpenStreetMap functions. This data is automatically entered in the corre-
sponding columns for the new node.
LogisticsLab 5.3 / Manual 12
In LogisticsLab/NWF and LogisticsLab/TSP, when the edge editor is open, an edge can be created directly by
double-clicking on the start and destination nodes one after the other on the map, whereby a dialogue
appears in which the type of edge can be selected (Figure 17).
For the edges created, the real road courses are retrieved using OpenStreetMap and displayed in grey on
the map (Figure 18).
LogisticsLab 5.3 / Manual 13
• The data is divided into data blocks. Each data block begins with a line in which the corresponding
keyword (e.g. SOURCES, DESTINATIONS) for the respective data must appear. In most cases, the
size specifications for the data block (e.g. number of rows and columns) follow in a subsequent line.
The following lines contain the corresponding data.
• The notation of numeric fields follows according to the local language of the computer and is rec-
ognized automatically.
• The end of file is expressed with the keyword EEE in a last data line.
The data files can be created via the menu function Save Problem or Save Problem as. The results can also
be saved as text files. They are named with the file name of the original problem and the file extension
SOLX. Further use of the results in texts, tables and presentations is easily possible due to the text format of
the solution file.
4 [Link]
5 Steglich et al. (2016), p. 74, Hillier and Liebermann (2015), p. 319ff., Williams (2013), p. 82ff., Vanderbei (2014), p. 225ff.
LogisticsLab 5.3 / Manual 15
The map is used to visualise the data entered and a solution found. The map contains two different types of
nodes: source nodes (blue) and destination nodes (red).
The data on quantities, costs and capacities can be varied randomly in an interval of [-50 %, +50 %] or left
as constant values. If a field has not been edited, the corresponding data fields will not be filled.
Furthermore, one can specify whether the coordinates of the nodes are random or empty geographical
coordinates or regular X-Y coordinates. If the geographical coordinates are generated on a randomly, a set
of European cities and villages by are used. In the case of a regular (ordered) X-Y generation, SimpleMap is
displayed with the sources appear on the left and the destinations on the right.
The generated data can then be changed manually in the data area.
The data area on the right side of the program window contains five tabs for entering and maintaining the
problem data (Problem, Sources, Destinations, Variable costs, Fixed costs and Capacities) and a Solution tab
for the solution.
The Problem tab (Figure 22) contains only one input field for a short comment. This sheet contains addi-
tionally information on the problem data (fields with a grey background) and on the solution of the prob-
lem (fields with a yellow background).
In the tabs Sources (Figure 23) and Destinations (Figure 24) all information on the nodes (sources or desti-
nations) is entered. One can either enter the number of nodes first or insert each node individually with the
Add button.
When creating a new node, default values are entered for the supply (default: 0), lower supply limit (de-
fault: 0) and upper supply limit (default: M).
Each node (source or destination) is described by a unique name, a geographical coordinate (or if Simple-
Map is chosen, an X and Y coordinate), a quantity (Supply, Demand), a minimum and maximum quantity
(min. Supply, min. Demand or max. Supply, max. Demand). The Flow column represents the supply quanti-
ties found by the optimisation and the Gap column represents the difference between the supply or de-
mand and the supply quantity.
If a user has entered valid address data, it is possible to retrieve the geographical coordinates of all nodes
(All coords) or of the selected node (Node coords) via a Komoot/Photon server.
The Delete button deletes the currently selected node. The entire node list can be printed with the Print
button.
It is assumed, that the variable costs between the source and the destination are proportional to the dis-
tances. They can be calculated using different distance functions. This is done by pressing the Calculate
button in the Variable costs tab or the Calculate Variable Costs button in the toolbar and the dialogue
shown in Figure 25 appears. This calculation can base on distances or travel times provided by Open-
StreetMap or on aerial distances (Great Circle, Euclidean or Manhattan distances). To generate the matrix,
LogisticsLab 5.3 / Manual 18
enter a distance or cost factor in the field Distance/costs factor per km. This is multiplied by the distance or
travel time.
The result of this calculation is shown in the Variable costs tab (Figure 26). The values cannot be changed.
In the Fixed costs tab (Figure 27), the step-fixed costs can be entered for each edge.
In the Capacities tab (Figure 28), a capacity can be assigned to each sender-receiver relation. If the capacity
is not to be limited, an M (for not limited) is entered. By setting a capacity equal to zero, a transport be-
tween source and destination can be blocked if Additional Constraints/Capacities (Figure 29) is activated in
the optimisation dialogue.
After entering the data, it should be saved with the menu item Save Problem or Save Problem as.
o Block routes if... - When selected, only those assignments are used whose cost rates lie be-
tween the minimum and maximum values specified here.
• Additional constraints:
o Supply ranges - comply with supply ranges (two-sided restriction)
o Demand ranges - comply with demand ranges (two-sided restriction)
o Capacities - takes capacities into account
o Single source - Additional condition that a destination can only be supplied by one source.
After solving the transport problem, the best solution found appears as a network graphic in the network
area and the numerical solution in the Solution tab (Figure 30).
A single part of the solution can be highlighted by clicking in one of the first four, grey-coloured columns.
LogisticsLab uses heuristics to solve problems. Therefore, the solutions of different optimisation runs may
differ due to the non-deterministic nature of the underlying heuristic.
LogisticsLab 5.3 / Manual 21
The solution can be saved as a text file with the extension SOLX and used with other programs. Figure 32
shows the solution matrix of an example as an Excel worksheet.
On the left side of the NWF window there is a map on which the entered data is displayed as a network. As
shown in Figure 33, the network graph contains three different types of nodes: sources (Blue), tranship-
ment nodes (Ochre) and destinations (Red).
6 Steglich et al. (2016), p. 164 ff., Hillier and Liebermann (2015), p. 397., Yildirim (2009), p. 4-3.
LogisticsLab 5.3 / Manual 23
The Problem tab (Figure 35) displays information on the current problem and contains an input field for
entering a short comment. After an optimisation has been completed, the objective function value (Costs)
and the total flow quantity (Flow) are displayed.
In the tab Nodes (Figure 36) all information about the nodes is entered. Either enter the number of nodes
first or add each node individually with the Add button. The selected node can be deleted with the Delete
button. The entire node list can be printed with the Print button. If a user has entered valid address data, it
is possible to retrieve the geographical coordinates of all nodes (All coords) or of the selected node (Node
coords) via a Komoot/Photon server.
Each node is described by a unique node identifier (ID), a node name (Name), geographical coordinates
coordinate (or if SimpleMap is chosen, an X and Y coordinate), the supply or demand (Volume, only for
sources or destination nodes) and lower and upper capacity bounds (Min. Cap. and Max. Cap., only for
transhipment nodes). It should be noted that LogisticsLab/NWF follows the notation of the flow balance
condition of the min-cost flow model7, so that supply nodes are indicated by positive values in the Volume
column and the demands of the destinations with negative values in this column.
After the optimisation, the flow through the node and the costs for the outgoing transports are entered as
results.
7 Steglich et al. (2016), p. 164 ff., Hillier and Liebermann (2015), p. 397., Yildirim (2009), p. 4-3.
LogisticsLab 5.3 / Manual 24
In the Edge editor (Figure 37), directed edges can be assigned to a selected start node. In the edge editor
the directed edges starting from a node (From node) are to be specified with the edge capacities (Min. Cap.
and Max. Cap.). With the symbolic value 𝑀 an edge is defined as not capacitively limited.
Additional edges can be added with the Add button. A marked edge is deleted with the Delete button.
It is not possible to enter the costs per edge manually. They can only be calculated on the basis of distances
or travel times and corresponding cost factors. A user can click the Calculate Variable Costs icon in the
toolbar or via the menu Optimisation → Calculate Variable Costs and the dialogue shown in Figure 38 ap-
pears. This calculation can base on distances or travel times provided by OpenStreetMap or on aerial dis-
tances (Great Circle, Euclidean or Manhattan distances). To generate the matrix, enter a distance or cost
factor in the field Distance/costs factor per km. This is multiplied by the distance or travel time.
LogisticsLab 5.3 / Manual 25
In the All edges tab (see Figure 39) all directed edges are listed in a table. In this list, the cost rates and the
capacities of the individual directed edges are shown. After the optimisation is completed, the flows and
the costs are displayed for the directed edges and as total values.
After entering the data, it should be saved with the menu item Save Problem or Save Problem as.
After clicking the OK button, the solution is entered in the tabs Nodes and All edges and displayed in the
Network area (Figure 41). When a user clicks on one of the first four grey columns, a single part of the solu-
tion can be highlighted on the map.
LogisticsLab uses heuristics to solve problems. Therefore, the solutions of different optimisation runs may
differ due to the non-deterministic nature of the underlying heuristic. The solution can be saved in a text
file with the extension SOLX and imported into other programs (e.g. Excel or LibreOffice/Calc8).
9 Steglich et al. (2016), p. 281 f., Chen et al. (2010), p. 146 ff., Ghiani et al. (2013), p. 368 ff.
10 Mattfeld and Vahrenkamp (2014), p. 234ff., Steglich et al. (2016), p. 281 f.
11 Steglich et al. (2016), p. 321 ff., Ahuja et al. (2013), p.740.
LogisticsLab 5.3 / Manual 28
The left side of the TSP window is used to visualise the entered data and the solution (Figure 42). The map
graph contains two different types of nodes: the start and destination node (blue house) and the red-
coloured other nodes. Nodes can be marked as active or inactive in the Nodes tab. Only active (red col-
oured) nodes can be included in a trip. Inactive nodes are shown in grey. If the network graph contains
connections between the nodes, these are shown as edges in the SimpleMap.
The Problem tab (Figure 44) displays information about the current problem and contains an input field for
a comment. After optimisation is complete, the Trip length field displays the objective function value.
In the tab Nodes (Figure 45) all information about the nodes of the problem is entered.
One can either enter the number of nodes or add each node individually to the list with the Add button.
The Delete button deletes the currently selected node.
LogisticsLab 5.3 / Manual 29
The entire node list can be printed with the Print button. If a user has entered valid address data, it is pos-
sible to retrieve the geographical coordinates of all nodes (All coords) or of the selected node (Node coords)
via a Komoot/Photon server.
Each node is described by a selection (Active - selection for a calculation), a unique node identifier (ID), a
node name (Name), geographical coordinates coordinate (or if SimpleMap is chosen, an X and Y coordi-
nate) and optional address data.
The Active field is used to specify the nodes to be included in the tour. With a double click in the column Nr
of the corresponding node, a Y is entered in the field and the node is marked in colour on the network
graphic. The entry of N or a blank removes the selection of a node.
With the button Select all, all nodes are included in the problem. With the button Deselect all, the selection
of all nodes is cancelled.
It is possible to define edges in the tab Edges which will be described in the section about the Chinese
Postman Problem.
The next step is to calculate the distances between all cities. This can be done either via the menu Optimi-
sation → Calculate Distance Matrix or via the Calculate Distance Matrix button in the toolbar, whereupon
the dialogue for calculating the distance matrix shown in Figure 46 appears. This calculation can base on
distances or travel times provided by OpenStreetMap or on aerial distances (Great Circle, Euclidean or
Manhattan distances). To generate the matrix, enter a distance or cost factor in the field Distance/costs
factor per km. This is multiplied by the distance or travel time.
LogisticsLab 5.3 / Manual 30
After the calculations are completed, the distance matrix appears in the Distances tab (Figure 47). No dis-
tances are available for the diagonal elements, as short cycles within a node are not allowed. The obtained
matrix cannot be edited.
After entering the data, it should be saved with the menu item Save Problem or Save Problem as.
In addition to TSP, Open TSP are also available as problem type in the following different variants:
1. Open TSP with specified start and destination node,
2. Open TSP with specified start node,
3. Open TSP with specified destination node and
4. Open TSP without specified start and destination node.
After solving the round trip or transit problem, the graphical representation of the solution appears in the
Network area and the numerical solution appears in the Solution tab (Figure 49).
When a user clicks on one of the first four grey columns, a single part of the solution can be highlighted on
the map.
LogisticsLab uses heuristics to solve problems. Therefore, the solutions of different optimisation runs may
differ due to the non-deterministic nature of the underlying heuristic.
The solution can be saved in a text file with the extension SOLX and imported into other programs (e.g.
Excel or LibreOffice/Calc12).
After editing the nodes, the map and the Node tab looks as follows:
Afterwards the edges must be entered in the tab Edges (Figure 51). This can be done by double-clicking on
the start and destination nodes one after the other on the map ore by editing the data in the edge editor.
To do this, the node from which the edges originate must be specified in the From node field. The edges are
defined in the To nodes list by entering the name and type of the edge. The type can be U (undirected) for
an undirected edge or D (directed) for a directed edge.
Beside the visualisation of the edges in the map, they can also be displayed when switching to SimpleMap
(Figure 52). Directed edges are represented by arrows. Undirected edges do not have arrowheads.
LogisticsLab 5.3 / Manual 34
The next step is to calculate the distances for all edges. This can be done either via the menu Optimisation
→ Calculate Distance Matrix or via the Calculate Distance Matrix button in the toolbar, whereupon the
dialogue for calculating the distance matrix shown in Figure 53 appears. This calculation can base on dis-
tances or travel times provided by OpenStreetMap or on aerial distances (Great Circle, Euclidean or Man-
hattan distances). To generate the matrix, enter a distance or cost factor in the field Distance/costs factor
per km. This is multiplied by the distance or travel time.
After the calculations are completed, the distance matrix appears in the Distances tab (Figure 54). In the
algorithm to solve the problem, only the direct distances, cost or times of the edges are used. The obtained
matrix cannot be edited.
LogisticsLab 5.3 / Manual 35
Figure 54: Distances tab in LogisticsLab/TSP for the Chinese Postman Problem
After entering the data, it should be saved with the menu item Save Problem or Save Problem as.
To solve a postman problem, the following two steps are carried out:
1. Cost- or distance-minimal extension of the network to a Euler network,
2. Determination of the Euler tour.
The solution algorithm for the cost- or distance-minimal extension of the existing network is based on an
integer linear optimisation model, the results of which are used by a simple algorithm to determine a Euler
tour and thus to solve the postman problem.
After solving the postman problem, the graphical representation of the solution appears in the Network
area and the numerical solution in the Solution tab (Figure 56).
LogisticsLab 5.3 / Manual 36
In the map, the thickness of the edges indicates whether they have to be traversed several times. The de-
tailed route of the postman can be seen in the Solution tab. When a user clicks on one of the first four grey
columns, a single part of the solution can be highlighted on the map.
The solution can be saved in a text file with the extension SOLX and imported into other programs (e.g.
Excel or LibreOffice/Calc14).
to be minimised.16 Maximum distances and times for a tour and customer time windows can also be speci-
fied and included in the optimisation.
The left side of the VRP program window is used to visualise the entered data and the planned tours. The
map graph contains two different types of nodes: the start and destination node (blue house) and the red-
coloured destinations.
16 Steglich et al. (2016), p. 338 f., Laporte (1992), p. 352 f., Mattfeld and Vahrenkamp (2014), p. 277f., Williams (2013), p. 198f.
LogisticsLab 5.3 / Manual 38
represents the basis of randomly generated demands in the interval of [-50%, +50%] if Volumes → Varia-
tion (+/-50%) is selected.
The Problem tab (Figure 59) contains, in addition to the field comment, further grey fields with general
information on the problem being solved on and yellow fields with information on the solution of the prob-
lem.
Each node is described by a unique node identifier (ID), a node name (Name), geographical coordinates
coordinate (or if SimpleMap is chosen, an X and Y coordinate), demands, service times and customer time
windows for destinations and optional address data.
If a user has entered valid address data, it is possible to retrieve the geographical coordinates of all nodes
(All coords) or of the selected node (Node coords) via a Komoot/Photon server.
The entire node list can be printed with the Print button.
The next step is to calculate the distances and travel times between all nodes. This step can be done either
via the menu Optimisation → Calculate Distance Matrix or via the Calculate Distance Matrix button in the
toolbar, whereupon the dialogue for calculating the distance matrix shown in Figure 61 appears.
A user can obtain distances and travel times provided by OpenStreetMap or by calculating aerial distances
(Great Circle, Euclidean or Manhattan distances). For the latter, an average speed per hour must be speci-
fied to calculate depending travel times.
After the calculations are completed, the generated data appears in the Distances and the Travel time tab
(Figure 62 and Figure 63). The distances and travel times cannot be changed.
LogisticsLab 5.3 / Manual 40
After entering the data, it should be saved with the menu item Save Problem or Save Problem as.
In the Routes tab (Figure 65), all the tours found are displayed in an overview.
In the Route details tab (Figure 66 and Figure 67), the destinations to be served, the quantity served, the
individual and cumulated distances, travel and service times can be seen for each tour. The desired tour
can either be entered directly in the Route field or selected by clicking on the up or down button. The se-
lected tour is displayed in the Network area. When a user clicks on one of the first two grey columns, a
single part of the solution can be highlighted on the map.
LogisticsLab 5.3 / Manual 42
LogisticsLab uses heuristics to solve problems. Therefore, the solutions of different optimisation runs may
differ due to the non-deterministic nature of the underlying heuristic.
The result can be saved as a text file with the file extension SOLX.
17 Steglich et al. (2016), p. 438 ff., Fernández and Landete (2015), p. 50.
18 Steglich et al. (2016), p. 417 ff., Daskin (2013), Pos. 2479, García and Marín (2015), p. 97f.
LogisticsLab 5.3 / Manual 43
Problems19, p-Median20 and p-Centre problems21. It is always assumed that a demand node can only be
supplied from one location at a time (single-sourcing).
Warehouse Location Problems are discrete location problems where both fixed location costs and variable
transport costs are included in the location decision.
There is a set of potential locations whose fixed costs are known. For the demand nodes, the demands are
available. Furthermore, the variable transport costs between the potential locations and the demand nodes
are also available. The objective is to minimise the sum of the transportation costs and the fixed costs of
building and running warehouses by deciding which warehouses are established and which customer is
delivered by which warehouse.
Ma
a le
Stat ar and
et
Figure 68: Program interface - LogisticsLab/WLP
The left side of the LogisticsLab/DLP program window is used to visualise the entered data and the results.
The map contains two different types of nodes: the potential locations (blue houses) and the red-coloured
destinations. If a potential location is not chosen, then it is shown with a light-blue marker otherwise with a
blue house.
The Problem tab (Figure 70) contains an input field for a comment, options for the problem type to be used
and output fields with a yellow background for information on the solution. If the problem type Warehouse
location is chosen, then the user can select whether capacities are to be considered or not (Capacitaty con-
straint). In addition, the maximum time in seconds used for optimisation (Max. solving time) can be edited.
LogisticsLab 5.3 / Manual 45
The Sources tab (Figure 71) contains the details of the potential locations, which are displayed after loading
the problem data or can be entered and changed manually.
In the field Nr. of potential sources, the number of locations can be entered. The size of the input sheet is
automatically adjusted. If the number of sites is reduced, excess entries are deleted.
For the potential locations, the following information can be entered:
• Name: Name of the location,
• Lat., Long: Coordinates of the location,
• Fixed costs: Fixed costs of the location,
• Supply: Supply of the location and
• City, PostCode, Street, Country: Address data
In the Act. column, LogisticsLab enters an A (for active) for selected locations after the optimisation has
been completed, in the Nr. of dest. column the number of assigned customers and in the Flow column the
delivery quantity. These values cannot be changed manually.
If a user has entered valid address data, it is possible to retrieve the geographical coordinates of all nodes
(All coords) or of the selected node (Node coords) via a Komoot/Photon server.
A new location can be added via the Add button. The button Delete deletes the selected location. The Print
button can be used to print the location list.
LogisticsLab 5.3 / Manual 46
S rce na e
er Fi ed c t the S l the
rdinate ddre data
ten al rce l ca n l ca n
et ge gra hical
c rdinate r all
de na n
et ge gra hical
rea ng a rce Dele ng a rce c rdinate r the i t
elected de na n rint
Search and add a
n de
The Destinations tab (Figure 72) contains the details of the customers. They are displayed after loading the
problem data or can be entered and changed manually.
In the field Nr. of destinations the number of customers can be entered. The size of the input sheet is au-
tomatically adjusted. If the number is reduced, excess entries are deleted.
For each customer, the following information can be entered:
• Name: Name of the destination,
• Lat., Long: Coordinates of the destination,
• Demand: Demand of the destination and
• City, PostCode, Street, Country: Address data
After completing the optimisation, LogisticsLab enters the name of the assigned location in the Source col-
umn and the variable costs required for it in the Costs column. These values cannot be changed manually.
If a user has entered valid address data, it is possible to retrieve the geographical coordinates of all nodes
(All coords) or of the selected node (Node coords) via a Komoot/Photon server.
A new customer can be added via the Add button. The Delete button deletes the selected customer. The
Print button can be used to print out the list of customers.
LogisticsLab 5.3 / Manual 47
If you click on a customer in the No. column, it is marked with an ochre marker in network area. A mouse
click on the upper left grey field Nr restores the normal display.
The next step is to calculate the distances and travel times between all nodes. This step can be done either
via the menu Optimisation → Calculate Distance Matrix or via the Calculate Distance Matrix button in the
toolbar, whereupon the dialogue for calculating the distance matrix shown in Figure 73 appears.
A user can obtain distances and travel times provided by OpenStreetMap or by calculating aerial distances
(Great Circle, Euclidean or Manhattan distances). In addition, a distance or cost factor per kilometre must
be entered. In this example, it is assumed that the costs per kilometre are 20 Cent.
The results are shown in the Variable costs tab (Figure 74) which cannot be changed. Use the Print button
to print the cost matrix.
LogisticsLab 5.3 / Manual 48
The selected locations are displayed in the Sources tab (Figure 76) and the customer assignments in the
Destinations tab (Figure 77).
LogisticsLab 5.3 / Manual 49
Figure 76: Representation of the solution of the WLP example in the Sources tab in LogisticsLab/DLP
Figure 77: Representation of the solution of the WLP example in the tab Destinations in LogisticsLab/DLP
LogisticsLab uses heuristics to solve problems. Therefore, the solutions of different optimisation runs may
differ due to the non-deterministic nature of the underlying heuristic.
The planning result can be saved as a text file with the file extension SOLX.
With Maximal Covering Problems, the maximum covered demand of the destinations has to be found sub-
ject to an upper bound of locations or their operating costs.
22 Steglich et al. (2016) , p. 417 ff., Daskin (2013), Pos. 2479, García and Marín (2015), p. 97f.
23 Steglich et al. (2016) , p. 424 ff., Daskin (2013), pos. 3128ff.
LogisticsLab 5.3 / Manual 50
Figure 78: Generating real distances with a distance factor equal to one in LogisticsLab/DLP
The resulting distances can be found in the Variable Cost tab (Figure 79).
Figure 80: Selection of problem type and covering radius for a Covering Location Problem in LogisticsLab/DLP
LogisticsLab 5.3 / Manual 51
Afterwards, a Covering radius for both problems and additionally Max. Coverage costs for the Maximal
Covering Location Problem must be entered (Figure 80 and Figure 81). In this example, it is assumed that
the locations can only serve destinations within a maximal distance of 1732 kilometres. For the Maximal
Covering Location Problem is a requirement, that a budget of only 1,000 is available.
Figure 81: Selection of problem type, covering radius and max. covering costs for a Maximal Covering Problem in LogisticsLab/DLP
The optimisation is started by selecting either the menu Optimisation → Start Optimisation or the button
Optimise in the toolbar. The solution is displayed in the Network and Data areas (Figure 82 and Figure 83).
Figure 82: Representation of the solution of for a Covering Location Problem in LogisticsLab/DLP
LogisticsLab 5.3 / Manual 52
Figure 83: Representation of the solution of for a Maximal Covering Location Problem in LogisticsLab/DLP
It is worth mentioning that there is usually no single-source constraint in the coverage problem. This means
that a destination can be covered by more than one location. If this is the case internally in Logis-
ticsLab/DLP, the nearest location is selected and displayed in the solution.
24 Steglich et al. (2016), p. 380 ff., Daskin and Maas (2015), p. 25f.
25 Steglich et al. (2016), p. 390 ff., Daskin (2013), pos. 4272.
LogisticsLab 5.3 / Manual 53
The optimisation is started by selecting either the menu Optimisation → Start Optimisation or the button
Optimise in the toolbar. The solution is displayed in both the Network and Data areas (Figure 85).
The selected locations are displayed in the Sources tab (Figure 86Figure 76) and the customer assignments
in the Destinations tab (Figure 87).
LogisticsLab 5.3 / Manual 54
Figure 86: Representation of the solution of the p-Median example in the Sources tab in LogisticsLab/DLP
Figure 87: Representation of the solution of the p-Median example in the tab Destinations in LogisticsLab/DLP
LogisticsLab uses heuristics to solve larger problems. Therefore, the solutions of different optimisation runs
may differ due to the non-deterministic nature of the underlying heuristic.
The planning result can be saved as a text file with the file extension SOLX.
26 Steglich et al. (2016), p. 402ff., Neema at al. (2011), p. 84, Eiselt and Marinov (2011), p. 9.
27 Steglich et al. (2016), p. 411ff., Drezner (2011), p. 73f., Calik at al. (2015), p. 89.
LogisticsLab 5.3 / Manual 55
Ma
a le
Stat ar and
et
The left side of the CLP program window is used to visualise the entered data and the solution of the prob-
lem. Destinations are shown as red markers. The determined locations are shown as blue houses
The Problem tab (Figure 90) contains input fields for a Comment and an input field for the number of loca-
tions to be determined (Sources). Furthermore, the tab contains options for specifying the problem type of
the optimisation calculation (Medians and Centre of gravity), a selection option for the distance function to
be used (Distance → Euclidean, Great Circle, Manhattan) and yellow highlighted output fields for infor-
mation on the solution. In addition, it is possible to specify whether the capacities of the locations should
be considered (Capacity constraint), the demands of the receivers should be included in the objective func-
tion (Demand weighted) and only locations on existing demand nodes can be used to solve a discrete loca-
tion problem (discrete). If a new value is entered in the Sources input field, either new potential locations
without coordinates are added to the location list or surplus locations are deleted.
The Destinations tab (Figure 91) contains the information on the demand nodes. They are displayed after
loading the problem data or can be entered and changed manually. Entering the number of demand nodes
(Destinations) adjusts the size of the input sheet. If the number is reduced, surplus entries are deleted after
confirmation.
LogisticsLab 5.3 / Manual 57
After the optimisation, the Destinations tab displays the destination-relevant solution details.
In the Source column, LogisticsLab enters the name of the assigned location and in the columns Distance
and Costs the corresponding information regarding the relation destination-location. These values cannot
be changed manually.
It is possible to enter a different location identifier in the Source column and thus define a new customer-
location assignment. After entering the new location, LogisticsLab/CLP calculates the costs and displays the
changed values for the distances and costs depending on it in all tabs. Furthermore, the network graphic is
updated.
A new destination can be added via the Add button. The Delete button deletes the selected destination.
The destination list can be printed using the Print button.
With a click on a destination in the Nr column, it is marked with a red flag in the map. A mouse click on the
upper left grey field Nr restores the normal display of all clients. Clicking on the Fixed column heading again
deletes all fixed assignments. A double-click in the Fixed column of a customer line changes the fixation of
this destination.
The Locations tab (Figure 92) contains the details of the locations whose positions are to be determined by
the optimisation. It is also possible to specify fixed positions for certain locations, to fix them and thus ex-
clude them from the optimisation. After loading the problem data, the location data is displayed. They can
also be entered manually and changed interactively.
LogisticsLab 5.3 / Manual 58
By entering the number of locations (Sources), the size of the input sheet is adjusted automatically. If the
number of locations is reduced, excess entries are deleted after confirmation.
The following information can be entered for the individual locations:
• Fixed: Fixing the location,
• Name: Name of the site; If no name has been entered, the LogisticsLab/CLP automatically assigns
default identifiers (S001, S002, ...),
• Lat., Long: The coordinates of the location can be pre-set and remain unchanged after the location
has been fixed. By default, the coordinates are pre-set with zero and then determined by the algo-
rithm.
After the optimisation, the results for each location are entered in the following columns:
• Destinations: Number of assigned destinations,
• Volume: Delivery volume to the assigned destinations,
• Costs: total costs for delivery to the assigned destinations,
• Nearest dest.: Name of the nearest destination,
• Distance: Distance to the nearest destination.
These columns cannot be changed manually. If, however, the coordinates of a location are changed, the
result values are recalculated and displayed.
A new location can be created via the Add button. The button Delete deletes the selected location. The Del.
coord. button deletes the coordinates of all non-fixed locations, i.e. the location coordinates are set to zero.
The Move button moves the non-fixed locations to the nearest destination location. Afterwards, all charac-
teristic values are recalculated and the displays are updated. The Print button can be used to print the loca-
tion list.
If one clicks on a location in the Nr column, it is marked with a blue flag in the map. A mouse click on the
column header Nr restores the normal display of all locations.
A mouse click on the column header Fixed field fixes all locations. Clicking on it again removes all fixations.
A double click in the Fixed column of a location row changes the fixation of this location.
After a mouse click on the column header Name, the standard names S001, S002 ... are entered for all loca-
tions that do not yet have a name.
LogisticsLab 5.3 / Manual 59
After entering the data, it should be saved with the menu item Save Problem or Save Problem as.
Figure 94: Display of the key figures of a solution in the data area Problem in LogisticsLab/CLP
In addition, the location coordinates can be viewed in the Sources tab (Figure 96) and the destination as-
signments in the Destinations tab (Figure 95).
Figure 95: Representation of the recipient assignments in the Destinations tab in LogisticsLab/CLP
Figure 96: Display of the coordinates of the locations in the Sources tab in LogisticsLab/CLP
The results can be saved as a text file with the file extension SOLX.
LogisticsLab 5.3 / Manual 61
Contact
Prof. Dr Mike Steglich
General Business Administration / Quantitative Methods / Management Accounting
Technical University Wildau
Department of Business, Informatics, Law
Hochschulring 1
15745 Wildau
[Link]@[Link]
LogisticsLab 5.3 / Manual 62
13 Sources
Ahuja, R.K., T.L. Magnanti and J.B. Orlin (2013): Network Flows: Theory, Algorithms, and Applications, Pear-
son New International Edition, Pearson, Harlow.
Calik, H., M. Labbé and H. Yaman (2015): p-Center Problems, in: G. Laporte, S. Nickel and F. Saldanha da
Gama (eds.): Location Science, Springer, Cham et al., p. 79–92.
Chen, D.-S., R.G. Batson and Y. Dang (2010): Applied Integer Programming: Modeling and Solution, Wiley,
Hoboken.
Daskin, M.S. (2013): Network and Discrete Location: Models, Algorithms, and Applications, 2. ed., Kindl
eBook, Wiley, Chichester.
Daskin, M.S. und K.L. Maass (2015): The p-Median Problem, in: G. Laporte, S. Nickel und F. Saldanha da
Gama (Hrsg.): Location Science, Springer, Cham et al., S. 21–45.
Drezner, Z. (2011): Continuous Center Problems, in: H. A. Eiselt and V. Marianov (eds.): Foundations of Lo-
cation Analysis, Springer US, p. 63–78.
Eiselt, H.A. and V. Marianov (2011): Pioneering Developments in Location Analysis, in: H. A. Eiselt and V.
Marianov (eds.): Foundations of Location Analysis, Springer, New York et al., p. 3–22.
Fernández, E. and M. Landete (2015): Fixed-Charge Facility Location Problems, in: G. Laporte, S. Nickel and
F. Saldanha da Gama (eds.): Location Science, Springer, Cham et al., p. 47–78.
García, S. and A. Marín (2015): Covering Location Problems, in: G. Laporte, S. Nickel and F. Saldanha da
Gama (eds.): Location Science, Springer, Cham et al., p. 93–114.
Ghiani, G., G. Laporte and R. Musmanno (2013): Introduction to Logistics Systems Management, 2. ed.,
Wiley, Chichester.
Hillier, F.S. and G.J. Lieberman (2015): Introduction to Operations Research, 10th ed., McGraw-Hill, New
York et al.
Laporte, G., S. Ropke and T. Vidal (2014): Heuristics for the Capacitated Vehicle Routing Problem, in: P. Toth
and D. Vigo (eds.): Vehicle Routing: Problems, Methods, and Applications, 2. ed., SIAM, p. 87–116.
Mattfeld, D. and R. Vahrenkamp (2014): Logistiknetzwerke: Modelle für Standortwahl and Tourenplanung,
2. ed., Springer Gabler, Wiesbaden.
Neema, M.N., K.M. Maniruzzaman and A. Ohgai (2011): New Genetic Algorithms Based Approaches to Con-
tinuous p-Median Problem, in: Networks and Spatial Economics 11, p. 83–99.
Steglich, M., Feige, D. and P. Klaus (2016): Logistik-Entscheidungen: Modellbasierte Entscheidungsunter-
stützung in der Logistik mit LogisticsLab, 2nd ed., De Gruyter, Berlin and Boston
Vanderbei, R.J. (2014): Linear Programming: Foundations and Extensions, 4. ed., Springer, New York et al.
Williams, H.P. (2013): Model Building in Mathematical Programming, 5. ed., Wiley, Chichester.
Yildirim, M.B. (2009): Network Optimization, in: A. R. Ravindran (eds.): Operations Research Methodologies,
CRC Press, Boca Raton, p. 4-1–4-20.
Open Traveling Salesman Problems differ from traditional Traveling Salesman Problems primarily in that the starting and ending nodes may not be the same. In Open TSP, there are several variants such as having a specified start and end node, a specified start node with a free end node, a specified end node with a free start node, or free start and end nodes. This aspect introduces flexibility in choosing paths which are not present in the traditional TSP, where the tour starts and ends at the same node .
Solutions to Warehousing and Location Problems in LogisticsLab are represented through problem tabs showing source and destination details, including costs and assignment data. These solutions can be visualized on maps and involve setting geographic and logistical details manually or through automated server-based retrieval of data. Limitations include the rigidity of some solution parameters post-optimization, such as fixed assignments and cost information, which cannot be changed manually once computed. Users must re-optimize if changes are desired .
LogisticsLab uses heuristics to solve optimization problems, resulting in solutions that can differ between optimization runs. This is due to the non-deterministic nature of the heuristics applied in the system. As a result, the same problem may yield different solutions depending on the run .
Setting cost factors is significant in edge-related calculations for Vehicle Routing Problems as it directly influences the cost-effectiveness of the routing decisions. These factors, when combined with distance or time data, enable an accurate estimation of the transportation costs associated with various route options. This plays a critical role in optimizing routes that minimize overall costs while meeting service levels, factoring in both fixed and variable costs necessary for effective decision-making in logistics management .
LogisticsLab optimizes warehouse location problems by considering factors such as fixed costs, supply capacity, and demand at destination points. Users can specify whether the problem should include capacity constraints, time constraints for optimization, and whether the objective function should be weighted by demand. These constraints guide the heuristic algorithms to determine optimal or near-optimal locations for warehouses while balancing transportation costs and service levels .
The heuristic approach used by LogisticsLab involves non-deterministic methods, allowing it to explore various potential solutions without exhaustively evaluating every possibility. This approach can efficiently produce good solutions within limited time and computational resources. However, it also means results can vary between runs due to the inherent randomness in heuristics, potentially leading to different solutions even when solving the same problem repeatedly .
LogisticsLab facilitates the visualization and interpretation of optimization solutions through graphical representations and detailed tabular data. For instance, it provides map visuals indicating nodes and edge traversals in solutions like TSP and CPP, with thickness variations indicating multiple traversals. It also highlights specific parts of solutions on maps, enhancing user understanding and analysis of the optimized network. Additionally, the solution and node details are displayed in the Solution tab for more in-depth review .
LogisticsLab can optimize delivery networks by utilizing geographical coordinates alongside demand data to model and analyze different routing scenarios efficiently. The system can retrieve and display node coordinates, allowing visualization and assessment of geographic feasibility. Furthermore, demand data informs the allocation of supply and optimizes route selection to satisfy demand at a minimal transportation cost. This approach supports dynamic adjustment of location assignments based on the best possible distribution of resources .
In LogisticsLab, the distance/cost factor serves as a multiplier that adjusts the calculated distances or travel times between nodes to account for specific cost considerations. The choice of distance calculation method such as Great Circle, Euclidean, or Manhattan impacts how distances are computed, influencing the accuracy and applicability of the model to real-world scenarios. This combination ensures the distance matrix reflects the cost implications of the chosen routes accurately .
Defining whether edges are directed or undirected is crucial because it influences the traversal strategy in solving Chinese Postman Problems. Directed graphs require attention to the directionality of path traversal, meaning each directed edge needs to be traversed as directed. In contrast, undirected paths allow bi-directional travel, which can affect the solution path and its optimization. This distinction helps determine the necessary extensions to achieve a Euler circuit where each edge is traversed precisely once or more if necessary .