1

Anyone have an idea for a DCP (disciplined convex programming) representation of the concave function $x\sqrt{1-x}$, which is has domain $[0,1]$?

The Taylor series about $x=0$ is $$x - \frac{x^2}{2} - \frac{x^3}{8} - \frac{x^4}{16} + O(x^5)$$

which is DCP. However, I'm trying to find a DCP representation for the function itself, preferably.

Cross-posted on Operations Research with some quality answers there.

Anton Menshov
  • 8,672
  • 7
  • 38
  • 94
  • Can you perform monotone transformations of this function (i.e. is this the sole objective, or the sole function on one side of an inequality constraint?). If so, you can take the log of this expression and that should work just fine. – cdipaolo Jan 04 '20 at 06:53

1 Answers1

4

I don't think you can represent this as a concave function in the (cvxpy-)DCP sense:

import cvxpy as cp
x=cp.Variable()
a=x*cp.sqrt(1-x)
a.curvature

'UNKNOWN'

However, you can represent it using DQCP (disciplined quasiconvex programming):

import cvxpy as cp
x=cp.Variable(pos=True)
a=x*cp.sqrt(1-x)
a.curvature

'QUASICONCAVE'

Richard
  • 3,961
  • 13
  • 34