A method, an apparatus, and a computer readable medium of recommending contents. The method includes receiving, by a computer, at least one of user input and contextual input, wherein the contextual input corresponds to a plurality of arms, calculating, by the computer, a plurality of reward values for each of the plurality of arms using a plurality of individual recommendation algorithms such that each of the plurality of reward values is generated by a respective individual recommendation algorithm from the plurality of individual recommendation algorithms, based on the received input, calculating, by the computer, an aggregated reward value for each of the plurality of arms by applying linear program boosting to the plurality reward values for the respective arm; and selecting one arm from the plurality of arms which has greatest calculated aggregated reward value; and outputting, by the computer, contents corresponding to the selected arm.