math - Handling rounding errors of exponential function in convex optimization for scheduling web crawler -


i writing web crawler scheduler , have run problems. first describe how i'm trying find optimal schedule when crawler visiting page , present problem.

scheduler definition

scheduler based on paper "optimal crawling strategies web search engines" j.wolf. paper proposes update times of web pages follow exponential distribution parameter λ. problem finding optimal number of times xi, page i crawled in time interval [0,t]. function proposed is:

f

because function convex , input arguments xi discrete kind of problem can solved using algorithm suggested fredrerickson , johnson in "the complexity of selection , ranking in x + y , matrices sorted columns", has time complexity o(max{n, log(r/n)}). optimization algorithm solves problem finding n-th element in [rxn] matrix element @ position (i, j) equal derivation of j function input argument x = i, derivation dj(xi) equal to:

d_min

because function fi convex means function di has property monotonically increasing (matrix has sorted columns).

problems

i run problems when evaluating derivation, because of rounding errors d(x+1) - d(x), did not have guarantee greater or equal 0, , i'm not sure values got optimizer optional values. rounding errors happen because value of x can positive integers in range of 0 few billions, therefor exponent in function f either big negative number or extremely small number (-5000).

failed attempts

the first thing tried, downloaded arbitrary precision library. solved problem overhead of library big.

the second thing tried expanded d , got function like:

d_expanded

and tried compare dj(xi) , dk(xw) comparing terms individually , try deduce dj bigger or smaller or greater dk. if compare derivation solve problem because optimization algorithm not need concrete values, instead need relations between values. couldn't find solution because term w.

i tried looking @ log(dj(xi)) because log preserves function monotony, log had rounding errors , couldn't compare log(dj) , log(dk) without computing final values.

if has other solution potentially work graceful.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -