Practical Optimization Methods for 4th Generation Cellular Networks: Inter-cell Interference Coordination for Macro and Small Cells