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

genetischer Algorihtmus

 

bale
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2012, 21:35     Titel: genetischer Algorihtmus
  Antworten mit Zitat      
Hallo Leute,
ich habe das folgenge Polynom und möchte ich das mit Hilfe eines genetischen Algoritmus (ga) vom Toolbox matlabe optimieren. Meine Population ist den angehängten Dateie zu finden. Die Anzahl der Variablen ist 8 und die Länge der Popukation ist bei 400. Ich bitte um Hilfe.

Olga
Code:

f=(2.4086+0.66827*x(1)+0.34454*x(2)-0.13647*x(3)-0.055166*x(4)+0.2008*x(5)...
    +0.096534*x(6)-0.00068195*x(7)+0.019856*x(8)+0.064637*x(1)^2-...
    0.19545*x(1)*x(2)-0.036925*x(1)*x(3)-0.0011845*x(1)*x(4)+...
    0.010788*x(1)*x(5)+0.016573*x(1)*x(6)-0.016368*x(1)*x(7)+...
    0.013489*x(1)*x(8)-0.0010713*x(2)^2-0.047758*x(2)*x(3)-...
    0.057352*x(2)*x(4)+0.06803*x(2)*x(5)+0.091153*x(2)*x(6)-...
    0.074321*x(2)*x(7)+0.050554*x(2)*x(8)-0.021366*x(3)^2+....
    0.005159*x(3)*x(4)-0.24365*x(3)*x(5)+0.0056499*x(3)*x(6)-...
    0.018049*x(3)*x(7)+0.0018549*x(3)*x(8)+0.036388*x(4)^2+...
    0.016773*x(4)*x(5)-0.1207*x(4)*x(6)+0.009459*x(4)*x(7)-...
    0.0035235*x(4)*x(8)-0.41697*x(5)^2-0.0027295*x(5)*x(6)-...
    0.0028339*x(5)*x(7)-0.0075612*x(5)*x(8)-0.082822*x(6)^2-...
    0.008507*x(6)*x(7)+0.0043193*x(6)*x(8)+0.039955*x(7)^2-...
    0.21693*x(7)*x(8)-0.3555*x(8)^2-0.063565*x(1)^3+0.081542*x(1)^2*x(2)+...
    0.0079381*x(1)^2*x(3)+0.014436*x(1)^2*x(4)+0.029956*x(1)^2*x(5)-...
    0.013527*x(1)^2*x(6)+0.019093*x(1)^2*x(7)+0.054795*x(1)^2*x(8)+...
    0.013946*x(1)*x(2)^2+0.027791*x(1)*x(2)*x(3)+0.05592*x(1)*x(2)*x(4)-...
    0.041715*x(1)*x(2)*x(5)-0.066771*x(1)*x(2)*x(6)+0.062442*x(1)*x(2)*x(7)-...
    0.0395*x(1)*x(2)*x(8)+0.020873*x(1)*x(3)^2+0.0011555*x(1)*x(3)*x(4)+...
    0.035324*x(1)*x(3)*x(5)+0.02103*x(1)*x(3)*x(6)-0.0090797*x(1)*x(3)*x(7)+...
    0.0023824*x(1)*x(3)*x(8)-0.013572*x(1)*x(4)^2-0.0066141*x(1)*x(4)*x(5)+...
    0.025993*x(1)*x(4)*x(6)+0.0051252*x(1)*x(4)*x(7)+0.0057658*x(1)*x(4)*x(8)-...
    0.00060671*x(1)*x(5)^2+0.011727*x(1)*x(5)*x(6)-0.0027687*x(1)*x(5)*x(7)+...
    0.008652*x(1)*x(5)*x(8)+0.029861*x(1)*x(6)^2+0.0024512*x(1)*x(6)*x(7)-...
    0.031939*x(1)*x(6)*x(8)-0.038375*x(1)*x(7)^2+0.020942*x(1)*x(7)*x(8)-...
    0.039418*x(1)*x(8)^2-0.0088683*x(2)^3+0.0066961*x(2)^2*x(3)+...
    0.051482*x(2)^2*x(4)-0.026302*x(2)^2*x(5)+0.025826*x(2)^2*x(6)+...
    0.027358*x(2)^2*x(7)-0.0011412*x(2)^2*x(8)-0.0093649*x(2)*x(3)^2+...
    0.0057396*x(2)*x(3)*x(4)+0.066134*x(2)*x(3)*x(5)+0.0085411*x(2)*x(3)*x(6)+...
    0.012005*x(2)*x(3)*x(7)-0.01458*x(2)*x(3)*x(8)+0.055797*x(2)*x(4)^2-...
    0.014575*x(2)*x(4)*x(5)+0.08457*x(2)*x(4)*x(6)+0.021397*x(2)*x(4)*x(7)+...
    0.0018287*x(2)*x(4)*x(8)-0.089903*x(2)*x(5)^2+0.031304*x(2)*x(5)*x(6)-...
    0.012051*x(2)*x(5)*x(7)-0.0035777*x(2)*x(5)*x(8)-0.10618*x(2)*x(6)^2-...
    0.021668*x(2)*x(6)*x(7)-0.0022077*x(2)*x(6)*x(8)+0.035252*x(2)*x(7)^2+...
    0.050071*x(2)*x(7)*x(8)-0.01557*x(2)*x(8)^2+0.07288*x(3)^3+...
    0.013543*x(3)^2*x(4)+0.010653*x(3)^2*x(5)-0.043954*x(3)^2*x(6)-...
    0.029893*x(3)^2*x(7)-0.0043812*x(3)^2*x(8)+0.00061206*x(3)*x(4)^2-...
    0.01905*x(3)*x(4)*x(5)+0.020107*x(3)*x(4)*x(6)-0.0036447*x(3)*x(4)*x(7)+...
    0.0086988*x(3)*x(4)*x(8)+0.34592*x(3)*x(5)^2+0.019907*x(3)*x(5)*x(6)+...
    0.028186*x(3)*x(5)*x(7)-0.023011*x(3)*x(5)*x(8)-0.0090357*x(3)*x(6)^2+...
    0.0061024*x(3)*x(6)*x(7)+0.011772*x(3)*x(6)*x(8)+0.0092044*x(3)*x(7)^2+...
    0.0093733*x(3)*x(7)*x(8)+0.0014965*x(3)*x(8)^2-0.041495*x(4)^3+...
    0.022959*x(4)^2*x(5)+0.072715*x(4)^2*x(6)+0.025785*x(4)^2*x(7)+...
    0.011832*x(4)^2*x(8)-0.015679*x(4)*x(5)^2-0.026233*x(4)*x(5)*x(6)-...
    0.0036978*x(4)*x(5)*x(7)+0.027244*x(4)*x(5)*x(8)+0.19389*x(4)*x(6)^2-...
    0.022284*x(4)*x(6)*x(7)+0.00095422*x(4)*x(6)*x(8)+0.0040384*x(4)*x(7)^2+...
    0.015222*x(4)*x(7)*x(8)+0.027836*x(4)*x(8)^2-0.47556*x(5)^3+...
    0.002219*x(5)^2*x(6)-0.045971*x(5)^2*x(7)+0.014662*x(5)^2*x(8)+...
    0.00054186*x(5)*x(6)^2-0.009189*x(5)*x(6)*x(7)-0.016089*x(5)*x(6)*x(8)-...
    0.080154*x(5)*x(7)^2-0.0062523*x(5)*x(7)*x(8)-0.0062926*x(5)*x(8)^2-...
    0.27842*x(6)^3-0.0088381*x(6)^2*x(7)+0.043002*x(6)^2*x(8)-...
    0.0038757*x(6)*x(7)^2-0.0085079*x(6)*x(7)*x(8)-0.029524*x(6)*x(8)^2+...
    0.0048156*x(7)^3+0.0016265*x(7)^2*x(8)+0.29216*x(7)*x(8)^2-0.3444*x(8)^3-...
    0.072706*x(1)^4+0.072152*x(2)^4-0.0081207*x(3)^4-0.062925*x(4)^4+...
    0.70542*x(5)^4+0.23363*x(6)^4-0.021055*x(7)^4+0.56563*x(8)^4)^(1/0.5);
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.04.2012, 21:37     Titel:
  Antworten mit Zitat      
