Я пытаюсь использовать решатель в Excel 2007, но не нашел в нем ограничения «alldifferent», например:
Я вижу «целое число», «двоичное число», но нет «всеразличные».
Может кто-нибудь помочь мне найти его? Спасибо!
решение1
Ограничение alldifferent было добавлено в Excel 2010.
Вы можете наложить всевозможные ограничения, используя дополнительные формулы и ограничения в Excel 2007. Ниже приведен упрощенный пример...
Скриншот настройки...
Здесь уравнение 1 =A2*10+A3*9+A4*8+A5*7+A6*6
и уравнение 2=A6*10+A5*9+A4*8+A3*7+A2*6
Вы можете видеть, что ячейка B2 содержит уравнение CSE {=MIN(ABS(A2-A3:$A$6))}
. Оно перетаскивается вниз в ячейку B5, где уравнение {=MIN(ABS(A5-A6:$A$6))}
.
Например, Solver настроен следующим образом:
- УстановитьЦель: $F$2
- Кому: Мин.
- Изменяя: $A$2:$A$6
- С учетом ограничений:
- $А$2:$А$6 <= $Д$2:$Д$6
- $А$2:$А$6 >= $С$2:$С$6
- $B$2:$B$5 >= $E$2:$E$5
- $A$2:$A$6 = целое число
- Выберите метод решения: Эволюционный
Ниже представлен скриншот...
Ниже представлен скриншот решения.
Он нашел ожидаемый ответ 1,2,3,4,5.
Изменение SetObjective на $G$2 дает ответ 5,4,3,2,1.