How can we insert upper and lower bounds in particle swarm optimization for more than one variable parameters that need to be optimized.
8 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Alan Weiss
2021-3-30
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 个评论
Walter Roberson
2021-3-31
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Direct Search 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!