Hallo,

wo ist die Datei, und wo ist dein Problem / deine Frage?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
bale
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2012, 21:42     Titel:
  Antworten mit Zitat      
sorry,
hier noch die Datei aus der Population.

population_variable.pdf
 Beschreibung:

Download
 Dateiname:  population_variable.pdf
 Dateigröße:  158.18 KB
 Heruntergeladen:  569 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
bale
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2012, 22:00     Titel:
  Antworten mit Zitat      
Ich weiß überhaupt nicht ,wie ich dieses Polynom mit Hilfe eine GA optimieren kann. Ausgehend von der gesamten Population sollte die bestLösung finden, aber wie weiß ich nicht. Vielleicht kannst mir eine Code für einen GA schicken.
Danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.04.2012, 07:22     Titel:
  Antworten mit Zitat      
Hallo,

"optimieren" heißt bei MATLAB immer minimieren. MATLAB würde also versuchen, ein Minimum des Polynoms zu finden.

Ausprobieren kann ich das in der gegebenen Form schlecht. Kannst du deine Anfangspopulation so zur Verfügung stellen, dass ich sie auch problemlos verwenden kann? (z.B. als mat-File oder Excel-Tabelle)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
bale
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2012, 08:57     Titel: genetischer Algorihtmus
  Antworten mit Zitat      
