An understanding of antiviral drug resistance is important in the design of effective drugs. Comprehensive features of the interaction between drug designs and resistance mutations are difficult to study experimentally because of the very large numbers of drugs and mutants involved. We describe a computational framework for studying antiviral drug resistance. Data on HIV-1 protease are used to derive an approximate model that predicts interaction of a wide range of mutant forms of the protease with a broad class of protease inhibitors. An algorithm based on competitive coevolution is used to find highly resistant mutant forms of the protease, and effective inhibitors against such mutants, in the context of the model. We use this method to characterize general features of inhibitors that are effective in overcoming resistance, and to study related issues of selection pathways, cross-resistance, and combination therapies.