1%{ @file cache_xi_iter.m
2 % @brief Computes Lagrange multipliers
using Gast-van Houdt fixed-point iteration
4 % @author LINE Development Team
8 % @brief Computes Lagrange multipliers
using Gast-van Houdt fixed-point iteration
11 % This function computes Lagrange multipliers
for cache models
using
12 % the Gast-van Houdt algorithm fixed-point iteration method.
16 % z = cache_xi_iter(gamma, m)
17 % z = cache_xi_iter(gamma, m, tmax)
22 % <tr><th>Name<th>Description
23 % <tr><td>gamma<td>Item popularity probabilities
24 % <tr><td>m<td>Cache capacity
25 % <tr><td>tmax<td>(Optional) Maximum time limit
30 % <tr><th>Name<th>Description
31 % <tr><td>z<td>Converged Lagrange multipliers
34function z=cache_xi_iter(gamma,m,tmax)
52while (max(abs(z-z_old)) > 10^(-12)*max(abs(z_old)))
55 for i=1:h % update z(i+1)
56 a=temp-n*z(i+1)*pp(i+1,:);
57 Fi=sum(pp(i+1,:)./(n*pp(i+1,:)+a)); %Fi(1)
64 while (sum(zi_max*pp(i+1,:)./(n*zi_max*pp(i+1,:)+a)) < f(i)) %Fi(zi_max)
70 z(i+1)=(zi_min+zi_max)/2;
71 if (sum(z(i+1)*pp(i+1,:)./(n*z(i+1)*pp(i+1,:)+a)) < f(i)) %Fi(zi_max)