Believe me, and I've looked into this, if they could do it they would. Inability to assign seats wouldn't stop them - there are ways to deal with that issue.
Another factor not addressed yet is that they also have to schedule aircraft for service after certain numbers of flight hours. Some of the more frequent maintenance checks can be done at any major airport, but the biggies need a maintenance base. They try to schedule aircraft to end up there at the right time in order to avoid an empty flight to get it there. AA has an artificial intelligence application that handles this for them. (Wiirachay: They published a paper on this application - IIRC, in Interfaces or somewhere like that. If you can't find it and want the reference for your dissertation, I may be able to dig it up.)