• Keine Ergebnisse gefunden

Konstruktion Bei Konstruktionsproblemen kann die Problemlösung nicht wie bei der Klassifikation ausgewählt, sondern muss aus Lösungs- elementen zusammengesetzt werden.

N/A
N/A
Protected

Academic year: 2022

Aktie "Konstruktion Bei Konstruktionsproblemen kann die Problemlösung nicht wie bei der Klassifikation ausgewählt, sondern muss aus Lösungs- elementen zusammengesetzt werden."

Copied!
35
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Konstruktion

Bei Konstruktionsproblemen kann die Problemlösung nicht wie bei der Klassifikation ausgewählt, sondern muss aus Lösungs- elementen zusammengesetzt werden.

Beispiele:

• Stundenplanerstellung

• Konfigurierung von Fahrstühlen

• Konfigurierung von Computern

• Planen von molekulargenetischen Experimenten

• Arbeitsplanung von Werkstücken

• Ressourcen-Belegung

• Planen in der Klötzchenwelt

• Beschreibung von Therapieplänen bei der Krebsbehandlung

Einteilungsprinzipien:

Problemtyp:

- Konfigurierung - Zuordnung - Planung

Wissensart:

- heuristisch

- fallvergleichend - modellbasiert

Problemlösungsmethode:

- (Suchstrategien)

(2)

Konstruktion: Problemtypen

Planung:

Zustand 1

(Anfangszustand) Zustand 2

Operator 1

Zustand n

(Zielzustand)

Konfigurierung:

?

Anforderungen aus Komponenten zusammen-

gesetztes Lösungsobjekt

Scheduling:

Angebote Nachfragende

10

15

(3)

Vergleich der Konstruktionstypen

mindestens zwei dis- junkte Mengen von Objekten

Erstellung eines Zuord- nungsplanes, der Zu- ordnungsspräferenzen, knappe Ressourcen und andere Randbedingun- gen berücksichtigt (optimaler) Zuordnungs- plan, der die Objektmen- gen aufeinander abbildet

bei zwei gleichgroßen Mengen mit je n Objekten gibt es n! verschiedene Zuordnungspläne

Stundenplan-Erstellung, Maschinen-Belegung elementare

Objekte

Problem

Lösung

Lösungsraum

Beispiele

Planung Konfigurierung Zuordnung

Objekte mit Attributen und (generische) Ope- ratoren mit Vor- und Nachbedingung Transformation eines gegebenen Ausgangs- in einen gewünschten Zielzustand {Zustände sind Objekt-Konstel- lationen}

(optimale) Sequenz von anwendbaren Operator- (instanz)en, die den Ausgangs- in den Ziel- zustand transformieren bei durchschnittlicher Länge der Operatorse- quenzen von n und (in jedem Zwischenzustand) durchschnittlich m an- wendbaren Operator(in- stanz)en gibt es ca. m verschiedene Pläne Planen von Experimen- ten, Arbeitsplanung von Werkstücken, Verschie- ben von Klötzchen, Therapieplanung

n

Basisobjekte mit Attri- buten und Beziehungen untereinander

Auswahl, Parametrie- rung und Aggregierung der Basisobjekte zum Lösungsobjekt, so daß gewünschte Anforde- rungen erfüllt sind (optimales) Lösungs- objekt, das aus Basis- objekten zusammenge- setzt ist und die Anfor- derungen erfüllt bei durchschnittlich n erforderlichen Objekt- Attributen mit je ca. m Ausprägungen gibt es m verschiedene Konfi- gurationen

Fahrstuhl-Konfigurie- rung, Computer-Kon- figurierung

n

(4)

Analyse von Problemeigenschaften

Mögliche Vereinfachungen der Problemstellung:

Allgemein:

• Phaseneinteilung / Modularisierung

• Hierarchisierung / Abstraktion

Zustandsbezogene Vereinfachungen

• keine explizite Zustandsrepräsentation

• keine externe Zustandsveränderung

Art der Konstruktionselemente (Objekte und Operatoren)

• Vorgabe (keine Objekt/Operator-Auswahl)

• keine Objekt/Operator-Parametierung

• keine Objekt/Operator-Zuordnung

• gerichtete Operatoren (Regeln vs. Constraints)

Art der Suchstrategie

• Kein Backtracking

(5)

Konstruktionsmethoden

Wissensart:

• Modellbasiertes Konstruieren (mit Zustandsrepräsentation)

• Heuristisches Konstruieren

• Fallbasiertes Konstruieren

Grobtechnik:

• Suchstrategie - Breitensuche

- Tiefensuche, Iterative Tiefensuche - Bestensuche, A*

- Hill-Climbing, Simulated Annealing

• Backtracking

- kein Backtracking

