Write loop in optimization problem constraint

3 ビュー (過去 30 日間)
Sina
Sina 2023 年 3 月 3 日
回答済み: Harsh 2025 年 5 月 30 日
Hello
I have an optimization problem that needs a loop in it's constraints.
My optimizaton problem constraint: we have some nodes that should preserve a distinct distance among each other, for this goal I've written a loop in constraints include a for loop that measure norm among every pair of nodes that should be greater than a specific 'd', but my constraint including for loop isn't met.
Have you ever used a loop (especially for loop) in constraints section of an opt. problem?

回答 (1 件)

Harsh
Harsh 2025 年 5 月 30 日
Hi @Sina,
You can use "for-loops" within the nonlinear constraint function in MATLAB's Optimization Toolbox, as long as the function returns two outputs: one for inequality constraints ("c", where each element must be ≤ 0) and one for equality constraints ("ceq", where each element must be = 0). This is useful for problems like ensuring that all pairs of nodes maintain a minimum distance—by looping through each pair, computing the Euclidean distance, and constructing the constraint as "d - distance ≤ 0".
Please refer to the MathWorks documentation under “Nonlinear Constraints” at www.mathworks.com/help/optim/ug/nonlinear-equality-and-inequality-constraints.html and in the "fmincon" function reference at www.mathworks.com/help/optim/ug/fmincon.html to understand more regarding this.

カテゴリ

Help Center および File ExchangeSurrogate Optimization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by