Is there any solver for convex optimization in C++ (or some dedicated scheme while no solver is yet available) that could solve a convex optimization problem with objective function value given by an oracle? Thank you. My specific problem is this: \[\mathop {\max }\limits_\lambda \mathop {\min }\limits_{\sigma \in {{\{ 0,1\} }^N}} {E_{\sigma ,\,\lambda }} \] wherer lambda is a vector, and for each \[{\sigma \in {{\{ 0,1\} }^N}} \] E is a linear function of lambda \[{E_{\sigma ,\,\lambda }} \] In words: It is actually maximize over lambda the piecewise linear function defined by the minimum of exponential number of linear functions. Given lambda I have an effective scheme to obtain sigma and thus calculate \[\mathop {\min }\limits_{\sigma \in {{\{ 0,1\} }^N}} {E_{\sigma ,\,\lambda }} \] . so my problem is effectively a convex optimization with objective function given by my oracles (maximize over a concave function) and I am wondering whether there would be some solvers suitable to this type of problem. Or if there is any dedicated procedure for this while no solvers available. Thank you:D asked 13 Nov '14, 11:25 Chivalry 
Hello, Did you take a look at CVX? It is not a 'solver' but a modeling system for convex programs which then uses and underlying solver. Since the version 2.0 it can be used with Gurobi and MOSEK and, if your problem is not too large scale, I believe it can tackle that kind of problem. answered 14 Nov '14, 03:06 JorgeGarciaC... 1
Thank you. But it seems cvx could not solve when my input objective function is an oracle...
(14 Nov '14, 08:12)
Chivalry

I am unaware of such a solver, but in general your problem (i.e., solve a convex problem with an oracle for the objective function) is difficult. As an example, consider optimizing over the TSP polytope.
It is difficult, but we really need to solve it:) do you know some paper on it?
It seems you could use any LP solver and just keep adding cuts (constraints) supplied by the oracle.
actually, I am also trying this out and just wonder whether there might be some developed advanced method for that.... :D
Im not quite sure, but maximizing a concave nondifferential function sounds like subgradient methods to me?