MMO News and theorycrafting for advanced MMO gamers. News and articles that relate to your gameplay. World of Warcraft, SWTOR, Guild Wars 2, Rift, TERA, Eve Online, Star Wars the Old Republic, Diablo3, The Secret World and all Western AAA MMOs

Your login from any MMO-Mechanics forum or site will work here.

Hello There, Guest! Register

Post Reply 
Stat optimization using lagrange multipliers
05-26-2012, 06:45 AM (This post was last modified: 05-26-2012 06:48 AM by dipstik.)
Post: #1
Stat optimization using lagrange multipliers
not sure if this has been posted, but has anyone tried to solve for best stats using lagrange multipliers?

I considered that case that i have to trade power for crit and alacrity for surge and the totals for those are 750 and 550 respectivly, for my current gear set. In order to consider a model of dps I took the following:

so this got me thinking about a crude estimate of dps.

lets call your crit percent C, which depends on your main stat (m) and your crit rating (CR). lets call your surge percent S, which depends on your surge rating SR. lets call alacrity's activation time percent increase A which depends on alacrity rating (AR).

if you do 1+S damage every C percent then you do 1 damage every (1-C) percent (for a unit damage). this gives:

(1+S)*C+1*(1-C) as the average damage you do per unit attack.

Now lets consider that alacrity allows you to decrease the amount of time the attack takes by 1-A. This means that after 1/A casts, you get one for free, so if A=10% you can cast 11 in the time 10 would take you. This equates to increase the damage per unit time by A.

Now lets consider power, which increase the damage of each attack by a linear amount P, and mainstat which does the same by M.

Taking this all together I get (crudely)

DPS is some thing like: d= (M+P)*(1+C*S)*(1+A). now using the formulas at http://mmo-mechanics.com/swtor/forums/Th...rmula-list we can start solving for extrema given constraints.

The constraints we want to use will be things like, main stat m is around 2000, power+crit rating=750, alacrity+surge=550. using these we can reduce the number of variables to optimize the stats. unfortunatly we have to solve things like:

crit % where cr is crit rating and I have removed the willpower part since is linearly increases both crit and damage, thus not affecting what we are trying to maximize in thwe type of sensitivy we are interested in (since it is not a tradeable stat as is the case with power/crit and alacrity/surge).
C(CR):=65-30*0.97^(0.008*CR)

surge %
S(SR):=80-30*0.97^(0.18*SR)

alacrity %
A(AR):=0.7+0.3*0.97^(0.036*AR)

my dps function f is
f(P,CR,SR,AR):=P*(1+C(CR,W)*S(SR))*(1+A(AR))

the lagrange equation of interest is (for power+crit=750 and alacrity+surge=550)

L(P,CR,SR,AR):=f(P,CR,SR,AR)+lambda[1]*(AR+SR-550)+lambda[2]*(CR+P-750)

all i need is the answer for

solve({diff(L(P, CR, SR, AR), AR) = 0, diff(L(P, CR, SR, AR), CR) = 0, diff(L(P, CR, SR, AR), P) = 0, diff(L(P, CR, SR, AR), SR) = 0, diff(L(P, CR, SR, AR), lambda[1]) = 0, diff(L(P, CR, SR, AR), lambda[2]) = 0}, [CR, SR, AR, P])

which looks like


solve({(1+(65-30*.97^(0.8e-2*CR))*(80-30*.97^(.18*SR)))*(1.7+.3*.97^(0.36e-1*AR))+lambda[2] = 0, -0.3289594407e-3*P*(1+(65-30*.97^(0.8e-2*CR))*(80-30*.97^(.18*SR)))*.97^(0.36e-1*AR)+lambda[1] = 0, 0.7310209794e-2*P*.97^(0.8e-2*CR)*(80-30*.97^(.18*SR))*(1.7+.3*.97^(0.36e-1*AR))+lambda[2] = 0, .1644797204*P*(65-30*.97^(0.8e-2*CR))*.97^(.18*SR)*(1.7+.3*.97^(0.36e-1*AR))+lambda[1] = 0, AR+SR-550 = 0, CR+P-750 = 0}, [P, CR, SR, AR])

whioch wont spit out an answer unfortuiantly (in maple anyway). This is using lagrange multipliers

solving the system by hand also gives really funky answers (I get 85 alacrity, which gives-14k crit. i also get some imaginary numbers spit out. a numerical program that makes a table and hunts for extrama might be easier... but im not good at programming (and i hate it)
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Stat optimization using lagrange multipliers - dipstik - 05-26-2012 06:45 AM

Forum Jump:


User(s) browsing this thread: 1 Guest(s)