|
|
Simulationmodell als fitnessfunction für GA |
|
das_goon |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.11.2011, 15:06
Titel: Simulationmodell als fitnessfunction für GA
|
|
|
|
|
hallo leute,
ich versuche mittels GA die parameter eines Simulinkmodells zu optimieren. hier der code
[...]
options = gaoptimset;
% Modify options setting
options = gaoptimset(options,'PopulationSize', 5);
options = gaoptimset(options,'Generations', 1);
options = gaoptimset(options,'TimeLimit', 60);
options = gaoptimset(options,'EliteCount', 0);
options = gaoptimset(options,'Display', 'off');
%starte GA
[best_ind,fval,exitflag,output,population,score] = ga(@fitness,18,[],[],[],[],LB,UB,[],options);
function [ fitvalue ] = fitness( chrom )
%FNFCTN Summary of this function goes here
% Detailed echromplanation goes here
%Definiere_Parameter
parameter.Peak_Power_Model=chrom(1);
...
parameter.min_DG=chrom(1
%Simulate
Simout=sim('x11_05',parameter);
fitvalue=simout_cost.signals.values(length(simout_cost.signals.values))
end
%%
ich bekomme folgende Fehler
%%
parameter =
Peak_Power_Model: 0.1034
Peak_Voltage_model: 48
beta_deg: 0.1136
delta_az: -0.9047
P_N_gen: 0
diameter: 1
hubheight: 8
Capacity_V: 0
Capacity_Pb: 0.7847
Capacity_Li: 0.3086
P_N_conv1: 0
P_N_conv2: 0
SOC_min_V: 0.0500
SOC_min_Pb: 0.0500
SOC_min_Li: 0.0500
coeff_diesel: 1
P_N_DG: 0
min_DG: 0
%%
ich denke mal das ist der schwerwiegendste fehler
%%
??? Error using ==> fitness at 32
block_diagram does not have a parameter named 'Peak_Power_Model'.
der rest folgt:
Error in ==> validate>@(x)fitness(x,FitnessFcnArgs{:}) at 136
fitness = @(x) fitness(x,FitnessFcnArgs{:});
Error in ==> fcnvectorizer at 14
y(i, = feval(fun,(pop(i,));
Error in ==> makeState at 47
Score =
fcnvectorizer(state.Population(initScoreProvided+1:end,,FitnessFcn,1,options.SerialUserFcn);
Error in ==> galincon at 18
state =
makeState(GenomeLength,FitnessFcn,Iterate,output.problemtype,options);
Error in ==> ga at 282
[x,fval,exitFlag,output,population,scores] =
galincon(FitnessFcn,nvars, ...
Error in ==> itsastart2 at 22
[best_ind,fval,exitflag,output,population,score] =
ga(@fitness,18,[],[],[],[],LB,UB,[],options);
Caused by:
Failure in user-supplied fitness function evaluation. GA cannot
continue.
Das Problem ist das weder der parameter-struct in den workspace geladen wird, aber auch, dass der sim-befehl auf die art auch ohne den GA nicht funktioniert. Kann mir vielleicht einer einen Tipp geben was ich falsch mache???
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.11.2011, 20:55
Titel:
|
|
Hallo,
Fehlermeldungen wie die von dir genannte passieren oft, wenn man ein auf einer Version erstelltes Modell in einer anderen Version öffnet. Kann darin das Problem liegen?
Wie du schon richtig erkannt hast, hat das Problem mit GA nichts zu tun. Ich vermute sogar, dass das Problem schon auftritt, wenn du das Modell "normal" simulierst?
Grüße,
Harald
|
|
|
|
|
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 - 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.
|
|