|
|
|
genetic algorithmm -> vectorized |
|
| MenschMeier |

Forum-Anfänger
|
 |
Beiträge: 43
|
 |
|
 |
Anmeldedatum: 22.09.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.10.2011, 09:57
Titel: genetic algorithmm -> vectorized
|
 |
Hey,
ich schreibe gerade an einem Code um mit einem genetischen Algorithmus eine komplexes Problem zu lösen. Leider braucht die Auswertung immer tierisch lange: Populationsgröße 5 und Generationen 3 -> 30 min.
Jetzt wollte ich das Problem Vektorisieren und die Rechnung zu beschleunigen, aber dann rechnet er mit bei jeder Generation das selbe Ergebnis aus. Ich glaube, dass er immer die erste Zeile des Varaiblenvektor verwendet, anstatt immer den nächsten.
Ich bin erst vor kurzem in Matlab eingestiegen und mir fehlt das tiefere Verständnis für den Code und die genaue Funktion. Vielleicht hat ja jemand eine Idee oder erklärt mir, wie genau das Vektorisieren funktioniert, dann gehe ich selber auf Fehlersuche.
Vielen dank
|
|
|
|
|
|
| _Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 06.10.2011, 10:07
Titel:
|
 |
Hallo MenschMeier,
ohne den Code bereitzustellen, kann dir hier kaum jemand helfen.
Du kannst mit dem Profiler schauen wo der zeitliche Flaschenhals deines Codes ist und versuchen diese zu beschleunigen... aber mehr Hilfe kann ich dir leider nicht geben, da du zu wenig Infos/Code lieferst.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
|
| MenschMeier |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 43
|
 |
|
 |
Anmeldedatum: 22.09.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.10.2011, 10:18
Titel:
|
 |
Den Code selbst darf ich leider nicht posten. Aber soviel:
normalerweise habe ich eine x-Vekotor mit 6 Variablen, der vom genetischen Algorithmus über eine Funktion optimiert werden soll. Die Funktion ist schon vorhanden und besteht aus mehreren M-Files.
Der Vektor wird erst von einer an andere Funktionen weitergeben und dann wird aus den Werten via pchip eine Funktion erstellt. Diese Funktion wird dann in ein externes Programm weitergeleitet, was den eigentlichen Fitnesswert berechnet. Dieser wird dann zurückgegeben.
Das funktioniert auch alles, nur dachte ich, ich könnte durch vectoricize noch etwas schneller vorankommen. Wenn ich "options = gaoptimset(options,'Vectorize','on');" einfüge, dann rechnet er zwar wesentlich schneller, nur kommt bei jeder neuen Generation immer das gleiche Ergebnis raus.
Mit den Profilier habe ich noch keine Erfahrungen, ich gucke mir das gleich mal an.
Danke
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|