Gregory, welcome to the site! It is really great to see your contribution here. I think your answer is spot on, I will extend it by giving an example.
Create a list of multidimensional data:
data = Flatten[Table[{{x, y}, LCM[x, y]}, {x, 4}, {y, 4}], 1]
Create an approximate interpolating function:
f = Interpolation[data]
Plot the interpolating function:
ContourPlot[f[x, y], {x, 1, 4}, {y, 1, 4}, ColorFunction -> "Rainbow"]
Now find minimum
In[4]:= min = NMinimize[{f[x, y], 1 < x < 4 && 1 < y < 4}, {x, y}]
Out[4]= {-0.609654, {x -> 1.49554, y -> 1.49554}}
In[5]:= pt = {x, y, min[[1]]} /. min[[2]]
Out[5]= {1.49554, 1.49554, -0.609654}
Show[
Plot3D[f[x, y], {x, 1, 4}, {y, 1, 4}, ColorFunction -> "Rainbow",
PlotStyle -> Opacity[.8], MeshStyle -> Opacity[.5],
MeshFunctions -> {Sqrt[#1^2 + #2^2 + #3^2] &}, Mesh -> 15],
Graphics3D[{Red, PointSize[.08], Point[pt]}]
, PlotRange -> All]