I have two objective functions as follows.

{\min}\underset{f_{c,u}}{\max}\hspace{1mm}({\bf d-s},0)

and

{\min}\underset{f_{c,u}}{\max}\hspace{1mm}({\bf d-s})

Here, f_{c,u} are optimization variables where, c=1,2,\cdots,C and u=1,2,\cdots,U

\bf d is a known vector of size 1\times U

Is there a way to make them compatible with CVX?

What is `s`

?

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.
```

So if `s`

is a concave (or affine) function of `a`

and `f`

, then `max(d =s9a,f0,0)`

complies with the DCP rules, but it is a vector, not a scalar, so can not be used as in as an objective function.So what do you mean by this notation?

I have no idea what your 2nd objective function is supposed to mean. You can’t maximize and then minimize over the same thing.

Did you have a reason for selecting the category MIDCP?

@Mark_L_Stone, \bf s is vector, which is a function of the optimization variable.

```
s= sum(F.*R)
```

\bf R is a known matrix of size C\times U

\bf F is the matrix of same size that contains the optimization variables f_{c,u}

Where does `a`

enter into `s(a,f)`

?

Please write out your code explicitly, even if it doesn’t obey CVX’s rules. I still don’t know what the mathematical problem you wish to solve is.

@Mark_L_Stone, I have edited my question. Now, I have removed the variables a. I want to generate the matrix \bf F such that the objective is met. The supply vector \bf s should be as close as possible to demand vector \bf d.

Is this what you want?

```
minimize(max(max(d-s,0)))
minimize(max(d-s))
```

@Mark_L_Stone, Exactly this is what I want!