0% found this document useful (0 votes)
28 views62 pages

LogisticsLab 5.3 User Manual

LogisticsLab 5.3 is an academic software designed for decision support in logistics, enabling users to model and solve various logistical problems such as transportation, network flow, and vehicle routing. The software is available for free academic use and can be easily installed on Microsoft Windows systems. It integrates OpenStreetMap functionalities for visualization and data generation, enhancing the user experience in solving logistical challenges.

Uploaded by

too im
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views62 pages

LogisticsLab 5.3 User Manual

LogisticsLab 5.3 is an academic software designed for decision support in logistics, enabling users to model and solve various logistical problems such as transportation, network flow, and vehicle routing. The software is available for free academic use and can be easily installed on Microsoft Windows systems. It integrates OpenStreetMap functionalities for visualization and data generation, enhancing the user experience in solving logistical challenges.

Uploaded by

too im
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

LogisticsLab

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

1 About LogisticsLab and Installation


LogisticsLab is an academic software for decision support in logistics. This software can be classified as a
problem-oriented decision support system that can be used to model and solve transportation problems,
network flow problems, traveling salesman problems, Chinese postman problems, vehicle routing planning
problems and location problems in different variations.
LogisticsLab was originally developed under the name EUS teaching software by DIETER FEIGE for the Busi-
ness Administration and Logistics courses at the Friedrich-Alexander-University of Erlangen-Nuremberg and
fundamentally revised and expanded by MIKE STEGLICH from the Technical University of Applied Sciences
Wildau.
LogisticsLab is provided under the LogisticsLab Academic License. It is available for academic use (such as
research and teaching or for reproducing case studies in academic textbooks) free of charge and without
warranty. It can be downloaded from the website [Link] and installed and used on an un-
limited number of computers.
The software can only be run under Microsoft Windows (64 Bit, version ≥ 10).
For installation, the first step is to download the software from [Link] as a ZIP file logis-
[Link]. X-Y-Z is the version number. Then unpack the ZIP file. A special installation is
not necessary, as the software can be used immediately after un-packing. However, it is advisable to
change the path LogisticsLab to c:\Program Files\LogisticsLab.
After installation, there are several EXE files in the program path regarding the supported groups of logisti-
cal decisions, which are listed below:
• [Link] Transportation Problems,
• [Link] Network Flow Problems,
• [Link] Travelling Salesman and Chinese Postman Problems,
• [Link] Vehicle Routing Problems,
• [Link] Discrete Location Problems,
• [Link] Continuous Location Problems.

2 LogisticsLab in a glance

2.1 Program interface


The structure of the user interface of each part of the program follows a uniform structure, as shown in
Figure 1 for LogisticsLab/VRP as an example. In addition to the usual elements, the user interface has a
network area on the left-hand side of the program with the graphical representation of the network or the
solution found for this network and a data area on the right-hand side in which several areas can be select-
ed via tabs and filled with the necessary data. Generally, interactive data entry and modification takes place
in the data area. The network and the data area can be spread over the entire screen.
LogisticsLab 5.3 / Manual 5

Figure 1: Program interface

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.

Figure 2: Node pop-up with additional information

The map switch in the upper left corner of the network area allows the user to switch to a simple map.

Figure 3: for changing between the different map types


LogisticsLab 5.3 / Manual 6

SimpleMap is also used when the coordinates are not geographical.

Figure 4: Example of a SimpleMap in LogisticsLab/VRP

2.2 Menu entries


The menus of the individual program packages consist of the unified function groups File, Optimisation and
Print. Each menu item can also be quickly accessed via corresponding key combinations (shortcuts).
File:
• New Problem (Ctrl-N)
Create a new problem. New data can be entered. For some programs, a data generator can be op-
tionally started, which generates random-based sample data according to entered specifications.
• Open Problem (Ctrl-O)
Loading the data of a problem from a program-dependent data file.
• Save Problem (Ctrl-S)
Saving the problem data to a file. Either the name under which the data was previously loaded is
used or a new file name is requested if the data was newly entered.
• Save Problem as ... (Shift-Ctrl-S)
Before saving the data, the system always asks for a new file name.
• Save Solution as ... (Ctrl-L)
Save the optimisation result under a predefined file name in a text file with the extension SOLX.
• Import nodes (and edges) from Excel Distance Matrix as ... (Ctrl-I)
Imports nodes and edges (only TSP and NWF) from Excel.
• Export nodes (and edges) from Excel Distance Matrix as ... (Ctrl-I)
Exports nodes and edges (only TSP and NWF) to Excel.
• Exit (Ctrl-Q)
Exit the program
LogisticsLab 5.3 / Manual 7

