[pgrouting-users] [Still an ISSUE] Re: suspected bug in TSP distance matrix pgRouting RC1 released

sanak geosanak at gmail.com
Fri Jul 19 07:31:57 PDT 2013


Hi Dave,

Thanks for your comment.

I just added a comment to the pull request(
https://github.com/pgRouting/pgrouting/pull/160 ).
(Because, tsp core algorithm analysis is too difficult for me...)

Thanks!



2013/7/19 Dave Potts <dave.potts at pinan.co.uk>

>  On 19/07/13 15:00, sanak wrote:
> Well spotted !
>
> yes it does matter,  I had just assumed because I got an answer it was all
> working, it seems that its not, so there still seems to be an issue :-(
>
> The answers should be indentical
> Dave
>
> Hi Dave,
>
>  Yes, it is also necessary.
>
> https://github.com/sanak/pgrouting4w/commit/fa8c5ff559344653a464f2c3416de0ef8c4ce393
>
>  By the way, in my environment(currently use MacOSX),
> your 2nd result was as follows, and it is not same as 1st one.
>  ====
>  pgrouting-workshop=# SELECT seq, id FROM
> pgr_tsp('{{0,0.1,0.3,0.3},{0.1,0,0.2,0.2},{0.3,0.2,0,0.2},{0.3,0.2,0.2,0}}'::float8[],1);
>  seq | id
> -----+----
>    0 |  1
>    1 |  0
>    2 |  3
>    3 |  2
> (4 rows)
> ====
>
>  In your environment, is there no problem?
>
>  Regards,
>
>
>
> 2013/7/19 Dave Potts <dave.potts at pinan.co.uk>
>
>>  On 19/07/13 15:08, Dave Potts wrote:
>> I have found the problem, in the function int findEulerianPath(TSP *tsp)
>> in the file src/tsp/src/tsplib.c
>>
>>
>> the code  says something like
>> int d,i,j,k,l,a
>>
>> The varible  d is used to compare against a variable of type DTYPE, with
>> the result that there seems to be an underflow/overflow issue
>>
>> so the code needs to be changed to
>>
>>     int *mst, *arc;
>>     DTYPE d;
>>     int i, j, k, l, a;
>>     int n, *iorder, *jorder;
>>
>> having done,  I now get the expected result.
>>
>> Dave.
>>
>> On 19/07/13 13:02, sanak wrote:
>> Hi Sanak
>>
>> Thanks for your help
>>
>> I had the float version in my source base I changed it to a double, I
>> have done a make clean, install restarted the service, still have the same
>> problem :-(
>>
>> Dave
>>
>> Hi Dave, Stephen,
>>
>>  I encountered the same issue(
>> https://github.com/pgRouting/pgrouting/issues/159 ),
>>  so, I sent the pull request(
>> https://github.com/pgRouting/pgrouting/pull/160 ).
>>
>>  > Stephen
>> Could you check my pull request?
>>
>>  Thanks,
>>
>>
>> 2013/7/19 Dave Potts <dave.potts at pinan.co.uk>
>>
>>> I have been trying to do some work which requires the tsp, some of my
>>> values have values of 0.1 in the dataset, I keep getting odd results.
>>>
>>> So I tried a well known example from the  pgr _tsp distance page and it
>>> work as expected.
>>>
>>> I then repeated the same example but reduced all of the distance by a
>>> factor off 10 and got an error.  Unless I have make a mistake in my
>>> understanding of the manual page, I think we might a problem where
>>>
>>> -- version used
>>> select pgr_version();
>>>                    pgr_version
>>> -------------------------------------------------
>>>  (2.0.0-dev,v2.0.0-rc1,0,bf13fd7,develop,1.48.0)
>>> -- Use a example get a result set
>>> SELECT seq, id FROM
>>> pgr_tsp('{{0,1,3,3},{1,0,2,2},{3,2,0,2},{3,2,2,0}}'::float8[],1);
>>>  seq | id
>>> -----+----
>>>    0 |  1
>>>    1 |  2
>>>    2 |  3
>>>    3 |  0
>>> (4 rows)
>>> -- repeat for reduce everything by  scale factor of 10  ie 1.0 becomes
>>> 0.1 etc
>>>
>>> SELECT seq, id FROM
>>> pgr_tsp('{{0,0.1,0.3,0.3},{0.1,0,0.2,0.2},{0.3,0.2,0,0.2},{0.3,0.2,0.2,0}}'::float8[],1);
>>>
>>> ERROR:  Error TSP fail to findEulerianPath, check your distance matrix
>>> is valid.
>>>
>>> As far as I understand it my matrix has 0's on the leading diangonal
>>>  and [a,b] == [b,a]
>>>
>>> Dave.
>>> _______________________________________________
>>> Pgrouting-users mailing list
>>> Pgrouting-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>>>
>>
>>
>>
>>  --
>>  Ko Nagase (sanak)
>> Georepublic Japan
>> mail: geosanak at gmail.com
>>         nagase at georepublic.co.jp
>>
>>
>> _______________________________________________
>> Pgrouting-users mailing listPgrouting-users at lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/pgrouting-users
>>
>>
>>
>>
>> _______________________________________________
>> Pgrouting-users mailing listPgrouting-users at lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/pgrouting-users
>>
>>
>>
>> _______________________________________________
>> Pgrouting-users mailing list
>> Pgrouting-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>>
>>
>
>
>  --
>  Ko Nagase (sanak)
> Georepublic Japan
> mail: geosanak at gmail.com
>         nagase at georepublic.co.jp
>
>
> _______________________________________________
> Pgrouting-users mailing listPgrouting-users at lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/pgrouting-users
>
>
>
> _______________________________________________
> Pgrouting-users mailing list
> Pgrouting-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pgrouting-users
>
>


-- 
Ko Nagase (sanak)
Georepublic Japan
mail: geosanak at gmail.com
        nagase at georepublic.co.jp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pgrouting-users/attachments/20130719/3c7ddb50/attachment.html>


More information about the Pgrouting-users mailing list