Hello! I'm hoping to get some help from the community on a tool I'm working on. You see, I am trying to write an algorithm that can help me optimize equipment in an RPG.

Given the stats of the character and the monster, I need to qualify the "best" gear for certain specifications. For example, if my specifications are the "highest damage over time", I need to find the equipment set that leads to that result. The formulas are all there, although quite complicated, in resolving a given set of gear's value, but the problem is less about the actual implementation of the math and more about the heuristics of the problem set.

There are 16 different equipment slots (hands, body, weapon, feet, etc.), and each slot can have thousands of equipment options. This means the combinations available of gear is a near impossible number. A brute force method would be impractical if not impossible to do. I can filter by character level and impossible to equip gear. I can do a simple filter of "similar" gear, such as eliminating a ring of Dex +2 in favor of the higher level ring of Dex+3, which shrinks down the problem space, but in the end I believe it's still going to be too large and still have at least 1000 options per gear slot.

My goal here then becomes, can anybody help me find an algorithm or heuristic that lends for this type of sorting? I'm researching marching ANTS, genetic sorting, and other algorithms, but this is far from my expertise and I'm lost in the terminology. I'm not much for algorithm writing myself, but this seems like an NP-complete problem. I need an exact, yet possibly non-deterministic method. If this community doesn't have that sort of expertise, does anybody know of another community I can approach?

My thanks go out to anybody who can help!