How can I resolve this 'Improper assignment with rectangular..' error while using Genetic Algorithm minimization (ga function)?
Ältere Kommentare anzeigen
I am getting an error while using the ga() function with ub,lb,non-linear and integer constraints but no linear inequality/equality constraints.
The error is- "Improper assignment with rectangular empty matrix."
Here's the piece of my code- (EWPL and constraint are my functions which accept a single argument i.e. y. constraint returns C and Ceq=[])
%SETTING THE INTEGER CONSTRAINTS ON ALL DECISION VARIABLES EXCEPT FOR y(1).
for i=2:nvars
intcon(i-1)=i;
end
%RESULT
f=@(y)EWPL(y);
nonlcon=@(y)constraint(y);
yopt=ga(f,nvars,[],[],[],[],lb,ub,nonlcon,intcon);

Interestingly, the error is totally different when I try to run the code some times. The error is in line 351 of ga() again but it's different.

Can anyone please tell me where I am going wrong? This is the very first time that I am using the genetic algorithm. Thanks :)
Akzeptierte Antwort
Weitere Antworten (1)
Alan Weiss
am 23 Okt. 2015
There could be several problems here. One is that you set intcon wrong. If you want all variables except for the first to be integer-valued, then
intcon = 2:nvars;
Another could be your nonlinear constraint function. Does it return two values, c and ceq? And is ceq = []? It should be.
Alan Weiss
MATLAB mathematical toolbox documentation
1 Kommentar
Aakash Rajwani
am 24 Okt. 2015
Kategorien
Mehr zu Genetic Algorithm finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!