mambokurt schrieb:
Ah ok. Multithreading machst du?
Ja, indirekt. Innerhalb der großen, stundenlang dauernden Berechnungen wird eine Funktion eingesetzt, die prinzipiell selbst parallelisieren kann, wenn man sie anweist, das zu tun. Macht sie auch, aber offenbar können dort nur Teile des Algorithmus parallelisiert werden. Ich denke daher, dass es besser ist, weiter "außen" zu parallelisieren. Ich mache das nun selbst und parallelisiere eben ein paar der großen Berechnungen insgesamt. Im Ergebnis werde ich wohl einen hybriden Ansatz fahren: Ich bleibe bei der Idee mit der Steigung, aber "popularisiere" den Ergebnisvektor in der "Umgebung" des aktuellen "Punktes der Parabel" mit parallel berechneten Ergebnissen.
new Account() schrieb:
Interessieren würde es mich allerdings schon
Da der Computer jetzt erstmal rechnet, habe ich Zeit, Deine Neugier zu befriedigen: Ich habe einen Geodatensatz (Rasterdaten) für Deutschland mit den Windgeschwindigkeiten und Windrichtungen an jedem Punkt. Stellt Dir nun vor, Du hast ein Grundstück irgendwo, und es wäre zulässig, dort Windräder (Windkraftanlagen, WKA) zu bauen. Angenommen, es ist ein guter Standort, was die Windverhältnisse angeht, sodass es sich prinzipiell lohnen würde.
Wenn Du genug Kapital von der Bank bekommst (oder selbst hast), kannst Du dort einen Windpark mit mehreren WKA bauen. Die Frage, die sich nun stellt, ist die nach der optimalen Anordnung der WKA innerhalb des Windparks. Dazu gehört, dass die einzelnen WKA gewisse Abstände zueinander einhalten müssen und, je nach Windrichtung, sich mitunter gegenseitig im Wind stehen. Wenn beispielsweise der Wind meist von Osten kommt, wäre es dumm, zwei WKA exakt in Ostwestrichtung zueinander aufzustellen ("nebeneinander"). Besser wäre ein Arrangement in Nordsüdrichtung ("übereinander").
Die erwähnten stundenlangen Berechnungen ermitteln das optimale Arrangement innerhalb des Windparks für eine gegebene Anzahl von WKA. Die Frage nach dem optimalen Arrangement ist aber erst die zweite Frage, die erste Frage ist die nach der optimalen Anzahl der WKA. Dies ermittelt nun die hier diskutierte Suche. Zunächst wird eine Obergrenze festgelegt (Beispiel: Das Areal ist 5 km x 5 km groß. Der gesetzliche Mindestabstand beträgt, sagen wir mal, 500 m. Dann können in eine Richtung maximal 10 WKA aufgestellt werden und in der Fläche maximal 10 x 10 = 100.). Diese wird aber kaum das Optimum in bezug auf die Anzahl der WKA darstellen, weniger WKA erzeugen einen größeren Gewinn, da sie sich weniger gegenseitig im Wind stehen werden und außerdem ja jede Anlage auch Geld kostet.
Daher erzeuge ich ein Array mit den Gewinnen der optimalen Aufstellung für jede zulässige Anzahl an WKA (hier: Zwischen 1 und 100) und rechne dann für diese WKA-Anzahlen jeweils den Gewinn aus einem optimalen Arrangement aus. Der größte Gewinn gibt die optimale Anzahl an WKA an, das dort optimale Arrangement habe ich dann sowieso schon.