Wie kann ich von zwei oder mehr Vek­to­ren Linear­kom­bi­na­tio­nen er­stel­len, so daß mög­lichst viele Kom­po­nen­ten Null sind?

2 Antworten

Ich habe da­bei die Ver­mu­tung, daß eine sol­che Lö­sung mit aus­schließ­lich nicht­nega­ti­ven Ko­ordi­na­ten für mei­ne An­wen­dung im­mer existiert, bin mir aber nicht sicher.

Ja, das sollte stimmen

Hallo, besser spät als nie!

Vielleicht hilft es ja. Je nach dem wo du das darstellen möchtest? Und ob überhaupt noch.

1. Gegeben: \( A \in \mathbb{Q}^{n \times m} \) mit Spalten \( a_1, \dots, a_m \). 

2. Variablen:

  \( x \in \mathbb{Q}^m \) — Linearkombinationskoeffizienten, 

  \( v = A x \in \mathbb{Q}^n \) — resultierender Vektor, 

  \( z \in \{0,1\}^n \) — Indikatorvariablen für \( v_i \ne 0 \). 

3. Nebenbedingungen (für jedes \( i = 1,\dots,n \))

  \[

  -M z_i \le v_i \le M z_i

  \] 

  (z. B. \( M = 10^3 \)) 

  und ggf

  \[

  v_i \ge 0 \quad \text{(für nichtnegative Koordinaten)}

  \] 

4. Zielfunktion:

  \[

  \min \sum_{i=1}^n z_i

  \] 

5. Wiederhole für mehrere \( x^{(k)} \), sodass \( v^{(1)}, \dots, v^{(k)} \) linear unabhängig sind. 

  Prüfe dabei z. B. Rang \( \text{rank}(V) = k \) mit \( V = [v^{(1)} \dots v^{(k)}] \).

Das kannst du direkt in einem ILP-Solver darstellen.

Liebe Grüße