Optimisation:
• Create Distance Matrix
Opens a dialogue for generating a distance/time/cost matrix.

Figure 5: Dialogue for generating a distance/time/cost matrix in LogisticsLab/TSP

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

Figure 6: Toolbar in LogisticsLab/VRP

2.3 OpenStreetMap functions


As of version 5, LogisticsLab uses several functionalities of OpenStreetMap to support visualisation and
data generation for realistic logistical decision-making problems.
Integration of OpenStreetMap maps
The OpenStreetMap Foundation (OSMF) provides map data, e.g. for websites and applications, in accord-
ance with the Open Data Commons Open Database Licence (ODbL)1. The maps may be used for any pur-

1 [Link]: OpenStreetMap, [Link] as of July 2024.


LogisticsLab 5.3 / Manual 8

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.

Figure 8: Marker for nodes in LogisticsLab

Figure 7: Marker with pop-up

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

Figure 9: Illustration of a solution in LogisticsLab/NWF

Integration of geocoding functionalities from Photoon


The collection and input of data from the network nodes is sometimes very time-consuming. The focus
here is on the geographical coordinates, which are required on the one hand for display on a map and on
the other for determining distances and, if necessary, travelling times between the individual nodes.
A geocoder can be used to determine the geographical coordinates of the node under consideration using
an address or an address fragment. LogisticsLab uses the open-source geocoder Photon2, which works with
OpenStreetMap data and can be accessed via a web-based API (Application Programming Interface). As
access to the original Photon server can be limited if it is used extensively, a separate Photon server was set
up for LogisticsLab, which is hosted by the Technical University of Applied Sciences Wildau.
In LogisticsLab, Photon can be used in two different ways. One option is to enter the addresses or parts of
the addresses of the nodes in the corresponding columns of a node list and then determine the geograph-
ical coordinates via the Photon server. Figure 10 shows an example of a route planning problem in Logis-
ticsLab/VRP. In the data area of this module, two customers and their addresses have been entered in the
Nodes tab. The latitude and longitude of all nodes can then be called up via the All coords button or for the
selected node via Node coords.

Figure 10: Node list before determining the coordinates in LogisticsLab/VRP

2 Photon, [Link] as of July 2024.


LogisticsLab 5.3 / Manual 10

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.

Figure 11: Node list after determining the coordinates in LogisticsLab/VRP

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

Figure 13: Address search in LogisticsLab

Figure 13: Added node after address search

Determining distances, travel times and routes with OSRM


To solve a logistical decision problem, it is necessary to determine the weights of the edges connecting the
individual nodes. For tasks with real addresses and roads, the distances and journey times can be retrieved
in LogisticsLab via the Open Source Routing Machine (OSRM). In addition, OSRM is used after an optimisa-
tion has been completed to retrieve the routes on real roads for the solution and ultimately display them
on a map. OSRM is an open-source project that uses OpenStreetMap data to determine shortest paths in
road networks in a very efficient way3.
LogisticsLab uses OSRM functionalities to determine the distance and travel time matrices. There are sever-
al freely available servers for OSRM, whose access can be restricted in the same way as Photon if used ex-

3 OpenStreetMap: OSRM API-Documentation, [Link] as of July 2024.


LogisticsLab 5.3 / Manual 11

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

Figure 15: 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

Figure 16: Entering nodes

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

Figure 17: Creating an edge in the LogisticsLab/TSP map

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

Figure 18: Visualisation of edges in LogisticsLab/TSP

Using OpenStreepMap functionalities with a proxy server


