I want to use a 2-D look-up table (given x,y result in z) in my CVX programming, I tried to use a cubic interpolant fitted function instead ( z=f(x,y) ) of this table but it is not described in standard form. Is it possible to use the fit model directly in CVX?
Not if any of the arguments are CVX variables or expressions.
If you have a fit model, obtained by whatever means, its use in a CVX program must be in compliance with its rules. Therefore, it is necessary (but not sufficient) that the fit model, considered as a function of any CVX variables, must be jointly convex or concave in those variables, or there is no possibility of using it in CVX.
You might be able to use handle some piecewise functions, as described in the “Mosek Modeling Cookbook” https://docs.mosek.com/modeling-cookbook/index.html or “FICO MIP formulations and linearizations Quick reference” https://www.fico.com/en/resource-download-file/3217 Some of these constructs require introduction of binary variables, which can be declared in CVX (MIDCP capability), but without availability of higher level constructs such as SOS2 (which you would need to model “manually”).
thank you very much for your response, I tried to use a second order fit model to approximate the data points I need to use, the function looks like this, and it is convex:
Linear model Poly22:
f(x,y) = p00 + p10x + p01y + p20x^2 + p11xy + p02y^2
Coefficients (with 95% confidence bounds):*
p00 = -89.42 (-90.04, -88.79)*
p10 = -0.01323 (-0.01462, -0.01184)*
p01 = -0.004337 (-0.009499, 0.0008256)*
p20 = 9.902e-06 (8.992e-06, 1.081e-05)*
p11 = -1.442e-05 (-1.743e-05, -1.142e-05)*
p02 = 4.393e-05 (3.125e-05, 5.661e-05)*
so I tried to use it in my constraints as (e is a variable) :
Both sides of equality constraints in CVX must be affine. Please read http://cvxr.com/cvx/doc/dcp.html#constraints . The right-hand side of your equality constraint is not affine, although it is convex.
You were absolutely right!
I changed ‘e’ from variable into expression and changed ‘==’ to ‘=’ and it works now, thank you very much the link was very useful.