Optimal Resource Allocation via Geometric Programming for OFDM Broadcast and Multiple Access Channels