If a proxy server is used, then two corresponding entries have to be entered in the [Link] file
which is located in the root directory of LogisticsLab. The following example shows the entries for the proxy
server of the University of Applied Sciences Wildau. Please use your own proxy entries.
httpProxy = [Link]
httpsProxy = [Link]

If no proxy server is used, then these entries must be empty as follows:


httpProxy =
httpsProxy =

It is strongly recommended to leave all other entries as they are.

2.4 File formats


Problem and solution files
The data of the programs are stored and loaded in text files with a particular format. To distinguish the data
for the different programs, the files are given the program abbreviation as file extensions, i.e.: TPPX, NWFX,
TSPX, VRPX, DLPX and CLPX.
The following principles apply to data files in text format:
• The records are defined line by line as ASCII text.
• The data fields are separated with a tabulator.
• Each file begins with the particular keyword for the program for identification. This keyword can be
followed by information on the date and time on the same line.
• The first line is followed by a comment line, which can be freely described or left blank.
• A section for options begins with the keyword OPTIONS, which is followed by the corresponding
options in the following lines.
LogisticsLab 5.3 / Manual 14

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

Excel files for import and export of nodes and edges


In addition to the problem files, LogisticsLab offers the opportunity to export and import nodes and edges
to and from Excel4 for a data exchange between the different LogisticsLab modules. It is also possible to
create such a file in LogisticsLab, edit the data in Excel and import it into LogisticsLab. These Excel files have
a defined structure that is generated by LogisticsLab during the export of a problem. An example of vehicle
routing problem data is shown in Figure 19.

Figure 19: Example of an Excel file with LogisticsLab data

3 TPP – Solving Transport Problems


LogisticsLab/TPP is a software that can be used to solve single-stage classical transport problems and bot-
tleneck transport problems in different variants (capacitated, non-capacitated, single-source, with supply or
demand surplus, etc.)5.

3.1 Program interface


After starting the program, the program window shown in Figure 20 appears, which is divided into four
areas:
1. At the top is the menu bar and toolbar for general functions.
2. The left half of the window is used for the map view of the problem.
3. The right half of the window contains the data area for editing the problem data.
4. There is a status bar at the bottom of the window.

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

Figure 20: Program interface - LogisticsLab/TPP

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

3.2 Entering the problem data


LogisticsLab/TPP is used to solve transport problems, whereby a new problem must be generated in a first
step. The menu item File → New Problem or the New Problem button in the toolbar can be used for this.
The problem data are generated according to the specifications of the data generator (Figure 21). The fol-
lowing specifications can be entered:
• Problem comment,
• Number of sources and destinations,
• Average quantity offered by a source
• average quantity required by a destination,
• average step-fixed cost on an edge between a source and a destination,
• average capacity on an edge between a source and a destination.
LogisticsLab 5.3 / Manual 16

Figure 21: Creating a problem in LogisticsLab/TPP

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

Figure 22: Problem tab in LogisticsLab/TPP


LogisticsLab 5.3 / Manual 17

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.

Figure 23: Sources tab in LogisticsLab/TPP

Figure 24: Destinations tab in LogisticsLab/TPP

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.

Figure 25: Calculation of variable costs in LogisticsLab/TPP

The result of this calculation is shown in the Variable costs tab (Figure 26). The values cannot be changed.

Figure 26: Variable costs tab in LogisticsLab/TPP

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.

Figure 27: Fixed costs tab in LogisticsLab/TPP


LogisticsLab 5.3 / Manual 19

Figure 28: Capacities tab in LogisticsLab/TPP

After entering the data, it should be saved with the menu item Save Problem or Save Problem as.

3.3 Optimisation and results


If all data is available for a transportation problem, the problem can be solved by selecting either the Opti-
misation → Start Optimisation menu or the Optimise button in the toolbar and the dialogue shown in Fig-
ure 29 appears.

Figure 29: Optimisation dialogue in LogisticsLab/TPP

In this dialogue, various settings can be selected for optimisation:


• Objective sense:
o Min, Max - minimisation or maximisation for classic transportation problem
o MiniMax - for bottleneck problems
• Problem type:
o Standard TPP - corresponds to the classic transportation problem
o Bottleneck-TPP - Bottleneck transport problem
• Objective function issues - additional conditions in the objective function:
o Including fixed costs - The step-fixed costs are included in the objective function in addition
to the variable costs.
LogisticsLab 5.3 / Manual 20

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

