I'm seeking for values 0 or more than 0.1 for example. How can I do this?

댓글 수: 2

Torsten
Torsten 2022년 5월 31일
편집: Torsten 2022년 5월 31일
help find
if you seek them in an array or a matrix.
Otherwise, you have to explain your problem in more detail.
Milena Beneva
Milena Beneva 2022년 5월 31일
partially discrete constraint like "x(i)=0 or x(i)>=0.1"

댓글을 달려면 로그인하십시오.

 채택된 답변

Matt J
Matt J 2022년 5월 31일
편집: Matt J 2022년 5월 31일

0 개 추천

You cannot specify a partially discrete constraint like "x(i)=0 or x(i)>=0.1" on your variables with fmincon.
To handle that with fmincon, you must run a separate fmincon optimization for every possible subset S of non-zero x(i) variables, constraining x(i)>=0.1 for and x(i)=0 for .
An alternative to doing a combinatoric optimization would be to introduce binary variables b(i) and impose the linear inequality constraints,
0<=x(i)
b(i)<=10*x(i)
x(i)<=ub(i)*b(i)
The only x(i)<0.1 which satisfies these constraints is x(i)=0. For this approach, however, you would need a solver that can handle binary-constrained variables, like intlinprog (if your objective and other constraints are linear) or ga.

댓글 수: 3

Walter Roberson
Walter Roberson 2022년 5월 31일
You could use ga and nonlinear constraints though. ga and patternsearch should be able to handle discontinuities
Milena Beneva
Milena Beneva 2022년 5월 31일
Thanks a lot! I do a portfolio optimization (by min risk) but all of assets from initial asset list take a part in optimized portfolio. It is not normal. Some of assets have weigths below 0.00005. I'm looking to desision how to constraint that solution.
Matt J
Matt J 2022년 5월 31일
편집: Matt J 2022년 5월 31일
You could use ga and nonlinear constraints though. ga and patternsearch should be able to handle discontinuities
I 'm less optimistic about that being successful. ga cannot do any prior analysis of nonlinear discontinuous constraints to determine how to distribute the initial population over discontinuous feasible regions.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Problem-Based Optimization Setup에 대해 자세히 알아보기

제품

릴리스

R2022a

질문:

2022년 5월 31일

편집:

2022년 5월 31일

Community Treasure Hunt

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

Start Hunting!

Translated by