How can we insert upper and lower bounds in particle swarm optimization for more than one variable parameters that need to be optimized.

조회 수: 5 (최근 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.

답변 (1개)

Alan Weiss
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
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 CenterFile Exchange에서 Direct Search에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by