Notizen mit formalen Überlegungen
This commit is contained in:
commit
1b9725b7e4
50
notes.md
Normal file
50
notes.md
Normal file
|
@ -0,0 +1,50 @@
|
|||
## Problemanalyse
|
||||
|
||||
- Menge von Jobs
|
||||
- Job: Queue von Operationen (sortiert nach Operationsnummer) **Präzedenzrelation**
|
||||
- zusätzlicher Wartezustand (mit geringster Priorität)
|
||||
- allerdings: kann (?) es sinnvoll sein, trotz freier Maschine & möglichem Job noch zu warten
|
||||
- neue Operationen nur beim Ende einer Operation einplanen, nicht wenn nur Wartezustand beendet
|
||||
- Baum ausdünnen mit "konvexer Hülle" ???
|
||||
- Vereinigung unter der Bedingung, dass Maschine nicht doppelt belegt
|
||||
- nur gerade nicht belegte Maschinen betrachten
|
||||
|
||||
## evaluative function
|
||||
|
||||
- Minimierung der Zeit zu der letzter Job beendet
|
||||
- untere Schranke: Maximum der Summe der Operationen für 1 Maschine
|
||||
- obere schranke: Summe aller Operationsdauern
|
||||
|
||||
- Heuristiken, wie lange es noch maximal dauert?
|
||||
- evtl. Schranken nach jedem Schritt neu berechnen?
|
||||
- branching, wenn Job beendet
|
||||
- noch laufende Jobs + verbleibende Dauer explizit mitgeben?? + Liste der noch abzuarbeitenden Ops
|
||||
|
||||
## what is a solution?
|
||||
|
||||
1. linkstotale (vielleicht sogar bitotale) Relation von Operationen (O) eines Jobs (J) (+ Wartezustand) und diskreten Zeitscheiben auf einer bestimmten Maschine
|
||||
- $S = \left\{(o_j,t) | o_j \in O \cup \left\{w_n | n \in \mathbb{N} \wedge w_n \text{ v.d.F. } (1, m) \right\} \wedge o_j \text{ v.d.F. } (d, m, j) \wedge t \in T \forall o \in O : \exists (o,t) \in S\right\}$
|
||||
- indirekt lässt sich durch laufende Operation und Zeitpunkt auch Belegung einer Maschine zu einem Zeitpunkt ermitteln
|
||||
- Optimierung: sparse speichern
|
||||
1. Liste von (T, $o_j$) mit $T \in \mathbb{N}$ (Time), $o_j \in O$ (Tasks)
|
||||
- Operationen:
|
||||
- Vertauschen von 2 Jobs auf einer Maschine, selbstinvers
|
||||
- Verzögern von Operationen (keine expliziten Wartezustände nötig)
|
||||
|
||||
## neighbourhood of solution
|
||||
|
||||
- zu gegebenem S weitere ähnliche S innerhalb bestimmter Distanz erzeugen
|
||||
|
||||
1. Transposition: Tauschen 2er Jobs; Verzögerung: Einfügen von Warteops
|
||||
- evtl. Gewichtung des Werts der verschiedenen Operationen
|
||||
1. minimale Anzahl der Tauschoperationen, um Lösungen ineinander zu überführen
|
||||
- gut, wenn Operationen gegeben
|
||||
- für 2 gegebene Lösungen ist Sequenz dieser Tauschoperationen evtl. nicht trivial herauszufinden?
|
||||
|
||||
## constraints
|
||||
|
||||
- neue Operationen nur beim Ende einer Operation einplanen, nicht wenn nur Wartezustand beendet
|
||||
- branching nur wenn eine nicht-Warteopration endet
|
||||
- $J_i$ einer Operation O: kleinstes i sodass $J_i$ noch nicht gestartet & abgeschlossen wurde
|
||||
- zu 1 Zeitpunkt nur 1 Job auf einer Maschine
|
||||
- nur gerade nicht belegte Maschinen betrachten
|
Loading…
Reference in a new issue