Markov and semi-Markov decision processes Mathematical programming mathematics