- chronologisches Backtracking - abhängigkeitsgesteuert

- wissensbasiert

• Abstraktion

• Modularisierung

• Reformulierung

Einordnung der Problemlösungsmethoden:

Skelett-Konstruieren:

Wissensart: Heuristisch

Grobtechniken: Abstraktion + Modularisierung + Hill-Climbing Vorschlagen-und-Verbessern:

(6)

Skelett-Konstruieren (SK)

Kernidee: Konstruktion als mehrfache Diagnostik

Wissensrepräsentation: Und/Oder-Graph mit Auswahlregeln.

Lösungsfindung: Wähle Skelettpläne aus und verfeinere sie.

Problem

Skelettplan 1 Skelettplan 2 Skelettplan 3

Konstruktions- schritt 1

Konstruktions- schritt 2

Konstruktions- schritt 3

Konstruktionsschritt- verfeinerungen

Konstruktionsschritt- verfeinerung als Unter-Skelettplan

Skelettplan = Und-Knoten: alle Nachfolger werden expandiert.

Konstruktionsschritt = Oder-Knoten: bester Nachfolger wird gewählt

Beispiel: Friedland’s MOLGEN:

Planung von molekulargenetischen Experimenten

(7)

SK-Beispiel: Reiseplanung

Fußmarsch zum Bahnhof

Reiseproblem

mit Flugzeug und Auto

mit Flugzeug und Bahn

Autofahrt zum Zielort

mit der Bahn

Autofahrt zum Flughafen

Flug zum Zielflughafen

Erreichen des Zielortes

Erreichen des Bahnhofes

Bahnfahrt zum Zielbahnhof

Erreichen des Zielortes

Abholenlassen vom Gastgeber

Taxi mit der Straßenbahn mit der

Straßenbahn

Autofahrt zum Bahnhof

Auswahlregeln für Verfeinerung von „Reiseproblem“

1. Wenn Entfernung > 1000 km und Auto vorhanden

und Parkmöglichkeit am Flughafen günstig dann „mit Flugzeug und Auto“

2. Wenn Entfernung > 1000 km und kein Auto vorhanden

oder keine günstige Parkmöglichkeit am Flughafen dann „mit Flugzeug und Bahn“

3. Wenn Entfernung ≤ 1000 km und Auto vorhanden

(8)

Wissensrepräsentation und Problemlösungsalgorithmus

Wissensrepräsentation:

• Problemmerkmal (mit Attribut: Bedeutung: Regeln)

• Skelettplan (Und-Knoten)

• Konstruktionsschritt (Oder-Knoten; mit Bedeutung: Regeln))

• Regel (Aktion: Auswahl von Skelettplan oder Konstr.-Schritt) Problemlösungsalgorithmus:

Eingabe: Problemmerkmale

Ausgabe: Menge oder Sequenz von Konstruktionsschritten, die zusammen die Problemlösung darstellen.

1. Eingabe der Werte der Problemmerkmale durch den Benutzer.

2. Auswahl eines Skelettplanes mit den Regeln aus

"Bedeutung" der Merkmale.

3. Setze die "Elemente" des Skelettplanes auf eine globale Datenstruktur AKTUELLE_KONSTRUKTION.

4. Solange es einen Konstruktionsschritt in AKTUELLE_KON-

STRUKTION gibt, dessen Verfeinerung nicht leer ist, wiederhole:

4.1 Wähle einen Konstruktionsschritt aus AKTUELLE_KON- STRUKTION aus, dessen Verfeinerung nicht leer ist.

Selektiere mit den Bedeutungsregeln des ausgewählten Konstruktionsschrittes K einen Nachfolger K‘. Falls dabei auf andere Konstruktionsschritte zugegriffen werden muss, stelle die Verfeinerung zurück, bis die anderen Konstruktionsschritte bearbeitet sind. Ersetze K in AKTUELLE_KONSTRUKTION durch K‘.

4.2 Wenn K‘ ein Skelettplan ist, ersetze K‘ in AKTUELLE_

KONSTRUKTION durch die Elemente von K‘.

5. Ausgabe der Konstruktionsschritte von AKTUELLE_KON- STRUKTION.

(9)

