Ich versuche, den Solver in Excel 2007 zu verwenden, konnte darin jedoch keine „alldifferent“-Einschränkung finden, z. B.:
Ich kann „Integer“ und „Binary“ sehen, aber es gibt kein „Alldifferent“.
Kann mir jemand helfen, es zu finden? Danke!
Antwort1
Die alldifferent-Einschränkung wurde in Excel 2010 hinzugefügt.
Sie können alle möglichen Einschränkungen festlegen, indem Sie in Excel 2007 zusätzliche Formeln und Einschränkungen verwenden. Nachfolgend sehen Sie ein vereinfachtes Beispiel …
Ein Screenshot des Setups ...
Hier ist Gleichung 1 =A2*10+A3*9+A4*8+A5*7+A6*6
und Gleichung 2 ist=A6*10+A5*9+A4*8+A3*7+A2*6
Sie können sehen, dass Zelle B2 die CSE-Gleichung enthält {=MIN(ABS(A2-A3:$A$6))}
. Diese wird nach unten nach B5 gezogen, wo die Gleichung lautet {=MIN(ABS(A5-A6:$A$6))}
.
Solver ist beispielsweise wie folgt eingerichtet:
- Ziel festlegen: $F$2
- Bis: Min
- Durch Ändern: $A$2:$A$6
- Unter den folgenden Einschränkungen:
- $A$2:$A$6 <= $D$2:$D$6
- $A$2:$A$6 >= $C$2:$C$6
- $B$2:$B$5 >= $E$2:$E$5
- $A$2:$A$6 = Ganzzahl
- Wählen Sie eine Lösungsmethode: Evolutionär
Unten ist ein Screenshot ...
Unten ist ein Screenshot der Lösung.
Es wurde die erwartete Antwort 1,2,3,4,5 gefunden.
Wenn Sie SetObjective in $G$2 ändern, erhalten Sie die Antwort 5,4,3,2,1.