Ich arbeite gerade an einem Code, der die beste Lösung finden muss. Zuerst überprüfe ich, ob einer der drei größer ist als die anderen beiden. Daher gibt es ein Maximum, das nur einmal auftritt. Wenn es zwei Zahlen gibt, die größer sind als die dritte, aber einander gleich sind, muss ich den Abstand dieser beiden vergleichen und dann wird derjenige mit der kleinsten Entfernung gewählt.Das Maximum zwischen drei ganzen Zahlen finden und wissen, welches gewählt wird
Die Gewinnfunktionen und Entfernungen werden außerhalb dieser Methode berechnet und nicht so wichtig.
Was ich bis jetzt gefunden habe, ist es, eine Menge if-Anweisungen zu verwenden. Ich habe mich jedoch gefragt, ob es eine effizientere Methode dafür geben würde.
public void bestSolution(List<ROUTE> LS, List<ROUTE> SA, List<ROUTE> RR)
{
int profitLS = profitRoutes(LS);
int profitSA = profitRoutes(SA);
int profitRR = profitRoutes(RR);
int distanceLS = totalDistance(LS);
int distanceSA = totalDistance(SA);
int distanceRR = totalDistance(RR);
if ((profitLS > profitSA) & (profitLS > profitRR))
{
}
}
ich alle in ein Array Ihr Wert Bevorratung würde vorschlagen, und dann für jedes Element des Arrays es zu den anderen vergleichen:
Das Vergleichsergebnis könnte etwas Ähnliches sein. –