This document presents an intelligent link adaptation scheme for OFDM systems that adapts coding, modulation, and power allocation to maximize throughput. It uses a fuzzy rule-based system to select the optimal modulation and coding scheme based on channel state information and quality of service requirements. It then uses a differential evolution algorithm to find the optimal power vector to transmit over OFDM subcarriers while satisfying total power and bit error rate constraints. The proposed scheme is shown through simulations to outperform conventional fixed schemes and adaptive schemes that only optimize a subset of parameters. Product codes and QAM are used as the coding and modulation schemes, respectively.