Beispiel: Friedland’s MOLGEN (Planung molekulargenetischer Experimente

Ziel:

1.

2.

Planung eines Experimentes zur Festlegung von „Intrastrang-

Komplementarität“ in einer DNA (d.h. Feststellung, ob ein DNA-Strang zueinander komplementäre Teilstücke enthält).

Auswahl des Skelettplanes: Für „Intrastrang-Komplementarität“ ist der angegebene Skelettplan abgespeichert.

Verfeinerung: Die einzelnen Operatoren werden stufenweise immer mehr präzisiert (das Endergebnis steht auf der rechten Seite).

(1) (2) (3) (4)

Denaturiere (Spalte die Stränge der DNA) Renaturiere (Umkehrung der

Denaturierung)

Zerstöre alle einsträngige DNA Finde die restliche DNA

Erhitze die Probe

Schnelles Abkühlen der Probe Benutze das Enzym „S1-Nuclease“

Benutze die Technik „Gel-Filtration“

Skelettplan Verfeinerung

(10)

Varianten des Skelett-Konstruierens

Backtracking im Und/Oder-Graph: Die Auswahl von Lösungselementen kann widerrufen werden.

Generate-and-Test: Verzicht auf Benennung von allen Knoten, stattdessen Funktion, die zu einem Knoten Nachfolgeknoten generiert; weitere Funktion, die

Nachfolgeknoten bewertet (entspricht Auswahlregeln).

Generate-and-Test kann auch als Hill-Climbing-Suche in generierten Und/Oder-Graphen aufgefasst werden

Erweiterte Diagnostik (Erweitertes Establish-Refine):

Diagnostik mit Und-Knoten.

(11)

Vorschlagen-und-Verbessern

Kernidee: plausible Parameterwerte vorschlagen, Konsequenzen berechnen und ggf. gezielt korrigieren.

Wissensrepräsentation: Parameter, Regeln und Constraints.

Lösungsfindung: Schlage Werte für Parameter mit

Vorwärtsverkettung von Regeln vor, überprüfe die Konsistenz mit Constraints und korrigiere ggf. Parameterwerte mit

Korrekturregeln einschl. Belief-Revision.

P1 P2

P3 P4

P5 P6

P7

P1 P2

P3 P4

P5 P6

Vorschlagsregel P7

Überwachungs-Constraint Korrekturregel

a) b)

a) zyklische Berechnung mit Optimierungsmethoden b) Vorschlagen-und-Verbessern

Bekanntes Beispiel: Fahrstuhlkonfigurierung mit SALT/VT Erweiterung für Scheduling: Vorschlagen-und-Vertauschen

(12)

Wissensrepräsentation und Problemlösungsalgorithmus

Wissensrepräsentation:

• Parameter (mit Bedeutung: Regeln oder Constraints)

• Vorschlags-Regel (berechnet Parameter)

• Constraint (überwacht Konsistenz zwischen Parametern und Problemmerkmalen; mit Korrektur: Korrektur-Regel)

• Korrektur-Regel (verändert Parameter) Problemlösungsalgorithmus:

Eingabe: partielle Anfangsbelegung von Parametern

Ausgabe: vollständige und konsistente Parameterbelegung

1. Auswertung der Vorschlagsregeln mit Vorwärtsverkettung oder Rückwärtsverkettung mit vordefinierter Parameter-Abar- beitungs-Reihenfolge.

Wenn kein Widerspruch offen ist,

dann Ausgabe der Parameterbelegung.

2. Falls ein Constraint einen Widerspruch entdeckt, unterbreche Schritt 1 und:

2.1 Berechne mit der zugehörigen Korrektur-Regel aus

"Korrektur" des Constraints einen neuen Parameterwert (der den Widerspruch aufhebt).

2.2 Berechne die Konsequenzen des neuen Parameterwertes und revidiere insbesondere alle davon abhängigen, be- reits berechneten Parameter-Werte.

2.3 Wenn nach Abschluss der Revision mit einem Constraint ein anderer Widerspruch entdeckt wird,

dann wenn noch nicht eine bestimmte Anzahl von Korrekturversuchen durchgeführt wurde,

dann wiederhole Schritt 2,

sonst annulliere alle bisherigen Korrekturversuche und wiederhole Schritt 2, aber ignoriere dabei alle Constraints der um 1 erhöhten, alten Prioritätsstufe (die mit 0 initialisiert ist);

sonst fahre an der unterbrochenen Stelle mit Schritt 1 fort.

(13)

Least-Commitment-Strategie

Kernidee: Reformuliere das Problem als (einfaches) Constraint-Problem und nutze Constraint-Propagierung Wissensrepräsentation:

1. Phase: Parameterklassen & Constraint-Generierungsregeln;

2. Phase: Parameter & Constraints Problemlösungsalgorithmus:

Eingabe: Parameterklassen, Vorgabe einiger Parameterwerte.

Ausgabe: Eindeutige Wertebelegung aller Parameter.

1. Eingabe der Anzahl und Typen von Parameterklassen.

2. Instanziierung von Parametern und teilweise Erfragung der Vorgabewerte.

3. Vorwärtsverkettete Abarbeitung der Constraint-Generie- rungsregeln zur Instanziierung von Constraints.

