Sou novo no Minizinc e quero resolver o seguinte problema.
Tenho uma matriz dada de 6x6 células. As linhas são numeradas de 1 a 6, as colunas de A a B. Todas as células devem ser preenchidas com dígitos de 1 a 9 por certas regras:
- Todos os 9 dígitos ocorrem exatamente 4 vezes na matriz.
- Vizinhos diretos em linha ou coluna não podem ter o mesmo valor.
- Todas as células em uma linha e todas as células em uma coluna terão valores diferentes.
- Existem algumas exceções de (3): a) A linha 2 tem dois "6". b) A linha 3 tem dois "3". c) A linha 4 tem dois "5". d) A linha 5 tem três "7". e) A linha 6 tem dois "8". f) A coluna B tem dois "3". g) A coluna D tem dois "8". h) A coluna F tem dois "9".
- A soma de todos os dígitos da linha 1 é >= 38.
- A soma de todos os dígitos da coluna E é = 21.
- A linha 2 não contém um "1".
- A linha 4 não contém um "4".
- A linha 5 não contém um "2".
- A linha 6 não contém um "3".
- A coluna C não contém um "2".
- A coluna B tem apenas dígitos pares, exceto os dois "3".
- A coluna A tem uma sequência crescente ou decrescente, por exemplo, "234567" ou "987654".
A maior dor de cabeça para mim ao construir o modelo em Minzinc são as restrições "contraditórias":
- Todos os dígitos em uma única linha ou coluna devem ser diferentes.
- Mas às vezes essa regra tem exceções.
Como isso pode ser realizado?
Obrigado antecipadamente e os melhores cumprimentos. Guenther