Массив переменной длины в инструментах

#or-tools #constraint-programming

#или-инструменты #программирование ограничений

Вопрос:

Я пытаюсь преобразовать некоторые модели minizinc в cp_model и снова ускорить программирование ограничений.

Я использовал такие вещи, как:

 var STEP: len; array[STEP] of var LEGS: legs;  

много, есть ли способ сделать что-то подобное с Ortools на Python?

Я, конечно, могу создать массив большего размера с фиксированным количеством элементов и вставить манекены для пустых слотов, но если я это сделаю, я больше не смогу просто использовать AllDifferent, но мне нужна моя собственная версия AllDifferent_ex_dummy и т. Д.

Каков стандартный путь продвижения вперед здесь?

Комментарии:

1. Это больше похоже на проблему на стороне Python, чем на стороне ИЛИ-инструментов. Не могли бы вы использовать списки вместо массивов? Я думаю, что вам все равно придется создавать каждую переменную OR-Tools индивидуально в цикле, предоставляя каждому домен и имя…

2. Подумайте о python or-tools как о интерпретаторе flatzinc. Вам нужно расширить миницинк до flatzinc. Кстати, почему вы не используете интерпретатор flatzinc инструментов or ?