Gear Optimizer

Gear Optimizer

Post 03 Feb 2011 10:52

Avatar rhadamanthys
 
Posts: 6
Hello dear Paragon players and friends. I'd like to show you my latest creation, a pretty sofisticated gear optimizer, so here it goes!

What does it do?
Basically, it lets the user select (almost) any lvl 85 item, input stat weights, caps and metagem of choise, and from there it computes and returns the best possible gear setup. This includes selecting the proper items, gems and reforges. It might sount as a very hard to use too, but it actually isn't. Here is a video that shows you how to optimize yourself in a handfull of clicks and one minute of your time.

What makes the WoWGearOptimizer any different than other tools like it?
  1. It is not limited to reforges only. Reforge-only tools are based on the assumption that you have already selected the best 16-17 items among the ones that you currently own, and from there they start to apply the reforges and tell you which one is best. Sadly though, selecting the items cannot be done independently (and beforehand) of the reforge and gemming process, and selecting the proper item mix will contribute way more than reforging the wrong item mix right. Also, they can't give you any suggestion on which items to get next etc.
  2. It makes no compromises. What it will come up with is the best setup possible, not something close to it. I spent most of the development time refining the optimization process in order to not leave a 20% margin of error, but not even a 0.000001% one.
  3. Not making compromises means being more thorough. Yet, it is incredibly optimized and fast. This is a real example from a user here:
    The most combinations your tool tries is 540k for me. A different tool (a rogue tool) makes sure of optimisation (but only does reforging, not gemming or enchanting) tests over 5 *B*illion combinations, i.e. all of them.
I'm still not convinced that it is quite that fast?
Although the problem of finding the optimal mix is np-complete, and therefore it could be very slow to solve, there are many optimizations that can be made to speed up the process. As a reference, optimizing my armory char as it is takes 306.110.016 tests before all the optimizations are applied, but only 3.888 after them. Settling for a close to optimal result would be a lot faster, but I didn't want for this tool to settle for anything other than the true optimal solution.

I'm confused, I have no clue about which algorithm I should use to fire the optimization...
I'll give you a real life example so you can choose whichever suits your needs.
Number of combinations to test: 9.953.280
Parallel (low mem) computed the result in 43 seconds, and the whole program was using 60 MB of ram.
Serial computed the result in 2 minutes and 10 seconds, and the whole program was using 60 MB of ram.
Parallel (high mem) computed the result in 31 seconds, and the whole program was using 620 MB of ram.
Please note that this test was done on a 8 thread machine, if the optimizer had access to a lower amount of threads the gap between the two parallel algorithms would have been even smaller.

