# pgRouting Manual (3.1)

## pgr_vrpOneDepot - Experimental

Warning

Possible server crash

- These functions might create a server crash

Warning

Experimental functions

- They are not officially of the current release.

- They likely will not be officially be part of the next release:

  - The functions might not make use of ANY-INTEGER and ANY-NUMERICAL

  - Name might change.

  - Signature might change.

  - Functionality might change.

  - pgTap tests might be missing.

  - Might need c/c++ coding.

  - May lack documentation.

  - Documentation if any might need to be rewritten.

  - Documentation examples might need to be automatically generated.

  - Might need a lot of feedback from the comunity.

  - Might depend on a proposed function of pgRouting

  - Might depend on a deprecated function of pgRouting

No documentation available

Availability

- Version 2.1.0

  - New experimental function

Support

- Supported versions: current(3.1) 3.0

- Unsupported versions: 2.6 2.5 2.4 2.3 2.2 2.1

- TBD

## Description

- TBD

## Signatures

- TBD

## Parameters

- TBD

## Inner query

- TBD

## Result Columns

- TBD

## Additional Example:

    BEGIN;
    BEGIN
    SET client_min_messages TO NOTICE;
    SET
    SELECT * FROM pgr_vrpOneDepot(
        'SELECT * FROM solomon_100_RC_101',
        'SELECT * FROM vrp_vehicles',
        'SELECT * FROM vrp_distance',
        1);
     oid | opos | vid | tarrival | tdepart
    -----+------+-----+----------+---------
      -1 |    1 |   1 |        0 |       0
       7 |    2 |   1 |        0 |       0
       9 |    3 |   1 |        0 |       0
       8 |    4 |   1 |        0 |       0
       6 |    5 |   1 |        0 |       0
       5 |    6 |   1 |        0 |       0
       4 |    7 |   1 |        0 |       0
       2 |    8 |   1 |        0 |       0
       6 |    9 |   1 |       40 |      51
       8 |   10 |   1 |       62 |      89
       9 |   11 |   1 |       94 |     104
       7 |   12 |   1 |      110 |     120
       4 |   13 |   1 |      131 |     141
       2 |   14 |   1 |      144 |     155
       5 |   15 |   1 |      162 |     172
      -1 |   16 |   1 |      208 |     208
      -1 |    1 |   2 |        0 |       0
      10 |    2 |   2 |        0 |       0
      11 |    3 |   2 |        0 |       0
      10 |    4 |   2 |       34 |     101
      11 |    5 |   2 |      106 |     129
      -1 |    6 |   2 |      161 |     161
      -1 |    1 |   3 |        0 |       0
       3 |    2 |   3 |        0 |       0
       3 |    3 |   3 |       31 |      60
      -1 |    4 |   3 |       91 |      91
      -1 |    0 |   0 |       -1 |     460
    (27 rows)

    ROLLBACK;
    ROLLBACK

Data

    DROP TABLE IF EXISTS solomon_100_RC_101 cascade;
    CREATE TABLE solomon_100_RC_101 (
        id integer NOT NULL PRIMARY KEY,
        order_unit integer,
        open_time integer,
        close_time integer,
        service_time integer,
        x float8,
        y float8
    );

    COPY solomon_100_RC_101
    (id, x, y, order_unit, open_time, close_time, service_time) FROM stdin;
    1	40.000000	50.000000	0	0	240	0
    2	25.000000	85.000000	20	145	175	10
    3	22.000000	75.000000	30	50	80	10
    4	22.000000	85.000000	10	109	139	10
    5	20.000000	80.000000	40	141	171	10
    6	20.000000	85.000000	20	41	71	10
    7	18.000000	75.000000	20	95	125	10
    8	15.000000	75.000000	20	79	109	10
    9	15.000000	80.000000	10	91	121	10
    10	10.000000	35.000000	20	91	121	10
    11	10.000000	40.000000	30	119	149	10
    \.

    DROP TABLE IF EXISTS vrp_vehicles cascade;
    CREATE TABLE vrp_vehicles (
        vehicle_id integer not null primary key,
        capacity integer,
        case_no integer
    );

    copy vrp_vehicles (vehicle_id, capacity, case_no) from stdin;
    1	200	5
    2	200	5
    3	200	5
    \.

    DROP TABLE IF EXISTS vrp_distance cascade;
    WITH
    the_matrix_info AS (
        SELECT A.id AS src_id, B.id AS dest_id, sqrt( (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y)) AS cost
        FROM solomon_100_rc_101 AS A, solomon_100_rc_101 AS B WHERE A.id != B.id
    )
    SELECT src_id, dest_id, cost, cost AS distance, cost AS traveltime
    INTO vrp_distance
    FROM the_matrix_info;

## See Also

- https://en.wikipedia.org/wiki/Vehicle_routing_problem

Indices and tables

- Index

- Search Page