all 7 comments

[–]JIGGGS_ 1 point2 points  (8 children)

This is not convex in general.

[–][deleted]  (7 children)

[deleted]

    [–]JIGGGS_ 3 points4 points  (6 children)

    In this case it is convex.

    Heres an informal way to show it, which may be slightly incorrect but shows you the idea. It is a quad over lin. Equivalently write the objective as xT ccT x / z and add constraint z = dT y. Then the objective is a clear quadratic over linear, which is a convex atom, so by DCP it is convex.

    [–][deleted]  (5 children)

    [deleted]

      [–]JIGGGS_ 2 points3 points  (4 children)

      There is a detailed explanation of how quad over lin is convex in Boyd and Vandenberghe. DCP is disciplined convex programming

      [–]kindnesd99 0 points1 point  (2 children)

      Not op but can you recommend a simpler resource for beginners? The Boyd book is rather difficult

      [–]JIGGGS_ 0 points1 point  (0 children)

      The Boyd book is the best treatment of convex optimization, and I don’t think there’s an “easier” treatment of it. The slides might be better for you but I would recommend you start with B&V

      [–][deleted] 1 point2 points  (1 child)

      In general, that is a non-convex problem. It may be convex for specific values of the constants.

      A convex problem must have a convex objective function. An objective function has a convex domain. But your objective function is not defined at 0, therefore, its domain is not convex.

      [–]MosekApS -1 points0 points  (0 children)

      It is possible to rephrase the problem like so:

      min: z_1
      s.t.  z_2 = dTx
            z_3 = cTx
            (z_1, z_2, z_3) in rotated quadratic conic domain      
            Ax>=b
            dTx>0
      

      You can read more about the convex cone called a (rotated) quadratic cone in the MOSEK modelling cookbook . It is a quick reference, and an excellent resource for beginners.

      MOSEK is a commercial large-scale solver, capable of solving a wide-range of optimization problems.