Previously, @parker_friedland told me that it is unknown whether ULC and IIB are compatible.
I have determined that they are, by adding constraints to optimal Monroe in a way that forces it to pass. However, these constraints introduce other flaws, such as failing, at the very least, an optimal variant of monotonicity, where adding an approval for a candidate can lower the scores of subsets containing that candidate. This means it probably fails standard monotonicity as well. Also, it’s kind of cheating.
Anyway, the rules are the same as optimal Monroe, except first each ballot giving all candidates in a set the same rating are divided equally between each candidate. Then if any candidates are universally approved on the unspent ballots, these ballots contribute equal amounts of weight to the ULCs. This spending is locked in, and the remaining ballots are distributed to the remaining candidates in a way that maximizes the total Monroe score. Ties between winner sets are broken by total unweighted sum score. This makes sure that ULCs are actually elected (since Monroe needs tiebreaker specifications to pass Pareto), without having the tiebreaker violate IIA or IIB.
I think it’s possible to break ties in optimal Monroe in a way that passes ULC factions, in which case only the first (IIB) step would be necessary for passing IIB and ULC factions.
To pass monotonicity, constraints would need to be added that prevent the addition of a ballot from increasing the Monroe score of a winner set by more than that ballot’s highest score for a candidate in the winner set. This may make a perfect score achievable only when all ballots approve all winners in a set.