HI
I work on design and implementation of complex algorithms which include solving convex / non-convex optimization problems on daily basis in my daily work. I am well versed with techniques. However, the solution approach to your problem would highly depend on the size of the search space and more information would be needed to know what is to be dealt with eg., discrete or continuous problem. But nonetheless , if the problem is well defined, I can suggest an approach to solve the problem either optimally or sub optimally. And once you are satisfied , I can as well implement it on MATLAB. Thanks.