No we can't same result every time we run these algorithms. that y thy are generally applied to offline problems. The reason behind this is that they use concept of randomisation (random selection ) and it is not constant so result is different. But if we fix these concept then the beauty of these optimisation algo vanishes ..
Any algorithms that rely on pseudo-random number generators can, in principle, be forced to output the same results in every run. The only thing that's needed is to set the seed value of the generator to the same value before running the algorithm. That's also stated in MATLAB help (http://se.mathworks.com/help/matlab/ref/rand.html): "The sequence of numbers produced by rand is determined by the internal settings of the uniform pseudorandom number generator that underlies rand, randi, and randn. You can control that shared random number generator using rng." See http://se.mathworks.com/help/matlab/ref/rng.html for help on the rng function.