# How can I NOT specify the constraint function in the ga function?

5 views (last 30 days)
Riccardo Andreoni on 6 Jul 2019
Commented: Matt J on 8 May 2020
I'm trying to use the genetic algorithm function ga, which requires the following inputs:
x = ga(fun,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)
I need to specify some options, but I don't have any non linear constraint function, so I need to leave the input nonlcon "empty".
How can I do that?
Thank you

#### 1 Comment

infinity on 6 Jul 2019
Hello,
There are several options that you could adapt with your situation. For example, if you don't have nonlinear constrains, you may choose one of them:
x = ga(fun,nvars,A,b) finds a local minimum x to fun, subject to the linear inequalities A*xb. ga evaluates the matrix product A*x as if x is transposed (A*x').
x = ga(fun,nvars,A,b,Aeq,beq) finds a local minimum x to fun, subject to the linear equalities Aeq*x = beq and A*xb. (Set A=[] and b=[] if no linear inequalities exist.) ga evaluates the matrix product Aeq*x as if x is transposed (Aeq*x').
x = ga(fun,nvars,A,b,Aeq,beq,lb,ub) defines a set of lower and upper bounds on the design variables, x, so that a solution is found in the range lb x ub. (Set Aeq=[] and beq=[] if no linear equalities exist.)

Matt J on 6 Jul 2019
Edited: Matt J on 6 Jul 2019
Any of the constraint arguments can be left empty to signify to ga that there are no constraints of that type, e.g.,
x = ga(fun,nvars,A,b,[],[],lb,[],[],options)

Show 1 older comment
Matt J on 6 Jul 2019
No, not true:
>> ga(@(x) norm(x), 2,[],[],[],[],[],[])
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
ans =
0.1525 0.0840
Charles Uko on 7 May 2020
How can one specify linear constraints? it seems like the GA only allow options for non-linear constraints
Matt J on 8 May 2020