Nie bardzo wiedziałem jak nazwać temat, gdyż mam dość nietypowy problem.
Napisałem algorytm, który znajduje rozwiązanie dla problemu komiwojażera. Algorytm szukający rozwiązanie działa w pętli while, pseudokod wygląda to tak
while (kryterium_spełnione)
{
losujRozwiazanie
sprawdzCzyNoweRozwiazanieJestLepsze
JesliLepszeZapiszDoTablicy
}
wyswietlRozwiazanie
Problem w tym, że algorytm nie podaje znalezionego rozwiazania tylko wszystkie elementy tablicy się zerują ALE jeśli do algorytmu dodać wyswietlanie wszystkich znalezionych rozwiazan w petli while to na koncu wyswietli pożądane rozwiazanie. Kod programu wygląda tak:
while ( ((koniec-start)/60000.0) < time ) // dopóki czas wykonywania poniżej time
	{
		k0=rand()%(N-1) + 1; // losuje liczbę w przedziale od 0 do N-1
		swap(k0, k0+1, perm);
		obnizTabu();
			if (LT[k0][k0+1]==0){
				kopiuj(perm, bestSolution); // jesli nie jest na liscie Tabu dodaj jako rozwiazanie
				aktualizacjaLT(k0, k0+1, czasT);
			}
			else if (liczKoszt(perm) < liczKoszt(bestSolution) ){
				kopiuj(perm, bestSolution);
			}
		koniec = clock();
[b][size=150] cout << liczKoszt(bestSolution) << endl; // jeśli to usunę to poniżej w tablicy rozwiazan są same zera[/size][/b]
		i++;
	}
	cout << "kryterium dla bestSolution wynosi " << liczKoszt(bestSolution) << endl;
Kto ma pomysł o co chodzi?