MATLAB Answers


nonlinear inequality constraint for fmincon()

Asked by Susan
on 23 Apr 2019
Latest activity Edited by Susan
on 22 May 2019 at 15:59
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.


Is it a correct underestanding that using the global optimization toolbox we can solve even non-convex optimization problem?
Thank you very much in advance.
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.
Thank you so much for your helpful answer. Appreciate that

Sign in to comment.

0 Answers