MATLAB GA error help!

13 visualizaciones (últimos 30 días)
joichiro nishi
joichiro nishi el 5 de Dic. de 2018
Comentada: Walter Roberson el 6 de Dic. de 2018
Note: Updated the files and error message
Like the Subject says, I need help in sorting out the errors. Basically I'm trying to find the optimal bidding coefficients bd with the purpose of enhancing the profit F for the 2nd player (the 2 in Custom_Fitness_Fcn). Now the problem is that whenever I try to run main I get these errors:
>> main
In an assignment A(:) = B, the number of elements in A and B must be the same.
Error in Custom_Constraint_Fcn (line 10)
P(n) = (R-ac(n))/bd(n);
Error in main>@(bd)Custom_Constraint_Fcn(ac,bd,limit,i,l,Q0,K)
Error in createAnonymousFcn>@(x)fcn(x,FcnArgs{:}) (line 11)
fcn_handle = @(x) fcn(x,FcnArgs{:});
Error in constrValidate (line 21)
[tmpCineq,tmpCeq] = nonlcon([Iterate.x Iterate.x]');
Error in gacommon (line 125)
[LinearConstr, Iterate,nineqcstr,neqcstr,ncstr] = constrValidate(NonconFcn, ...
Error in ga (line 336)
NonconFcn,options,Iterate,type] = gacommon(nvars,fun,Aineq,bineq,Aeq,beq,lb,ub, ...
Error in main (line 9)
[bd,F] = ga(FitnessFcn,nvars,[],[],[],[],[],[],ConstraintFcn,options);
Caused by:
Failure in initial user-supplied nonlinear constraint function evaluation.
>>
I've been trying to debug this thing for days, and I really need it in less than 2. Somebody please help!
  14 comentarios
joichiro nishi
joichiro nishi el 6 de Dic. de 2018
>The first two matrices being vertcat are i(end) by max(i) with all rows having the same value.
The third and fourth are l(end)-i(end) by max(l) with all rows having the same value.
You will not be able to horzcat or vertcat this collection together.
Ok. But before that I think my main issue is that for some reason the bd that gets passed to the constraint consists of this weird size and value that I have no idea where it came from [see images]. I'm weary of maybe my fitness function handle messing up the bd and from there it goes on to be passed to the constraint instead (If I haven't misunderstood, the function handle call "locks in" the variables it calls, is that right?).
Anyway, now that I've used a generated initial population instead of a custom creation function, is my code for the constraint correct? Or do I need to vectorialize some lines like R = ...?
[The wrong one is the first pic, and the correct bd value is the second pic]
NmhcVxh.png
D466bF2.png
Walter Roberson
Walter Roberson el 6 de Dic. de 2018
your posted attached custom constraint function passes ac bd . your debugging snapshot shows aa custom constraint that expects bd ac.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by