
2-opt pseudocode
By: a guest on
May 7th, 2012 | syntax:
C# | size: 0.47 KB | hits: 18 | expires: Never
//2-opt kż
bool poprawione = true;
while poprawione
{
poprawione = false;
foreach(vertex x_i in cykl)
{
foreach(vertex x_j in cykl)
{
if(j!= i-1 && j!=i+1)
{
if(dystans(x_i,x_i+1) + dystans(x_j,x_j+1) > dystans(x_i,x_j) + dystans(x_i+1,x_j+1))
{
Podmień edge(x_i,x_i+1) przez edge(x_i,x_j)
Podmień edge(x_j,x_j+1) przez edge(x_i+1,x_j+1)
poprawione = true;
}
}
}
}
}