How can we insert upper and lower bounds in particle swarm optimization for more than one variable parameters that need to be optimized.
6 views (last 30 days)
Show older comments
Hi sir/ madam,
I am using particle swarm optimization method for optimizing maximum amount of energy dissipated in an absorber (objective function). For this I have to go through solving ODE consists of more than one variable parameters. I am stucked while giving upper and lower bound for the variable parameters in (particleswarm) function for more than one variable. i actually want to know how can i feed upper and lower bound inside the particleswarm function for more than one variable parameter.
0 Comments
Answers (1)
Alan Weiss
on 30 Mar 2021
I am not sure that I understand you. You might be asking about bounding some control variables. Generally, all of your control variables are in one vector, typically called x, and your bounds are a vector of lower bounds and a vector of upper bounds. See Writing Scalar Objective Functions and Bound Constraints.
However, you might be asking about how to bound nonlinear functions of your control variables, meaning functions that depend on your control variables but are not, themselves, control variables. Those are called nonlinear inequality constraints, and are not available in the particleswarm solver. See Nonlinear Constraints. You can use patternsearch or ga for those constraints.
Alan Weiss
MATLAB mathematical toolbox documentation
6 Comments
Walter Roberson
on 31 Mar 2021
The ub and lb vectors you pass to particleswarm should be the same length as the number of variables. particleswarm will use the bounds automatically for the creation function.
See Also
Categories
Find more on Direct Search in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!