Kombinatorik

18/11/2008 - 15:28 von Marco Schmid | Report spam
Hallo zusammen!

Ich mal wieder ein exceltechnisches (bzw. algorithmus-technisches)
Problem und bràuchte eure Hilfe:
Ich habe ein Excel-Sheet mit 5 Variablen, die jeweils eine minimale-
bzw. maximale Gewichtung besitzen (Range A1:E2). Nun sollte mir das
Programm alle möglichen Gewichtungs-Kombinationen (unter
Berücksichtigung der zulàssigen Gewichtungen) ausspucken.
Zusatzbedingung ist, dass die Summe der Gewichtungen immer 1 betragen
muss und dass eben die maximal bzw. minimal zugelassenen Werte nicht
über- bzw. unterschritten werden.

Bsp.
A B
C D E
minimale Gewichtung 0 0 0.1
0 0.1
maximale Gewichtung 0.5 0.4 0.5
0.3 0.3

mögliche Lösungen
A B
C D E
0.3 0.4
0.1 0.1 0.1 =1
0.5 0
0.2 0 0.3 =1
0 0.3
0.1 0.3 0.3 =1
u.s.w.

nicht möglich aufgrund der Nebenbedingungen:
A B
C D E
0.6! 0
0.1 0 0.3 = 1 --> A > als max. Gewichtung
0.1 0.3
0.3 0.2 0.2 =1.1 --> Gewichtung nicht 1!
u.s.w.

Hat jemand eine Idee wie das zu lösen sein könnte. Für eure Ideen/
Hilfen danke ich euch schon im voraus. Liebe Grüsse aus der Schweiz

Marco
 

Lesen sie die antworten

#1 Klaus \Perry\ Pago
18/11/2008 - 21:05 | Warnen spam
Hallo Marco,

"Marco Schmid" schrieb im Newsbeitrag
news:

Ich mal wieder ein exceltechnisches (bzw. algorithmus-technisches)
Problem und bràuchte eure Hilfe:
Ich habe ein Excel-Sheet mit 5 Variablen, die jeweils eine minimale-
bzw. maximale Gewichtung besitzen (Range A1:E2). Nun sollte mir das
Programm alle möglichen Gewichtungs-Kombinationen (unter
Berücksichtigung der zulàssigen Gewichtungen) ausspucken.
Zusatzbedingung ist, dass die Summe der Gewichtungen immer 1 betragen
muss und dass eben die maximal bzw. minimal zugelassenen Werte nicht
über- bzw. unterschritten werden.

Bsp.
A B
C D E
minimale Gewichtung 0 0 0.1
0 0.1
maximale Gewichtung 0.5 0.4 0.5
0.3 0.3



ich setze mal voraus, dass nur 0,1-Schritte gewünscht werden:
Folgender Lösungsweg (evtl Anpassung an schweizer Darstellung erforderlich):

Um alle Kombinationen herzustellen, würde ich zB in Spalte A alle Zahlen von
0 bis 59999 herstellen. Spalte B übernimmt diese Zahlen als 5-stellige
Textzeichen

=TEXT(A1;"00000")

dann verteilen der Einzelzeichen auf die nàchsten 5 Spalten (C bis G)und
Umwandlung in Zehntel:

=TEIL(B1;1;1)*0,1 ... =TEIL(B1;5;1)*0,1

nun habe ich den Bereich der Kombinationen innerhalb der Excelschranken
hergestellt.

In den nàchsten 5 Spalten (H bis L)wird überprüft, ob die Zahl gültig ist
(0/1)

=WENN(UND(C1>=0;C1<=0,5);1;0)

In der nàchsten Spalte wird geprüft, ob alle 5 Werte gültig sind:

M1: =WENN(SUMME(H1:L1)=5;1;0)

in der nàchsten Spalte wird geprüft, ob die 5 Werte 1 ergeben

N1: =WENN(SUMME(C1:G1)=1;1;0)

In der nàchsten Spalte wird geprüft, ob beide Prüfungen positiv sind

=M1+N1

wenn das Ergebnis 2 ist, dann ist das eine gültige Zeile

Also Filtern nach 2 und die Aufgabe ist gelöst

Gruß
Klaus

Ähnliche fragen