# If $x=\min\{f(\mathbf{a}),1-\epsilon\}$, how can we model and partition $x$?

I have been dealing with a problem for sometime and although tried different things and asked some questions before, I think the problem might be somewhere that we didn't look before.

Variables $$0\le x< 1$$, $$y,z\ge 0$$ and we have a constraint $$y=(z+c)\frac{x^2}{1-x},$$ where constant $$c>0$$.

We partitioned $$x$$ into $$n$$ intervals of equal length and defined a new variable $$\phi_i=1$$ for $$i=1,\ldots,n$$ iff $$x\in(r_i-1,r_i]$$ (we set $$x=r_i$$) and zero otherwise.

So we reformulated the constraint above and also added these constraints $$\sum_{i=1}^nr_{i-1}\phi_i\le x\le \sum_{i=1}^nr_{i}\phi_i, \qquad \sum_{i=1}^n\phi_i=1$$

But the problem is that $$x$$ itself is a function of an allocation vector $$\mathbf{a}$$ and depending on data, sometimes $$f(\mathbf{a})>1$$.

So we want to have $$x=\min\{f(\mathbf{a}),1-\epsilon\}$$ but I think the above two constraints don't satisfy this condition and the model becomes infeasible.

How should I change the partitioning constraints so for any vector $$\mathbf{a}$$ that makes $$f(\mathbf{a})>1$$, it forces $$x$$ to remain equal to $$1-\epsilon$$? Is it even possible?

EDIT

There was a typo in the question.

The additional constraints that we added are $$\sum_{i=1}^nr_{i-1}\phi_i\le f(\mathbf{a})\le \sum_{i=1}^nr_{i}\phi_i, \qquad \sum_{i=1}^n\phi_i=1$$

Start with the constraints $$x \le f(\mathbf{a})$$ and $$x \le 1-\epsilon.$$ If the nature of the problem is that larger values of $$x$$ are always preferable in objective terms to smaller values of $$x$$, that's all you need. If that condition is not met (or you are not sure that it is), you will also need a binary variable $$y$$ together with the constraints $$x \ge f(\mathbf{a}) - My$$ and $$x \ge 1-\epsilon -M(1-y)$$ for some suitably large $$M.$$ The latter two constraints ensure that $$x$$ actually equals either $$1-\epsilon$$ or $$f(\mathbf{a})$$ (whichever is smaller).
• Thank you. I made a mistake in the question. The additional constraints that we included in the model make it infeasible because sometimes $f(\mathbf{a})>1$ and the partitioning approach does not work (we cannot find a proper interval)
• My answer will make $x=\min \lbrace f(\mathbf{a}), 1-\epsilon \rbrace.$ Is that not what you want? The edited question still indicates that it is.