4. Auswertung der Constraints durch Constraint-Propagie- rung. Falls der aktuelle_Wertebereich eines Parameters leer ist, wird der Widerspruch durch Revision von vorge- gebenen Parameterwerten oder Aufheben von Constraints unter Berücksichtigung der Prioritäten aufgehoben.

5. Falls keine eindeutige Lösung gefunden wurde, d.h. die aktuellen_Wertebereiche der Parameter noch Werte- mengen enthalten, wird ein Spezial-Algorithmus zur Generierung einer eindeutigen Lösung benutzt.

Bekanntes Beispiel: Stefik’s MOLGEN (molekulargen. Planung)

(14)

Beispiel zu Least-Commitment:

Arbeitsplanung mit ExAP

Eingabe: Beschreibung eines Werkstücks

Ausgabe: Arbeitsplan mit Reihenfolge von Operatoren, die Aufspannungswechsel minimiert.

Beispiel:

FL-5 NU-1

FL-3 FL-2

AB-4 FL-6

BO-7, 8, 9

FL-4

BO-1, 2, 3

AB-1 FL-1

AB-2 BO-4, 5, 6

AB-3

Beispielwerkstück mit 20 Bearbeitungselementen:

• 6 Grundflächen FL-1, FL-2, Fl-3, FL-4, Fl-5, Fl-6;

• 4 Absätze AB-1, AB-2, AB-3, AB-4;

• 1 Nut NU-1 und

• 9 Bohrungen BO-1 bis BO-9.

Für jedes Bearbeitselement ist eine Operation notwendig, für die das Werkstück in einer bestimmten Aufspannung gehalten werden muss.

(15)

Beispiel (2)

Beispiel für Constraint-Generierungsregel:

Wenn für zwei Flächen von zwei Bearbeitungselementen die relative Toleranz zueinander kleiner als ein Schwellwert ist, dann müssen beide Bearbeitungselemente in derselben Aufspannung gefertigt werden (Priorität: hoch).

Constrainttypen:

• (fertigbar A1 {OP1, ... , OPn}): In der Aufspannung A1 kön- nen die Operationen {OP1, ... , OPn} gefertigt werden.

• vor: (vor OP1 OP2): OP1 muss vor OP2 ausgeführt werden.

• sa: (selber_Arbeitsgang OP1 OP2): OP1 und OP2 müssen im selben Arbeitsgang, d.h. in derselben Aufspannung, gefertigt werden.

• oa: (abhängig OP1 {OP2, ... , OPn}): Wenn ein Element aus der Menge {OP2, ... , OPn} in einer Aufspannung gefertigt wird, in der auch OP1 gefertigt werden kann, dann muss OP1 in einer dieser Aufspannungen gefertigt werden.

• (sperrt OP1 {A1, ... , An}): Die Ausführung von OP1 macht die Aufspannungen {A1, ... , An} unmöglich.

Liste der generierten Constraints:

BE

FL-1 FL-2 FL-3 FL-4 FL-5 FL-6 NU-1

OP-i

OP-1 OP-2 OP-3 OP-4 OP-5 OP-6 OP-7

(vor OP-i OP-j)

(OP-8,9) (OP-7,11,21,22) (OP-9,21,22,24) (OP-8,23) (OP-7,23,24,25) (OP-11)

-

(sa OP-i OP-j)

- - - - - (OP-11) -

(oa OP-i op-j)

(OP-8,9) (OP-7,11,22) (OP-9,22,24) (OP-8,23) (OP-7,23,24,25) -

-

(16)

Beispiel (3)

Liste der fertigbaren Operationen pro Aufspannung:

Nr.

A-1 A-2 A-3 A-4 A-5 A-6 A-7 A-8 A-9 A-10 A-11 A-12 A-13 A-14 A-15 A-16 A-17 A-18 A-19 A-20 A-21 A-22 A-23 A-24

Beschr.

FL-1/3/5 FL-1/3/6 FL-1/4/5 FL-1/4/6 FL-1/5/3 FL-1/5/4 FL-1/6/3 FL-1/6/4 FL-2/3/5 FL-2/3/6 FL-2/4/5 FL-2/4/6 FL-2/5/3 FL-2/5/4 FL-2/6/3 FL-2/6/4 FL-3/1/5 FL-3/1/6 FL-3/2/5 FL-3/2/6 FL-3/5/1 FL-3/5/2 FL-3/6/1 FL-3/6/2

Aufspannungen Mögliche

Operationen OP-2,7,21,26 OP-2,5,7,21 OP-2,7,26 OP-2,5,7 OP-2,4,7,21,29 OP-2,3,7,21 OP-2,4,21 OP-2,3,21 OP-1,28 OP-1,5,28 OP-1,27 OP-1,5,27 OP-1,4,27,28 OP-1,3,27,28 OP-1,4 OP-1,3 OP-4 OP-4,5 OP-4,21 OP-4,5,21 OP-4,2,21,29 OP-4,1,27 OP-4,2,21 OP-4,1