Hi Harald,
Ich habe so ein matlab-Code entworfen, aber das funktioniert noch nicht optimal. Der wert meiner ausgangsfunktion ändert nicht. kannst du dir das angucken und mir was besseres vorschlagen, wenn geht.Excel und Matlab Dateien sind angehängt.
Danke für die Hilfe
Olga

batterie_variation_400_ohnenull_test1.xls
 Beschreibung:

Download
 Dateiname:  batterie_variation_400_ohnenull_test1.xls
 Dateigröße:  152 KB
 Heruntergeladen:  508 mal
gabat_algo.m
 Beschreibung:

Download
 Dateiname:  gabat_algo.m
 Dateigröße:  9.21 KB
 Heruntergeladen:  493 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.04.2012, 12:17     Titel:
  Antworten mit Zitat      
Hallo,

mir ist nicht ganz klar, was du mit der Mutation Function willst. Du verwendest eine, die anscheinend für Integer-Optimierung gedacht war, löscht dann aber das ROUND raus? Würde ich weglassen bzw. geeignet anpassen.

Wenn du die CreationFcn weglässt, siehst du, dass sich die Zielfunktionswerte verbessern. Das legt nahe, dass ga mit deiner Anfangspopulation deswegen nichts verbessert, weil deine Anfangspopulation schon das Optimum oder zumindest einen sehr guten Wert enthält.

Generell solltest du mehr als 3 Generationen laufen lassen - eher 30 oder 300.

Falls ga lediglich verwendet wird, um möglichst ein globales Minimum zu finden, und keine anderen Einschränkungen bestehen, empfiehlt sich das Verwenden einer HybridFcn zur weiteren Verbesserung des Endwertes von ga.

Wenn ich fragen darf: woher kommt eigentlich diese merkwürdige Zielfunktion?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
bale
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2012, 12:59     Titel:
  Antworten mit Zitat      
die Funktion ist ein Polynommodell, das durch die software Easy-Doe erstellt wurde.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.04.2012, 13:38     Titel:
  Antworten mit Zitat      
Hallo,

ich kenne diese Software nun nicht, aber man sollte sich fragen, ob ein Modell dieser Komplexität denn wirklich sinnvoll ist.

Ich hoffe, die anderen Anregungen haben dir weitergeholfen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
bale
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2012, 10:01     Titel:
  Antworten mit Zitat      
Hallo Harald,
ich bekomme immer unterschiedliche Ausganwerte beim Ausführen dieses GA. Könntest du mir bestimmt sagen, warum es so ist oder wie kann ich das vermeiden.
Thanks
Olga
Code:
function [x,fval] = gabat_algo

