Item is listed with higher rating, but it's equipping lower item instead?

On snapshot: 4e72c1359daf4672912aa5e85b833038

When I optimize it’s equipping frostfire pants for some reason, but when i click on the pants it shows Breeches of the Occultist w/ a higher rating. If I force it to optimize for breeches, the total score goes from +1.9% dps to +2.61%, what’s the deal here o.o

This happens whether or not I let it use enchants.

I think there was some talk in another thread about how Arcane mage for the TBC optimizer is a little sensitive to fight length compared to some of the other spec models. That can cause some minor discontinuities in the results. If you imagine a graph of estimated damage, you’ll see some small, sudden “jumps” as the spells line up better/worse with the chosen fight length.

We generally try to smooth this out as it can lead to results like this. When you have small discontinuities in the model it can be difficult for the optimizer to find these small tweaks to the solution without examining a LOT more combinations (which would be very slow and expensive).

It is exaggerated a bit with TBC compared to later versions of the game because there are so many gems and sockets. We only try a subset of potential gem combinations to keep things from getting out of hand, and because the gems are really tiny… so as long as you have a pretty good gem solution, the difference from a “perfect” gem solution is negligible – it is the best place to gain speed with little to no downside in TBC optimization.

But because we limit the gem combinations… cases like this can pop up: you have both a slightly “jumpier” model and the fact that we aren’t trying every gem combination, so it can’t reach the solution with this one leg item. The gem+enchant gold-saving feature exacerbates the problem – that is a very difficult option to implement and can make cases like this behave worse.

If you set the fight length to 75 sec instead of 60 the whole issue goes away… in general I’d say this: don’t worry about sub-1% differences here. Once you get down to these small margins, you are below the threshold of accuracy that any theoretical model can give you – so it’s OK to give the optimizer some wiggle room to keep it fast.