Aufspannungen Nr.

A-25 A-26 A-27 A-28 A-29 A-30 A-31 A-32 A-33 A-34 A-35 A-36 A-37 A-38 A-39 A-40 A-41 A-42 A-43 A-44 A-45 A-46 A-47 A-48

Beschr.

FL-4/1/5 FL-4/1/6 FL-4/2/5 FL-4/2/6 FL-4/5/1 FL-4/5/2 FL-4/6/1 FL-4/6/2 FL-5/1/3 FL-5/1/4 FL-5/2/3 FL-5/2/4 FL-5/3/1 FL-5/3/2 FL-5/4/1 FL-5/4/2 FL-6/1/3 FL-6/1/4 FL-6/2/3 FL-6/2/4 FL-6/3/1 FL-6/3/2 FL-6/4/1 FL-6/4/2

Mögliche Operationen

OP-3 OP-3,5 OP-3 OP-3,5 OP-3,2,7 OP-3,1,28 OP-3,2 OP-3,1 OP-4 OP-3 OP-4,26 OP-3,26 OP-2,7,26 OP-1,7,26 OP-2,7,26 OP-1,7,26 OP-5,4 OP-5,3 OP-5,4,7 OP-5,3,7 OP-5,2,7 OP-5,1,7 OP-5,2 OP-5,1

Ergebnis der Constraint-Auswertung:

1. Arbeitsgang:

- Aufspannung: A-26

- Operationen: OP-3, OP-5

- Bearbeitungselemente: FL-3, FL-5 2. Arbeitsgang:

- Aufspannung: A-13

- Operationen: OP-1, OP-4, OP-27, OP-28

- Bearbeit.elem.: FL-1, FL-4, AB-1, BO1,2,3, AB2, BO4,5,6 3. Arbeitsgang:

- Aufspannung: A-5

- Operationen: OP-2, OP-7, OP-21, OP-29 - Bearbeit.elem.: FL-2, NU-1, AB-3, BO7,8,9 4. Arbeitsgang:

- Aufspannung: A-36 - Operationen: OP-26

(17)

Übersicht über

Zuordnungs- bzw. Schedulingmethoden

Struktur:

Angebote Nachfragende

10

15

Bei Schedulingproblemen werden für die Angebote zusätzlich Termine bestimmt.

Wenn die Kostenfunktion nicht linear ist, gibt es im

allgemeinen keine effizienten optimalen Lösungsverfahren.

Problemlösungsmethoden:

1. Mathematische Methoden 2. Inkrementelle Suche

3. Iterative-Repair-Verfahren (Vorschlagen und Vertauschen) 4. Genetische Algorithmen

5. Multiagentenscheduling

(18)

Mathematische Verfahren

Graphentheoretische Verfahren: Rückführung auf kürzeste- Wege-Suche, Busacker-Goven-Algorithmus mit Worst- Case-Laufzeit: O(n3 log n)

Quadratische Zuordnung: heuristische Eröffnungs- und Iterationsverfahren ähnlich den Suchstrategien, aber schwerer verständlich.

(19)

Busacker-Goven-Algorithmus:

Zuordnung als Maximalflußsystem

Eingabe: Nachfrageobjekte (N), Angebotsobjekte (A), Kostenfunktion k(n, a)

Ausgabe: Zuordnungen von N zu A

Anwendbarkeit: Zuordnungsprobleme mit linearer Kostenfunktion

1. Generiere den Maximalflußgraphen aus (N), (A), k(n, a) 2. Für alle Paare <i, j>

Xi, j := 0; alle Zuordnungen werden rückgesetzt

3. Wiederhole

3.1 Suche den kürzesten Weg W von der Quelle zur Senke 3.2 Falls W existiert

3.2.1 Über alle Pfeile <k, l> auf W

3.2.1.1 Falls Xkl = 0; es gab also eine Zuordnung 3.2.1.2 dann Xkl := 1

3.2.1.3 sonst Xkl := 0 3.2.2 Drehe Pfeil <k, l> um

(20)

Beispiel für Busacker-Goven-Algorithmus

(21)

Inkrementelle Suchverfahren

Variationen: Tiefensuche, Bestensuche, Hill-Climbing, Simulated-Annealing, Branch-and-Bound,

Beispiel: Inkrementelle Suche gemäß Branch-and-Bound.

Annahme: Es können 4 Kandidaten im Speicher gehalten werden.

1. Nach Expansion des Start-Knoten sind Knoten 1, 2, 3, 4 aktiv.

2. Davon wird Knoten 2 mit der besten Bewertung (0) expandiert.