% Fitness function and numver of variables
%fitnessFcn = @(x)((2.4086+0.66827*x(1)+0.34454*x(2)-0.13647*x(3)-0.055166*x(4)+0.2008*x(5)+0.096534*x(6)-0.00068195*x(7)+0.019856*x(8)+0.064637*x(1)^2-0.19545*x(1)*x(2)-0.036925*x(1)*x(3)-0.0011845*x(1)*x(4)+0.010788*x(1)*x(5)+0.016573*x(1)*x(6)-0.016368*x(1)*x(7)+0.013489*x(1)*x(8)-0.0010713*x(2)^2-0.047758*x(2)*x(3)-0.057352*x(2)*x(4)+0.06803*x(2)*x(5)+0.091153*x(2)*x(6)-0.074321*x(2)*x(7)+0.050554*x(2)*x(8)-0.021366*x(3)^2+0.005159*x(3)*x(4)-0.24365*x(3)*x(5)+0.0056499*x(3)*x(6)-0.018049*x(3)*x(7)+0.0018549*x(3)*x(8)+0.036388*x(4)^2+0.016773*x(4)*x(5)-0.1207*x(4)*x(6)+0.009459*x(4)*x(7)-0.0035235*x(4)*x(8)-0.41697*x(5)^2-0.0027295*x(5)*x(6)-0.0028339*x(5)*x(7)-0.0075612*x(5)*x(8)-0.082822*x(6)^2-0.008507*x(6)*x(7)+0.0043193*x(6)*x(8)+0.039955*x(7)^2-0.21693*x(7)*x(8)-0.3555*x(8)^2-0.063565*x(1)^3+0.081542*x(1)^2*x(2)+0.0079381*x(1)^2*x(3)+0.014436*x(1)^2*x(4)+0.029956*x(1)^2*x(5)-0.013527*x(1)^2*x(6)+0.019093*x(1)^2*x(7)+0.054795*x(1)^2*x(8)+0.013946*x(1)*x(2)^2+0.027791*x(1)*x(2)*x(3)+0.05592*x(1)*x(2)*x(4)-0.041715*x(1)*x(2)*x(5)-0.066771*x(1)*x(2)*x(6)+0.062442*x(1)*x(2)*x(7)-0.0395*x(1)*x(2)*x(8)+0.020873*x(1)*x(3)^2+0.0011555*x(1)*x(3)*x(4)+0.035324*x(1)*x(3)*x(5)+0.02103*x(1)*x(3)*x(6)-0.0090797*x(1)*x(3)*x(7)+0.0023824*x(1)*x(3)*x(8)-0.013572*x(1)*x(4)^2-0.0066141*x(1)*x(4)*x(5)+0.025993*x(1)*x(4)*x(6)+0.0051252*x(1)*x(4)*x(7)+0.0057658*x(1)*x(4)*x(8)-0.00060671*x(1)*x(5)^2+0.011727*x(1)*x(5)*x(6)-0.0027687*x(1)*x(5)*x(7)+0.008652*x(1)*x(5)*x(8)+0.029861*x(1)*x(6)^2+0.0024512*x(1)*x(6)*x(7)-0.031939*x(1)*x(6)*x(8)-0.038375*x(1)*x(7)^2+0.020942*x(1)*x(7)*x(8)-0.039418*x(1)*x(8)^2-0.0088683*x(2)^3+0.0066961*x(2)^2*x(3)+0.051482*x(2)^2*x(4)-0.026302*x(2)^2*x(5)+0.025826*x(2)^2*x(6)+0.027358*x(2)^2*x(7)-0.0011412*x(2)^2*x(8)-0.0093649*x(2)*x(3)^2+0.0057396*x(2)*x(3)*x(4)+0.066134*x(2)*x(3)*x(5)+0.0085411*x(2)*x(3)*x(6)+0.012005*x(2)*x(3)*x(7)-0.01458*x(2)*x(3)*x(8)+0.055797*x(2)*x(4)^2-0.014575*x(2)*x(4)*x(5)+0.08457*x(2)*x(4)*x(6)+0.021397*x(2)*x(4)*x(7)+0.0018287*x(2)*x(4)*x(8)-0.089903*x(2)*x(5)^2+0.031304*x(2)*x(5)*x(6)-0.012051*x(2)*x(5)*x(7)-0.0035777*x(2)*x(5)*x(8)-0.10618*x(2)*x(6)^2-0.021668*x(2)*x(6)*x(7)-0.0022077*x(2)*x(6)*x(8)+0.035252*x(2)*x(7)^2+0.050071*x(2)*x(7)*x(8)-0.01557*x(2)*x(8)^2+0.07288*x(3)^3+0.013543*x(3)^2*x(4)+0.010653*x(3)^2*x(5)-0.043954*x(3)^2*x(6)-0.029893*x(3)^2*x(7)-0.0043812*x(3)^2*x(8)+0.00061206*x(3)*x(4)^2-0.01905*x(3)*x(4)*x(5)+0.020107*x(3)*x(4)*x(6)-0.0036447*x(3)*x(4)*x(7)+0.0086988*x(3)*x(4)*x(8)+0.34592*x(3)*x(5)^2+0.019907*x(3)*x(5)*x(6)+0.028186*x(3)*x(5)*x(7)-0.023011*x(3)*x(5)*x(8)-0.0090357*x(3)*x(6)^2+0.0061024*x(3)*x(6)*x(7)+0.011772*x(3)*x(6)*x(8)+0.0092044*x(3)*x(7)^2+0.0093733*x(3)*x(7)*x(8)+0.0014965*x(3)*x(8)^2-0.041495*x(4)^3+0.022959*x(4)^2*x(5)+0.072715*x(4)^2*x(6)+0.025785*x(4)^2*x(7)+0.011832*x(4)^2*x(8)-0.015679*x(4)*x(5)^2-0.026233*x(4)*x(5)*x(6)-0.0036978*x(4)*x(5)*x(7)+0.027244*x(4)*x(5)*x(8)+0.19389*x(4)*x(6)^2-0.022284*x(4)*x(6)*x(7)+0.00095422*x(4)*x(6)*x(8)+0.0040384*x(4)*x(7)^2+0.015222*x(4)*x(7)*x(8)+0.027836*x(4)*x(8)^2-0.47556*x(5)^3+0.002219*x(5)^2*x(6)-0.045971*x(5)^2*x(7)+0.014662*x(5)^2*x(8)+0.00054186*x(5)*x(6)^2-0.009189*x(5)*x(6)*x(7)-0.016089*x(5)*x(6)*x(8)-0.080154*x(5)*x(7)^2-0.0062523*x(5)*x(7)*x(8)-0.0062926*x(5)*x(8)^2-0.27842*x(6)^3-0.0088381*x(6)^2*x(7)+0.043002*x(6)^2*x(8)-0.0038757*x(6)*x(7)^2-0.0085079*x(6)*x(7)*x(8)-0.029524*x(6)*x(8)^2+0.0048156*x(7)^3+0.0016265*x(7)^2*x(8)+0.29216*x(7)*x(8)^2-0.3444*x(8)^3-0.072706*x(1)^4+0.072152*x(2)^4-0.0081207*x(3)^4-0.062925*x(4)^4+0.70542*x(5)^4+0.23363*x(6)^4-0.021055*x(7)^4+0.56563*x(8)^4)^0.5);
fitnessFcn=@(x)(80.7086+28.3295*x(1)-50.7263*x(2)+52.2033*x(3)+11.0206*x(4)+68.8204*x(5)+33.6139*x(6)-27.112*x(7)+37.743*x(8)+59.5711*x(1)^2-2.9361*x(1)*x(2)+2.1017*x(1)*x(3)-9.4926*x(1)*x(4)-2.7251*x(1)*x(5)-0.6723*x(1)*x(6)+1.1459*x(1)*x(7)-8.842*x(1)*x(8)-17.7721*x(2)^2-23.491*x(2)*x(3)-3.8372*x(2)*x(4)-28.279*x(2)*x(5)-1.6775*x(2)*x(6)-5.1015*x(2)*x(7)-55.7812*x(2)*x(8)-85.7381*x(3)^2-8.7428*x(3)*x(4)+48.412*x(3)*x(5)-10.4648*x(3)*x(6)-1.3857*x(3)*x(7)-10.3719*x(3)*x(8)+29.2149*x(4)^2-3.065*x(4)*x(5)-3.8016*x(4)*x(6)-3.4036*x(4)*x(7)+6.0511*x(4)*x(8)-29.8811*x(5)^2-11.6183*x(5)*x(6)-0.02048*x(5)*x(7)-12.4638*x(5)*x(8)-35.1234*x(6)^2+4.7239*x(6)*x(7)-0.19847*x(6)*x(8)-104.8242*x(7)^2+7.5212*x(7)*x(8)+43.727*x(8)^2+3.8903*x(1)^3-17.217*x(1)^2*x(2)-0.057026*x(1)^2*x(3)-0.0293*x(1)^2*x(4)-9.4785*x(1)^2*x(5)+7.5645*x(1)^2*x(6)+8.3251*x(1)^2*x(7)-6.1906*x(1)^2*x(8)-13.5496*x(1)*x(2)^2+7.0531*x(1)*x(2)*x(3)-6.3179*x(1)*x(2)*x(4)+2.1875*x(1)*x(2)*x(5)+2.2215*x(1)*x(2)*x(6)-2.1167*x(1)*x(2)*x(7)+0.045324*x(1)*x(2)*x(8)-0.011718*x(1)*x(3)^2+9.2448*x(1)*x(3)*x(4)-4.3944*x(1)*x(3)*x(5)+0.21668*x(1)*x(3)*x(6)+1.2848*x(1)*x(3)*x(7)+9.9264*x(1)*x(3)*x(8)-18.3225*x(1)*x(4)^2+13.6595*x(1)*x(4)*x(5)+3.3517*x(1)*x(4)*x(6)-7.9373*x(1)*x(4)*x(7)-0.13248*x(1)*x(4)*x(8)+6.7418*x(1)*x(5)^2-2.9696*x(1)*x(5)*x(6)+1.5166*x(1)*x(5)*x(7)+7.5156*x(1)*x(5)*x(8)-2.8696*x(1)*x(6)^2+1.4486*x(1)*x(6)*x(7)-6.8834*x(1)*x(6)*x(8)-31.7892*x(1)*x(7)^2+12.7122*x(1)*x(7)*x(8)+8.7583*x(1)*x(8)^2-1.2891*x(2)^3+11.7487*x(2)^2*x(3)-6.1766*x(2)^2*x(4)+21.5656*x(2)^2*x(5)-26.8668*x(2)^2*x(6)+2.4268*x(2)^2*x(7)+30.4144*x(2)^2*x(8)+43.4411*x(2)*x(3)^2-10.4154*x(2)*x(3)*x(4)+42.2632*x(2)*x(3)*x(5)+7.1271*x(2)*x(3)*x(6)-0.42843*x(2)*x(3)*x(7)-11.4647*x(2)*x(3)*x(8)+5.6255*x(2)*x(4)^2-6.3306*x(2)*x(4)*x(5)-2.1558*x(2)*x(4)*x(6)-0.69893*x(2)*x(4)*x(7)+3.6352*x(2)*x(4)*x(8)+47.7833*x(2)*x(5)^2-3.7538*x(2)*x(5)*x(6)-2.0451*x(2)*x(5)*x(7)-11.1103*x(2)*x(5)*x(8)+0.97112*x(2)*x(6)^2+16.2351*x(2)*x(6)*x(7)-1.1196*x(2)*x(6)*x(8)-4.9062*x(2)*x(7)^2+4.6322*x(2)*x(7)*x(8)+95.5524*x(2)*x(8)^2-66.542*x(3)^3+3.652*x(3)^2*x(4)-60.9312*x(3)^2*x(5)+8.8207*x(3)^2*x(6)-6.9722*x(3)^2*x(7)-0.24821*x(3)^2*x(8)+5.94*x(3)*x(4)^2+11.9592*x(3)*x(4)*x(5)+3.1492*x(3)*x(4)*x(6)+10.8806*x(3)*x(4)*x(7)+2.9406*x(3)*x(4)*x(8)-72.9428*x(3)*x(5)^2+9.0682*x(3)*x(5)*x(6)-5.4897*x(3)*x(5)*x(7)+17.7925*x(3)*x(5)*x(8)+4.6864*x(3)*x(6)^2-3.0694*x(3)*x(6)*x(7)+1.0026*x(3)*x(6)*x(8)+6.0892*x(3)*x(7)^2+6.471*x(3)*x(7)*x(8)+7.6957*x(3)*x(8)^2-15.5025*x(4)^3-6.8411*x(4)^2*x(5)-18.0178*x(4)^2*x(6)-4.529*x(4)^2*x(7)-10.8145*x(4)^2*x(8)+5.4568*x(4)*x(5)^2+9.8686*x(4)*x(5)*x(6)+9.5521*x(4)*x(5)*x(7)-1.186*x(4)*x(5)*x(8)-11.8287*x(4)*x(6)^2-5.4597*x(4)*x(6)*x(7)-0.13939*x(4)*x(6)*x(8)+15.8085*x(4)*x(7)^2-8.3951*x(4)*x(7)*x(8)-3.1355*x(4)*x(8)^2-73.6128*x(5)^3+12.6939*x(5)^2*x(6)+3.6271*x(5)^2*x(7)+4.9746*x(5)^2*x(8)+2.804*x(5)*x(6)^2-3.111*x(5)*x(6)*x(7)-1.1569*x(5)*x(6)*x(8)-0.024943*x(5)*x(7)^2+6.3602*x(5)*x(7)*x(8)+0.88499*x(5)*x(8)^2-9.84*x(6)^3+6.9954*x(6)^2*x(7)+27.6188*x(6)^2*x(8)-12.8032*x(6)*x(7)^2+7.3214*x(6)*x(7)*x(8)+0.6733*x(6)*x(8)^2+27.1313*x(7)^3+4.7459*x(7)^2*x(8)-15.2874*x(7)*x(8)^2-145.6249*x(8)^3-56.6297*x(1)^4+0.12745*x(2)^4+112.8036*x(3)^4-21.1416*x(4)^4+64.8184*x(5)^4+22.913*x(6)^4+92.9163*x(7)^4+46.8309*x(8)^4)^(1/0.5);