Figure 30: Representation of the solution in LogisticsLab/TPP

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

Figure 31: Highlighted part of the solution

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.

Figure 32: Representation of a LogisticsLab/TPP solution in Excel


LogisticsLab 5.3 / Manual 22

4 NWF – Solving Network Flow Problems


LogisticsLab/NWF is intended for solving network flow problems, which can be modelled as min-cost flow
problems6.

4.1 Program interface


Like the TPP program, the NWF program interface is divided into four areas: menu and toolbar, network
area, data area and status bar (Figure 33).

Figure 33: Program interface - LogisticsLab/NWF

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

4.2 Entering the problem data


The data area on the right side of the NWF program interface contains four tabs for entering data and out-
putting the optimisation results (Problem, Nodes, Edge editor and All edges).
The first step is to generate a new problem. To do this, select the menu item File → New Problem or the
New Problem button in the toolbar. In addition to a comment, the number of nodes must be entered
(Figure 34). Geographical coordinates can be generated randomly based on a set of European cities and
villages or as empty geographical coordinates. The generated coordinates can be edited afterwards.

6 Steglich et al. (2016), p. 164 ff., Hillier and Liebermann (2015), p. 397., Yildirim (2009), p. 4-3.
LogisticsLab 5.3 / Manual 23

Figure 34: Creating a problem in LogisticsLab/NWF

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.

Figure 35: Problem tab in LogisticsLab/NWF

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

Figure 36: Nodes tab in LogisticsLab/NWF

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.

Figure 37: Edge editor in LogisticsLab/NWF

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

Figure 38: Calculation of variable costs in LogisticsLab/TPP

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.

Figure 39: Tab All edges in LogisticsLab/NWF

After entering the data, it should be saved with the menu item Save Problem or Save Problem as.

4.3 Optimisation and results


The optimisation can be started by clicking the Start Optimisation icon in the toolbar or the menu Optimisa-
tion → Start Optimisation. Afterwards, a window appears informing the user about the progress of the op-
timisation and showing the characteristic values of the solution found (Figure 40).
LogisticsLab 5.3 / Manual 26

Figure 40: Optimisation dialogue in LogisticsLab/NWF

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.

Figure 41: Representation of a solution in LogisticsLab/NWF

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

8 [Link] and [Link] as of July 2024.


LogisticsLab 5.3 / Manual 27

5 TSP – Solving Traveling Salesman Problems


The TSP program is used for solving Traveling Salesman Problems9, Open Traveling Salesman Problems10
and Chinese Postman Problems11 for symmetrical and asymmetrical distances between the locations to be
approached.
The Travelling Salesman Problem is characterised by a network with a certain number of nodes to be visited
one after the other. Of the many possible sequences, the one that minimises a certain criterion (total dis-
tance, cost or traveling time) must be found. The following conditions apply:
• The tour starts and ends at a specific node.
• All nodes must be included in the round trip.
• Each node must be visited at least once.
There are additional problems in which all nodes must be visited, but the starting node and the destination
node are different. Such problems are called and Open Traveling Salesman Problems and can be divided
into the following four types:
1. Open TSP with fixed start and end node,
2. Open TSP with fixed start node and free end node,
3. Open TSP with fixed end node and free start node,
4. Open TSP with free start and end node.

5.1 Program interface


After starting the program, the program window shown in Figure 42 appears, which consists of a network
area and a data area.

Figure 42: Program interface - LogisticsLab/TSP

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.

5.2 Entering the problem data


The data area on the right-hand side of the TSP program interface contains five tabs for entering data and
outputting optimisation results (Problem, Nodes, Edges, Distances, Solution).
The first step is to generate a new problem. To do this, select the menu item File → New Problem or the
New Problem button in the toolbar. In addition to a comment, the number of nodes must be entered
(Figure 43). Geographical coordinates can be generated randomly based on a set of European cities and
villages or as empty geographical coordinates. The generated coordinates can be edited afterwards.

Figure 43: Creating a problem in LogisticsLab/TSP

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.