3. Die Nachfolger 5, 6, 7, sprengen den Speicher. Daher müssen einige Knoten gelöscht werden, z.B. die mit der schlechtesten Bewertung, nämlich 5 und 1, so dass Knoten 3, 4, 6, 7 aktiv sind.

4a. Nach Expansion von Knoten 6 werden die Knoten 8 und 9 hinzugefügt, wofür Knoten 3 gelöscht wird (aktiv: 4, 7, 8, 9).

Start

N1 zu A2 N1 zu A3

N1 zu A2 N2 zu A3 N3 zu A1

N4 zu A1 N1 zu A4 N1 zu A2

N2 zu A3 N1 zu A2

N2 zu A1

N1 zu A2 N3 zu A1

N1 zu A1 N4 zu A1

N4 zu A1 N1 zu A2

-3 0 -2 -1

-3

N1 zu A2 N2 zu A3 N3 zu A4

0

-2 -1

-1 0

-1

1 2 3 4

5 6 7

8 9

10 11

(22)

Iterative-Repair-Suchverfahren

Variationen:

• MinConflicts [Minton et al. 90] (nur einstufige Vertauschungen)

• Iterative Repair [Zweben et al. 94] (Verbesserung von MinConflicts um Simulated Annealing & Schätzfunktionen)

• GSAT [Selman et al. 92] (Seitschritte, Zeitschranke für Korrekturpfade)

• TabuSearch (Speichern schlechter Teilzustände für gewisse Zeit, die Suchraum beschränken)

• Vorschlagen-und-Vertauschen [Poeck et al. 92]: Integration

N1 zu A1 N2 zu A2 N3 zu A3 N4 zu A4

N1 zu A2 N2 zu A1 N3 zu A3 N4 zu A4

N1 zu A2 N2 zu A3 N3 zu A1 N4 zu A4

N1 zu A2 N2 zu A3 N3 zu A4 N4 zu A1

(N1 <-> N2) (N2 <-> N3) (N3 <-> N4)

-5 -3 -2 0

(23)

Vorschlagen-und-Vertauschen

Auswahl eines Nachfragerobjektes

Auswahl eines Angebotsobjektes

Restriktions- Verletzung ?

Suche Vertauschungen und führe sie aus.

AlleObjekte zugeordnet?

Zuordnung

Optimierung

nein

ja nein

ja

1

2

3

(24)

Variationen bei Vorschlagen-und- Vertauschen

Bis alle Nachfrager zugeordnet sind, wiederhole 1-3

1. Auswahl eines Nachfragerobjektes 1.1 Zufällige Auswahl.

1.2 Statische Vorsortierung der Vorschlagsobjekte.

1.3 Statische Vorsortierung mit dynamischer Modifikation.

1.4 Dynamische Sortierung.

2. Auswahl des Angebotobjektes ggf. mit Zeitintervall 2.1 Zufällige Auswahl eines Partnerobjektes.

2.2 Wähle Partnerobjekt mit minimaler Verletzung der Randbedingungen.

2.3 Wähle Partnerobjekt mit minimaler Verletzung der Randbedingungen und berücksichtige als sekundäres Kriterium, dass durch die Zuteilung zukünftige Zuord- nungen möglichst wenig eingeschränkt werden.

3. Lokale Optimierung (alle Suchstrategien möglich) 3.1 Hill-Climbing

3.2 Bestensuche (Branch-and-Bound) mit Zeitschranke 3.3 Systematisches Ausprobieren aller n-stufigen

Vertauschungen (mit n = 1 oder n = 2 oder ...)

4. Globale Optimierung (Suche analog zu 3.)

(25)

Beispiel: Vorschlagen-und-Vertauschen

(1) Wissensrepräsentation

Angebote:

• Name

• Inkompatibilitäten (Liste von inkompatiblen Nachfragenden)

• Präferenzen (Liste von Nachfragenden mit Präferenzen, z.B. {N1 5, N2 1, N3 -3})

Nachfragende:

• Name

• Inkompatibilitäten (Liste von inkompatiblen Angeboten)

• Präferenzen (Liste von Angeboten mit Präferenzen, z.B. {A1 4, A2 1, A3 -2})

Vorschläge:

- Suche-Angebot (NACHFRAGENDER = N): Schlage alle Objekte X vom Typ "Angebot" vor, die nicht auf dem Attribut "Inkompatibilitäten" von N verzeichnet sind und bei denen möglichst X.Nachfragender noch nicht belegt ist. Ordne die Vorschläge so, daß X unter N.Präferenzen einen möglichst hohen Wert hat.

