How to convert a constrained optimization problem into unconstrained one
4 views (last 30 days)
Show older comments
I have an optimization problem with a nonlinear constraint and upper and lower bounds for the decision variable.
The decision variable is x that is a vector with size of 24×1.
The nonlinear constraint is the maximum norm of eigenvalues of a matrix constructed by some elements of the decision variable should be less than or equal to 0.99. (e.g suppose A(x) is the matrix constructed by some elements of the decision variable x and max(norm(eig(A(x))))<0.99.
The eigenvalues of A matrix may become complex number and the size of A matrix is 21×21.
Here is the general form of our problem:
Constant parameters:
a: constant vector with size 24×1
b: constant value with size 1×1
x: decision variable with size 24×1
p: matrix with size 24×24
m: constant vector with size 1×24
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Objective function:
function V=f(x) V=(x-a)T p(x-a)+(b-m*x)T *(b-m*x); end
Nonlinear constraints:
max(norm(eig(A(x))))-0.99<=0
Upper and Lower bounds:
lb≤x≤ub
_________________________________________________________________________________
I used fmincon() for my problem but now I am trying to find a way to convert this problem to an unconstrained optimization problem (perhaps by changing the objective function and including the constraints in it) and use fminsearch() that is used for unconstrained multivariable optimization functions. I would appreciate your advice and thoughts on it.
0 Comments
Answers (1)
Matt J
on 19 Jan 2018
Edited: Matt J
on 19 Jan 2018
Even if you could convert it to an unconstrained problem, fminsearch would not be a good option because it is designed for a small number of unknowns. Small would be up to about 6 (although in fact, fminsearch is only theoretically convergent for a single unknown). Fmincon is also not appropriate because your nonlinear constraint is non-differentiable.
I would use ga() from the Global Optimization Toolbox.
0 Comments
See Also
Categories
Find more on Nonlinear Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!