Figure 44: Problem tab in LogisticsLab/TSP

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.

Figure 45: Nodes tab in LogisticsLab/TSP

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

Figure 46: Dialogue for calculating the distance matrix in LogisticsLab/TSP

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.

Figure 47: Distances tab in LogisticsLab/TSP

After entering the data, it should be saved with the menu item Save Problem or Save Problem as.

5.3 Optimisation and results


After entering all the data, the problem can be solved by selecting either the Optimisation → Start Optimi-
sation menu or the Optimise button in the toolbar. In the optimisation dialogue that appears (Figure 48),
select the type of problem and the method to be used.
LogisticsLab 5.3 / Manual 31

Figure 48: Optimisation dialogue in LogisticsLab/TSP

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

Figure 49: Representation of a solution in LogisticsLab/TSP


LogisticsLab 5.3 / Manual 32

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

6 TSP – Solving Chinese Postman Problems


LogisticsLab/TSP can be also used to solve Chinese Postman Problems13 in undirected, directed and mixed
networks. Starting from a start node, each edge (directed or undirected) is to be traversed at least once
and returned to the start node at the end of the round trip. The edge-oriented round trip to be found
should minimise the total distance (or other adequate evaluation).
The Chinese Postman Problem can actually be applied to determine routes for postmen, but also to plan
street cleaning or winter service by a vehicle in a given street network or to efficiently design waste collec-
tion. For example, a postman has to serve every street in a delivery district. In doing so, it may be necessary
to pass through certain streets again after a delivery in order to reach another delivery street due to the
street network. Traversing a street without a delivery represents an unproductive leg of the journey. It is
obvious that it is in the interest of the postman to minimise these unproductive routes and ultimately the
total distance of the delivery route from the starting point via all delivery streets back to the starting point.

6.1 Entering the problem data


Except for the necessary edges, entering the data is identical to editing a Traveling Salesman Problem.
The following example deals with a road survey to be carried out in a defined area in Schultzendorf, a small
town in the south-east of Berlin. Each road located in this area must be observed, whereby the distance
required should be as short as possible.
The network is defined by the crossings ant the streets joining the crossings. The crossings with their geo-
graphical coordinates are listed in the following table.
ID Lat Lon
N01 52.34529 13.59296
N02 52.34683 13.59646
N03 52.34817 13.5995
N04 52.34520 13.59273
N05 52.34445 13.59407
N06 52.34593 13.59749
N07 52.34654 13.60172
N08 52.34732 13.60064
N09 52.34517 13.59836
N10 52.34381 13.59525
Table 1: Table with geographical coordinates for the Chinese Postman Example

After editing the nodes, the map and the Node tab looks as follows:

12 [Link] and [Link] as of July 2024.


13 Steglich et al. (2016), p. 321 ff., Ahuja et al. (2013), p.740.
LogisticsLab 5.3 / Manual 33

Figure 50: LogisticsLab/TSP with Chinese Postman Example

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.

Figure 51: Edge editor in LogisticsLab/CPP

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

Figure 52: Displaying edges in LogisticsLab/TSP

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.

Figure 53: Dialogue for calculating the distance matrix in LogisticsLab/TSP

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.

6.2 Optimisation and results


After entering all the data, the problem can be solved by selecting either the Optimisation → Start Optimi-
sation menu or the Optimise button in the toolbar. Then select the problem type Chinese Postman Problem
in the optimisation dialogue that appears (Figure 55).

Figure 55: Optimisation dialogue in LogisticsLab/TSP

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

Figure 56: Representation of the solution of the Chinese Postman Problem

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

7 VRP – Solving Vehicle Routing Problems


With a Traveling Salesman Problem, a number of nodes are to be served on the shortest possible route,
whereby no capacities are considered. However, if the demands of the individual nodes were included, it
would have to be assumed that the capacity of the vehicle used is greater than or equal to the sum of the
demands of all nodes. However, if the total quantity to be delivered to or collected from the nodes exceeds
the loading capacity of a single vehicle, then the nodes must be supplied on several routes. Problems of this
type belong to the group of Vehicle Routing Problems.15
In the Vehicle Routing Problem, a number of demand nodes are to be served from a depot. The demand of
each individual demand node is known and is less than or equal to the capacity of the type of vehicle used.
Furthermore, the weights of the edges (e.g. distances or costs) between the nodes (depot and demand
nodes) are known. The demands of the demand nodes are to be assigned to tours in considering the capac-
ities of the vehicles. For the individual tours, the routes from the depot via the demand nodes assigned to
the tours and back to the depot are to be found. The total costs or the total distance travelled of all tours is