numberOfVariables = 8;

% If decision variables are bounded provide a bound e.g, LB and UB.
LB=[-1 -1 -1 -1 -1 -1 -1 -1];
UB=[1 1 1 1 1 1 1 1];
Bound = [LB;UB]; % If unbounded then Bound = []

% Create an options structure to be passed to GA
% Three options namely 'CreationFcn', 'MutationFcn', and
% 'PopInitRange' are required part of the problem.
options = gaoptimset('CreationFcn',@int_pop,'MutationFcn',@int_mutation, ...
    'PopInitRange',Bound,'Display','iter','StallGenL',800,'Generations',1000, ...
    'PopulationSize',400,'PlotFcns',{@gaplotbestf,@gaplotbestindiv})

[x,fval] = ga(fitnessFcn,numberOfVariables,options);

%---------------------------------------------------
% Mutation function to generate childrens satisfying the range and integer
% constraints on decision variables.
function mutationChildren = int_mutation(parents,options,GenomeLength, ...
    FitnessFcn,state,thisScore,thisPopulation);
shrink =0.001;
scale = 1;
scale = scale - shrink * scale * state.Generation/options.Generations;
range = options.PopInitRange;
lower = range(1,:);
upper = range(2,:);
scale = scale * (upper - lower);
mutationPop =  length(parents);

