I want to solve the following problem in CVX.

```
min_{t,d} t+.5*d'*d
s. t. a_i*d+g_i(x+d)-g_i(x)<=t
i=1,2,..,m
lb<=x+d<=ub
```

t\in R, d\in R^n

where g_i is convex nodifferentiable nonlinear function, a_i are row vector, x is parameter.

I want to solve the following problem in CVX.

```
min_{t,d} t+.5*d'*d
s. t. a_i*d+g_i(x+d)-g_i(x)<=t
i=1,2,..,m
lb<=x+d<=ub
```

t\in R, d\in R^n

where g_i is convex nodifferentiable nonlinear function, a_i are row vector, x is parameter.

You haven’t told us what `g_i`

is. That is relevant to how it must be entered into CVX, or indeed whether CVX can even handle it.

Please read http://cvxr.com/cvx/doc/ , and then if you are having difficulty, make another post indicating specifically where you need help.

g_i is nonlinear convex function not necessarily differentiable. Since g_i is convex, g_i(x+d)-g_i(x) is convex for some fixed x. a_i*d and -t are linear. Hence convex. Also the objective function is quadratic. So the minimization problem is convex.

How can I solve this problem using CVX.

I didn’t dispute that the problem is convex. I said that you need to tell us what `g_i `

is before we can tell you if and how it can be input n CVX.

g_i(x)=max(u1i*x,u2i*x), i=1,2,…,m where u1, u2 \in R^ m*n are fixed parameters.

Please read the CVX User’s Guide and attempt to implement this, which should be fairly stragghtrward, because `max`

is supported by CVX (hint: you can define constraints inside for loops). Then if you have any specific difficulties, please show your code and state what those difficulties are.

help cvx/max

`Disciplined convex/geometric programming information: max is convex, log-log-convex, and nondecreasing in its first two arguments. Thus when used in disciplined convex programs, both arguments must be convex (or affine). In disciplined geometric programs, both arguments must be log-convex/affine.`