- Suche-Nachfragenden (ANGEBOT = A): "Schlage alle Objekte X vom Typ "Nachfragenden" vor, die möglichst nicht auf dem Attribut "Inkompatibilitäten" von A verzeichnet sind und bei denen möglichst X.Angebot noch nicht belegt ist. Ordne die Vorschläge so, daß X unter A.Präferenzen einen möglichst hohen Wert hat.

Constraints [mit Gewichtung]:

• Belegt (ANGEBOT) [3]

(26)

Bsp.: Vorschlagen-und-Vertauschen (2)

(2) Einfache Problemlösungsmethode mit statischer Vorsortierung

Agendasortierfunktion: Ordne alle Objekte nach der Länge ihres Attributes "Inkompatibilitäten" und bei Gleichheit nach der Länge von "Präferenzen".

Eingabe: Spezifikation der Angebote und Nachfragenden mit Eigenschaften

Ausgabe: Zuordnung zwischen Angeboten und Nachfragen- den unter Berücksichtigung ihrer Eigenschaften 1. Plazierung der Objekte gemäß der Agenda-Sortierfunktion

auf eine AGENDA.

2. Solange AGENDA nicht leer wiederhole:

2.1 Auswahl eines Objektes aus AGENDA, zu dem mit seiner Vorschlags-Prozedur ein Partner-Objekt ermittelt wird.

2.2 Abspeicherung der Zuordnung und Ausführung

direkter Folgeaktionen, insbesondere Abspeicherung der eventuell erforderlichen inversen Zuordnung und Durchführung von Agenda-Manipulationen.

2.3 Überprüfung der Constraints, und falls welche verletzt sind: Ausführung der zugehörigen Korrekturen

(einstufige Vertauschungen).

3. Wiederhole Schritt 2.3 für globale Zuordnung mit Berücksichtigung zweistufiger Vertauschungen.

4. Ausgabe der Zuordnungen für alle Objekte.

(27)

Beispieldaten: Kostenmatrix

Angebote /

Nachfragende N1 N2 N3 N4 N5

A1 30 -50 10 -30 -10

A2 0 -20 -20 0 -20

A3 5 -25 5 -5 -5

A4 -10 -10 -10 10 -10

A5 -20 -60 0 20 40

(28)

Genetische Algorithmen

Kombination von Zuordnungen zur Generierung neuer Zuordnungen

• Bei Genetischen Algorithmen definiert die Größe der

„Population“, wie viele Zuordnungen gleichzeitig aktiv sind.

• Von einer Generation zur nächsten können entweder alle alten Zuordnungen (Eltern-Generation) durch ihre Nachfolger (Kinder-Generation) ersetzt werden, oder nur die besten n Kinder verdrängen die schlechtesten n Eltern.

• Bei Genetischen Algorithmen können nicht nur lokale Verbes- serungen (Mutationen) benutzt werden, die den obigen (meist einstufigen) Vertauschungen entsprechen, sondern auch zwei komplette Zuordnungen gemischt werden (Rekombination).

Das ist vor allem dann sinnvoll, wenn sich das Zuordnungs- problem modularisieren lässt. Dann nimmt man von jeder der beiden Eltern-Zuordnungen einige Module und kombiniert diese zu einer neuen vollständigen Kind-Zuordnung.

• Die resultierenden Inkonsistenzen, die sich aus meist unver- meidlichen Abhängigkeiten zwischen den Modulen ergeben, müssen in einem zusätzlichen Reparaturschritt korrigiert

N1 zu A1 N2 zu A2 N3 zu A3 N4 zu A4

N1 zu A2 N2 zu A1 N3 zu A4 N4 zu A3

N1 zu A2 N2 zu A3 N3 zu A1 N4 zu A4

N1 zu A1 N2 zu A2 N3 zu A4 N4 zu A3

N1 zu A2 N2 zu A3 N3 zu A4 N4 zu A3

N1 zu A2 N2 zu A3 N3 zu A4 N4 zu A1 Reparatur

Elterngeneration

Kindergeneration

-3

-5 -2

-3

0

(29)

Multiagentenzuordnung

a) Marktplatz

b) echte Verhandlungen

Gips entfernen Röntgen Untersuchung Neu eingipsen

Behandlungsbegleitender Agent

Patient 1

Verhandlungen

Abbildung auf Repräsentation der „Zuordnungsprobleme“

Kopplung von Problemlöser und Agenten

(30)

Marktplatz (Contract Net Protocol)

Variationen: Kompetenz der einzelnen Agenten, Art der Kommunikation & Kooperation

N11

N12

N13

Agent N1 Agent A1

frei:

Mo 10-18 Di 9-12 Mi 8-18 belegt:

Di 7-9 N55

Agent A2 frei:

Mo 10-12 Di 9-14 Mi 8-18

Ausschreibungen:

