WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Abbruchkriterium GA

 

MenschMeier
Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 22.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2011, 12:08     Titel: Abbruchkriterium GA
  Antworten mit Zitat      
Hallo zusammen,

ich versuche gerade herauszufinden, was genau das Abbruchkriterium 1 bedeutet. Ich hab zwar eine Idee, brauche aber Sicherheit.

Englische Beschreibung von Matlab:
Average change in value of the fitness function over options.StallGenLimit generations less than options.TolFun and constraint violation less than options.TolCon.

Bedeutung?!
Die Änderung der Fitnesswert-Verbesserung verändert sich über eine bestimmte Anzahl (StallGenLimit) nicht (bzw. ist kleiner als die Variable TolFun) -> Abbruch!
Der Zweite Satzteil ist für mich uninteressant, da ich keine Nebenbedingungen habe.

Ist das so korrekt?

Danke vielmals
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.10.2011, 12:27     Titel: Re: Abbruchkriterium GA
  Antworten mit Zitat      
Hallo MenschMeier,

Die mittlere Änderung der Fitnesswert-Verbesserung verändert sich über eine bestimmte Anzahl (StallGenLimit) weniger als TolFun -> Abbruch

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
MenschMeier
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 22.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2011, 12:35     Titel:
  Antworten mit Zitat      
Hallo Jan,
dann war meine Übersetzung ja garnicht so falsch Smile

Danke dir
Private Nachricht senden Benutzer-Profile anzeigen
 
MenschMeier
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 22.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.10.2011, 20:24     Titel:
  Antworten mit Zitat      
Jetzt bin ich etwas verwirrt, ich habe einen Funktion, die nach 62 Generationen abbricht. Im Anhang ist der Plot, den ich habe ausgeben lassen. Da steht ja sinngemäß, dass das StallGenLimit nicht erreicht wurde (50%) und trotzdem bekomme ich den Exitflag 1 (Optimization terminated: average change in the fitness value less than options.TolFun.)

Zweite Frage: Ist es möglich, aus einer geploteten Funktion die Y und X Werte zu extrahieren, also z.B. in eine Variable zu speichern?

Plot.png
 Beschreibung:

Download
 Dateiname:  Plot.png
 Dateigröße:  120.97 KB
 Heruntergeladen:  415 mal
diagnose_display.png
 Beschreibung:

Download
 Dateiname:  diagnose_display.png
 Dateigröße:  54.33 KB
 Heruntergeladen:  405 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
MenschMeier
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 22.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2011, 10:37     Titel:
  Antworten mit Zitat      
Ich habe nochmal aus einem zweiten Durchlauf die Plotwerte als Variable gespeichert. Hier sieht man nochmal ziemlich deutlich, dass die letzten 10 (StallGenLimit habe ich auf 10 gesetzt) Ergebnisse größere Verbesserungen als 1e-6 aufweisen. Trotzdem das Abbruchskriterium 1 ... Wieso? Außerdem hat es keine Veränderung hervorgebracht, als ich das StallGenLimit von 50 auf 10 reduziert habe, immer noch etwa 50-55 Generationen bis zum Abbruch.

Vielleicht kann sich ja einer von euch einen Reim darauf machen.

lg und danke

Plotdaten.zip
 Beschreibung:

Download
 Dateiname:  Plotdaten.zip
 Dateigröße:  1.01 KB
 Heruntergeladen:  278 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.11.2011, 13:49     Titel:
  Antworten mit Zitat      
Hallo MenschMeier,

Vielleicht habe ich es nur überlesen, aber ich finde keinen Hinweis darauf, mit welcher Funktion Du überhaupt arbeitest. Es steht zwar "GA" im Titel und auch einige andere Ausdrücke weisen auf genetische Optimierung hin. Aber es gibt einige Dutzend Implementierungen.

Ich rate aber, dass Du einfach mit dem Debugger überprüfen kannst, wieso die Funktion sich entscheidet, dass das Abbruchkriterium erreicht wird. Stöbere einfach etwas im Source-Code und setze an strategischen Stellen ein paar Breakpoints.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
MenschMeier
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 22.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.11.2011, 14:45     Titel:
  Antworten mit Zitat      
Ich nutze den Matlab GA einfach über ga( ...)
Wie kann ich den in dessen Source Code hineinschauen? Gibt es da eine M-File in Matlab Verzeichnis zu?! Ich werde mich mal auf die Suche machen.

Mich wurndert es, dass ich so einen "Aufwand" betreiben muss, ist der Exitflag nicht genau dafür da?

lg
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 02.11.2011, 10:58     Titel:
  Antworten mit Zitat      
Hallo MenschMeier,

Versuche doch einfach mal "edit ga".
Ich vermute auch, dass der Exit-Flag genau dafür gedacht ist. Aber offenbar gibt es ein Problem. Ich kann es nicht versuchen, weil ich weder Deine Daten noch die GA-Toolbox habe. Du solltest aber den Grund für den erhaltenen Wert des Exit-Flag herausfinden können. Es könnte ja auch ein Bug in der Software sein. Das Debuggen zählt leider zu dem zu erwartenden Aufwand, wenn man programmiert.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
MenschMeier
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 43
Anmeldedatum: 22.09.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2011, 11:51     Titel:
  Antworten mit Zitat      
Hey Jan,
ich habe die M-File für den Funktionsaufruf gefunden und suche mich da jetzt durch. Danke für den Tipp mit "edit GA" das kannte ich so nicht

lg
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.