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

Hello There, Guest! Register

 Stat optimization using lagrange multipliers
07-13-2012, 04:01 AM
Post: #21
 dipstik Member Posts: 199 Joined: May 2012 Reputation: 1
RE: Stat optimization using lagrange multipliers
aweosme. that is very helpful. will report back soon
07-13-2012, 04:23 AM (This post was last modified: 07-13-2012 04:27 AM by dipstik.)
Post: #22
 dipstik Member Posts: 199 Joined: May 2012 Reputation: 1
RE: Stat optimization using lagrange multipliers
so i ran a sim to find my hps (i added actions+=/consumption which makes hps go from 1300 to 1800 for my build).

my hps was 1833. then i looked at the time spent. the pie chart gives 300 seconds of data. it said 55 sec consumption, 26.7 rwesurgence, 85.5 for innervate and 132.5 for dark infusion. so the amount of time spent casting stuff that makes alacrity matter is around (132.5+85.5)/300=0.725. that will give us the alacrity matters portion (seems to me we have to account for gcd wait times somwhow).

So now we use:

(ah+wp(w)+p(pr))*(1+c(cr, w)*s(sr))/(1-a(ar)*am) = 1833, settin am, to 0.725 to find the ah, which gives ah=832

for ar=273, cr=204, pr=798, sr=285 and w=2070

now we plug that back into the model (with the am term) and try to maximize:

(832+wp(w)+p(pr))*(1+c(cr, w)*s(sr))/(1-a(ar)*0.725)

assuming ar=558-sr, cr=1002-pr and w=2070

this gives pr = 651.482243935073598, sr = 191.397805312910521

which differs from the simulation maxing results. the max value is 1852 however, which would mean a 20 hps difference.
07-13-2012, 05:23 AM
Post: #23
 Kaedis Posting Freak Posts: 1,587 Joined: Sep 2011 Reputation: 7
RE: Stat optimization using lagrange multipliers
Well, note that that still leaves you with some 350 crit rating, which seems excessively high, so I still suspect something is wrong here. Also, note that you are intrinsically doing only a first-order analysis of alacrity, which is going to affect your accuracy.

Even Angels must kill from time to time...
07-13-2012, 06:26 AM
Post: #24
 dipstik Member Posts: 199 Joined: May 2012 Reputation: 1
RE: Stat optimization using lagrange multipliers
the output is only as good as the model, and the model is still very crude... but i think a better understanding of the average heal term and the alacrity matters term will improve the model. what is both troubling and intrigueing is the methodolgy od using the simc to get ah from the model and reusing the model to reoptimize.

obviously i will go with simc data over this, but i would like to find something that gives good results from a fairly simple optimization procedure.

the manner in which alacrity matters is the most disturbing for me. at first i considered having the alacrity term be something like 0.5/(1-a(ar)) if alacrity mattered half the time, then its term in the kodel would get a 0.5 factor to account for this... but the optimization would give the same results when setting that factor to 2 million or 0.001, because it is just a linear term that doesnt trade with anything. if we had am(ar) with a low enough error, that would drastically improve the model I think. you are correct that we are only doing this to first order (maybe zeroth, since there is no explicit ar dependence in am). I suppose I could just get a cubic equation by chaning the lacrity and seeing how much that am term changes... but to be honest, im not even sure if the use of am is correct.
07-19-2012, 05:52 AM (This post was last modified: 07-19-2012 05:55 AM by dipstik.)
Post: #25
 dipstik Member Posts: 199 Joined: May 2012 Reputation: 1
RE: Stat optimization using lagrange multipliers
Here's some stuff for tanking with a shadow tank, using 20% kinetic ward in the shield:

> d(dr):=1/(100)*(5 + 30 * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( dr / 50 ) / 0.55 ) )):
> sh(shr):=1/(100)*(20+20+ 50 * ( 1 - ( 1 - ( 0.01 / 0.5 ) )^( ( shr / 50 ) / 0.32 ) )):
> ab(abr):=1/(100)*(5+50 * ( 1 - ( 1 - ( 0.01 / 0.5 ) )^( ( abr / 50 ) / 0.18 ) )):
>
MODEL: (1-d(dr))*(1-sh(shr)+sh(shr)*(1-ab(abr)));

set shield, and set abr=total-dr, where total is the sun of abr and dr (the ones you can trade between by switchiing mods).

if you want you can just put this formula in a speadsheet for dr and abr and look for the minimum value.

still need to tune these formulas to take skills and crew legacy stuff into account

