Let a : X → R k denote a vector-valued function that evaluates k molecular properties of a given query molecule. We assume, without loss of generality, that we seek to maximize each of the k molecular properties. Let b ∈ R k denote a vector of acceptability thresholds. A molecule x is constraint-satisfying if a(x) ≥ b. Our objective is to identify and sample from the constraint-satisfying part of the CSL, X * D ≡ {x : x ∈ X D , a(x) ≥ b}.