mutationChildren =  repmat(lower,mutationPop,1) +  ...
   (repmat(scale,mutationPop,1) .* rand(mutationPop,GenomeLength));


% End of mutation function
%---------------------------------------------------

function Population = int_pop(GenomeLength,FitnessFcn,options);

 [num, txt1]= xlsread('TestPlan1.xls');
%  [num, txt1]= xlsread('batterie_variation_400_ohnenull_patternsearch.xls');
%[num,txt1]= xlsread('batterie_variation_400_ohnenull_test1.xls');

 Population =[num(:,17),num(:,18),num(:,19),num(:,20),num(:,21),num(:,22),num(:,23),num(:,24)];

% End of creation function

 


TestPlan1.xls
 Beschreibung:

Download
 Dateiname:  TestPlan1.xls
 Dateigröße:  108 KB
 Heruntergeladen:  590 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.04.2012, 10:12     Titel:
  Antworten mit Zitat      
Hallo,

es liegt in der Natur eines genetischen Algorithmus, dass verschiedene Durchläufe unterschiedliche Ergebnisse liefern. Stelle dir vor, dass die Evolution auf der Erde mehrmals durchlaufen würde; da würden auch unterschiedliche Ergebnisse herauskommen.

Wenn du das vermeiden willst, kannst du mit RNG (bzw. falls du älteres Release verwendest, siehe Doku von RAND) den Status des Zufallszahlengenerators beeinflussen und deine Ergebnisse so reproduzierbar halten.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
bale
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2012, 10:15     Titel:
  Antworten mit Zitat      
Sorry, ich habe mich nicht richtig ausgedruckt. für jede Ausführung dieses GA bekommt ich unterschiedlichen Ausgangwerte und möchte ich wissen, wie man Gleichen Werte für jedes Ausführen bekommen kann, wenn keine veränderungen gegeben wurden.
Danke nochmal!
Olga
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.04.2012, 11:29     Titel:
  Antworten mit Zitat      
Hallo,

wenn ich das richtig verstehe, war das der zweite Teil meiner Antwort. Vor der Ausführung
Code:
oder etwas vergleichbares.

Grüße,
Harald[/code]
Private Nachricht senden Benutzer-Profile anzeigen
 
bale
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 27.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2012, 11:33     Titel:
  Antworten mit Zitat      
Danke Harald,
Ich versuche mal mit dieser weiteren Option von RNG.
Gruß
Olga
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 - 2024 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.