for example, for shr=550 abr=1000-dr gives a min at dr=413, thus abr=587
this does not get to the issue of using augments for shield rating though...
07-26-2012, 09:21 AM (This post was last modified: 07-27-2012 07:43 AM by dipstik.)
Post: #26
 dipstik Member Posts: 199 Joined: May 2012 Reputation: 1
RE: Stat optimization using lagrange multipliers
so using those equations I found the following optimal points for defense rating, shield and absorption:

Total Rating Defense Shield Absorption
1500 340 559 601
1600 363 605 630
1700 388 652 659
1800 414 697 688
1900 441 742 716
2000 469 787 744

> d(dr):=1/(100)*(10 +6+ 30 * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( (dr+46) / 50 ) / 0.55 ) )):
> sh(shr):=1/(100)*(5+15+20+ 50 * ( 1 - ( 1 - ( 0.01 / 0.5 ) )^( ( shr / 50 ) / 0.32 ) )):
> ab(abr):=1/(100)*(20+4+50 * ( 1 - ( 1 - ( 0.01 / 0.5 ) )^( ( abr / 50 ) / 0.18 ) )):
>
> (1-d(dr))*(1-sh(shr)+sh(shr)*(1-ab(abr)));

it seriously took my computer like 5 or more minutes to generate each set of three numbers.

This takes into account skill tree, KW, didne see any beifit from companions, and using a rakata fortitute stim
08-11-2012, 04:18 AM
Post: #27
 dipstik Member Posts: 199 Joined: May 2012 Reputation: 1
RE: Stat optimization using lagrange multipliers
So I went back to looking at my healer ( got camp chest, war hero relic and main hand finally... but the chest armoring is high end!?)

Did soemthing similar to before, but changed the surge equation to relfect the 1% from companion

> c(cr,w):= 0.16 + 0.3 * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( w*1.11 / 50 ) / 2.5 ) ) + 0.3 * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( cr / 50 ) / 0.45 ) ):
> s(sr):=0.51 + 0.3 * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( sr /50 ) / 0.11 ) ):
> a(ar):= 0.3 * ( 1 - ( 1 - ( 0.01 / 0.3 ) )^( ( ar / 50 ) / 0.55 ) ):
> p(pr):=0.1887*pr:
> wp(w):=0.172494*w:

MODEL:(ah+wp(w)+p(pr))*(1+c(cr, w)*s(sr))/(1-a(ar)*am)

this time to determine the ah I used the raid buff stats, which gave me ah=804.4 from am=0.82 pr=952, w=2266, sr=285, ar=285, cr=246 and solving the model(ah,givens)=1932

Pluggning that number back into the model and optimizing with cr=1198-pr ar=570-sr at the above points gave maximum at 1954 (20 dps incrase) at pr = 825.9120, sr = 177.6773. which means crit at 372 and alacrity at 392.

this is very suprising... but weait... there is more

so i switched out a few mods to get close to those numbers (http://swtor.askmrrobot.com/character/b3...41c3e8758) and ran the simC again to see if I got my extra dps... or if these numbers were complete fail (which it looked like they were)

but i got 1932 dps, and the reforge plots for both sr/ar and cr/pr the axis at the plateu... but did not show the 20 dps increase... but it did however increase the max hpsnumbers by about 300 hps (2400 to 2700)

this now seems like a matter of preference. trade 5% surge for 3% alacrity and 15 bonus healing for 2.5% crit.

however. the simC rotation needs a lot of help I think. i have just been adding actions+/-consumption, but it should prolly have something like if force<50% or soemthing.
08-21-2012, 07:21 AM
Post: #28
 dipstik Member Posts: 199 Joined: May 2012 Reputation: 1
RE: Stat optimization using lagrange multipliers
After learning more about how tank mitigation works I propose the following model from mitigation:

ac90*(1-d90(dr))*(1-sh(shr)*ab(abr))+ac100*(1-d100(dr))*(1-sh(shr)*ab(abr))

where ac90 is the fraction of damage coming from 90% accuracy attacks,
ac100 is the fraction of damage coming from accuracy 100% attacks
d90 is the defense chance taking accuracy debuffs into account for 90% accuracy (so 5% debuff of accuracy would gives an effective 15% extra defense)
d100 is the defense chance taking accuracy debuffs into account for 100% accuracy (so 5% debuff gives 5% extra defense)
sh is shield chance
ab is absorption fraction
dr is defense rating
shr is shield rating
abr is absorption rating.
 « Next Oldest | Next Newest »

Forum Jump:

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