nonlinear inequality constraint for fmincon()

2 views (last 30 days)
Susan
Susan on 23 Apr 2019
Edited: Susan on 22 May 2019
Hey guys,
I am trying to write down the below nonlinear inequality constraint
Calculate_W_S_R(J, I, K, tr_prob, Tp, Tavg, Pf, Wrate) <= rateTh
in the form of c(x)<=0. However, when I want to define the constraint function, i.e., function[c ceq] = constraint(x), the input get more parameters than only the single variable x. Any idea how can I deal with this issue? Thanks in advance
the nonlinear inequality constraint c is a function of variable ptilda (the optimization variable which shows up in "Wrate") and some other given parameter (J, I, K, tr_prob, Tp, Tavg, Pf, ateTh). Wrate is a function of J, I, K, TB, ps, UE_A, SINR where SINR is a function of ptilda.
%%
  9 Comments
Walter Roberson
Walter Roberson on 9 May 2019
The tools in the global optimization toolbox help you try to solve all kinds of optimizations. They never make any promises that they will definitely solve it, but they are not restricted to searching local minima.
ga() and gamultiobj() in particular do not require that the objective be continuous to any level of derivative, and can deal with discrete problems or mixed integer.
The algorithms used by fmincon() (base MATLAB, no toolbox needed) work best with convex optimizations, but you can add non-linear constraints that have the effect of making the search area non-convex. However, it cannot handle discrete or mixed integer problems at all, and the function is required to be continuous within the regions that are not prohibitted.
Susan
Susan on 10 May 2019
Thank you so much for your helpful answer. Appreciate that

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!