From: Gonzalo on 20 Mar 2010 21:59 Dear all, I have experience en running GA in Matlab but with a single objective. I am trying to run now Multiobjective Functions, having only 2 variables and only 2 Objectives functions. However, it does not work since I get the following: ----------------------------- Optimization running. Too many input arguments. I really dont understand what's going on. Please any help or advice is more than welcome! Thank you very much. Gonzalo
From: James Allison on 22 Mar 2010 11:46 Try gamultiobj, ga is for problems with a single objective: http://www.mathworks.com/products/global-optimization/demos.html?file=/products/demos/shipping/globaloptim/gamultiobjfitness.html -James Gonzalo wrote: > Dear all, > > I have experience en running GA in Matlab but with a single objective. > I am trying to run now Multiobjective Functions, having only 2 variables > and only 2 Objectives functions. However, it does not work since I get > the following: > > ----------------------------- > Optimization running. > Too many input arguments. > > > I really dont understand what's going on. > > Please any help or advice is more than welcome! > > Thank you very much. > > Gonzalo
From: Gonzalo on 22 Mar 2010 12:50 Thanks James. I think I did explain well, but the error or problem I am having described (TOO MANY INPUT PARAMETERS) is when I use gamultiobj.... The botton line is that I dont understand why I receive that message since I do not have many input parameters....only 2.... Thanks for all. Gonzalo James Allison <james.allison(a)mathworks.com> wrote in message <ho83bq$o4m$2(a)fred.mathworks.com>... > Try gamultiobj, ga is for problems with a single objective: > > http://www.mathworks.com/products/global-optimization/demos.html?file=/products/demos/shipping/globaloptim/gamultiobjfitness.html > > -James > > Gonzalo wrote: > > Dear all, > > > > I have experience en running GA in Matlab but with a single objective. > > I am trying to run now Multiobjective Functions, having only 2 variables > > and only 2 Objectives functions. However, it does not work since I get > > the following: > > > > ----------------------------- > > Optimization running. > > Too many input arguments. > > > > > > I really dont understand what's going on. > > > > Please any help or advice is more than welcome! > > > > Thank you very much. > > > > Gonzalo
From: James Allison on 22 Mar 2010 13:13 Can you post the code that shows how you are using gamultiobj and defining the fitness function? That might help us answer your question. -James Gonzalo wrote: > Thanks James. > I think I did explain well, but the error or problem I am having > described (TOO MANY INPUT PARAMETERS) is when I use gamultiobj.... > The botton line is that I dont understand why I receive that message > since I do not have many input parameters....only 2.... > Thanks for all. > Gonzalo > > James Allison <james.allison(a)mathworks.com> wrote in message > <ho83bq$o4m$2(a)fred.mathworks.com>... >> Try gamultiobj, ga is for problems with a single objective: >> >> http://www.mathworks.com/products/global-optimization/demos.html?file=/products/demos/shipping/globaloptim/gamultiobjfitness.html >> >> >> -James >> >> Gonzalo wrote: >> > Dear all, >> > > I have experience en running GA in Matlab but with a single >> objective. >> > I am trying to run now Multiobjective Functions, having only 2 >> variables > and only 2 Objectives functions. However, it does not work >> since I get > the following: >> > > ----------------------------- >> > Optimization running. >> > Too many input arguments. >> > > > I really dont understand what's going on. >> > > Please any help or advice is more than welcome! >> > > Thank you very much. >> > > Gonzalo
From: Gonzalo on 23 Mar 2010 08:42 Hi, Please find below the code I wrote to run GAMULTIOBJ..... (When I use single GA it perfectly works ) I am using gamultiobj...using 40 individuals for the Initial Population and 20 Generations as a limit (stop criterion). I am using 2 variables....VECTORIZED... It run only two generations and then suddenly stops....indicating the following: TOO MANY INPUT PARAMETERS......(error message) Please help. Many thanks. Gonzalo --------------------------------------------------------------------- CODE - TO DO INVERSE ANALYSIS MINIMIZING J so this uses 2 data files to get data from and so compute J (Objective Function) --------------------------------------------------------------------- function [J] =mc_ga_1layer_multiobj_2vars(POP) %Initial Population Eref=POP(:,1); %Young's Modulus phi=POP(:,2); % Friction Angle POP(:,:) N=length(Eref) Eref=1000*Eref; %converting MPa to Kpa Gref=Eref/2.4; sphi=sin(phi.*pi/180); % this correspond to the number of the population size %or the length of POP(:,i) %defining first lines L1='C:\Progra~1\Plaxis8x\'; L2='C:\ia\'; L3='exc_1strut_3layers_clay';% PLAXIS file to be called L4='C:\ia\copies\'; %storing copies for each individual L5=N; %number of variations for each iteration (=population size) L6=2; %fix for soil material property changes (E) % open the file with write permission fid = fopen('TABLE.DAT', 'w+'); fprintf(fid, '%s\r\n', L1); fprintf(fid, '%s\r\n', L2); fprintf(fid, '%s\r\n', L3); fprintf(fid, '%s\r\n', L4); fclose(fid); AO=[]; % G sin(phi) A=[1 1 1 0 1 1 3 0]; for i=1:N AO=[AO; A]; end A=AO; A(:,4)=Gref; A(:,8)=sphi; % depends on results we need from PLAXIS... B=2; C=[4 1 1 1 -1; 4 8 1 -1 -1]; % saving file save('TABLE.DAT','L5','L6','A','B','C','-append','-ASCII'); %calling MIT_GA.exe (created with all Fortran codes.. %...this code reads FE input values & also extract results needed..) !MIT_GA.exe %opening, extracting COMPUTED VALUES from RESULT.DAT fid=fopen('result.dat','r'); comp = fscanf(fid,'%g %g %g ',[3,inf]); % It has 3 columns comp = comp'; fclose(fid) %Initializing variables u_comp=zeros(N,1); u_field=zeros(N,1); s_comp=zeros(N,1); s_field=zeros(N,1); U=zeros(N,1); S=zeros(N,1); J1=zeros(N,1); J2=zeros(N,1); J=zeros(N,2); %copy stored computed values u_comp(:,1)=1000*comp(:,2); % displacement in mm s_comp(:,1)=abs(comp(:,3)); % strut loads in kN/m %defining fitness function & inserting s_field as a vector %(depending on # of Struts & variations per iteration) u_field(:,1)=1000*(5.1912911E-03); s_field(:,1)=abs(-1.1038154E+02); %computing the residual values as 1-norm U=abs(u_field-u_comp); % in mm S=abs(s_field-s_comp); % in kN/m % specifying OBJECTIVE FUNCTIONS J1=U; % max displacement in (mm) J2=S; % strut loads F1 in (KN/m) J=[J1 J2]; %creating variables... J_acc=[]; E_acc=[]; phi_acc=[]; u_comp_acc=[]; u_field_acc=[]; s_comp_acc=[]; s_field_acc=[]; % registrying/storing some data u_comp_acc=[u_comp_acc; u_comp]; u_field_acc=[u_field_acc; u_field]; s_comp_acc=[s_comp_acc; s_comp]; s_field_acc=[s_field_acc; s_field]; J_acc=[J_acc; J]; E_acc=[E_acc; Eref]; n=length(E_acc); E_field=80*ones(n,1); phi_acc=[phi_acc; phi]; m=length(phi_acc); phi_field=26*ones(m,1); ALL_DATA=[E_acc E_field phi_acc phi_field s_comp_acc s_field_acc u_comp_acc u_field_acc J_acc]; %storing all results + data .... save('ALL_DATA_MULTI_2vars.txt','ALL_DATA','-append','-ASCII');
|
Next
|
Last
Pages: 1 2 Prev: Blockproc vs blkproc problem Next: Using a saved string as a variable name? |