N11 (Zeitraum: Mo 10-12, Dauer: 1 Stunde, Maschinentyp: A, Sonderwünsche: ....) N12 (Zeitraum: Di 8-18, Dauer: 3 Stunden,

Maschinentyp: A, Sonderwünsche: ....)

Angebote für N11:

A1 Mo 10-11, Kosten 2 A2 Mo 10-11, Kosten 3 Angebote für N12:

A1 Di 9-12, Kosten 8 A2 Di 11-14, Kosten 6

(31)

Echte Verhandlungen unter Scheduling-Agenten

• Scheduling-Agenten sind Scheduling-Problemlöser mit Verhandlungsfähigkeiten.

• Verhandlungen werden über Sprechakte gesteuert.

• Sprechakte beziehen sich entsprechend von Verhandlungsprotokollen aufeinander.

• Scheduling-Agenten besitzen lokale Autonomie, nach welcher Strategie sie verhandeln (abgebildet im

Problemlöser)

(32)

Beispiel für Verhandlungen

Verhandlungsstories

mit Rollen: Initiator (I), Angesprochener (A) Story:

I: Hätte gerne einen Termin zur OP am Dienstag oder Montag A: Dienstag 14:00 ?

I: Nein da nicht, einen anderen bitte.

A: Passt 15 Uhr ?

I: Besser aber auch nicht perfekt

A: Wie wäre es mit Mittwoch zur selben Zeit ? I: Diesen Termin hätte ich gern

A: Einverstanden!

Variationen:

• Entschuldigung, wir können den Termin am Mittwoch nicht beibehalten. Sie müssen leider einen neuen Termin

vereinbaren.

• Ist es möglich meinen Termin zu verschieben? - Wir könnten sie am Mittwoch noch drannehmen? - Gut, Ich hätte dann lieber diesen - Einverstanden

• Können sie mir alle möglichen Termine zur CT am Dienstag nennen ? – Es ginge um 14:00 Uhr, 16:00 Uhr und um 17:00 Uhr. – Ich hätte gerne den um 16:00 Uhr – Das geht nicht, er wurde zwischenzeitlich vergeben. ....

(33)

Terminverhandlungsprotokolle

Termin erbitten

Terminbitte entsprechen Termin absagen

Terminabsage annehmen

Terminänderung anbieten

Terminänderung prüfen

Terminänderung erbitten

(34)

Ablaufdiagramm: Termin erbitten

lockere Restriktionen

akzeptabel ?

verschärfe Restriktionen

Ja Nein

Eintrag in lokalen Kalender Bitte um Termin

Vorschlag Absage

Zusage

vereinbare

vorgeschlagenen Termin Absage

Strategie ? Rollen ?

Servicenachfrager Initiator

Auslöser ?

Aufgabe steht an!

Absage

(35)

Ablaufdiagramm: Terminbitte entsprechen

Suche Vorschlag

Vorschlag ? Nein

markiere Zeit als reserviert

Ja Terminbitte

Absage

Vorschlag

übermitteln Terminvereinbarung

Rollen ?

Servicebieter Angesprochener

Auslöser ?

eingehender Sprechakt

Suche Vorschlag

Absage

Referenzen

ÄHNLICHE DOKUMENTE

Allmählich werden sich auch dort die Menschen der Tatsache bewusst, dass eine bessere Hygiene, Medizin und Er- nährungsversorgung einen höheren Anteil der Kinder überleben lässt,

Aber genau gleich kann ein Arzneimittel nicht bei allen Menschen wirken, denn jeder hat ein unterschiedliches genetisches Muster, jeder ernährt sich anders und nimmt vielleicht an-

Bei nervösen Einschlafstörungen kommt eine Stunde vor dem Zu- bettgehen eine entsprechende Dosis zur Anwendung. Falls erforderlich kann zusätzlich bereits früher im Verlauf

Die Belastungen für die Menschen und die Natur des Münchner Umlandes und des Erdinger Mooses sind bereits heute grenzwertig und dürfen nicht weiter erhöht werden.. Allein schon mit

Die Verzögerung kann eine halbe Stunde und mehr betragen kann, wie Lauber beobachtet hat: „Im Extremfall wird der Elektroabscheider erst eingeschaltet, wenn die

gungen und Unterstützung benötigt werden, damit Frauen sich noch mehr einbringen können. Welches können die vordergründigen Aufgaben der neu gewählten

244 In Rechtsprechung und Literatur genannte Kriterien zur Abgrenzung von bloßer Sicherheitsleistung zur Vertragspartnerstellung im Fall der Einschaltung eines nicht nutzenden

Während für Unternehmen sowohl älterer Gründerpersonen, aber auch von Gründerpersonen mittleren Alters der Anteil von Gründerinnen und Gründern mit technischen Studienabschlüssen