Hello!

I have to include simple triangulation algorithm in my program which does following:

1.) reads points (X,Y) values (I can do that naturally) - it's a 2D environment

2.) connects points with non-overlapping straight lines (as long it is possible)

3.) calculates sum of all lenghts of these lines that connect points to each other

4.) tries to find shorter sum of lengths - based on the optimization of the result which it got in step #2

algorithm has to be able to handle up to 1000 points

for larger sets of points (let's say more than 100) it has to have some sort of timeout while trying to optimize

the result - if it finds any better (shorter sum of lenghts) solution it changes the value of the result but if it

doesn't find anything else during this timeout period it just sticks to the result it got in step #2.

Just to imagine - here's the graphical example of input:

http://www.oloplan.com/tri/tri1.gif
and this is the output:

http://www.oloplan.com/tri/tri2.gif
(solution has to be numeric only - only the sum of all lenghts is required)

Thanx for any help!