Minimization of objective function with three terms?


(Sajjad Hosseinzadeh) #1

Hi,

I would like to optimize an objective function with thee terms, including Least square error, Total Variation(TV) and a function like exp(x/sigma). Something like appears here with an additional term as alph*exp(x/sigma)

Could you please tell me which algorithm should I use? Is there any builtin function in MATLAB to do this? May I use CVX tool for this? If yes, How?

Thank you for your consideration in advance.


(Mark L. Stone) #2

You need to provide us the details of your optimization problem formulation. If there are three additive terms in the objective function, each of which are representable in CVX, then the sum of these terms will also be representable in CVX.

The link you provided shows how to formulate the problem in that link in CVX. As for your additional term, alph*exp(x/sigma), you need to tell us which of alph, x, and sigma are optimization (decision) variables, and which are input data. If x is the only optimization variable among these three, you can enter that term in CVX exactly as you have written it.

The first thing you must do is show that your optimization problem is convex. Please read Why isn't CVX accepting my model? READ THIS FIRST! and http://cvxr.com/cvx/doc/ .


(Sajjad Hosseinzadeh) #3

Thanks Mark. yes x is my optimization variable. I don’t know how to write my math equation in pretty shape, but what I’m going to do is something like Eq(3) described here or here ( Sparse MRI: The application of compressed sensing for rapid MR imaging, M.Lustig 2007) but I want to use alph*(1-exp(Phi*m/sigma)) instead of L1 norm (here m is optimization variable).


(Mark L. Stone) #4
cvx_begin
variable m
% whatever else
minimize(1st_term + 2nd_term + alph*(1-exp(Phi*m/sigma)))
% insert any constraints
cvx_end