Я пытаюсь использовать решатель в Excel 2007, но я не нашел в нем ограничения "alldifferent", например:

пример

Я могу видеть "целое число", "двоичный", но нет "alldifferent".

Может ли кто-нибудь помочь мне найти его? Спасибо!

1 ответ1

0

Различное ограничение было добавлено в Excel 2010.

Вы можете наложить все различные ограничения с помощью дополнительных формул и ограничений в Excel 2007. Ниже приведен упрощенный пример ...

Скриншот установки ...

Здесь Eqn1 =A2*10+A3*9+A4*8+A5*7+A6*6 а Eqn2 =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))} .

Например, Солвер настроен с:

  • SetObjective: $ F $ 2
  • До: мин
  • Изменяя: $ A $ 2: $ A $ 6
  • С учетом ограничений:
    • $ 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 = целое число
  • Выберите метод решения: эволюционный

Ниже скриншот ...

Ниже приведен скриншот решения.

Он нашел ожидаемый ответ 1,2,3,4,5.

Изменение SetObjective на $ G $ 2 дает ответ 5,4,3,2,1.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .