# SOME DESCRIPTIVE TITLE.
# Copyright (C) pgRouting Contributors - Version 2.0.0 (b19690f doc-merge)
# This file is distributed under the same license as the pgRouting package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: pgRouting 2.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-09-24 15:37\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../../../src/tsp/doc/index.rst:13
# 213bae5bc2614b69a60f3e0073160d13
msgid "pgr_tsp - Traveling Sales Person"
msgstr ""

#: ../../../src/tsp/doc/index.rst:23
# 28d53c5693be414b9d4e15432616d649
msgid "Name"
msgstr ""

#: ../../../src/tsp/doc/index.rst:25
# 7bdcd4773c134c22a45e8c2bf8c69234
msgid "``pgr_tsp`` - Returns the best route from a start node via a list of nodes."
msgstr ""

#: ../../../src/tsp/doc/index.rst:26
# e59f80608ac3408ca7fa946af5af4417
msgid "``pgr_tsp`` - Returns the best route order when passed a disance matrix."
msgstr ""

#: ../../../src/tsp/doc/index.rst:27
# e414d416862446308bea94c14348435a
msgid "``pgr_makeDistanceMatrix`` - Returns a Eucleadian distance Matrix from the points provided in the sql result."
msgstr ""

#: ../../../src/tsp/doc/index.rst:31
# b3c88820c7a5418a941ab297cd704504
msgid "Synopsis"
msgstr ""

#: ../../../src/tsp/doc/index.rst:33
# 489c0d1c212243d2a690175685879879
msgid "The travelling salesman problem (TSP) or travelling salesperson problem asks the following question: Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? This algoritm uses simulated annealing to return a high quality approximate solution. Returns a set of :ref:`pgr_costResult <type_cost_result>` (seq, id1, id2, cost) rows, that make up a path."
msgstr ""

#: ../../../src/tsp/doc/index.rst:41
# 4b29f9b87ba2478dbc22cc14e9de938a
msgid "Returns a set of (seq integer, id1 integer, id2 integer, cost float8) that is the best order to visit the nodes in the matrix. ``id1`` is the index into the distance matrix. ``id2`` is the point id from the sql."
msgstr ""

#: ../../../src/tsp/doc/index.rst:43
# bcd8df1b068345959235d9340bfbb6c9
msgid "If no ``end_id`` is supplied or it is -1 or equal to the start_id then the TSP result is assumed to be a circluar loop returning back to the start. If ``end_id`` is supplied then the route is assumed to start and end the the designated ids."
msgstr ""

#: ../../../src/tsp/doc/index.rst:52
# a5d696205ff64dd78838f7d496644fe9
msgid "Description"
msgstr ""

#: ../../../src/tsp/doc/index.rst:55
# ac5b308e5db84ccf930cf635b92ebe54
msgid "With Euclidean distances"
msgstr ""

#: ../../../src/tsp/doc/index.rst:56
# 2620c8627d1a49d49bb0792bd00252c4
msgid "The TSP solver is based on ordering the points using straight line (euclidean) distance [#f0]_ between nodes. The implementation is using an approximation algorithm that is very fast. It is not an exact solution, but it is guaranteed that a solution is returned after certain number of iterations."
msgstr ""

#: ../../../src/tsp/doc/index.rst:58
# 3de17b8a10e94e2988a8c3d14d2595a5
msgid "a SQL query, which should return a set of rows with the following columns:"
msgstr ""

#: ../../../src/tsp/doc/index.rst:64
# a63accfd6ffd4ff5a4dbd4f86d1cc9f8
msgid "``int4`` identifier of the vertex"
msgstr ""

#: ../../../src/tsp/doc/index.rst:65
# 84bf9edbffa04aeda33556bf2385177d
msgid "``float8`` x-coordinate"
msgstr ""

#: ../../../src/tsp/doc/index.rst:66
# 6c0979e0b89946b5b8adeebda45ce86a
msgid "``float8`` y-coordinate"
msgstr ""

#: ../../../src/tsp/doc/index.rst:68
# 971551f511c94aae883993550789160e
msgid "``int4`` id of the start point"
msgstr ""

