Display msg: Functin not implemented


I am receiving the display message: “Functin not implemented” when I declare my cost function in CVX. No typo there, it really says “functin” and not “function”. It is not an error, just simply a line of text that appears once I tell CVX what to minimize.

Particularly, if we suppose that cost is a convex function of two CVX variables x and u, then I receive the message when I write minimize( cost(x,u) ).

I have been using the same CVX model for a few months now with no issue, but all of a sudden I am seeing these lines printed with each run. It has the effect of not applying the cost function, and so I am always solving a feasibility problem when I don’t want to be.

Has anyone seen this before?

It might help if you show the output of cvx_version . Has any of this information changed compared to when your program worked? (Note: CVX 3.0beta is known to have a lot of bugs.) If not, have there been any changes to your MATLAB path, so that perhaps the wrong version of some function is now called as a result of the path change?

Of course, you’re leaving us completely in the dark as to what your convex function cost(x,u) is.

cvx_version is 2.1, Build 1116 (d4cc5c5), Matlab version is 9.1 (R2016b). The function cost is in my path, and it is a simple function, of the form -x(1) + norm(u) … i.e. an affine function of x plus a convex function of u.

Even if I use the function directly as in minimize( -x(1) + norm(u) ), I can still get the message.

Are x and u both declared as CVX variables (as opposed to expressions, whether or not declared as such?

Anyhow, you’ll probably have to wait until someone else comes along to diagnose this.

The word “functin” appears nowhere in our source code. You somehow have another project’s source mingled in with CVX.

Okay - thanks for the responses guys. The search continues…

Perhaps you should do a clean reinstall of CVX. Maybe your configuration got corrupted somehow.

FWIW. I’ve diagnosed the problem. It had to do with having YALMIP higher on my Matlab path than CVX…so the first time I called the minimize function, it executed the YALMIP version and this “error” message was returned. Moving CVX higher on my path solved the problem.