Optimal Models of Disjunctive Logic Programs: Semantics, Complexity, and Computation