14 [Link] and [Link] as of July 2024.


15 Steglich et al. (2016), p. 281 f., Chen et al. (2010), p. 146 ff., Ghiani et al. (2013), p. 368 ff.
LogisticsLab 5.3 / Manual 37

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.

7.1 Program interface


After starting the program, the program window shown in Figure 57 appears, which consists of a network
area and a data area.

Figure 57: Program interface - LogisticsLab/VRP

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.

7.2 Entering the problem data


The data area on the right side of the VRP program interface contains seven worksheets for the data (Prob-
lem, Nodes, Distances, Travel time) and two areas for the output of the solution (Routes, Route details).
The first step is to generate a new problem. To do this, the menu item File → New Problem or the New
Problem button in the toolbar can be selected.
In the dialogue that appears (Figure 58), the number of nodes (depot plus destinations) must be entered in
addition to a short description of the problem. Geographical coordinates can be generated randomly based
on a set of European cities and villages or as empty geographical coordinates. The generated coordinates
can be edited afterwards. Regarding the destinations, an average demand (Demand per node) can also be
entered. This is either assigned to all customers as a constant value if Volumes → Constant is selected or

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.

Figure 58: Creating a problem in LogisticsLab/CPP

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.

Figure 59: Problem tab in LogisticsLab/VRP

The following specifications for the optimisation are to be entered:


• Vehicles: Number of vehicles,
• Depot ID: ID of the depot,
• Capacity per vehicle: Capacity of the uniform vehicle,
• Max. route length: maximum possible distance of a route,
• Max. route duration: maximum possible duration of a route,
• Max. solving time: Maximum seconds used for optimisation.
Additionally, three constraints (Time windows, Limited route length and Limited route duration) can be in-
voked in the optimisation by activating the checkboxes.
In the tab Nodes (Figure 60) all information about the nodes are entered. You can add a node with the Add
button. It can be deleted using the button Delete.
LogisticsLab 5.3 / Manual 39

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.

Figure 60: Tab Nodes in LogisticsLab/VRP

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.

Figure 61: Dialogue for calculating the distance matrix in LogisticsLab/VRP

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

Figure 62: Distances tab in LogisticsLab/VRP

Figure 63: Travel time tab in LogisticsLab/VRP

After entering the data, it should be saved with the menu item Save Problem or Save Problem as.

7.3 Optimisation and results


After entering all data, the problem can be solved by selecting either the menu Optimisation → Start Opti-
misation or the button Optimise in the toolbar.
The solution to the problem under consideration is displayed in both the network and data areas (Figure
64). LogisticsLab/VRP has the Routes and Route details tabs for displaying the planned routes.
LogisticsLab 5.3 / Manual 41

Figure 64: Representation of a solution in LogisticsLab/VRP

In the Routes tab (Figure 65), all the tours found are displayed in an overview.

Figure 65: Representation of a solution in the Routes tab in LogisticsLab/VRP

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

Figure 66: Representation of a solution in the tab Routes details in LogisticsLab/VRP

Figure 67: Details of a solution in the tab Routes details in LogisticsLab/VRP

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.

8 DLP – Solving Warehouse Location Problems


LogisticsLab/DLP is intended for solving discrete single-source location problems, specifically (capacitated
and uncapacitated) Warehouse Location Problems17, Covering Location Problems18, Maximal Covering

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.

8.1 Program interface


After starting the program, the program window shown in Figure 68 appears, which, like all other compo-
nents of LogisticsLab, consists of a network area and a data area.

Data area ith


Men regi ter
l ar

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

19 Steglich et al. (2016), p. 424 ff., Daskin (2013), pos. 3128ff.


