Like iantiant said, raster with map algebra might be the easiest way to go.
From my experience, after converting all your input data in raster, you should do some reclassification, with two different types: Factors and Conditions
Factors will rage between a min and a max values, from less desirable values to more desirables values (you sould use the same range of values for all of them), example:
F1 - BUS distance: 1 - very far away; 2 - far away; 3 - close; 4 - very close
F2 - flood danger: 1 - very high; 2 - high; 3 - low; 4 - very low
The conditions will be binary raster only with zeros and ones (not suitable, suitable), example:
C1 - Protected area : 0 - yes; 1 - no
For each of the factors you should give a weight, according to the importance you think that factor have in your decision, say: Bus distance W1 = 0,4 and flood danger W2 = 0,6
In the end using map algebra, all you have to do is:
(C1 x ... x Cm) x (W1 x F1 + W2 x F2 + ... + Wn x Fn)
After the first result you probably will need to adapt weights or even factor values, as multicriteria analysis is most of the times a highly subjective analysis.