This is not even remotely a large problem. That you have a moderately large (but not really) array of size 24000x3 is not relevant. What matters are the number of variables. You have THREE variables, which makes this essentially a trivially small problem.
We are not told what objfun does. Is objfun a linear relationship in the parameters? I'm wondering if it is so. If so, then fmincon is not even the right tool to solve this. You might want to use a tool like lsqlin or even linprog.
fmincon, lsqlin, and linprog all allow both linear inequality constraints, as well as bound constraints. Note all of those  bracket parameters where you passed in nothing to fmincon? consider what the variable called lb would do. lb stands for lower bounds of course. So if it makes no sense for a variable to be negative in your process, then a lower bound of zero will be appropriate.
Sometimes, tools like fmincon can allow a variable to exceed the bound constraints by a tiny amount. If even this is intolerable, then you can always consider working in a log domain. Thus fmincon will optimize the log of the variable. In the function, you would work with exp(x), which is always positive of course. This allows you to approach arbitrarily close to zero, yet not fall below that bound.