---
title: "User Guide & Key Workflows"
description: "Explore TQRouting's core optimisation workflows, including defining routing problems, configuring constraints, running the solver and interpreting results, with links to documentation and examples."
url: https://help.terraquantum.io/en/articles/210-user-guide-and-key-workflows
collection: "TQrouting"
updated: 2026-11-02
language: en
---

# User Guide & Key Workflows

Explore TQRouting's core optimisation workflows, including defining routing problems, configuring constraints, running the solver and interpreting results, with links to documentation and examples.

TQRouting provides a flexible Python SDK for solving vehicle routing problems with real-world operational constraints.

This guide introduces the main workflows and capabilities, with links to detailed technical documentation and practical examples.

## 1\. Define Your Routing Problem

Start by defining the locations, customers and vehicles involved in your routing operation.

A typical routing problem includes:

-   **Customers:** Locations to visit, delivery or pickup requirements and service times.
    
-   **Vehicles:** Fleet size, capacity, starting locations and operating restrictions.
    
-   **Depots:** Locations where vehicles begin or end their routes.
    
-   **Constraints:** Operational requirements such as time windows, vehicle capacities and route limits.
    

TQRouting supports defining problems directly in Python or loading structured input data.

**Documentation:** [Defining a Problem](https://routing-docs.terraquantum.io/problem-definition/)

## 2\. Configure Distance & Duration Matrices

TQRouting uses travel distances and durations to calculate optimised routes.

You can provide your own matrices or generate them using supported integrations.

Available options include:

-   **Precomputed matrices:** Supply your own distance or travel-time data.
    
-   **Euclidean distances:** Calculate distances using Cartesian coordinates.
    
-   **OSRM:** Generate road-network distances and travel times.
    
-   **Google Maps:** Use Google Maps routing data.
    

The appropriate approach depends on your routing environment and data requirements.

**Documentation:** [Distance & Duration Matrices](https://routing-docs.terraquantum.io/matrices/)

## 3\. Configure & Run the Solver

Once your routing problem is defined, configure the optimisation settings and execute the solver.

Configuration options include optimisation time limits, computational resources and solver behaviour.

A typical workflow involves:

1.  Prepare your routing problem and input data.
    
2.  Configure the relevant optimisation settings.
    
3.  Run the solver using the TQRouting Python SDK.
    
4.  Review the resulting solution and performance metrics.
    

**Documentation:** [Solver Configuration](https://routing-docs.terraquantum.io/solver/)

## 4\. Explore Routing Constraints & Features

TQRouting supports a range of routing scenarios and operational requirements.

<table data-id="1c7406cd-a041-46b0-9339-7f51136c7009" style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p data-id="a919db48-2872-43c2-a25d-238e4f1fb546">Capability</p></th><th colspan="1" rowspan="1"><p data-id="56ba7986-f374-4fb5-bcb2-a33c060e18e4">Description</p></th></tr><tr><td colspan="1" rowspan="1"><p data-id="00ab1630-0460-47d0-a1f9-055c6f6c1e6d"><strong>Capacity Constraints</strong></p></td><td colspan="1" rowspan="1"><p data-id="4b401d89-4a5b-4fc0-b8c8-39cf964a9941">Account for vehicle weight or volume limitations</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="88bba4cd-72fd-4968-b353-e379036ad959"><strong>Time Windows</strong></p></td><td colspan="1" rowspan="1"><p data-id="11824837-7362-4206-b029-530483d44b51">Schedule visits within specified time periods</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="fc9870d4-91b2-4e8d-97a3-ee1d5303e61f"><strong>Multi-Trip Routes</strong></p></td><td colspan="1" rowspan="1"><p data-id="7d5f235d-99e6-4e56-a818-1b8beb91032f">Allow vehicles to return to a depot and complete additional trips</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="640fff4e-25d5-4a3c-bd94-4e4b68d2f468"><strong>Route Limits</strong></p></td><td colspan="1" rowspan="1"><p data-id="917c7d49-514c-4adc-acea-6a1dcd96e64e">Restrict maximum route duration or distance</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="d9a53e89-d990-4e12-a39d-b2cae26b94a3"><strong>Pickup &amp; Delivery</strong></p></td><td colspan="1" rowspan="1"><p data-id="baf6ffbc-06eb-43f6-b17e-17a109644929">Combine collection and delivery requirements</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="be5d8888-aab2-48b8-b021-ac99f5b556fb"><strong>Heterogeneous Fleets</strong></p></td><td colspan="1" rowspan="1"><p data-id="3d072b3d-0330-4e90-b8a7-ef67073b4b55">Optimise routes across vehicles with different capacities or characteristics</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="facfc81e-7f5f-48a2-a180-9cdd595a72c2"><strong>Multi-Objective Optimisation</strong></p></td><td colspan="1" rowspan="1"><p data-id="29b0daa9-3315-42c4-bd9e-4a42325df0e6">Balance travel duration and distance</p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="8beacdf7-1ead-4865-832f-6883425e8def"><strong>Prize-Collecting</strong></p></td><td colspan="1" rowspan="1"><p data-id="014e105b-f390-4276-9982-9b5199369d2d">Prioritise selected visits based on their value</p></td></tr></tbody></table>

Features can be combined to model more complex routing scenarios.

**Documentation:** [TQRouting Features](https://routing-docs.terraquantum.io/)

## 5\. Understand & Interpret Results

After running an optimisation, TQRouting returns a solution containing the generated routes and associated metrics.

Results can be used to:

-   Review which customers are assigned to each route.
    
-   Inspect route sequences and vehicle assignments.
    
-   Check solution feasibility.
    
-   Evaluate travel duration and distance.
    
-   Compare solutions against operational objectives.
    

**Documentation:** [Reading Results](https://routing-docs.terraquantum.io/results/)

## 6\. Examples & Additional Resources

For practical examples and detailed API guidance, explore the following resources:

<table data-id="ff4f119b-fad4-4cd8-b58d-2ad61bfd9901" style="min-width: 50px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p data-id="cc2f6710-bd8c-4e4b-a05c-d670e59655d8">Resource</p></th><th colspan="1" rowspan="1"><p data-id="0284765a-1ccd-4cff-ab43-dc3cea5bca56">Link</p></th></tr><tr><td colspan="1" rowspan="1"><p data-id="b808e72c-cdc7-4b40-95ff-e2811d88ae71">Complete Documentation</p></td><td colspan="1" rowspan="1"><p data-id="6c483c1f-b18c-44b6-bd25-357725d61403"><a target="_blank" rel="noopener noreferrer nofollow" class="linktype-link link" data-linktype="link" href="https://routing-docs.terraquantum.io/">https://routing-docs.terraquantum.io/</a></p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="c66103f5-fead-4522-a335-b49034b2a732">Quick Start Guide</p></td><td colspan="1" rowspan="1"><p data-id="c5f8683f-cc51-44d1-873d-8524a8b8f920"><a target="_blank" rel="noopener noreferrer nofollow" class="linktype-link link" data-linktype="link" href="https://routing-docs.terraquantum.io/quickstart/">https://routing-docs.terraquantum.io/quickstart/</a></p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="a953363b-169c-4a5c-9d34-73c0525dd87d">Problem Definition</p></td><td colspan="1" rowspan="1"><p data-id="2f67e2b3-c228-4d82-a630-4b1e04b8af8e"><a target="_blank" rel="noopener noreferrer nofollow" class="linktype-link link" data-linktype="link" href="https://routing-docs.terraquantum.io/problem-definition/">https://routing-docs.terraquantum.io/problem-definition/</a></p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="e6cda93e-4eee-429d-a8a1-07b493e87bd1">Solver Configuration</p></td><td colspan="1" rowspan="1"><p data-id="bee84642-5fc4-45a4-b489-09b432d9aff4"><a target="_blank" rel="noopener noreferrer nofollow" class="linktype-link link" data-linktype="link" href="https://routing-docs.terraquantum.io/solver/">https://routing-docs.terraquantum.io/solver/</a></p></td></tr><tr><td colspan="1" rowspan="1"><p data-id="c244c81a-5d8f-40ef-a13e-ab6d4a1dd708">GitHub Examples</p></td><td colspan="1" rowspan="1"><p data-id="e72f87a5-8a4b-4f6e-ae94-bdaef2ca575e"><a target="_blank" rel="noopener noreferrer nofollow" class="linktype-link link" data-linktype="link" href="https://github.com/terra-quantum-public/tqrouting-examples">https://github.com/terra-quantum-public/tqrouting-examples</a></p></td></tr></tbody></table>

The GitHub repository includes example notebooks demonstrating common routing workflows.

## 7\. Need Help?

For questions about routing problem configuration, solver behaviour or interpreting results, visit the [Terra Quantum Help Centre](https://help.terraquantum.io/).

Our Help Centre provides technical documentation, knowledge articles and AI-assisted support, with access to our Support team when needed.

Alternatively, email [support@terraquantum.swiss](mailto:support@terraquantum.swiss).

**Related articles**

-   TQRouting — Overview & Getting Started
    
-   TQRouting — Troubleshooting & FAQs
    
-   Licensing & Access
    
-   Contacting Support
