Spiegazione della potatura "LP-dominate" di Zilberstein?


8

In che modo viene avviato l' PRalgoritmo (uning) (famoso) sotto la LP-dominatefunzione: la prima volta che viene chiamato D=∅e il programma lineare si deteriora (cioè senza equazioni di vincolo)?

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

controlla un libro sugli algoritmi euristici usando python. in bocca al lupo!
Youness Abdus Salam,

Risposte:


1

Penso di aver trovato la soluzione. Quando in PR(W), D=∅il peso è:

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

e

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.