The correct answer is B.. Answer choice B corrects the tense used in the original sentence (present to indicate a work of art that is still extant), uses the correct idiomatic form "based on," and corrects the misplaced modifier "which" which incorrectly suggests the libretto belongs to Anton Rubinstein.
See explanations for each incorrect answer choice below:
The Merchant Kalashnikov was a three-act opera by Anton Rubinstein, which has a libretto by Nikolai Kulikov, based on The Song of the Merchant Kalashnikov by Mikhail Lermontov.
A. was a three-act opera by Anton Rubinstein, which has a libretto by Nikolai Kulikov, based on
A is incorrect as it uses the past tense "was" to refer to a work of art, and the sentence does not indicate that this work existed only in the past. Additionally, A incorrectly uses "which" following "Anton Rubinstein" to attribute the libretto to the opera.
B. is a three-act opera by Anton Rubinstein, with a libretto by Nikolai Kulikov, based on
B is correct.
C. is a three-act opera of Anton Rubinstein, with a libretto by Nikolai Kulikov, basing it on
C is incorrect because of the usage of the modifier "basing"; the modifier follows Nikolai Kulikov, suggesting that Nikolai Kulikov based the opera on The Song of the Merchant Kalashnikov. Further, since the modifier follows a noun, the formation (although in this case incorrect because of the ambiguity it would suggest between Nikolai Kulikov and Anton Rubinstein) would be "who based," to refer to Anton Rubinstein. Lastly, "by," as used in B, is the preferred preposition to attribute the work to Anton Rubinstein.
D. was a three-act opera by Anton Rubinstein, having a libretto by Nikolai Kulikov, based after
D is incorrect because of the usage of the past tense. Further, the modifier "having" cannot be used in place of "with" (as it is being used only to further describe a noun, the opera). Finally, "based after" is an incorrect idiom; "based on" is correct.
E. is a three-act opera from Anton Rubinstein, with a libretto by Nikolai Kulikov, based from
E is incorrect because of the incorrect idiom "based from." Additionally, B uses the more appropriate word "by" rather than "from" to attribute the work to Anton Rubinstein.