#: ../../../src/tsp/doc/index.rst:69
# cdc6a47c5baf46c9a61e9f1b71d3c9f6
msgid "``int4`` id of the end point, This is *OPTIONAL*, if include the route is optimized from start to end, otherwise it is assumed that the start and the end are the same point."
msgstr ""

#: ../../../src/tsp/doc/index.rst:72
# 3b7db9712989472bb58f2479a6f800d4
msgid "The function returns set of :ref:`type_cost_result`:"
msgstr ""

#: ../../../src/tsp/doc/index.rst:74
#: ../../../src/tsp/doc/index.rst:107
# 900f0388134843f6aa35cde99e590e83
# e860a32f488247dbadc7c74756c3cb98
msgid "row sequence"
msgstr ""

#: ../../../src/tsp/doc/index.rst:75
# 6c0f9ab7a7d0408f973ff946bd6c7949
msgid "internal index to the distance matric"
msgstr ""

#: ../../../src/tsp/doc/index.rst:76
# f1d83f14c13d4bb0a1ca5c7dd40cb78d
msgid "``id`` of the node"
msgstr ""

#: ../../../src/tsp/doc/index.rst:77
# e0ec20a9dca54cc8b7bd9c908c0f1e5b
msgid "cost to traverse from the current node to the next node."
msgstr ""

#: ../../../src/tsp/doc/index.rst:80
# 70e99ac6fdfb4d689634b432425e5860
msgid "Create a distance matrix"
msgstr ""

#: ../../../src/tsp/doc/index.rst:81
# abbca3eeece44c25bf5ece181a334afa
msgid "For users that need a distance matrix we have a simple function that takes SQL in ``sql`` as described above and returns a record with ``dmatrix`` and ``ids``."
msgstr ""

#: ../../../src/tsp/doc/index.rst:87
# da2be5a058fd4caa9bbbae6bfe105b3d
msgid "The function returns a record of ``dmatrix``, ``ids``:"
msgstr ""

#: ../../../src/tsp/doc/index.rst:89
# 8c7f21a352fb47e08c85dd6b22ba5f90
msgid "``float8[][]`` a symeteric Euclidean distance matrix based on ``sql``."
msgstr ""

#: ../../../src/tsp/doc/index.rst:90
# a46135cbc16e4ff1992ecc75c7ae16f7
msgid "``integer[]`` an array of ids as they are ordered in the distance matrix."
msgstr ""

#: ../../../src/tsp/doc/index.rst:94
# da0acd3751d048deb913970497de142d
msgid "With distance matrix"
msgstr ""

#: ../../../src/tsp/doc/index.rst:95
# ee8200d99c414a8980a9fed0744dd7ff
msgid "For users, that do not want to use Euclidean distances, we also provode the ability to pass a distance matrix that we will solve and return an ordered list of nodes for the best order to visit each. It is up to the user to fully populate the distance matrix."
msgstr ""

#: ../../../src/tsp/doc/index.rst:97
# 1133284d6fa742728f54253d5d7a1b1f
msgid "``float[][]`` distance matrix of points"
msgstr ""

#: ../../../src/tsp/doc/index.rst:98
# 30bf5479d95f4f439c13a6a54566814e
msgid "``int4`` index of the start point"
msgstr ""

#: ../../../src/tsp/doc/index.rst:99
# b268b95158f74eedba20ffbc6963d252
msgid "``int4`` (optional) index of the end node"
msgstr ""

#: ../../../src/tsp/doc/index.rst:101
# 88e39cac076144bc9a404cdbaa72a2c6
msgid "The ``end`` node is an optional parameter, you can just leave it out if you want a loop where the ``start`` is the depot and the route returns back to the depot. If you include the ``end`` parameter, we optimize the path from ``start`` to ``end`` and minimize the distance of the route while include the remaining points."
msgstr ""

#: ../../../src/tsp/doc/index.rst:103
# e889605ba1284c35aef9887b26f5fd38
msgid "The distance matrix is a multidimensional `PostgreSQL array type <http://www.postgresql.org/docs/9.1/static/arrays.html>`_ that must be ``N x N`` in size."
msgstr ""

#: ../../../src/tsp/doc/index.rst:105
# 342bfeaa449942dbbe733bdd2857de88
msgid "The result will be N records of ``[ seq, id ]``:"
msgstr ""

