Tell your roommate that if she is going to spend more than x amount of time, you will need to find a new roommate. Are you both on the lease, if so you may need to find a new place. If you are on the lease and he is not then, he goes.
Personnally, I hate roommates. All through med school, I had to have a few, some were worse than others. But all tend to take away some of the freedoms of having your own place by yourself.
The worse was the time, a buddy and I were sharing a two room apartment when the hospital put a girl in the second bedroom. One night he and she hooked up, and refused to go into her room. So there I am in one bed while they are in the other bed in the same room. I should have piped up and jumped in or told them to go to the other room, but I figured I pretend to be asleep so my buddy could get some. I guess it was partly due to the fact that she really wasn't that attractive, and I'm not sure I wanted to tag team.
Actually, the worse was probably the first roomy in school, he tried to bang every girl in the class, and when two of them found out about the other, (not realizing, the hook ups, with a few other girls), they went at it at the place, and I got a bit of flak for not telling anyone.