25.10.2012 Aufrufe

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Listing 4.7 Ablauf des <strong>Generierung</strong>svorgangs in algorithmischer Form<br />

4 Implementierung<br />

1: procedure Generate(limit)<br />

2: RRules ← CreateEmptyList() ⊲ Liste speichert Regeln<br />

3: MOpt ← CreateEmptyList() ⊲ Liste speichert optimale Muster<br />

4: MErz ← CreateEmptyList() ⊲ Liste speichert alle erzeugten Muster<br />

5:<br />

6: m ← CreateNextPattern(MErz) ⊲ erstes Muster erzeugen<br />

7: while m.costs ≤ limit do<br />

8: result ← RuleApplicableTest(RRules, m)<br />

9: if result �= true then<br />

10: p ← m, m ′ ←⊥<br />

11: while p �=⊥ ∧ m ′ =⊥ do<br />

12: mCand ← Vorabtest(p, MOpt) ⊲ Kandidat ermitteln<br />

13:<br />

14: m ′ ← ErfüllbarkeitsTest(p, mCand)<br />

15: if m ′ �=⊥ then ⊲ äquivalentes Muster gefunden?<br />

16: r ← CreateNewRule(p, m ′ )<br />

17: StoreRuleInto(RRules, r)<br />

18: else ⊲ weitersuchen für strukturell identische Muster<br />

19: p ← CreateNextPermutation(p) ⊲ nächste Permutation<br />

20: end if<br />

21: end while<br />

22:<br />

23: if m ′ =⊥ then<br />

24: StorePatternInto(MOpt, m) ⊲ m ist optimales Muster<br />

25: end if<br />

26: end if<br />

27:<br />

28: StorePatternInto(MErz, m)<br />

29: m ← CreateNextPattern(MErz)<br />

30: end while<br />

31: end procedure<br />

49

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!