You could take some liberty in your genetics interpretation and use floats as gene values. In this case, you could have one gene representing the minimum srv_serror_rate, one for the minimum dst_host_diff_srv_rate and one for the maximum same_srv_rate. So the genome (chromosome) for the sample rule above would look like [0.51, 0.7, 0.25], and you'd have the mapping between gene positions and their role/function in your evaluation function.
If you want to be really strict you would have to have bitstrings encoding each of these values instead of floats, but I wouldn't bother.