20 Steglich et al. (2016), p. 380 ff., Daskin and Maas (2015), p. 25f.
21 Steglich et al. (2016), p. 390 ff., Daskin (2013), pos. 4272.
LogisticsLab 5.3 / Manual 44

destinations. If a potential location is not chosen, then it is shown with a light-blue marker otherwise with a
blue house.

8.2 Entering the problem data


The data area on the right side of the DLP program interface contains four tabs for entering data (Problem,
Sources, Destinations, Variable costs).
The first step is to generate a new problem. To do this, the menu item File → New Problem or the New
Problem button in the toolbar can be selected.
In the dialogue that appears (Figure 69), in addition to a short description of the Problem, the Nr. of poten-
tial sources and the Nr. of destinations must be entered. Geographical coordinates can be generated ran-
domly based on a set of European cities and villages or as empty geographical coordinates. The generated
coordinates can be edited afterwards.
Furthermore, the average Supplies and Demands can be entered. These values are assigned to the potential
locations or the demand nodes as a constant value if Supplies/Demands → Constant is selected, or random
supplies and demands are generated in the interval of [-25%, +25%] if Supplies/Demands → Variation (+/-
25%) is selected.
An analogous approach can be taken for the average fixed costs of the potential locations (Fixed costs) and
the average variable transport costs (Variable costs) between the locations and the demand nodes.

Figure 69: Creating a problem in LogisticsLab/WLP

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

Figure 70: Problem tab in LogisticsLab/WLP

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

Figure 71: Sources tab in LogisticsLab/DLP

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

Figure 72: Destinations tab in LogisticsLab/DLP

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.

Figure 73: Calculation of variable costs in LogisticsLab/DLP

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

Figure 74: Variable costs tab in LogisticsLab/DLP

8.3 Optimisation and results


The problem can be solved if all data are available. For this purpose, the problem type Warehouse location
has to be chosen in the tab Problem (Figure 70). In addition, a user has to decide to solve the problem con-
sidering the capacities of the potential location or not (Capacitaty constraint). 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 75).

Figure 75: Representation of the solution of the WLP example in LogisticsLab/DLP

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.

9 DLP – Solving Covering and Maximal Covering Location Problems


LogisticsLab/DLP can also solve Covering Location Problems22 and Maximal Covering Problems23.
The covering location problem seeks to find the minimum number of locations (or the minimum of their
operating costs) and their optimal locations to cover the demand within a specified area (diameter based
on distances, times, service level).

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.

9.1 Entering the problem data


The process of entering the problem data is identical to that of a Warehouse Location Problem, although
not all data is used for both covering location problems.
If not the operation costs of the potential locations, but the number of locations shall be considered, then
the fixed cost in the tab Sources have to be equal to one.
If real street distances should be used, then the distances have to be generated again with a distance factor
equal to one (Figure 78).

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 79: Distance matrix in LogisticsLab/DLP

9.2 Optimisation and results


The problem can be solves if all data are available. For this purpose, the problem type Set covering location
or Maximal covering location has to be chosen in the tab Problem (Figure 80 and Figure 81).

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.

10 DLP – Solving p-Median and p-Centre Location Problems


As of version 5.2, it is possible to solve p-Median24 and p-Centre problems25. P-Median problems aim at
minimising the sum of the weighted distances and consists of finding the optimal locations of p pre-
selected potential sources. The p-Centre problem aims at minimising of the maximum (weighted) distance
of the demand locations to the corresponding locations of p pre-selected potential sources.

10.1 Entering the problem data


The process of entering the problem data is identical to that of a Warehouse Location Problem, although
not all data is used for these problems.

10.2 Optimisation and results


The problem can be solved if all data are available. For this purpose, the problem type p-Median or p-
Centre has to be chosen in the tab Problem (Figure 84). In addition, a user has to decide to solve the prob-
lem considering the capacities of the potential location or not (Capacitaty constraint) and also whether the
demands are used to weight the cost rates of the edges (Demand weights).

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

Figure 84: Selection of problem type for a p-Median 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 both the Network and Data areas (Figure 85).

Figure 85: Representation of the solution of the p-Median example in LogisticsLab/DLP

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.

