Arranging tasks with specific constraints (scheduling)
This is actually a bin packing problem, rather than a scheduling problem.  If I remember correctly (it's been a long time) bin packing is the dual of scheduling.

In the most basic kind of bin packing problems each room would be available for exactly three hours, and the goal would be to minimize the total number of three-hour sessions you would consume.  Your problem has an extra constraint that rooms come in pairs that are available for 3 and 4 hours.

Bin packing problems are usually NP-complete, but there are some heuristics that tend to work well in practice.  For the basic bin packing problem the usual heuristic would be to sort the talks from longest to shortest.  Then start placing talks into rooms in that order.  For each talk examine the rooms in the same order.  Place the talk in the first room where it will fit.  You only rent a new room if you have a talk that won't fit in any of the existing rooms.

There's a bit more on the Wikipedia Bin packing page:
http://en.wikipedia.org/wiki/Bin_packing_problem

And I found this article, which describes some of the approximation algorithm results in this area (as of 1987):
http://www.columbia.edu/~cs2035/courses/ieor6400.F07/hs.pdf