Explication de la taille «LP-dominate» de Zilberstein?

8

Comment dans l' PRalgorithme (célèbre Zilberstein) (uning) ci-dessous la LP-dominatefonction démarre-t-elle: la première fois qu'elle est appelée, D=∅et le programme linéaire se détériore (c'est-à-dire sans équations de contrainte)?

procedure POINTWISE-DOMINATE(w, U)
...
3. return false
procedure LP-DOMINATE(w, U)
4. solve the following linear program variables: d, b(s) ∀s ∈ S
      maximize d
      subject to the constraints
        b · (w − u) ≥ d, ∀u ∈ U
        sum(b) = 1
5. if d ≥ 0 then return b
6. else return nil
procedure BEST(b, U )
...
12. return w
procedure PR(W)
13. D ← ∅
14. while W = ∅
15.   w ← any element in W
16.   if POINTWISE-DOMINATE(w, D) = true
17.      W ← W − {w}
18.   else
19.      b ← LP-DOMINATE(w, D)
20.      if b = nil then
21.         W ← W − {w}
22.      else
23.         w ← BEST(b, W)
24.         D ← D ∪ {w}
25.         W ← W − {w}
26. return D
stustd
la source
consultez un livre sur les algorithmes heuristiques utilisant python. bonne chance!
Youness Abdus Salam

Réponses:

1

Je pense avoir trouvé la solution. Une fois dedans PR(W), D=∅le poids est:

b[i] = 0 for { i | w[i]<max(w) },

et

b[i] = 1.0/max(w) for { i | w[i]==max(w) }.

stustd
la source