What other extra features are currently implemented?

  • loading your character directly from the armory. Its use is twofold: you can use it as a shortcut to load many items at once and then proceed to use them for the optimization process, or you can use it to load your exact armory configuration and evaluate how much dps/hps it is worth. Doing both will tell you exactly how big is the gap between your current setup and the optimized one, so it's easy to judge whether or not you wanna invest the money to go from the current configuration to the optimal one
  • pre-sets of stat weights for most classes and specs
  • unlike other tools it supports all normal random enchantment items from Throne of the Four Winds
  • multithread support to speed up the computation considerably
  • saving to disk your current profile (so you won't have to reinput weights, lookup items again etc)
  • saving to disk the result of an optimization run so you can easily reopen it at a later time (maybe because you run it when you can't access WoW so you can't reforge/regem right away, or to do comparisons between different runs)
  • you can quickly import stat weights from simulationcraft with just a cut&paste
  • there is a button to export a textual representation of the optimized setup. This makes it extremely easy to copy it into WoW, so you won't have to tab in and out of the game to see how every single item should be gemmed or reforged

The WoW Gear Optimizer uses some fairly complex algorithms to reduce the number of combinations that must be tested (in many cases reducing them by up to six orders of magnitude). Also, after the first time that you run it, it will create a desktop shortcut icon, and regardless of whether you run it from the website or from the desktop, it will always autoupdate itself to the latest release.

Where can I see what it can do, or simply learn how to use it?
Here are the videos that I've made to demonstrate what it can do, and how to use it:

  1. YouTube - WoW Gear Optimizer - Optimization Run (HD)
  2. YouTube - WoW Gear Optimizer - v1.9.5 Linked Caps! (HD)
  3. YouTube - WoW Gear Optimizer - Gear Optimization (HD)
  4. YouTube - WoW Gear Optimizer - v1.6.3 Multithreading! (HD)
  5. YouTube - WoW Gear Optimizer - v1.5.4 new features (HD)
  6. YouTube - WoW Gear Optimizer - General Usage (HD)
  7. YouTube - WoW Gear Optimizer - Comparisons between runs (HD)
  8. YouTube - WoW Gear Optimizer - Reload Profiles and Previous Results(HD)

Where can I download it?
The software itself is downloadable at WGO | Wow Gear Optimizer

Some extra user feedback
It perfectly recommended reforging options to get me to exactly 1742. Not options I would have intuitively used when reforging manually. But now all my stats are better balanced according to the stat weights and I even simcraft 4k dps higher


Curent Version (1.9.5) buglist:


[email protected] EU
Last edited by rhadamanthys on 19 Jun 2011 11:46, edited 4 times in total.

Re: Gear Optimizer

Post 03 Mar 2011 16:43

Avatar rhadamanthys
 
Posts: 6
New version is up, including many bug fixes, the offhand +40 intellect enchantment support, and the mulithreaded optimizer!
New video to show the changes is also up at YouTube - WoW Gear Optimizer - v1.6.3 Multithreading! (HD)

Re: Gear Optimizer

Post 05 Apr 2011 07:45

Avatar rhadamanthys
 
Posts: 6
Updated the first post with 1.7.5 changes, including pre-set scaling values for a lot of classes and specs, more Throne of the Four Winds items, new quick video, etc.
If you have any spec that you'd like to include feel free to post it here and I'll add it

Re: Gear Optimizer

Post 05 Apr 2011 13:08

User avatarJhazrun
 
Posts: 390
This part of the forums is somewhat... abandoned, m'fraid, and even more so during content lulls.

I did take the program for a run, and it's actually quite slick. I can't comment on its technical nuts 'n' bolts themselves, but here's what I feel future versions could work on:

- I couldn't seem to get the item search-by-name to return any matches, no matter what. Also, the error message would work better as an entry in the match box, in stead of a pop-up one has to manually close every time.

- The Search button needs to respond to Enter from text fields. I routinely found myself staring at the screen for a second after typing up my filter and (futilely) hitting Enter.

- Rarity, Item Slot, and Item Type filters could use a Clear button. The search already ignores a null filter, and selecting even one leaves the user having to keep the entire list painted for the remainder of the session.

- Some classes face Haste "floors" they need to meet to gain additional ticks of their periodic spells, after which the value of the stat diminishes dramatically. Would it be viable to introduce such a feature as a reverse form of the Hit cap? For example, I'd set the "Haste rating req." to 516, and the calculations would consider the first 516 points with, say, 999 weight, and the remainder with the settable value.


Overall, your work is very impressive, and I wish all the best for the project.

Re: Gear Optimizer

Post 06 Apr 2011 08:56

Avatar rhadamanthys
 
Posts: 6
Thanks for the interesting answer, I'll try to comment on your points one by one!

Jhazrun wrote:- I couldn't seem to get the item search-by-name to return any matches, no matter what. Also, the error message would work better as an entry in the match box, in stead of a pop-up one has to manually close every time.


That is weird. Can you find items using the other filters? I just looked up shadowflame leggings (written like that, so it's case unsensitive) and it came out just fine. Do you mean to show the error message in the name entry box? That would't make much sense or be a too intuitive of a place if the same issue arises when looking up using other filters though. If you mean in the table below the filters, it's not really made to hold such a thing.

Jhazrun wrote:- The Search button needs to respond to Enter from text fields. I routinely found myself staring at the screen for a second after typing up my filter and (futilely) hitting Enter.


I'll try to add this in the next update.

Jhazrun wrote:- Rarity, Item Slot, and Item Type filters could use a Clear button. The search already ignores a null filter, and selecting even one leaves the user having to keep the entire list painted for the remainder of the session.


I'm not really sure about your issue here. Rarity, slot and type filter voices can be individually de-selected by ctrl-clicking them. Maybe it's just me, but on average 99% of the times that I use any of those filters, I only select one voice for each of them at most (so say, Epic, Shoulders, Cloth, for example), therefore deselecting any of those 3 is a one click action, just as it would be by pushing a delesect-all-filterX button. I'd have to weight the extra space requirements and coding needed with how much time a Clear-All-Slots or Clear-All-Rarity would actually save to the average usage scenario.

Jhazrun wrote:- Some classes face Haste "floors" they need to meet to gain additional ticks of their periodic spells, after which the value of the stat diminishes dramatically. Would it be viable to introduce such a feature as a reverse form of the Hit cap? For example, I'd set the "Haste rating req." to 516, and the calculations would consider the first 516 points with, say, 999 weight, and the remainder with the settable value.



Sadly I'm afraid that it isn't. Ignoring for a second how cumbersome it would be to have at least 1.5 times more stat input boxes for the average user, it just isn't feasible from a computational point of view.
The reason is this. Assume a very basic scenario in which, for each slot, you have five valid pieces of gear (consider that the same item, with the same gems, but different reforges, is in fact two items, etc).
Let's assume that none of those items is discarded before firing out the computation that would test each obtainable gear combination, evaluate it (even applying soft caps if you wish), and return the best mix.
That would turn out as 762.939.453.125 gear combinations that must be tested (5^17).
It's pretty obvious then that unnecessary items must be pruned before firing the computation itself.
How? By assigning an actual dps value to each of those items, and then proceed to apply some smart reduction mechanisms.
Hit and expertise are considered "cappable stats", therefore the dps value of an item that has at least one of those is considered an upper bound value, not a fixed one.
Some simple considerations would be, if two items, A and B, dont have cappable stats, remove the one with the lowest dps value.
Another example would be, if item A is worth X dps, and item B is worth Y dps, and X>Y, then B is useless iff B has more of the cappable stat than A does.
Having many more stats go from the semantic of fixed value to floating value would remove even more chances of item pruning and make the optimization unfeasable.

Re: Gear Optimizer

Post 29 Apr 2011 07:40

Avatar rhadamanthys
 
Posts: 6
New version is up, all Zul Gurub and Zul Aman items added (minus trinkets at the moment).

Re: Gear Optimizer

Post 19 Jun 2011 11:45

Avatar rhadamanthys
 
Posts: 6
New version and video (YouTube - WoW Gear Optimizer - v1.9.5 Linked Caps! (HD)) are up, added full support to shadowpriest, moonkin and in general to whoever has an hard cap given by the sum of two stats.
cron