I am not sure that I understand you. I think that you mean that you have discrete variables, you would like your solution to be from a discrete set, where each component of the solution is an integer multiple of 1/2. If this is true, then both particleswarm and fmincon are inappropriate solvers, as they cannot deal with discrete variables.
It also seems to me as if you have just three variables, and you have about 10 distinct values possible for each variable (0, 0.5, 1, 1.5,..,4.5, 5). In that case I think that you would do best by simply performing a complete search over the 10^3 possible solutions; that is not very many at all.
If I misunderstand, feel free to clarify.
MATLAB mathematical toolbox documentation