11 CLP – Solving Continuous p-Median and p-Centre Problems


LogisticsLab/CLP is a software to solve continuous median and centre problems. Continuous location prob-
lems determine the best possible greenfield location. The point where a planned logistics node can be op-
timally placed is to be found within a certain area. The individual points on a flat surface or on a spherical
surface represent the positions of a potential location.
The following two approaches are distinguished:
• The median problem aims at minimising the sum of the (weighted) distances and consists of finding
one or more optimal locations. Depending on the number p of locations sought, these problems are
also called p-Median Problems26.
• The centre problem aims at minimising of the maximum (weighted) distance of the demand loca-
tions to the corresponding locations and consists in the determination of one or more centres. De-
pending on the number p of locations sought, these problems are also called p-Centre Problems27.
Continuous planning algorithms provide point coordinates for locations, but these can rarely be used un-
changed. Usually, the identification of a theoretical location must be followed by an analysis in which the
sites located within a certain radius of the found point are examined regarding their suitability for the con-
struction of the facility and a suitable location is selected.

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

11.1 Program interface


After starting the program, the program window shown in Figure 88 appears, which, like all other compo-
nents of LogisticsLab, consists of a network area and a data area.
Data area ith
Men regi ter
l ar

Ma

a le
Stat ar and
et

Figure 88: Program interface - LogisticsLab/CLP

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

11.2 Entering the problem data


The data area on the right side of the CLP program interface contains three tabs for entering data (Problem,
Destinations, Sources). The first step is to generate a new problem. For this purpose, the menu item File →
New Problem or the button New Problem in the toolbar can be selected. In the dialogue that appears
(Figure 89), enter a short description of the Problem and the number of Destinations.
Geographical coordinates can be generated randomly based on a set of European cities and villages or as
empty geographical coordinates. The generated coordinates can be edited afterwards.
Regarding the destinations, an average demand (volume per destination) can also be specified. This is either
assigned to all recipients as a constant value if Volume per destination → Constant is selected or represents
the basis of randomly generated demands with an exponential distribution or uniform distributed in the
interval of [-50 %, +50 %]. Furthermore, an average distance between the recipients can also be entered
(Max. distance), which can be randomly varied in an interval of [-50 %, +50 %] or left as a constant value.
LogisticsLab 5.3 / Manual 56

Figure 89: Creating a problem in LogisticsLab/CLP

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.

Figure 90: Problem tab in LogisticsLab/CLP

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

For the destinations, the following information can be provided:


• Fixed: Fixing the destination to a location,
• Name: Name of the destination,
• Lat., Long: Coordinates of the location,
• Demand: Demand of the destination,
• Cost factor: Cost rate per kilometre and unit of the goods to be transported,
• City, PostCode, Street, Country: 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.

Figure 91: Destinations tab in LogisticsLab/CLP

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.

Figure 92: Sources tab in LogisticsLab/CLP

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.

11.3 Optimisation and results


Once all the data has been entered, the problem can be solved. To do this, the problem type (medians and
centre of gravity) and the distance function to be used (Distance → Euclidean, Great Circle, Manhattan)
must be selected in the Problem data area. In addition, it can be specified whether the capacities of the
locations should be considered (Capacity constraint) and the demands of the destinations should be in-
cluded in the objective function (Demand weighted).
Optimisation is started by selecting either the Optimisation → Start Optimisation menu or the Optimise
button in the toolbar.
The solution is displayed in both the network and data areas (Figure 93). The key figures of the solution can
be found in the Problem tab (Figure 94).
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.

Figure 93: Representation of a solution in LogisticsLab/CLP


LogisticsLab 5.3 / Manual 60

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

12 Authors and contact


PROF. DR DIETER FEIGE taught Computer-based Decision Support Systems in Logistics and Decision Support
Systems in Logistics at the Friedrich-Alexander University Erlangen-Nuremberg.
PROF. DR. MIKE STEGLICH teaches Business Administration, Quantitative Methods and Management Account-
ing at Technical University of Applied Sciences Wildau. He is also intensively involved in the development of
software for mathematical modelling and optimisation in several open-source projects.

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.

Common questions

Powered by AI

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 .

You might also like