#: ../../../src/tsp/doc/index.rst:108
# 0c8c76b6b870439782357ef66ae6e1ea
msgid "index into the matrix"
msgstr ""

#: ../../../src/tsp/doc/index.rst:112
# 049bf47d63bb40da8484a99c6f5e9b8b
msgid "Footnotes"
msgstr ""

#: ../../../src/tsp/doc/index.rst:113
# 4354faec266747d48c9aae3a1258e12b
msgid "There was some thought given to pre-calculating the driving distances between the nodes using Dijkstra, but then I read a paper (unfortunately I don't remember who wrote it), where it was proved that the quality of TSP with euclidean distance is only slightly worse than one with real distance in case of normal city layout. In case of very sparse network or rivers and bridges it becomes more inaccurate, but still wholly satisfactory. Of course it is nice to have exact solution, but this is a compromise between quality and speed (and development time also). If you need a more accurate solution, you can generate a distance matrix and use that form of the function to get your results."
msgstr ""

#: ../../../src/tsp/doc/index.rst:117
# ace7d353ced743cf94e5ee9f2ab9e09a
msgid "History"
msgstr ""

#: ../../../src/tsp/doc/index.rst:118
# d0b9450fb14b43a9bd99ff9ea58edba2
msgid "Renamed in version 2.0.0"
msgstr ""

#: ../../../src/tsp/doc/index.rst:119
# f3595749ecfb4d11a0febaf0b3b230ee
msgid "GAUL dependency removed in version 2.0.0"
msgstr ""

#: ../../../src/tsp/doc/index.rst:123
# 5c86b2316e2647c7b465fd00de8ace5d
msgid "Examples"
msgstr ""

#: ../../../src/tsp/doc/index.rst:125
# 829fb5cc6f52447ea2be085c5fda64ef
msgid "Using SQL parameter (all points from the table, atarting from 6 and ending at 5). We have listed two queries in this example, the first might vary from system to system because there are multiple equivalent answers. The second query should be stable in that the length optimal route should be the same regardless of order."
msgstr ""

#: ../../../src/tsp/doc/index.rst:159
# 4f796f78f49640e3b1fe208fc6f8c892
msgid "Using distance matrix (A loop starting from 1)"
msgstr ""

#: ../../../src/tsp/doc/index.rst:161
# 222083f1958f4204b2fff23ad86e4c1f
msgid "When using just the start node you are getting a loop that starts with 1, in this case, and travels through the other nodes and is implied to return to the start node from the last one in the list. Since this is a circle there are at least two possible paths, one clockwise and one counter-clockwise that will have the same length and be equall valid. So in the following example it is also possible to get back a sequence of ids = {1,0,3,2} instead of the {1,2,3,0} sequence listed below."
msgstr ""

#: ../../../src/tsp/doc/index.rst:175
# 65c749a00c8645559f47d60e1360a517
msgid "Using distance matrix (Starting from 1, ending at 2)"
msgstr ""

#: ../../../src/tsp/doc/index.rst:189
# 103e98d40fdc4e98959110d702cfd4a5
msgid "Using the vertices table edge_table_vertices_pgr generated by :ref:`pgr_create_topology`. Again we have two queries where the first might vary and the second is based on the overal path length."
msgstr ""

#: ../../../src/tsp/doc/index.rst:226
# 514cfde63a9b44ab8f28db46033cfd03
msgid "The queries use the :ref:`sampledata` network."
msgstr ""

#: ../../../src/tsp/doc/index.rst:230
# d6fdc2608be94f8a8e4144d3aaab84a9
msgid "See Also"
msgstr ""

#: ../../../src/tsp/doc/index.rst:232
# 5f6c37ed377241eeaa63ee2d935a4120
msgid ":ref:`type_cost_result`"
msgstr ""

#: ../../../src/tsp/doc/index.rst:233
# cb7774109aae443ab3767851ab7a223d
msgid "http://en.wikipedia.org/wiki/Traveling_salesman_problem"
msgstr ""

#: ../../../src/tsp/doc/index.rst:234
# e1b965891ceb405ca71b7c2be4a1c017
msgid "http://en.wikipedia.org/wiki/Simulated_annealing"
msgstr ""

