solution for nonlinear optimization problem
Ältere Kommentare anzeigen
Hi,
I hope here is one matlab wizard who can help me with following non linear optimization problem. I have a vector of couple of thousands entries (probability vector) p~ and a vector x~ with real values (same number)
I would like to solve following optimization problem and solving for p
min sum log(p~i*x~i)*log((p~i*x~i)/(pi*x~i))
p 1 o 3000
subject to (expectation and variance constraint)
sum pi*x~i >= some number
sum pi(x~i-(sum (pi*x~i))^2) >=some number
I think you need to rewrite the problem with Lagrange duality because otherwise you have too many variables.
Thank you
Andreas
Antworten (1)
Looks like FMINCON should be able to handle it. I don't see an immediate need to rewrite the problem in dual space. 3000 variables isn't absurdly large and your objective function has a highly separable form. My gut says it would converge pretty fast in the space of x(i).
3 Kommentare
John D'Errico
am 8 Jan. 2016
Don't forget a positivity constraint on the variables. Else those logs will cause all heck to break loose.
Andreas Stach
am 8 Jan. 2016
Matt J
am 8 Jan. 2016
The first inequality is linear so you would use the A,b inputs of fmincon with
A=-pi(:).';
b= -somenumber
Kategorien
Mehr zu Problem-Based Optimization Setup 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!