Ältere Kommentare anzeigen
Hi ! I would like to minimize a linear function F(x)=f1(x)+f2(x)+...+fn(x)(each of f(x) is linear) under linear constraintes gi(x)=bi i=1,..m and nonlinear constraint norm(x)=1 where x is a vector with k-components and norm(x)^2=x(1)^2+...+x(k)^2 is the L-2 norm I don't know which function in matlab I can use for that program. I can't use [fmincon] since fmincon requires the objective function F(x) to be twice differentiable to compute the hessian, neither I can't use linear programing optimization since I have a non linear constraint. Can anyone help me please. Now I use the 2008b matlab version, I don't know if the 2011 version of matlab can do the job [with fmincon]
Any comment will be very helpfull
1 Kommentar
Paresh kumar Panigrahi
am 7 Apr. 2021
how to calculate weight optimal solution given 10 asset
Akzeptierte Antwort
Weitere Antworten (2)
Teja Muppirala
am 18 Jan. 2012
This type of problem can be easily set up in FMINCON, by employing the nonlinear constraint input parameter.
As a concrete example
Minimize: -2*x1 + 5*x2 + 10*x3
Subject to linear constraint: x1+x2+x3 = 1
And nonlinear constraint: norm([x1 x2 x3]) = 1
This can be solved by:
f = [-2; 5; 10];
x0 = [0; 0; 0];
Aeq = [1 1 1];
beq = 1;
nlcon = @(x) deal([], norm(x)-1)
fmincon(@(x) f'*x, x0, [],[],Aeq,beq,[],[],nlcon)
Which yields:
ans =
0.9400
0.2695
-0.2094
Which appears to be a valid solution.
Vincent
am 18 Jan. 2012
Kategorien
Mehr zu Solver Outputs and Iterative Display finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!