In this paper, we consider a visible light communication (VLC) system with direct currentbiased orthogonal frequency division multiplexing (DC-OFDM) and investigate resource allocation for a multi-user environment. Based on the user satisfaction index as a function of data rate, we aim to optimally determine the allocation of the users to different LEDs (acting as access points) and OFDM subcarriers. We propose a simulated annealing-based heuristic to maximize the average user satisfaction index. In an effort to make the proposed solution practically feasible, the runtime of the proposed heuristic is kept less than the channel coherence time, whose value is in order of tens of milliseconds. We evaluate the performance of the proposed heuristic algorithm in different scenarios that vary in the number of users, the number of LEDs, and the separation between users. Our results demonstrate that the proposed heuristic outperforms other wellknown heuristics (such as standard simulated annealing, iterative greedy, particle swarm optimization, and tabu search) while achieving good quality solutions within a short execution time, i.e., 40-80 ms.INDEX TERMS Visible light communications, resource allocation, optimization, simulated annealing, heuristics.